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

📄 ch4521.lst

📁 PIC单片机控制CH452的数码管显示程序
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-49394                            Thu May 10 16:44:14 2007

Licensed to: ONE
     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z49394RS_,global,delta=1
     4                           	psect	rdata_0,global,class=BANK0,space=1,delta
      +                          =1
     5                           	psect	idata_0,global,class=CODE,delta=2
     6                           	psect	text4,local,class=CODE,delta=2
     7                           	psect	text5,local,class=CODE,delta=2
     8                           	psect	text6,local,class=CODE,delta=2
     9                           	psect	text9,local,class=CODE,delta=2
    10                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21                           
    22                           	psect	__Z49394RS_
    23  0190                     
    24  0190                     
    25                           
    26                           	psect	rdata_0
    27  002C                     _Led_seg
    28  002C                     	ds	2
    29  002E                     	ds	2
    30  0030                     	ds	2
    31  0032                     	ds	2
    32  0034                     	ds	2
    33  0036                     	ds	2
    34  0038                     	ds	2
    35  003A                     	ds	2
    36  003C                     	ds	2
    37  003E                     	ds	2
    38  0040                     	ds	2
    39  0042                     	ds	2
    40  0044                     	ds	2
    41  0046                     	ds	2
    42  0048                     	ds	2
    43  004A                     	ds	2
    44  004C                     	ds	2
    45  004E                     	ds	2
    46  0050                     _Bitmap
    47  0050                     	ds	2
    48  0052                     	ds	2
    49  0054                     	ds	2
    50  0056                     	ds	2
    51  0058                     	ds	2
    52  005A                     	ds	2
    53  005C                     	ds	2
    54  005E                     	ds	2
    55                           
    56                           	psect	idata_0
    57  07CC  34FC               	retlw	252
    58  07CD  3400               	retlw	0
    59  07CE  3460               	retlw	96
    60  07CF  3400               	retlw	0
    61  07D0  34DA               	retlw	218
    62  07D1  3400               	retlw	0
    63  07D2  34F2               	retlw	242
    64  07D3  3400               	retlw	0
    65  07D4  3466               	retlw	102
    66  07D5  3400               	retlw	0
    67  07D6  34B6               	retlw	182
    68  07D7  3400               	retlw	0
    69  07D8  34BE               	retlw	190
    70  07D9  3400               	retlw	0
    71  07DA  34E0               	retlw	224
    72  07DB  3400               	retlw	0
    73  07DC  34FE               	retlw	254
    74  07DD  3400               	retlw	0
    75  07DE  34F6               	retlw	246
    76  07DF  3400               	retlw	0
    77  07E0  34EE               	retlw	238
    78  07E1  3400               	retlw	0
    79  07E2  343E               	retlw	62
    80  07E3  3400               	retlw	0
    81  07E4  349C               	retlw	156
    82  07E5  3400               	retlw	0
    83  07E6  347A               	retlw	122
    84  07E7  3400               	retlw	0
    85  07E8  349E               	retlw	158
    86  07E9  3400               	retlw	0
    87  07EA  348E               	retlw	142
    88  07EB  3400               	retlw	0
    89  07EC  3402               	retlw	2
    90  07ED  3400               	retlw	0
    91  07EE  3401               	retlw	1
    92  07EF  3400               	retlw	0
    93  07F0  3400               	retlw	0
    94  07F1  340C               	retlw	12
    95  07F2  3400               	retlw	0
    96  07F3  340D               	retlw	13
    97  07F4  3400               	retlw	0
    98  07F5  340E               	retlw	14
    99  07F6  3400               	retlw	0
   100  07F7  340F               	retlw	15
   101  07F8  3400               	retlw	0
   102  07F9  3408               	retlw	8
   103  07FA  3400               	retlw	0
   104  07FB  3409               	retlw	9
   105  07FC  3400               	retlw	0
   106  07FD  340A               	retlw	10
   107  07FE  3400               	retlw	0
   108  07FF  340B               	retlw	11
   109                           
   110                           	psect	text4
   111                           ;ch4521.c: 118: void Display_Reset()
   112                           ;ch4521.c: 119: {
   113  072A                     _Display_Reset
   114                           ;ch4521.c: 121: WrietCh452(0x201);
   115  072A  3001               	movlw	1
   116  072B  0183               	clrf	3	;select bank 0
   117  072C  00A8               	movwf	?_WrietCh452
   118  072D  3002               	movlw	2
   119  072E  00A9               	movwf	?_WrietCh452+1
   120  072F  120A  118A  2F79   	ljmp	_WrietCh452
   121                           
   122                           	psect	text5
   123  0732                     _Flash_SingleBit
   124                           ;ch4521.c: 128: WrietCh452(0x0600+(0x01<<bitnum
      +                          ber));
   125  0732  0183               	clrf	3	;select bank 0
   126  0733  0820               	movf	?_Flash_SingleBit,w
   127  0734  00F2               	movwf	btemp+2
   128  0735  3001               	movlw	1
   129  0736  00F0               	movwf	btemp
   130  0737  3000               	movlw	0
   131  0738  01F1               	clrf	btemp+1
   132  0739  0AF2               	incf	btemp+2
   133  073A  2F3E               	goto	u34
   134  073B                     u35
   135  073B  1003               	bcf	3,0
   136  073C  0DF0               	rlf	btemp
   137  073D  0DF1               	rlf	btemp+1
   138  073E                     u34
   139  073E  0BF2               	decfsz	btemp+2
   140  073F  2F3B               	goto	u35
   141  0740  3000               	movlw	0
   142  0741  0770               	addwf	btemp,w
   143  0742  00A8               	movwf	?_WrietCh452
   144  0743  3006               	movlw	6
   145  0744  1803               	btfsc	3,0
   146  0745  3007               	movlw	7
   147  0746  0771               	addwf	btemp+1,w
   148  0747  00A9               	movwf	?_WrietCh452+1
   149  0748  120A  118A  2F79   	ljmp	_WrietCh452
   150                           
   151                           	psect	text6
   152                           ;ch4521.c: 133: void Flash_AllBit()
   153                           ;ch4521.c: 134: {
   154  074B                     _Flash_AllBit
   155                           ;ch4521.c: 135: WrietCh452(0x0600+0xff);
   156  074B  30FF               	movlw	255
   157  074C  0183               	clrf	3	;select bank 0
   158  074D  00A8               	movwf	?_WrietCh452
   159  074E  3006               	movlw	6
   160  074F  00A9               	movwf	?_WrietCh452+1
   161  0750  2F79               	ljmp	_WrietCh452
   162  0751                     _Bit_Display_Num
   163                           ;ch4521.c: 113: WrietCh452(Bitmap[bite]+Led_seg
      +                          [buf]);
   164  0751  0183               	clrf	3	;select bank 0
   165  0752  0824               	movf	?_Bit_Display_Num+2,w
   166  0753  0724               	addwf	?_Bit_Display_Num+2,w
   167  0754  3E2C               	addlw	_Led_seg
   168  0755  0084               	movwf	4
   169  0756  1383               	bcf	3,7
   170  0757  0800               	movf	0,w
   171  0758  00F0               	movwf	btemp
   172  0759  0A84               	incf	4
   173  075A  0800               	movf	0,w
   174  075B  00F1               	movwf	btemp+1
   175  075C  0870               	movf	btemp,w
   176  075D  00A6               	movwf	?a_Bit_Display_Num
   177  075E  0871               	movf	btemp+1,w
   178  075F  00A7               	movwf	?a_Bit_Display_Num+1
   179  0760  0822               	movf	?_Bit_Display_Num,w
   180  0761  0722               	addwf	?_Bit_Display_Num,w
   181  0762  3E50               	addlw	_Bitmap
   182  0763  0084               	movwf	4
   183  0764  0800               	movf	0,w
   184  0765  00F0               	movwf	btemp
   185  0766  0A84               	incf	4
   186  0767  0800               	movf	0,w
   187  0768  00F1               	movwf	btemp+1
   188  0769  0826               	movf	?a_Bit_Display_Num,w
   189  076A  07F0               	addwf	btemp
   190  076B  1803               	btfsc	3,0
   191  076C  0AF1               	incf	btemp+1
   192  076D  0827               	movf	?a_Bit_Display_Num+1,w
   193  076E  07F1               	addwf	btemp+1
   194  076F  0870               	movf	btemp,w
   195  0770  00A8               	movwf	?_WrietCh452
   196  0771  0871               	movf	btemp+1,w
   197  0772  00A9               	movwf	?_WrietCh452+1
   198  0773  2F79               	ljmp	_WrietCh452
   199                           ;ch4521.c: 142: void DelayUs()
   200                           ;ch4521.c: 143: {
   201  0774                     _DelayUs
   202                           ;ch4521.c: 144: asm("nop");
   203  0774  0000               	nop	;#
   204                           ;ch4521.c: 145: asm("nop");
   205  0775  0000               	nop	;#
   206                           ;ch4521.c: 146: asm("nop");
   207  0776  0000               	nop	;#
   208                           ;ch4521.c: 148: }
   209  0777  0183               	clrf	3	;select bank 0
   210  0778  0008               	return
   211  0779                     _WrietCh452
   212                           ;	_iq0 assigned to ?a_WrietCh452+0
   213  0000                     _WrietCh452$iq0	set	?a_WrietCh452
   214                           ;ch4521.c: 91: uint iq0;
   215  0779  0183               	clrf	3	;select bank 0
   216  077A  1108               	bcf	8,2
   217                           ;ch4521.c: 94: for(iq0=0;iq0<24;iq0++)
   218  077B  01AA               	clrf	?a_WrietCh452
   219  077C  01AB               	clrf	?a_WrietCh452+1
   220  077D                     l4
   221                           ;ch4521.c: 95: {
   222                           ;ch4521.c: 96: if((da&0x0001)==1)
   223  077D  1C28               	btfss	?_WrietCh452,0
   224  077E  2F81               	goto	l7
   225                           ;ch4521.c: 97: (RD1=1);
   226  077F  1488               	bsf	8,1
   227                           ;ch4521.c: 98: else
   228  0780  2F82               	goto	l8
   229  0781                     l7
   230                           ;ch4521.c: 99: (RD1=0);
   231  0781  1088               	bcf	8,1
   232  0782                     l8
   233                           ;ch4521.c: 100: (RD0=0);
   234  0782  1008               	bcf	8,0
   235                           ;ch4521.c: 101: da >>=1;
   236  0783  1003               	bcf	3,0
   237  0784  0CA9               	rrf	?_WrietCh452+1
   238  0785  0CA8               	rrf	?_WrietCh452
   239                           ;ch4521.c: 102: (RD0=1);
   240  0786  1408               	bsf	8,0
   241                           ;ch4521.c: 103: }
   242  0787  0AAA               	incf	?a_WrietCh452
   243  0788  1903               	btfsc	3,2
   244  0789  0AAB               	incf	?a_WrietCh452+1
   245  078A  3000               	movlw	0
   246  078B  022B               	subwf	?a_WrietCh452+1,w
   247  078C  3018               	movlw	24
   248  078D  1903               	btfsc	3,2
   249  078E  022A               	subwf	?a_WrietCh452,w
   250  078F  1C03               	btfss	3,0
   251  0790  2F7D               	goto	l4
   252                           ;ch4521.c: 104: (RD2=1);
   253  0791  1508               	bsf	8,2
   254                           ;ch4521.c: 105: DelayUs();
   255  0792  2F74               	ljmp	_DelayUs
   256  0793                     _InitCh452
   257                           ;ch4521.c: 79: WrietCh452(0x0401);
   258  0793  3001               	movlw	1
   259  0794  0183               	clrf	3	;select bank 0
   260  0795  00A8               	movwf	?_WrietCh452
   261  0796  3004               	movlw	4
   262  0797  00A9               	movwf	?_WrietCh452+1
   263  0798  2779  120A  118A   	fcall	_WrietCh452
   264                           ;ch4521.c: 80: WrietCh452(0x0500);
   265  079B  01A8               	clrf	?_WrietCh452
   266  079C  3005               	movlw	5
   267  079D  00A9               	movwf	?_WrietCh452+1
   268  079E  2F79               	ljmp	_WrietCh452
   269  079F                     _initial
   270                           ;ch4521.c: 68: INTCON=0x00;
   271  079F  018B               	clrf	11	;volatile
   272                           ;ch4521.c: 69: ADCON1=0x07;
   273  07A0  3007               	movlw	7
   274  07A1  1683               	bsf	3,5
   275  07A2  1303               	bcf	3,6	;carry unused
   276  07A3  009F               	movwf	31	;volatile
   277                           ;ch4521.c: 70: PIE1=0;
   278  07A4  018C               	clrf	12	;volatile
   279                           ;ch4521.c: 71: PIE2=0;
   280  07A5  018D               	clrf	13	;volatile
   281                           ;ch4521.c: 72: }
   282  07A6  1283               	bcf	3,5
   283  07A7  0008               	return
   284                           ;ch4521.c: 152: void main()
   285                           ;ch4521.c: 153: {
   286  07A8                     _main
   287                           ;	_i assigned to ?a_main+0
   288  0000                     _main$i	set	?a_main
   289                           ;ch4521.c: 154: uint i;
   290  07A8  1683               	bsf	3,5
   291  07A9  1303               	bcf	3,6	;carry unused
   292  07AA  0188               	clrf	8	;volatile
   293                           ;ch4521.c: 157: initial();
   294  07AB  279F               	fcall	_initial
   295                           ;ch4521.c: 158: InitCh452();
   296  07AC  2793  120A  118A   	fcall	_InitCh452
   297                           ;ch4521.c: 160: for(i=0;i<16;i++)
   298  07AF  01A0               	clrf	?a_main
   299  07B0  01A1               	clrf	?a_main+1
   300  07B1                     l15
   301                           ;ch4521.c: 161: {
   302                           ;ch4521.c: 162: Bit_Display_Num(i,i);
   303  07B1  0820               	movf	?a_main,w
   304  07B2  00A2               	movwf	?_Bit_Display_Num
   305  07B3  0821               	movf	?a_main+1,w
   306  07B4  00A3               	movwf	?_Bit_Display_Num+1
   307  07B5  0820               	movf	?a_main,w
   308  07B6  00A4               	movwf	?_Bit_Display_Num+2
   309  07B7  0821               	movf	?a_main+1,w
   310  07B8  00A5               	movwf	?_Bit_Display_Num+3

⌨️ 快捷键说明

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