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

📄 1.lst

📁 PIC16F877应用的AD转换主程序 并可以通过LCD显示
💻 LST
📖 第 1 页 / 共 4 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-88888                            Sat May 17 23:11:23 2008

Licensed to: ONE TWO
     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z88888RS_,global,delta=1
     4                           	psect	strings,global,class=STRING,delta=2
     5                           	psect	const1,local,class=CONST,delta=2
     6                           	psect	text9,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	text10,local,class=CODE,delta=2
    13                           	psect	text13,local,class=CODE,delta=2
    14                           	psect	rbss_2,global,class=BANK2,space=1,delta=
      +                          1
    15                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    16                           	psect	rbss_1,global,class=BANK1,space=1,delta=
      +                          1
    17                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25  0000                     
    26  0000                     
    27  0000                     
    28                           
    29                           	psect	__Z88888RS_
    30  0190                     
    31  0190                     
    32                           
    33                           	psect	const1
    34  004A  0782               	addwf	2
    35  004B                     _web
    36  004B  3446               	retlw	70
    37  004C  3472               	retlw	114
    38  004D  3465               	retlw	101
    39  004E  3471               	retlw	113
    40  004F  3475               	retlw	117
    41  0050  3465               	retlw	101
    42  0051  346E               	retlw	110
    43  0052  3463               	retlw	99
    44  0053  3479               	retlw	121
    45  0054  3420               	retlw	32
    46  0055  3420               	retlw	32
    47  0056  3420               	retlw	32
    48  0057  3420               	retlw	32
    49  0058  3420               	retlw	32
    50  0059  3420               	retlw	32
    51  005A  3420               	retlw	32
    52  005B  3420               	retlw	32
    53  005C  3420               	retlw	32
    54  005D  3400               	retlw	0
    55                           
    56                           	psect	intcode
    57                           ;1.c: 31: void interrupt cplint(void)
    58                           ;1.c: 32: {
    59  000D                     _cplint
    60  000D                     int_func
    61                           ;1.c: 33: if(CCP1IF==1)
    62  000D  0183               	clrf	3	;select bank 0
    63  000E  1D0C               	btfss	12,2
    64  000F  2827               	goto	l21
    65                           ;1.c: 34: {CCP1IF=0;
    66  0010  110C               	bcf	12,2
    67                           ;1.c: 35: TMR1IF=0;
    68  0011  100C               	bcf	12,0
    69                           ;1.c: 37: cplu.cple[0]=CCPR1L;
    70  0012  0815               	movf	21,w	;volatile
    71  0013  00A0               	movwf	_cplu
    72                           ;1.c: 38: cplu.cple[1]=CCPR1H;
    73  0014  0816               	movf	22,w	;volatile
    74  0015  00A1               	movwf	_cplu+1
    75                           ;1.c: 39: cplz[data]=cplu.y1;
    76  0016  1703               	bsf	3,6
    77  0017  0811               	movf	_data^(0+256),w
    78  0018  0711               	addwf	_data^(0+256),w
    79  0019  3EA0               	addlw	_cplz
    80  001A  0084               	movwf	4
    81  001B  1383               	bcf	3,7
    82  001C  1303               	bcf	3,6	;carry unused
    83  001D  0820               	movf	_cplu,w
    84  001E  0080               	movwf	0
    85  001F  0A84               	incf	4
    86  0020  0821               	movf	_cplu+1,w
    87  0021  0080               	movwf	0
    88                           ;1.c: 40: CCP1CON=CCP1CON^0x01;
    89  0022  3001               	movlw	1
    90  0023  0697               	xorwf	23	;volatile
    91                           ;1.c: 41: data++;
    92  0024  1703               	bsf	3,6
    93  0025  0A91               	incf	_data^(0+256)
    94                           ;1.c: 42: count--;
    95  0026  0390               	decf	_count^(0+256)
    96                           ;1.c: 44: }
    97  0027                     l21
    98  0027  1303               	bcf	3,6	;carry unused
    99  0028  1283               	bcf	3,5
   100                           
   101                           	psect	intsave_0
   102  007C                     saved_w
   103  007C                     	ds	1
   104                           
   105                           	psect	intret
   106  0029  0834               	movf	saved_fsr,w
   107  002A  0084               	movwf	4	;restore FSR
   108  002B  0835               	movf	saved_pclath,w
   109  002C  008A               	movwf	10
   110  002D                     int_restore
   111  002D  0833               	movf	saved_status,w
   112  002E  0083               	movwf	3
   113  002F  0EFC               	swapf	saved_w
   114  0030  0E7C               	swapf	saved_w,w
   115  0031  0009               	retfie
   116                           
   117                           	psect	intentry
   118  0004                     int_entry
   119  0004  00FC               	movwf	saved_w
   120  0005  0803               	movf	3,w
   121  0006  0183               	clrf	3
   122  0007  00B3               	movwf	saved_status
   123  0008  0804               	movf	4,w
   124  0009  00B4               	movwf	saved_fsr
   125  000A  080A               	movf	10,w
   126  000B  00B5               	movwf	saved_pclath
   127  000C  018A               	clrf	10
   128                           
   129                           	psect	intsave
   130  0033                     saved_status
   131  0033                     	ds	1
   132  0034                     saved_fsr
   133  0034                     	ds	1
   134  0035                     saved_pclath
   135  0035                     	ds	1
   136                           
   137                           	psect	text10
   138                           ;1.c: 47: void period()
   139                           ;1.c: 48: {
   140  0527                     _period
   141                           ;1.c: 49: T5=cplz[10]-cplz[0];
   142  0527  1683               	bsf	3,5
   143  0528  1303               	bcf	3,6	;carry unused
   144  0529  0835               	movf	(_cplz+21)^(0+128),w
   145  052A  00F1               	movwf	btemp+1
   146  052B  0834               	movf	(_cplz+20)^(0+128),w
   147  052C  00F0               	movwf	btemp
   148  052D  0820               	movf	_cplz^(0+128),w
   149  052E  02F0               	subwf	btemp
   150  052F  1C03               	btfss	3,0
   151  0530  03F1               	decf	btemp+1
   152  0531  0821               	movf	(_cplz+1)^(0+128),w
   153  0532  02F1               	subwf	btemp+1
   154  0533  0870               	movf	btemp,w
   155  0534  1283               	bcf	3,5
   156  0535  1703               	bsf	3,6
   157  0536  0093               	movwf	_T5^(0+256)
   158  0537  0871               	movf	btemp+1,w
   159  0538  0094               	movwf	(_T5+1)^(0+256)
   160                           ;1.c: 50: RE5=(double)T5;
   161  0539  00F1               	movwf	btemp+1
   162  053A  0813               	movf	_T5^(0+256),w
   163  053B  00F0               	movwf	btemp
   164  053C  120A  118A  279A   	fcall	awtoft
   165  053F  0870               	movf	btemp,w
   166  0540  0097               	movwf	_RE5^(0+256)
   167  0541  0871               	movf	btemp+1,w
   168  0542  0098               	movwf	(_RE5+1)^(0+256)
   169  0543  0872               	movf	btemp+2,w
   170  0544  0099               	movwf	(_RE5+2)^(0+256)
   171                           ;1.c: 51: RE5=RE5/5;
   172  0545  01F3               	clrf	btemp+3
   173  0546  30A0               	movlw	160
   174  0547  00F4               	movwf	btemp+4
   175  0548  3040               	movlw	64
   176  0549  00F5               	movwf	btemp+5
   177  054A  3017               	movlw	_RE5^(0+256)
   178  054B  0084               	movwf	4
   179  054C  1783               	bsf	3,7
   180  054D  120A  118A  2723   	fcall	ftdiv_f
      +       120A  118A         
   181                           ;1.c: 52: }
   182  0552  0183               	clrf	3	;select bank 0
   183  0553  0008               	return
   184                           ;1.c: 54: void frequency()
   185                           ;1.c: 55: {
   186  0554                     _frequency
   187                           ;1.c: 56: period();
   188  0554  2527               	fcall	_period
   189                           ;1.c: 57: RE5=1000000/RE5;
   190  0555  1703               	bsf	3,6
   191  0556  0817               	movf	_RE5^(0+256),w
   192  0557  00F3               	movwf	btemp+3
   193  0558  0818               	movf	(_RE5+1)^(0+256),w
   194  0559  00F4               	movwf	btemp+4
   195  055A  0819               	movf	(_RE5+2)^(0+256),w
   196  055B  00F5               	movwf	btemp+5
   197  055C  3024               	movlw	36
   198  055D  00F0               	movwf	btemp
   199  055E  3074               	movlw	116
   200  055F  00F1               	movwf	btemp+1
   201  0560  3049               	movlw	73
   202  0561  00F2               	movwf	btemp+2
   203  0562  120A  118A  272C   	fcall	ftdiv
      +       120A  118A         
   204  0567  0870               	movf	btemp,w
   205  0568  0097               	movwf	_RE5^(0+256)
   206  0569  0871               	movf	btemp+1,w
   207  056A  0098               	movwf	(_RE5+1)^(0+256)
   208  056B  0872               	movf	btemp+2,w
   209  056C  0099               	movwf	(_RE5+2)^(0+256)
   210                           ;1.c: 58: }
   211  056D  1303               	bcf	3,6	;carry unused
   212  056E  0008               	return
   213                           ;lcd.h: 115: void delay()
   214                           ;lcd.h: 116: {
   215  056F                     _delay
   216                           ;	_i assigned to ?a_delay+0
   217  0000                     _delay$i	set	?a_delay
   218                           ;lcd.h: 117: int i;
   219  056F  0183               	clrf	3	;select bank 0
   220  0570  01B1               	clrf	?a_delay
   221  0571  01B2               	clrf	?a_delay+1
   222  0572                     l15
   223  0572  0AB1               	incf	?a_delay
   224  0573  1903               	btfsc	3,2
   225  0574  0AB2               	incf	?a_delay+1
   226  0575  0832               	movf	?a_delay+1,w
   227  0576  3A80               	xorlw	128
   228  0577  00F0               	movwf	btemp
   229  0578  3093               	movlw	147
   230  0579  0270               	subwf	btemp,w
   231  057A  3088               	movlw	136
   232                           ;set	bank bits for (((?a_delay+0)))
   233  057B  1903               	btfsc	3,2
   234  057C  0231               	subwf	?a_delay,w
   235  057D  1803               	btfsc	3,0
   236  057E  0008               	return
   237  057F  2D72               	goto	l15
   238                           ;lcd.h: 90: void write(char x)
   239                           ;lcd.h: 91: {

⌨️ 快捷键说明

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