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

📄 1.lst

📁 PIC16F877应用的AD转换主程序 并可以通过LCD显示
💻 LST
📖 第 1 页 / 共 3 页
字号:
   273  0739  3A80               	xorlw	128
   274  073A  00F0               	movwf	btemp
   275  073B  3080               	movlw	128
   276  073C  0270               	subwf	btemp,w
   277  073D  3004               	movlw	4
   278                           ;set	bank bits for (((?a_write_tel+2)))
   279  073E  1903               	btfsc	3,2
   280  073F  022D               	subwf	?a_write_tel+2,w
   281  0740  1803               	btfsc	3,0
   282  0741  0008               	return
   283  0742  2F2D               	goto	l8
   284                           ;lcd.h: 94: void lcd_enable()
   285                           ;lcd.h: 95: {
   286  0743                     _lcd_enable
   287                           ;lcd.h: 96: RB1=0;
   288  0743  0183               	clrf	3	;select bank 0
   289  0744  1086               	bcf	6,1
   290                           ;lcd.h: 97: RB2=0;
   291  0745  1106               	bcf	6,2
   292                           ;lcd.h: 98: RB3=0;
   293  0746  1186               	bcf	6,3
   294                           ;lcd.h: 99: delay();
   295  0747  26E3               	fcall	_delay
   296                           ;lcd.h: 101: RB3=1;
   297  0748  1586               	bsf	6,3
   298                           ;lcd.h: 102: }
   299  0749  0008               	return
   300  074A                     _lcd_init
   301                           ;lcd.h: 36: PORTD=0X1;
   302  074A  3001               	movlw	1
   303  074B  0183               	clrf	3	;select bank 0
   304  074C  0088               	movwf	8	;volatile
   305                           ;lcd.h: 37: lcd_enable();
   306  074D  2743  120A  118A   	fcall	_lcd_enable
   307                           ;lcd.h: 38: PORTD=0X38;
   308  0750  3038               	movlw	56
   309  0751  0088               	movwf	8	;volatile
   310                           ;lcd.h: 39: lcd_enable();
   311  0752  2743  120A  118A   	fcall	_lcd_enable
   312                           ;lcd.h: 40: PORTD=0X0C;
   313  0755  300C               	movlw	12
   314  0756  0088               	movwf	8	;volatile
   315                           ;lcd.h: 41: lcd_enable();
   316  0757  2743  120A  118A   	fcall	_lcd_enable
   317                           ;lcd.h: 42: PORTD=0X06;
   318  075A  3006               	movlw	6
   319  075B  0088               	movwf	8	;volatile
   320                           ;lcd.h: 43: lcd_enable();
   321  075C  2743  120A  118A   	fcall	_lcd_enable
   322                           ;lcd.h: 44: PORTD=0X80;
   323  075F  3080               	movlw	-128
   324  0760  0088               	movwf	8	;volatile
   325                           ;lcd.h: 45: lcd_enable();
   326  0761  2F43               	ljmp	_lcd_enable
   327                           ;lcd.h: 111: void longdelay()
   328                           ;lcd.h: 112: {
   329  0762                     _longdelay
   330                           ;	_c assigned to ?a_longdelay+0
   331  0000                     _longdelay$c	set	?a_longdelay
   332                           ;lcd.h: 113: long int c;
   333  0762  0183               	clrf	3	;select bank 0
   334  0763  01AB               	clrf	?a_longdelay
   335  0764  01AC               	clrf	?a_longdelay+1
   336  0765  01AD               	clrf	?a_longdelay+2
   337  0766  01AE               	clrf	?a_longdelay+3
   338  0767                     l18
   339  0767  0AAB               	incf	?a_longdelay
   340  0768  1903               	btfsc	3,2
   341  0769  0AAC               	incf	?a_longdelay+1
   342  076A  1903               	btfsc	3,2
   343  076B  0AAD               	incf	?a_longdelay+2
   344  076C  1903               	btfsc	3,2
   345  076D  0AAE               	incf	?a_longdelay+3
   346  076E  082E               	movf	?a_longdelay+3,w
   347  076F  3A80               	xorlw	128
   348  0770  00F0               	movwf	btemp
   349  0771  3080               	movlw	128
   350  0772  0270               	subwf	btemp,w
   351  0773  1D03               	btfss	3,2
   352  0774  2F7F               	goto	u45
   353  0775  3000               	movlw	0
   354  0776  022D               	subwf	?a_longdelay+2,w
   355  0777  1D03               	btfss	3,2
   356  0778  2F7F               	goto	u45
   357  0779  30C3               	movlw	195
   358  077A  022C               	subwf	?a_longdelay+1,w
   359  077B  1D03               	btfss	3,2
   360  077C  2F7F               	goto	u45
   361  077D  3050               	movlw	80
   362  077E  022B               	subwf	?a_longdelay,w
   363  077F                     u45
   364  077F  1C03               	btfss	3,0
   365  0780  2F67               	goto	l18
   366                           ;lcd.h: 115: delay();
   367  0781  2EE3               	ljmp	_delay
   368  0782                     _init
   369                           ;lcd.h: 28: TRISB=0X00;
   370  0782  1683               	bsf	3,5
   371  0783  1303               	bcf	3,6	;carry unused
   372  0784  0186               	clrf	6	;volatile
   373                           ;lcd.h: 29: TRISD=0X00;
   374  0785  0188               	clrf	8	;volatile
   375                           ;lcd.h: 30: }
   376  0786  1283               	bcf	3,5
   377  0787  0008               	return
   378                           ;1.C: 14: void ad_initial()
   379                           ;1.C: 15: { TRISA=TRISA|0x01;
   380  0788                     _ad_initial
   381  0788  1683               	bsf	3,5
   382  0789  1303               	bcf	3,6	;carry unused
   383  078A  1405               	bsf	5,0	;volatile
   384                           ;1.C: 16: ADCON0=0x41;
   385  078B  3041               	movlw	65
   386  078C  1283               	bcf	3,5
   387  078D  009F               	movwf	31	;volatile
   388                           ;1.C: 17: ADCON1=0x82;
   389  078E  3082               	movlw	-126
   390  078F  1683               	bsf	3,5
   391  0790  009F               	movwf	31	;volatile
   392                           ;1.C: 18: ADIF=0;
   393  0791  1283               	bcf	3,5
   394  0792  130C               	bcf	12,6
   395                           ;1.C: 19: ADIE=1;
   396  0793  1683               	bsf	3,5
   397  0794  170C               	bsf	12,6
   398                           ;1.C: 21: }
   399  0795  1283               	bcf	3,5
   400  0796  0008               	return
   401                           ;1.C: 3: unsigned int adresult=0;
   402                           ;1.C: 4: unsigned int ad_sample_result=0;
   403                           ;1.C: 5: unsigned char ad_flag=0;
   404                           ;1.C: 6: unsigned int ad_delay=0;
   405                           ;1.C: 8: void initial()
   406                           ;1.C: 9: {
   407  0797                     _initial
   408                           ;1.C: 10: INTCON=0x00;
   409  0797  018B               	clrf	11	;volatile
   410                           ;1.C: 11: ADCON1=0x07;
   411  0798  3007               	movlw	7
   412  0799  1683               	bsf	3,5
   413  079A  1303               	bcf	3,6	;carry unused
   414  079B  009F               	movwf	31	;volatile
   415                           ;1.C: 12: }
   416  079C  1283               	bcf	3,5
   417  079D  0008               	return
   418                           ;1.C: 44: void main()
   419                           ;1.C: 45: {
   420  079E                     _main
   421                           ;1.C: 46: TRISB=0x00;
   422  079E  1683               	bsf	3,5
   423  079F  1303               	bcf	3,6	;carry unused
   424  07A0  0186               	clrf	6	;volatile
   425                           ;1.C: 47: TRISD=0x00;
   426  07A1  0188               	clrf	8	;volatile
   427                           ;1.C: 48: initial();
   428  07A2  2797               	fcall	_initial
   429                           ;1.C: 49: ad_initial();
   430  07A3  2788               	fcall	_ad_initial
   431                           ;1.C: 50: INTCON=0xc0;
   432  07A4  30C0               	movlw	-64
   433  07A5  008B               	movwf	11	;volatile
   434                           ;1.C: 51: init();
   435  07A6  2782               	fcall	_init
   436                           ;1.C: 52: lcd_init();
   437  07A7  274A  120A  118A   	fcall	_lcd_init
   438                           ;1.C: 54: write_web();
   439  07AA  26FD               	fcall	_write_web
   440  07AB                     l28
   441                           ;1.C: 55: while(1)
   442                           ;1.C: 56: {
   443  07AB  30C0               	movlw	-64
   444  07AC  0088               	movwf	8	;volatile
   445                           ;1.C: 59: lcd_enable();
   446  07AD  2743  120A  118A   	fcall	_lcd_enable
   447                           ;1.C: 60: write_tel((char)adresult);
   448  07B0  0825               	movf	_adresult,w
   449  07B1  2717               	fcall	_write_tel
   450                           ;1.C: 62: if(ad_flag==1)
   451  07B2  0B20               	decfsz	_ad_flag,w
   452  07B3  2FB7               	goto	l30
   453                           ;1.C: 63: deal_ad();
   454  07B4  2690  120A  118A   	fcall	_deal_ad
   455  07B7                     l30
   456                           ;1.C: 64: if(ad_delay>0x05)
   457  07B7  3000               	movlw	0
   458  07B8  0222               	subwf	_ad_delay+1,w
   459  07B9  3006               	movlw	6
   460  07BA  1903               	btfsc	3,2
   461  07BB  0221               	subwf	_ad_delay,w
   462  07BC  1C03               	btfss	3,0
   463  07BD  2FC2               	goto	l31
   464                           ;1.C: 65: {
   465  07BE  01A1               	clrf	_ad_delay
   466  07BF  01A2               	clrf	_ad_delay+1
   467                           ;1.C: 67: ADCON0=ADCON0|0x04;
   468  07C0  151F               	bsf	31,2	;volatile
   469                           ;1.C: 68: }
   470  07C1  2FAB               	goto	l28
   471  07C2                     l31
   472  07C2  0AA1               	incf	_ad_delay
   473  07C3  1903               	btfsc	3,2
   474  07C4  0AA2               	incf	_ad_delay+1
   475                           ;1.C: 70: }
   476  07C5  2FAB               	goto	l28
   477                           
   478                           	psect	intcode
   479                           ;1.C: 33: void interrupt ad()
   480                           ;1.C: 34: {
   481  000B                     _ad
   482  000B                     int_func
   483                           ;1.C: 36: if(ADIF==1)
   484  000B  0183               	clrf	3	;select bank 0
   485  000C  1F0C               	btfss	12,6
   486  000D  2811               	goto	l24
   487                           ;1.C: 37: { ADIF=0;
   488  000E  130C               	bcf	12,6
   489                           ;1.C: 38: ad_flag=1;
   490  000F  01A0               	clrf	_ad_flag
   491  0010  0AA0               	incf	_ad_flag
   492                           ;1.C: 39: }
   493  0011                     l24
   494                           
   495                           	psect	intsave_0
   496  0077                     saved_w
   497  0077                     	ds	1
   498                           
   499                           	psect	intret
   500  0011  0833               	movf	saved_pclath,w
   501  0012  008A               	movwf	10
   502  0013                     int_restore
   503  0013  0832               	movf	saved_status,w
   504  0014  0083               	movwf	3
   505  0015  0EF7               	swapf	saved_w
   506  0016  0E77               	swapf	saved_w,w
   507  0017  0009               	retfie
   508                           
   509                           	psect	intentry
   510  0004                     int_entry
   511  0004  00F7               	movwf	saved_w
   512  0005  0803               	movf	3,w
   513  0006  0183               	clrf	3
   514  0007  00B2               	movwf	saved_status
   515  0008  080A               	movf	10,w
   516  0009  00B3               	movwf	saved_pclath
   517  000A  018A               	clrf	10
   518                           
   519                           	psect	intsave
   520  0032                     saved_status
   521  0032                     	ds	1
   522  0033                     saved_pclath
   523  0033                     	ds	1
   524                           
   525                           	psect	text13
   526  0000                     
   527  0000                     
   528  0000                     
   529  0000                     
   530  0000                     
   531  0000                     
   532  0000                     
   533  0000                     
   534  0000                     
   535  0000                     
   536  0000                     
   537  0000                     
   538  0000                     
   539  0000                     
   540  0000                     
   541  0000                     
   542  0000                     
   543  0000                     
   544  0000                     
   545  0000                     
   546  0000                     
   547  0000                     
   548  0000                     
   549  0000                     
   550  0000                     
   551  0000                     
   552  0000                     
   553  0000                     
   554  0000                     
   555  0000                     
   556  0000                     
   557  0000                     
   558  0000                     

⌨️ 快捷键说明

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