⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led.lst

📁 我用一个基于PIC16F877A的LED显示程序
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-51037                            Sun May 25 11:46:46 2008

Licensed to: ONE
     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z51037RS_,global,delta=1
     4                           	psect	strings,global,class=STRING,delta=2
     5                           	psect	const1,local,class=CONST,delta=2
     6                           	psect	text2,local,class=CODE,delta=2
     7                           	psect	intcode,global,class=CODE,delta=2
     8                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
     9                           	psect	intret,global,class=CODE,delta=2
    10                           	psect	intentry,global,class=CODE,delta=2
    11                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    12                           	psect	text3,local,class=CODE,delta=2
    13                           	psect	text6,local,class=CODE,delta=2
    14                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    15                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25  0000                     
    26                           
    27                           	psect	__Z51037RS_
    28  0190                     
    29  0190                     
    30                           
    31                           	psect	const1
    32  0038  0782               	addwf	2
    33  0039                     _table
    34  0039  343F               	retlw	63
    35  003A  3400               	retlw	0
    36  003B  3406               	retlw	6
    37  003C  3400               	retlw	0
    38  003D  345B               	retlw	91
    39  003E  3400               	retlw	0
    40  003F  344F               	retlw	79
    41  0040  3400               	retlw	0
    42  0041  3466               	retlw	102
    43  0042  3400               	retlw	0
    44  0043  346D               	retlw	109
    45  0044  3400               	retlw	0
    46  0045  347D               	retlw	125
    47  0046  3400               	retlw	0
    48  0047  3407               	retlw	7
    49  0048  3400               	retlw	0
    50  0049  347F               	retlw	127
    51  004A  3400               	retlw	0
    52  004B  346F               	retlw	111
    53  004C  3400               	retlw	0
    54                           
    55                           	psect	intcode
    56  000B                     _time
    57  000B                     int_func
    58                           ;led.c: 32: TMR1H=0xfc;
    59  000B  30FC               	movlw	-4
    60  000C  0183               	clrf	3	;select bank 0
    61  000D  008F               	movwf	15	;volatile
    62                           ;led.c: 33: TMR1L=0x18;
    63  000E  3018               	movlw	24
    64  000F  008E               	movwf	14	;volatile
    65                           ;led.c: 34: TMR1IF=0;
    66  0010  100C               	bcf	12,0
    67                           ;led.c: 35: count++;
    68  0011  0AA2               	incf	_count
    69  0012  1903               	btfsc	3,2
    70  0013  0AA3               	incf	_count+1
    71                           ;led.c: 36: if(count>1000)
    72  0014  3003               	movlw	3
    73  0015  0223               	subwf	_count+1,w
    74  0016  30E9               	movlw	233
    75  0017  1903               	btfsc	3,2
    76  0018  0222               	subwf	_count,w
    77  0019  1C03               	btfss	3,0
    78  001A  2822               	goto	l3
    79                           ;led.c: 37: {
    80  001B  01A2               	clrf	_count
    81  001C  01A3               	clrf	_count+1
    82                           ;led.c: 39: i=i+1;
    83  001D  0AA1               	incf	_i
    84                           ;led.c: 40: if(i>59)i=0;
    85  001E  303C               	movlw	60
    86  001F  0221               	subwf	_i,w
    87  0020  1803               	btfsc	3,0
    88  0021  01A1               	clrf	_i
    89                           ;led.c: 41: }
    90                           ;led.c: 42: }
    91  0022                     l3
    92                           
    93                           	psect	intsave_0
    94  0075                     saved_w
    95  0075                     	ds	1
    96                           
    97                           	psect	intret
    98  0022  0827               	movf	saved_pclath,w
    99  0023  008A               	movwf	10
   100  0024                     int_restore
   101  0024  0826               	movf	saved_status,w
   102  0025  0083               	movwf	3
   103  0026  0EF5               	swapf	saved_w
   104  0027  0E75               	swapf	saved_w,w
   105  0028  0009               	retfie
   106                           
   107                           	psect	intentry
   108  0004                     int_entry
   109  0004  00F5               	movwf	saved_w
   110  0005  0803               	movf	3,w
   111  0006  0183               	clrf	3
   112  0007  00A6               	movwf	saved_status
   113  0008  080A               	movf	10,w
   114  0009  00A7               	movwf	saved_pclath
   115  000A  018A               	clrf	10
   116                           ;led.c: 44: fasong (date)
   117                           ;led.c: 45: {
   118                           ;       param _date assigned to ?_fasong+0
   119  0000                     _fasong$date	set	?_fasong
   120                           
   121                           	psect	intsave
   122  0026                     saved_status
   123  0026                     	ds	1
   124  0027                     saved_pclath
   125  0027                     	ds	1
   126                           
   127                           	psect	text3
   128  0779                     _fasong
   129                           ;led.c: 46: SSPBUF=date;
   130  0779  0183               	clrf	3	;select bank 0
   131  077A  0824               	movf	?_fasong,w
   132  077B  0093               	movwf	19	;volatile
   133  077C                     l9
   134                           ;led.c: 47: do
   135                           ;led.c: 48: {;}while(SSPIF==0);
   136  077C  1D8C               	btfss	12,3
   137  077D  2F7C               	goto	l9
   138                           ;led.c: 49: SSPIF=0;
   139  077E  118C               	bcf	12,3
   140                           ;led.c: 50: }
   141  077F  0008               	return
   142                           ;led.c: 52: void display()
   143                           ;led.c: 53: {
   144  0780                     _display
   145                           ;led.c: 54: RA5=0;
   146  0780  0183               	clrf	3	;select bank 0
   147  0781  1285               	bcf	5,5
   148                           ;led.c: 55: date=i%10;
   149  0782  300A               	movlw	10
   150  0783  00F1               	movwf	btemp+1
   151  0784  0821               	movf	_i,w
   152  0785  120A  118A  27CA   	fcall	lbmod
   153  0788  0870               	movf	btemp,w
   154  0789  00A0               	movwf	_date
   155                           ;led.c: 56: date=table[date];
   156  078A  3000               	movlw	_table shr (0+8)
   157  078B  008A               	movwf	10
   158  078C  0820               	movf	_date,w
   159  078D  0720               	addwf	_date,w
   160  078E  2038               	call	((_table+-1)& (0+2047))| (($)& (0+-2048))
   161  078F  00A0               	movwf	_date
   162                           ;led.c: 57: fasong(date);
   163  0790  00A4               	movwf	?_fasong
   164  0791  01A5               	clrf	?_fasong+1
   165  0792  120A  118A  2779   	fcall	_fasong
   166                           ;led.c: 58: date=i/10;
   167  0795  300A               	movlw	10
   168  0796  00F1               	movwf	btemp+1
   169  0797  0821               	movf	_i,w
   170  0798  120A  118A  27CA   	fcall	lbdiv
   171  079B  00A0               	movwf	_date
   172                           ;led.c: 59: date=table[date];
   173  079C  3000               	movlw	_table shr (0+8)
   174  079D  008A               	movwf	10
   175  079E  0820               	movf	_date,w
   176  079F  0720               	addwf	_date,w
   177  07A0  2038               	call	((_table+-1)& (0+2047))| (($)& (0+-2048))
   178  07A1  00A0               	movwf	_date
   179                           ;led.c: 60: fasong(date);
   180  07A2  00A4               	movwf	?_fasong
   181  07A3  01A5               	clrf	?_fasong+1
   182  07A4  120A  118A  2779   	fcall	_fasong
   183                           ;led.c: 61: RA5=1;
   184  07A7  1685               	bsf	5,5
   185                           ;led.c: 62: }
   186  07A8  0008               	return
   187  07A9                     _spi_init
   188                           ;led.c: 12: PIR1=0;
   189  07A9  0183               	clrf	3	;select bank 0
   190  07AA  018C               	clrf	12	;volatile
   191                           ;led.c: 13: SSPCON=0X30;
   192  07AB  3030               	movlw	48
   193  07AC  0094               	movwf	20	;volatile
   194                           ;led.c: 14: SSPSTAT=0XC0;
   195  07AD  30C0               	movlw	-64
   196  07AE  1683               	bsf	3,5
   197  07AF  0094               	movwf	20	;volatile
   198                           ;led.c: 15: TRISC =0X00;
   199  07B0  0187               	clrf	7	;volatile
   200                           ;led.c: 16: TRISA=0X00;
   201  07B1  0185               	clrf	5	;volatile
   202                           ;led.c: 17: }
   203  07B2  1283               	bcf	3,5
   204  07B3  0008               	return
   205  07B4                     _init_trm1
   206  07B4  178B               	bsf	11,7
   207                           ;led.c: 22: PEIE=1;
   208  07B5  170B               	bsf	11,6
   209                           ;led.c: 23: TMR1IE=1;
   210  07B6  1683               	bsf	3,5
   211  07B7  1303               	bcf	3,6	;carry unused
   212  07B8  140C               	bsf	12,0
   213                           ;led.c: 24: TMR1IF=0;
   214  07B9  1283               	bcf	3,5
   215  07BA  100C               	bcf	12,0
   216                           ;led.c: 25: T1CON=0x04;
   217  07BB  3004               	movlw	4
   218  07BC  0090               	movwf	16	;volatile
   219                           ;led.c: 26: TMR1H=0xfc;
   220  07BD  30FC               	movlw	-4
   221  07BE  008F               	movwf	15	;volatile
   222                           ;led.c: 27: TMR1L=0x18;
   223  07BF  3018               	movlw	24
   224  07C0  008E               	movwf	14	;volatile
   225                           ;led.c: 28: T1CON=0x05;
   226  07C1  3005               	movlw	5
   227  07C2  0090               	movwf	16	;volatile
   228                           ;led.c: 29: }
   229  07C3  0008               	return
   230                           ;led.c: 64: main()
   231                           ;led.c: 65: {
   232  07C4                     _main
   233                           ;led.c: 66: init_trm1();
   234  07C4  27B4               	fcall	_init_trm1
   235                           ;led.c: 67: spi_init();
   236  07C5  27A9               	fcall	_spi_init
   237  07C6                     l13
   238                           ;led.c: 68: while(1)
   239                           ;led.c: 69: {
   240  07C6  2780  120A  118A   	fcall	_display
   241                           ;led.c: 71: }
   242  07C9  2FC6               	goto	l13
   243                           
   244                           	psect	text6
   245  0000                     
   246  0000                     
   247  0000                     
   248  0000                     
   249  0000                     
   250  0000                     
   251  0000                     
   252  0000                     
   253  0000                     
   254  0000                     
   255  0000                     
   256  0000                     
   257  0000                     
   258  0000                     
   259  0000                     
   260  0000                     
   261  0000                     
   262  0000                     
   263  0000                     
   264  0000                     
   265  0000                     
   266  0000                     
   267  0000                     
   268  0000                     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -