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

📄 adc_wdt.lst

📁 基于温度传感器LM35与PIC16F877A的应用程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
   291  058B  00F1               	movwf	btemp+1
   292  058C  0828               	movf	?a_tempature_disp+1,w
   293  058D  120A  118A  2731   	fcall	lbdiv
      +       120A  118A         
   294  0592  00AA               	movwf	?a_tempature_disp+3
   295                           ;adc_wdt.c: 126: lcd_disp(0x86, b + 0x30);
   296  0593  3E30               	addlw	48
   297  0594  00B0               	movwf	?_lcd_disp
   298  0595  3086               	movlw	-122
   299  0596  2500  120A  118A   	fcall	_lcd_disp
   300                           ;adc_wdt.c: 127: lcd_disp(0x87, 0x2e);
   301  0599  302E               	movlw	46
   302  059A  00B0               	movwf	?_lcd_disp
   303  059B  3087               	movlw	-121
   304  059C  2500               	fcall	_lcd_disp
   305                           ;adc_wdt.c: 128: c = temperature_temp - a * 100
      +                           - b * 10;
   306  059D  3064               	movlw	100
   307  059E  00F1               	movwf	btemp+1
   308  059F  0829               	movf	?a_tempature_disp+2,w
   309  05A0  120A  118A  24C0   	fcall	lbmul
   310  05A3  022C               	subwf	?a_tempature_disp+5,w
   311  05A4  00F2               	movwf	btemp+2
   312  05A5  300A               	movlw	10
   313  05A6  00F1               	movwf	btemp+1
   314  05A7  082A               	movf	?a_tempature_disp+3,w
   315  05A8  120A  118A  24C0   	fcall	lbmul
      +       120A  118A         
   316  05AD  0272               	subwf	btemp+2,w
   317  05AE  00A7               	movwf	?a_tempature_disp
   318                           ;adc_wdt.c: 129: lcd_disp(0x88, c + 0x30);
   319  05AF  3E30               	addlw	48
   320  05B0  00B0               	movwf	?_lcd_disp
   321  05B1  3088               	movlw	-120
   322  05B2  2500  120A  118A   	fcall	_lcd_disp
   323                           ;adc_wdt.c: 130: lcd_disp(0x89, 0xdf);
   324  05B5  30DF               	movlw	-33
   325  05B6  00B0               	movwf	?_lcd_disp
   326  05B7  3089               	movlw	-119
   327  05B8  2500  120A  118A   	fcall	_lcd_disp
   328                           ;adc_wdt.c: 131: lcd_disp(0x8a, 0x43);
   329  05BB  3043               	movlw	67
   330  05BC  00B0               	movwf	?_lcd_disp
   331  05BD  308A               	movlw	-118
   332  05BE  2500  120A  118A   	fcall	_lcd_disp
   333                           ;adc_wdt.c: 132: checksum = 0;
   334  05C1  01A2               	clrf	_checksum	;volatile
   335  05C2  01A3               	clrf	_checksum+1	;volatile
   336                           ;adc_wdt.c: 133: count = 0;
   337  05C3  01A1               	clrf	_count	;volatile
   338                           ;adc_wdt.c: 134: disp_reload = 0;
   339  05C4  1020               	bcf	_disp_reload/(0+8),_disp_reload& (0+7)
   340                           ;adc_wdt.c: 135: lcd_disp(0xcf, 0xfe);
   341  05C5  30FE               	movlw	-2
   342  05C6  00B0               	movwf	?_lcd_disp
   343  05C7  30CF               	movlw	-49
   344  05C8  2500  120A  118A   	fcall	_lcd_disp
   345                           ;adc_wdt.c: 136: clean_wdt();
   346                           ;adc_wdt.c: 37: asm("clrwdt");
   347  05CB  0064               	clrwdt	;#
   348                           ;adc_wdt.c: 38: }
   349  05CC  0183               	clrf	3	;select bank 0
   350                           ;adc_wdt.c: 137: delay(300);
   351  05CD  302C               	movlw	44
   352  05CE  00B0               	movwf	?_delay
   353  05CF  3001               	movlw	1
   354  05D0  00B1               	movwf	?_delay+1
   355  05D1  24CC               	fcall	_delay
   356                           ;adc_wdt.c: 138: clean_wdt();
   357                           ;adc_wdt.c: 37: asm("clrwdt");
   358  05D2  0064               	clrwdt	;#
   359                           ;adc_wdt.c: 38: }
   360  05D3  0183               	clrf	3	;select bank 0
   361                           ;adc_wdt.c: 139: (GIE = 1);
   362  05D4  178B               	bsf	11,7
   363                           ;adc_wdt.c: 140: }
   364  05D5  0008               	return
   365                           ;adc_wdt.c: 30: void wdt_init(void) {
   366  05D6                     _wdt_init
   367                           ;adc_wdt.c: 31: PSA = 1;
   368  05D6  1683               	bsf	3,5
   369  05D7  1303               	bcf	3,6	;carry unused
   370  05D8  1581               	bsf	1,3
   371                           ;adc_wdt.c: 32: OPTION |= 0x07;
   372  05D9  3007               	movlw	7
   373  05DA  0481               	iorwf	1
   374                           ;adc_wdt.c: 33: }
   375  05DB  1283               	bcf	3,5
   376  05DC  0008               	return
   377                           ;adc_wdt.c: 78: void lcd_init(void)
   378                           ;adc_wdt.c: 79: {
   379  05DD                     _lcd_init
   380                           ;adc_wdt.c: 80: lcd_command_writedata(0x00,0x01
      +                          );
   381  05DD  0183               	clrf	3	;select bank 0
   382  05DE  01B2               	clrf	?_lcd_command_writedata
   383  05DF  0AB2               	incf	?_lcd_command_writedata
   384  05E0  3000               	movlw	0
   385  05E1  24EE               	fcall	_lcd_command_writedata
   386                           ;adc_wdt.c: 81: lcd_command_writedata(0x00,0x38
      +                          );
   387  05E2  3038               	movlw	56
   388  05E3  00B2               	movwf	?_lcd_command_writedata
   389  05E4  3000               	movlw	0
   390  05E5  24EE               	fcall	_lcd_command_writedata
   391                           ;adc_wdt.c: 82: lcd_command_writedata(0x00,0x0e
      +                          );
   392  05E6  300E               	movlw	14
   393  05E7  00B2               	movwf	?_lcd_command_writedata
   394  05E8  3000               	movlw	0
   395  05E9  24EE               	fcall	_lcd_command_writedata
   396                           ;adc_wdt.c: 83: lcd_command_writedata(0x00,0x06
      +                          );
   397  05EA  3006               	movlw	6
   398  05EB  00B2               	movwf	?_lcd_command_writedata
   399  05EC  3000               	movlw	0
   400  05ED  2CEE               	ljmp	_lcd_command_writedata
   401                           ;adc_wdt.c: 93: void adc_init(void)
   402                           ;adc_wdt.c: 94: {
   403  05EE                     _adc_init
   404                           ;adc_wdt.c: 95: ADCON1 = 0x8e;
   405  05EE  308E               	movlw	-114
   406  05EF  1683               	bsf	3,5
   407  05F0  1303               	bcf	3,6	;carry unused
   408  05F1  009F               	movwf	31	;volatile
   409                           ;adc_wdt.c: 96: ADCON0 = 0xc1;
   410  05F2  30C1               	movlw	-63
   411  05F3  1283               	bcf	3,5
   412  05F4  009F               	movwf	31	;volatile
   413                           ;adc_wdt.c: 97: ADIF = 0;
   414  05F5  130C               	bcf	12,6
   415                           ;adc_wdt.c: 98: PEIE = 1;
   416  05F6  170B               	bsf	11,6
   417                           ;adc_wdt.c: 99: ADIE = 1;
   418  05F7  1683               	bsf	3,5
   419  05F8  170C               	bsf	12,6
   420                           ;adc_wdt.c: 100: TRISA0 = 1;
   421  05F9  1405               	bsf	5,0
   422                           ;adc_wdt.c: 101: count = 0;
   423  05FA  1283               	bcf	3,5
   424  05FB  01A1               	clrf	_count	;volatile
   425                           ;adc_wdt.c: 102: disp_reload = 0;
   426  05FC  1020               	bcf	_disp_reload/(0+8),_disp_reload& (0+7)
   427                           ;adc_wdt.c: 103: }
   428  05FD  0008               	return
   429                           ;adc_wdt.c: 85: void system_init(void)
   430                           ;adc_wdt.c: 86: {
   431  05FE                     _system_init
   432                           ;adc_wdt.c: 87: INTCON = 0x00;
   433  05FE  018B               	clrf	11	;volatile
   434                           ;adc_wdt.c: 88: OPTION = 0xff;
   435  05FF  30FF               	movlw	-1
   436  0600  1683               	bsf	3,5
   437  0601  1303               	bcf	3,6	;carry unused
   438  0602  0081               	movwf	1
   439                           ;adc_wdt.c: 89: TRISB = 0x00;
   440  0603  0186               	clrf	6	;volatile
   441                           ;adc_wdt.c: 90: TRISD = 0x00;
   442  0604  0188               	clrf	8	;volatile
   443                           ;adc_wdt.c: 91: }
   444  0605  1283               	bcf	3,5
   445  0606  0008               	return
   446                           ;adc_wdt.c: 142: void main(void)
   447                           ;adc_wdt.c: 143: {
   448  0607                     _main
   449                           ;adc_wdt.c: 144: system_init();
   450  0607  25FE               	fcall	_system_init
   451                           ;adc_wdt.c: 145: adc_init();
   452  0608  25EE               	fcall	_adc_init
   453                           ;adc_wdt.c: 146: lcd_init();
   454  0609  25DD  120A  118A   	fcall	_lcd_init
   455                           ;adc_wdt.c: 147: wdt_init();
   456  060C  25D6               	fcall	_wdt_init
   457                           ;adc_wdt.c: 148: clean_wdt();
   458                           ;adc_wdt.c: 37: asm("clrwdt");
   459  060D  0064               	clrwdt	;#
   460                           ;adc_wdt.c: 38: }
   461  060E  0183               	clrf	3	;select bank 0
   462                           ;adc_wdt.c: 149: ADCON0 |= 0x04;
   463  060F  151F               	bsf	31,2	;volatile
   464                           ;adc_wdt.c: 150: (GIE = 1);
   465  0610  178B               	bsf	11,7
   466  0611                     l28
   467                           ;adc_wdt.c: 151: while (1)
   468                           ;adc_wdt.c: 152: {
   469  0611  2509  120A  118A   	fcall	_tempature_disp
   470                           ;adc_wdt.c: 154: asm("sleep");
   471  0614  0063               	sleep	;#
   472                           ;adc_wdt.c: 155: }
   473  0615  2E11               	goto	l28
   474                           
   475                           	psect	text2
   476                           ;adc_wdt.c: 35: void clean_wdt(void)
   477                           ;adc_wdt.c: 36: {
   478  04BD                     _clean_wdt
   479                           ;adc_wdt.c: 37: asm("clrwdt");
   480  04BD  0064               	clrwdt	;#
   481                           ;adc_wdt.c: 38: }
   482  04BE  0183               	clrf	3	;select bank 0
   483  04BF  0008               	return
   484                           
   485                           	psect	intcode
   486                           ;adc_wdt.c: 158: void interrupt adc_interrupt(v
      +                          oid)
   487                           ;adc_wdt.c: 159: {
   488  0015                     _adc_interrupt
   489  0015                     int_func
   490                           ;adc_wdt.c: 160: clean_wdt();
   491  0015  120A  118A  24BD   	fcall	_clean_wdt
      +       120A  118A         
   492                           ;adc_wdt.c: 161: ADIF = 0;
   493  001A  130C               	bcf	12,6
   494                           ;adc_wdt.c: 162: temperature[count] = (ADRESH <
      +                          < 8) + ADRESL;
   495  001B  081E               	movf	30,w	;volatile
   496  001C  00F3               	movwf	btemp+3
   497  001D  01F2               	clrf	btemp+2
   498  001E  1683               	bsf	3,5
   499  001F  081E               	movf	30,w	;volatile
   500  0020  00F0               	movwf	btemp
   501  0021  01F1               	clrf	btemp+1
   502  0022  0872               	movf	btemp+2,w
   503  0023  07F0               	addwf	btemp
   504  0024  1803               	btfsc	3,0
   505  0025  0AF1               	incf	btemp+1
   506  0026  0873               	movf	btemp+3,w
   507  0027  07F1               	addwf	btemp+1
   508  0028  1283               	bcf	3,5
   509  0029  0821               	movf	_count,w	;volatile
   510  002A  0721               	addwf	_count,w	;volatile
   511  002B  3E10               	addlw	_temperature^(0+256)
   512  002C  0084               	movwf	4
   513  002D  1783               	bsf	3,7
   514  002E  0870               	movf	btemp,w
   515  002F  0080               	movwf	0
   516  0030  0A84               	incf	4
   517  0031  0871               	movf	btemp+1,w
   518  0032  0080               	movwf	0
   519                           ;adc_wdt.c: 163: count ++;
   520  0033  0AA1               	incf	_count	;volatile
   521                           ;adc_wdt.c: 164: if (count == 40)
   522  0034  0821               	movf	_count,w	;volatile
   523  0035  3A28               	xorlw	40
   524  0036  1903               	btfsc	3,2
   525                           ;adc_wdt.c: 165: {
   526  0037  1420               	bsf	_disp_reload/(0+8),_disp_reload& (0+7)
   527                           ;adc_wdt.c: 167: }
   528  0038  151F               	bsf	31,2	;volatile
   529                           
   530                           	psect	intsave_0
   531  007C                     saved_w
   532  007C                     	ds	1
   533                           
   534                           	psect	intret
   535  0041  0836               	movf	saved_fsr,w
   536  0042  0084               	movwf	4	;restore FSR
   537  0043  0837               	movf	saved_pclath,w
   538  0044  008A               	movwf	10
   539  0045                     int_restore
   540  0045  0835               	movf	saved_status,w
   541  0046  0083               	movwf	3
   542  0047  0EFC               	swapf	saved_w
   543  0048  0E7C               	swapf	saved_w,w
   544  0049  0009               	retfie
   545                           
   546                           	psect	intentry
   547  0004                     int_entry
   548  0004  00FC               	movwf	saved_w
   549  0005  0803               	movf	3,w
   550  0006  0183               	clrf	3
   551  0007  00B5               	movwf	saved_status
   552  0008  0804               	movf	4,w
   553  0009  00B6               	movwf	saved_fsr
   554  000A  080A               	movf	10,w
   555  000B  00B7               	movwf	saved_pclath
   556  000C  018A               	clrf	10
   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                     
   571  0000                     
   572  0000                     
   573  0000                     
   574  0000                     
   575  0000                     
   576  0000                     
   577  0000                     
   578  0000                     
   579  0000                     
   580  0000                     
   581  0000                     
   582  0000                     
   583  0000                     
   584  0000                     
   585  0000                     
   586  0000                     
   587  0000                     
   588  0000                     
   589  0000                     
   590  0000                     
   591  0000                     
   592  0000                     
   593  0000                     

⌨️ 快捷键说明

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