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

📄 adc-serial.lst

📁 PIC16F877实现AD转换
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-79926                            Fri Apr  3 09:41:00 2009

Licensed to: ONE
     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z79926RS_,global,delta=1
     4                           	psect	text0,local,class=CODE,delta=2
     5                           	psect	text2,local,class=CODE,delta=2
     6                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
     7  0000                     
     8  0000                     
     9  0000                     
    10  0000                     
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17                           
    18                           	psect	__Z79926RS_
    19  0190                     
    20  0190                     
    21                           
    22                           	psect	text0
    23  0550                     _send
    24                           ;	_count assigned to ?a_send+0
    25  0000                     _send$count	set	?a_send
    26                           ;_count stored from w
    27  0550  0183               	clrf	3	;select bank 0
    28  0551  00B2               	movwf	?a_send
    29                           ;ADC-SERIAL.C: 7: TXEN=1;
    30  0552  1683               	bsf	3,5
    31  0553  1698               	bsf	24,5
    32                           ;ADC-SERIAL.C: 8: TXREG=count;
    33  0554  1283               	bcf	3,5
    34  0555  0832               	movf	?a_send,w
    35  0556  0099               	movwf	25	;volatile
    36  0557                     l3
    37                           ;ADC-SERIAL.C: 9: while(1)
    38                           ;ADC-SERIAL.C: 10: {
    39  0557  1683               	bsf	3,5
    40  0558  1C98               	btfss	24,1
    41  0559  2D57               	goto	l3
    42                           ;ADC-SERIAL.C: 13: }
    43  055A  1283               	bcf	3,5
    44  055B  0008               	return
    45                           ;ADC-SERIAL.C: 14: main()
    46                           ;ADC-SERIAL.C: 15: {
    47  055C                     _main
    48                           ;	_a_1 assigned to ?a_main+0
    49  0000                     _main$a_1	set	?a_main
    50                           ;	_a_10 assigned to ?a_main+1
    51  0000                     _main$a_10	set	?a_main+1
    52                           ;	_a_100 assigned to ?a_main+2
    53  0000                     _main$a_100	set	?a_main+2
    54                           ;	_b assigned to ?a_main+3
    55  0000                     _main$b	set	?a_main+3
    56                           ;	_point_1 assigned to ?a_main+4
    57  0000                     _main$point_1	set	?a_main+4
    58                           ;	_point_2 assigned to ?a_main+5
    59  0000                     _main$point_2	set	?a_main+5
    60                           ;	_i assigned to ?a_main+6
    61  0000                     _main$i	set	?a_main+6
    62                           ;	_j assigned to ?a_main+7
    63  0000                     _main$j	set	?a_main+7
    64                           ;	_y assigned to ?a_main+8
    65  0000                     _main$y	set	?a_main+8
    66                           ;	_c assigned to ?a_main+9
    67  0000                     _main$c	set	?a_main+9
    68                           ;	_d assigned to ?a_main+11
    69  0000                     _main$d	set	?a_main+11
    70                           ;	_a assigned to ?a_main+13
    71  0000                     _main$a	set	?a_main+13
    72                           ;	_k assigned to ?a_main+15
    73  0000                     _main$k	set	?a_main+15
    74  055C                     l8
    75                           ;ADC-SERIAL.C: 16: while(1)
    76                           ;ADC-SERIAL.C: 17: {
    77  055C  302E               	movlw	46
    78  055D  1283               	bcf	3,5
    79  055E  1303               	bcf	3,6	;carry unused
    80  055F  00A3               	movwf	?a_main+3
    81                           ;ADC-SERIAL.C: 19: float k;
    82  0560  3019               	movlw	25
    83  0561  1683               	bsf	3,5
    84  0562  0099               	movwf	25	;volatile
    85                           ;ADC-SERIAL.C: 23: TXSTA=0x24;
    86  0563  3024               	movlw	36
    87  0564  0098               	movwf	24	;volatile
    88                           ;ADC-SERIAL.C: 24: RCSTA=0x90;
    89  0565  3090               	movlw	-112
    90  0566  1283               	bcf	3,5
    91  0567  0098               	movwf	24	;volatile
    92                           ;ADC-SERIAL.C: 25: TRISC=0xf0;
    93  0568  30F0               	movlw	-16
    94  0569  1683               	bsf	3,5
    95  056A  0087               	movwf	7	;volatile
    96                           ;ADC-SERIAL.C: 28: ADCON1=0x80;
    97  056B  3080               	movlw	-128
    98  056C  009F               	movwf	31	;volatile
    99                           ;ADC-SERIAL.C: 29: ADCON0=0x20;
   100  056D  3020               	movlw	32
   101  056E  1283               	bcf	3,5
   102  056F  009F               	movwf	31	;volatile
   103                           ;ADC-SERIAL.C: 30: ADON=1;
   104  0570  141F               	bsf	31,0
   105                           ;ADC-SERIAL.C: 31: i=0x22;
   106  0571  3022               	movlw	34
   107  0572  00A6               	movwf	?a_main+6
   108                           ;ADC-SERIAL.C: 32: while(--i){}
   109  0573                     l10
   110  0573  0BA6               	decfsz	?a_main+6
   111  0574  2D73               	goto	l10
   112                           ;ADC-SERIAL.C: 33: ADGO=1;
   113  0575  151F               	bsf	31,2
   114                           ;ADC-SERIAL.C: 34: while(ADGO){}
   115  0576                     l13
   116  0576  191F               	btfsc	31,2
   117  0577  2D76               	goto	l13
   118                           ;ADC-SERIAL.C: 35: a=ADRESH;
   119  0578  081E               	movf	30,w	;volatile
   120  0579  00AD               	movwf	?a_main+13
   121  057A  01AE               	clrf	?a_main+14
   122                           ;ADC-SERIAL.C: 36: a=a<<8;
   123  057B  00AE               	movwf	?a_main+14
   124  057C  01AD               	clrf	?a_main+13
   125                           ;ADC-SERIAL.C: 37: a=a+ADRESL;
   126  057D  1683               	bsf	3,5
   127  057E  081E               	movf	30,w	;volatile
   128  057F  1283               	bcf	3,5
   129  0580  07AD               	addwf	?a_main+13
   130  0581  1803               	btfsc	3,0
   131  0582  0AAE               	incf	?a_main+14
   132                           ;ADC-SERIAL.C: 38: for(y=1000;y>0;y--)
   133  0583  30E8               	movlw	-24
   134  0584  00A8               	movwf	?a_main+8
   135  0585                     l16
   136                           ;ADC-SERIAL.C: 39: for(j=100;j>0;j--);
   137  0585  3064               	movlw	100
   138  0586  00A7               	movwf	?a_main+7
   139  0587                     l19
   140  0587  0BA7               	decfsz	?a_main+7
   141  0588  2D87               	goto	l19
   142  0589  0BA8               	decfsz	?a_main+8
   143  058A  2D85               	goto	l16
   144                           ;ADC-SERIAL.C: 41: k=1.0*a*5/1023;
   145  058B  082E               	movf	?a_main+14,w
   146  058C  00F1               	movwf	btemp+1
   147  058D  082D               	movf	?a_main+13,w
   148  058E  00F0               	movwf	btemp
   149  058F  120A  118A  277F   	fcall	lwtoft
   150  0592  01F3               	clrf	btemp+3
   151  0593  3080               	movlw	128
   152  0594  00F4               	movwf	btemp+4
   153  0595  303F               	movlw	63
   154  0596  00F5               	movwf	btemp+5
   155  0597  120A  118A  2702   	fcall	ftmul
   156  059A  01F3               	clrf	btemp+3
   157  059B  30A0               	movlw	160
   158  059C  00F4               	movwf	btemp+4
   159  059D  3040               	movlw	64
   160  059E  00F5               	movwf	btemp+5
   161  059F  120A  118A  2702   	fcall	ftmul
   162  05A2  30C0               	movlw	192
   163  05A3  00F3               	movwf	btemp+3
   164  05A4  307F               	movlw	127
   165  05A5  00F4               	movwf	btemp+4
   166  05A6  3044               	movlw	68
   167  05A7  00F5               	movwf	btemp+5
   168  05A8  120A  118A  26CA   	fcall	ftdiv
   169  05AB  0870               	movf	btemp,w
   170  05AC  00AF               	movwf	?a_main+15
   171  05AD  0871               	movf	btemp+1,w
   172  05AE  00B0               	movwf	?a_main+16
   173  05AF  0872               	movf	btemp+2,w
   174  05B0  00B1               	movwf	?a_main+17
   175                           ;ADC-SERIAL.C: 43: a_100=(unsigned char)k/100+4
      +                          8;
   176  05B1  082F               	movf	?a_main+15,w
   177  05B2  00F0               	movwf	btemp
   178  05B3  0830               	movf	?a_main+16,w
   179  05B4  00F1               	movwf	btemp+1
   180  05B5  0831               	movf	?a_main+17,w
   181  05B6  00F2               	movwf	btemp+2
   182  05B7  120A  118A  2743   	fcall	fttol
   183  05BA  0870               	movf	btemp,w
   184  05BB  3064               	movlw	100
   185  05BC  00F1               	movwf	btemp+1
   186  05BD  0870               	movf	btemp,w
   187  05BE  120A  118A  2782   	fcall	lbdiv
   188  05C1  3E30               	addlw	48
   189  05C2  00A2               	movwf	?a_main+2
   190                           ;ADC-SERIAL.C: 44: a_10=(unsigned char)k%100/10
      +                          +48;
   191  05C3  082F               	movf	?a_main+15,w
   192  05C4  00F0               	movwf	btemp
   193  05C5  0830               	movf	?a_main+16,w
   194  05C6  00F1               	movwf	btemp+1
   195  05C7  0831               	movf	?a_main+17,w
   196  05C8  00F2               	movwf	btemp+2
   197  05C9  120A  118A  2743   	fcall	fttol
   198  05CC  0870               	movf	btemp,w
   199  05CD  3064               	movlw	100
   200  05CE  00F1               	movwf	btemp+1
   201  05CF  0870               	movf	btemp,w
   202  05D0  120A  118A  2782   	fcall	lbmod
   203  05D3  0870               	movf	btemp,w
   204  05D4  300A               	movlw	10
   205  05D5  00F1               	movwf	btemp+1
   206  05D6  0870               	movf	btemp,w
   207  05D7  120A  118A  2782   	fcall	lbdiv
   208  05DA  3E30               	addlw	48
   209  05DB  00A1               	movwf	?a_main+1
   210                           ;ADC-SERIAL.C: 45: a_1=(unsigned char)k%100%10+
      +                          48;
   211  05DC  082F               	movf	?a_main+15,w
   212  05DD  00F0               	movwf	btemp
   213  05DE  0830               	movf	?a_main+16,w
   214  05DF  00F1               	movwf	btemp+1
   215  05E0  0831               	movf	?a_main+17,w
   216  05E1  00F2               	movwf	btemp+2
   217  05E2  120A  118A  2743   	fcall	fttol
   218  05E5  0870               	movf	btemp,w
   219  05E6  3064               	movlw	100
   220  05E7  00F1               	movwf	btemp+1
   221  05E8  0870               	movf	btemp,w
   222  05E9  120A  118A  2782   	fcall	lbmod
   223  05EC  0870               	movf	btemp,w
   224  05ED  300A               	movlw	10
   225  05EE  00F1               	movwf	btemp+1
   226  05EF  0870               	movf	btemp,w
   227  05F0  120A  118A  2782   	fcall	lbmod
   228  05F3  0870               	movf	btemp,w
   229  05F4  3E30               	addlw	48
   230  05F5  00A0               	movwf	?a_main
   231                           ;ADC-SERIAL.C: 46: c=k*10;
   232  05F6  082F               	movf	?a_main+15,w
   233  05F7  00F3               	movwf	btemp+3
   234  05F8  0830               	movf	?a_main+16,w
   235  05F9  00F4               	movwf	btemp+4
   236  05FA  0831               	movf	?a_main+17,w
   237  05FB  00F5               	movwf	btemp+5
   238  05FC  01F0               	clrf	btemp
   239  05FD  3020               	movlw	32
   240  05FE  00F1               	movwf	btemp+1
   241  05FF  3041               	movlw	65
   242  0600  00F2               	movwf	btemp+2
   243  0601  120A  118A  2702   	fcall	ftmul
   244  0604  120A  118A  2743   	fcall	fttol
   245  0607  0870               	movf	btemp,w
   246  0608  00A9               	movwf	?a_main+9
   247  0609  0871               	movf	btemp+1,w
   248  060A  00AA               	movwf	?a_main+10
   249                           ;ADC-SERIAL.C: 47: d=k*100;
   250  060B  082F               	movf	?a_main+15,w
   251  060C  00F3               	movwf	btemp+3
   252  060D  0830               	movf	?a_main+16,w
   253  060E  00F4               	movwf	btemp+4
   254  060F  0831               	movf	?a_main+17,w
   255  0610  00F5               	movwf	btemp+5
   256  0611  01F0               	clrf	btemp
   257  0612  30C8               	movlw	200
   258  0613  00F1               	movwf	btemp+1
   259  0614  3042               	movlw	66
   260  0615  00F2               	movwf	btemp+2
   261  0616  120A  118A  2702   	fcall	ftmul
   262  0619  120A  118A  2743   	fcall	fttol
   263  061C  0870               	movf	btemp,w
   264  061D  00AB               	movwf	?a_main+11
   265  061E  0871               	movf	btemp+1,w
   266  061F  00AC               	movwf	?a_main+12
   267                           ;ADC-SERIAL.C: 48: point_1=c%1000%100%10+48;
   268  0620  30E8               	movlw	232
   269  0621  00F2               	movwf	btemp+2
   270  0622  3003               	movlw	3
   271  0623  00F3               	movwf	btemp+3
   272  0624  082A               	movf	?a_main+10,w
   273  0625  00F1               	movwf	btemp+1
   274  0626  0829               	movf	?a_main+9,w
   275  0627  00F0               	movwf	btemp
   276  0628  120A  118A  27B8   	fcall	lwmod
   277  062B  3064               	movlw	100
   278  062C  00F2               	movwf	btemp+2
   279  062D  3000               	movlw	0
   280  062E  01F3               	clrf	btemp+3
   281  062F  120A  118A  27B8   	fcall	lwmod
   282  0632  300A               	movlw	10
   283  0633  00F2               	movwf	btemp+2
   284  0634  3000               	movlw	0
   285  0635  01F3               	clrf	btemp+3
   286  0636  120A  118A  27B8   	fcall	lwmod
   287  0639  0870               	movf	btemp,w
   288  063A  3E30               	addlw	48
   289  063B  00A4               	movwf	?a_main+4
   290                           ;ADC-SERIAL.C: 49: point_2=d%10000%1000%100%10+
      +                          48;
   291  063C  3010               	movlw	16
   292  063D  00F2               	movwf	btemp+2
   293  063E  3027               	movlw	39
   294  063F  00F3               	movwf	btemp+3
   295  0640  082C               	movf	?a_main+12,w
   296  0641  00F1               	movwf	btemp+1
   297  0642  082B               	movf	?a_main+11,w
   298  0643  00F0               	movwf	btemp
   299  0644  120A  118A  27B8   	fcall	lwmod
   300  0647  30E8               	movlw	232
   301  0648  00F2               	movwf	btemp+2
   302  0649  3003               	movlw	3
   303  064A  00F3               	movwf	btemp+3
   304  064B  120A  118A  27B8   	fcall	lwmod
   305  064E  3064               	movlw	100
   306  064F  00F2               	movwf	btemp+2
   307  0650  3000               	movlw	0
   308  0651  01F3               	clrf	btemp+3
   309  0652  120A  118A  27B8   	fcall	lwmod
   310  0655  300A               	movlw	10
   311  0656  00F2               	movwf	btemp+2
   312  0657  3000               	movlw	0
   313  0658  01F3               	clrf	btemp+3
   314  0659  120A  118A  27B8   	fcall	lwmod

⌨️ 快捷键说明

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