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

📄 adc.lst

📁 基于温度传感器LM35与PIC16F877A的应用程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
   278  05A0  01F5               	clrf	btemp+5
   279  05A1  01F6               	clrf	btemp+6
   280  05A2  01F7               	clrf	btemp+7
   281  05A3  082D               	movf	?a_tempature_disp+5,w
   282  05A4  00F0               	movwf	btemp
   283  05A5  082E               	movf	?a_tempature_disp+6,w
   284  05A6  00F1               	movwf	btemp+1
   285  05A7  082F               	movf	?a_tempature_disp+7,w
   286  05A8  00F2               	movwf	btemp+2
   287  05A9  0830               	movf	?a_tempature_disp+8,w
   288  05AA  00F3               	movwf	btemp+3
   289  05AB  120A  118A  26C4   	fcall	llmod
   290  05AE  0874               	movf	btemp+4,w
   291  05AF  00A9               	movwf	?a_tempature_disp+1
   292                           ;adc.c: 114: b = d / 10;
   293  05B0  300A               	movlw	10
   294  05B1  00F1               	movwf	btemp+1
   295  05B2  0829               	movf	?a_tempature_disp+1,w
   296  05B3  120A  118A  25F8   	fcall	lbdiv
      +       120A  118A         
   297  05B8  00AB               	movwf	?a_tempature_disp+3
   298                           ;adc.c: 115: lcd_disp(0x86, b + 0x30);
   299  05B9  3E30               	addlw	48
   300  05BA  00B1               	movwf	?_lcd_disp
   301  05BB  3086               	movlw	-122
   302  05BC  2520  120A  118A   	fcall	_lcd_disp
   303                           ;adc.c: 116: lcd_disp(0x87, 0x2e);
   304  05BF  302E               	movlw	46
   305  05C0  00B1               	movwf	?_lcd_disp
   306  05C1  3087               	movlw	-121
   307  05C2  2520               	fcall	_lcd_disp
   308                           ;adc.c: 117: c = temperature_temp - a * 100 - b
      +                           * 10;
   309  05C3  3064               	movlw	100
   310  05C4  00F1               	movwf	btemp+1
   311  05C5  082A               	movf	?a_tempature_disp+2,w
   312  05C6  120A  118A  24A0   	fcall	lbmul
   313  05C9  022D               	subwf	?a_tempature_disp+5,w
   314  05CA  00F2               	movwf	btemp+2
   315  05CB  300A               	movlw	10
   316  05CC  00F1               	movwf	btemp+1
   317  05CD  082B               	movf	?a_tempature_disp+3,w
   318  05CE  120A  118A  24A0   	fcall	lbmul
      +       120A  118A         
   319  05D3  0272               	subwf	btemp+2,w
   320  05D4  00A8               	movwf	?a_tempature_disp
   321                           ;adc.c: 118: lcd_disp(0x88, c + 0x30);
   322  05D5  3E30               	addlw	48
   323  05D6  00B1               	movwf	?_lcd_disp
   324  05D7  3088               	movlw	-120
   325  05D8  2520  120A  118A   	fcall	_lcd_disp
   326                           ;adc.c: 119: lcd_disp(0x89, 0xdf);
   327  05DB  30DF               	movlw	-33
   328  05DC  00B1               	movwf	?_lcd_disp
   329  05DD  3089               	movlw	-119
   330  05DE  2520  120A  118A   	fcall	_lcd_disp
   331                           ;adc.c: 120: lcd_disp(0x8a, 0x43);
   332  05E1  3043               	movlw	67
   333  05E2  00B1               	movwf	?_lcd_disp
   334  05E3  308A               	movlw	-118
   335  05E4  2520  120A  118A   	fcall	_lcd_disp
   336                           ;adc.c: 121: checksum = 0;
   337  05E7  01A2               	clrf	_checksum	;volatile
   338  05E8  01A3               	clrf	_checksum+1	;volatile
   339                           ;adc.c: 122: count = 0;
   340  05E9  01A1               	clrf	_count	;volatile
   341                           ;adc.c: 123: disp_reload = 0;
   342  05EA  1020               	bcf	_disp_reload/(0+8),_disp_reload& (0+7)
   343                           ;adc.c: 124: lcd_disp(0xcf, 0xfe);
   344  05EB  30FE               	movlw	-2
   345  05EC  00B1               	movwf	?_lcd_disp
   346  05ED  30CF               	movlw	-49
   347  05EE  2520  120A  118A   	fcall	_lcd_disp
   348                           ;adc.c: 125: delay(300);
   349  05F1  302C               	movlw	44
   350  05F2  00B1               	movwf	?_delay
   351  05F3  3001               	movlw	1
   352  05F4  00B2               	movwf	?_delay+1
   353  05F5  24EC               	fcall	_delay
   354                           ;adc.c: 126: (GIE = 1);
   355  05F6  178B               	bsf	11,7
   356                           ;adc.c: 127: }
   357  05F7  0008               	return
   358                           
   359                           	psect	text4
   360                           ;adc.c: 68: void lcd_init(void)
   361                           ;adc.c: 69: {
   362  04AC                     _lcd_init
   363                           ;adc.c: 70: lcd_command_writedata(0x00,0x01);
   364  04AC  0183               	clrf	3	;select bank 0
   365  04AD  01B3               	clrf	?_lcd_command_writedata
   366  04AE  0AB3               	incf	?_lcd_command_writedata
   367  04AF  3000               	movlw	0
   368  04B0  120A  118A  250E   	fcall	_lcd_command_writedata
   369                           ;adc.c: 71: lcd_command_writedata(0x00,0x38);
   370  04B3  3038               	movlw	56
   371  04B4  00B3               	movwf	?_lcd_command_writedata
   372  04B5  3000               	movlw	0
   373  04B6  120A  118A  250E   	fcall	_lcd_command_writedata
   374                           ;adc.c: 72: lcd_command_writedata(0x00,0x0e);
   375  04B9  300E               	movlw	14
   376  04BA  00B3               	movwf	?_lcd_command_writedata
   377  04BB  3000               	movlw	0
   378  04BC  120A  118A  250E   	fcall	_lcd_command_writedata
      +       120A  118A         
   379                           ;adc.c: 73: lcd_command_writedata(0x00,0x06);
   380  04C1  3006               	movlw	6
   381  04C2  00B3               	movwf	?_lcd_command_writedata
   382  04C3  3000               	movlw	0
   383  04C4  120A  118A  2D0E   	ljmp	_lcd_command_writedata
   384                           ;adc.c: 83: void adc_init(void)
   385                           ;adc.c: 84: {
   386  04C7                     _adc_init
   387                           ;adc.c: 85: ADCON1 = 0x8e;
   388  04C7  308E               	movlw	-114
   389  04C8  1683               	bsf	3,5
   390  04C9  1303               	bcf	3,6	;carry unused
   391  04CA  009F               	movwf	31	;volatile
   392                           ;adc.c: 86: ADCON0 = 0xc1;
   393  04CB  30C1               	movlw	-63
   394  04CC  1283               	bcf	3,5
   395  04CD  009F               	movwf	31	;volatile
   396                           ;adc.c: 87: ADIF = 0;
   397  04CE  130C               	bcf	12,6
   398                           ;adc.c: 88: PEIE = 1;
   399  04CF  170B               	bsf	11,6
   400                           ;adc.c: 89: ADIE = 1;
   401  04D0  1683               	bsf	3,5
   402  04D1  170C               	bsf	12,6
   403                           ;adc.c: 90: TRISA0 = 1;
   404  04D2  1405               	bsf	5,0
   405                           ;adc.c: 91: count = 0;
   406  04D3  1283               	bcf	3,5
   407  04D4  01A1               	clrf	_count	;volatile
   408                           ;adc.c: 92: disp_reload = 0;
   409  04D5  1020               	bcf	_disp_reload/(0+8),_disp_reload& (0+7)
   410                           ;adc.c: 93: }
   411  04D6  0008               	return
   412                           ;adc.c: 75: void system_init(void)
   413                           ;adc.c: 76: {
   414  04D7                     _system_init
   415                           ;adc.c: 77: INTCON = 0x00;
   416  04D7  018B               	clrf	11	;volatile
   417                           ;adc.c: 78: OPTION = 0xff;
   418  04D8  30FF               	movlw	-1
   419  04D9  1683               	bsf	3,5
   420  04DA  1303               	bcf	3,6	;carry unused
   421  04DB  0081               	movwf	1
   422                           ;adc.c: 79: TRISB = 0x00;
   423  04DC  0186               	clrf	6	;volatile
   424                           ;adc.c: 80: TRISD = 0x00;
   425  04DD  0188               	clrf	8	;volatile
   426                           ;adc.c: 81: }
   427  04DE  1283               	bcf	3,5
   428  04DF  0008               	return
   429                           ;adc.c: 129: void main(void)
   430                           ;adc.c: 130: {
   431  04E0                     _main
   432                           ;adc.c: 131: system_init();
   433  04E0  24D7               	fcall	_system_init
   434                           ;adc.c: 132: adc_init();
   435  04E1  24C7               	fcall	_adc_init
   436                           ;adc.c: 133: lcd_init();
   437  04E2  24AC               	fcall	_lcd_init
   438                           ;adc.c: 134: ADCON0 |= 0x04;
   439  04E3  151F               	bsf	31,2	;volatile
   440                           ;adc.c: 135: (GIE = 1);
   441  04E4  178B               	bsf	11,7
   442  04E5                     l26
   443                           ;adc.c: 136: while (1)
   444                           ;adc.c: 137: {
   445  04E5  120A  118A  2529   	fcall	_tempature_disp
      +       120A  118A         
   446                           ;adc.c: 139: asm("sleep");
   447  04EA  0063               	sleep	;#
   448                           ;adc.c: 140: }
   449  04EB  2CE5               	goto	l26
   450                           
   451                           	psect	intcode
   452                           ;adc.c: 143: void interrupt adc_interrupt(void)
   453                           ;adc.c: 144: {
   454  0015                     _adc_interrupt
   455  0015                     int_func
   456                           ;adc.c: 145: ADIF = 0;
   457  0015  0183               	clrf	3	;select bank 0
   458  0016  130C               	bcf	12,6
   459                           ;adc.c: 146: temperature[count] = (ADRESH << 8)
      +                           + ADRESL;
   460  0017  081E               	movf	30,w	;volatile
   461  0018  00F3               	movwf	btemp+3
   462  0019  01F2               	clrf	btemp+2
   463  001A  1683               	bsf	3,5
   464  001B  081E               	movf	30,w	;volatile
   465  001C  00F0               	movwf	btemp
   466  001D  01F1               	clrf	btemp+1
   467  001E  0872               	movf	btemp+2,w
   468  001F  07F0               	addwf	btemp
   469  0020  1803               	btfsc	3,0
   470  0021  0AF1               	incf	btemp+1
   471  0022  0873               	movf	btemp+3,w
   472  0023  07F1               	addwf	btemp+1
   473  0024  1283               	bcf	3,5
   474  0025  0821               	movf	_count,w	;volatile
   475  0026  0721               	addwf	_count,w	;volatile
   476  0027  3E10               	addlw	_temperature^(0+256)
   477  0028  0084               	movwf	4
   478  0029  1783               	bsf	3,7
   479  002A  0870               	movf	btemp,w
   480  002B  0080               	movwf	0
   481  002C  0A84               	incf	4
   482  002D  0871               	movf	btemp+1,w
   483  002E  0080               	movwf	0
   484                           ;adc.c: 147: count ++;
   485  002F  0AA1               	incf	_count	;volatile
   486                           ;adc.c: 148: if (count == 40)
   487  0030  0821               	movf	_count,w	;volatile
   488  0031  3A28               	xorlw	40
   489  0032  1903               	btfsc	3,2
   490                           ;adc.c: 149: {
   491  0033  1420               	bsf	_disp_reload/(0+8),_disp_reload& (0+7)
   492                           ;adc.c: 151: }
   493  0034  151F               	bsf	31,2	;volatile
   494                           
   495                           	psect	intsave_0
   496  007C                     saved_w
   497  007C                     	ds	1
   498                           
   499                           	psect	intret
   500  003D  083A               	movf	saved_fsr,w
   501  003E  0084               	movwf	4	;restore FSR
   502  003F  083B               	movf	saved_pclath,w
   503  0040  008A               	movwf	10
   504  0041                     int_restore
   505  0041  0839               	movf	saved_status,w
   506  0042  0083               	movwf	3
   507  0043  0EFC               	swapf	saved_w
   508  0044  0E7C               	swapf	saved_w,w
   509  0045  0009               	retfie
   510                           
   511                           	psect	intentry
   512  0004                     int_entry
   513  0004  00FC               	movwf	saved_w
   514  0005  0803               	movf	3,w
   515  0006  0183               	clrf	3
   516  0007  00B9               	movwf	saved_status
   517  0008  0804               	movf	4,w
   518  0009  00BA               	movwf	saved_fsr
   519  000A  080A               	movf	10,w
   520  000B  00BB               	movwf	saved_pclath
   521  000C  018A               	clrf	10
   522  0000                     
   523  0000                     
   524  0000                     
   525  0000                     
   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                     
   559  0000                     
   560  0000                     
   561  0000                     
   562  0000                     
   563  0000                     
   564  0000                     
   565  0000                     
   566  0000                     
   567  0000                     
   568  0000                     
   569  0000                     
   570  0000                     

⌨️ 快捷键说明

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