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

📄 main_function.lst

📁 一个数码管与NTC的应用实例,数字的显示在PROTEUS里面是反向的
💻 LST
📖 第 1 页 / 共 5 页
字号:
   506                           ;Main_Function.c: 191: }
   507                           ;Main_Function.c: 192: }
   508  0381  0008               	return
   509                           
   510                           	psect	text8
   511  086C                     _Split_AD
   512                           ;Main_Function.c: 208: Display_data[addr0]=Temp
      +                          _data[Value/10];
   513  086C  300A               	movlw	10
   514  086D  0183               	clrf	3	;select bank 0
   515  086E  00E4               	movwf	btemp+2
   516  086F  01E5               	clrf	btemp+3
   517  0870  0854               	movf	?_Split_AD+1,w
   518  0871  00E3               	movwf	btemp+1
   519  0872  0853               	movf	?_Split_AD,w
   520  0873  00E2               	movwf	btemp
   521  0874  118A  2797         	fcall	lwdiv
   522  0876  0866               	movf	btemp+4,w
   523  0877  3EDA               	addlw	_Temp_data
   524  0878  0084               	movwf	4
   525  0879  1383               	bcf	3,7
   526  087A  0800               	movf	0,w
   527  087B  00E2               	movwf	btemp
   528  087C  0855               	movf	?_Split_AD+2,w
   529  087D  3EA0               	addlw	_Display_data
   530  087E  0084               	movwf	4
   531  087F  0862               	movf	btemp,w
   532  0880  0080               	movwf	0
   533                           ;Main_Function.c: 209: Display_data[addr1]=Temp
      +                          _data[Value%10];
   534  0881  300A               	movlw	10
   535  0882  00E4               	movwf	btemp+2
   536  0883  01E5               	clrf	btemp+3
   537  0884  0854               	movf	?_Split_AD+1,w
   538  0885  00E3               	movwf	btemp+1
   539  0886  0853               	movf	?_Split_AD,w
   540  0887  00E2               	movwf	btemp
   541  0888  118A  2797  158A   	fcall	lwmod
   542  088B  0862               	movf	btemp,w
   543  088C  3EDA               	addlw	_Temp_data
   544  088D  0084               	movwf	4
   545  088E  1383               	bcf	3,7
   546  088F  0800               	movf	0,w
   547  0890  00E2               	movwf	btemp
   548  0891  0856               	movf	?_Split_AD+3,w
   549  0892  3EA0               	addlw	_Display_data
   550  0893  0084               	movwf	4
   551  0894  0862               	movf	btemp,w
   552  0895  0080               	movwf	0
   553                           ;Main_Function.c: 210: Display_data[addr2]=0x9d
      +                          ;
   554  0896  0857               	movf	?_Split_AD+4,w
   555  0897  3EA0               	addlw	_Display_data
   556  0898  0084               	movwf	4
   557  0899  309D               	movlw	-99
   558  089A  0080               	movwf	0
   559                           ;Main_Function.c: 211: }
   560  089B  0008               	return
   561  089C                     _Split
   562                           ;	_temp3 assigned to ?a_Split+0
   563  0000                     _Split$temp3	set	?a_Split
   564                           ;	_temp2 assigned to ?a_Split+1
   565  0000                     _Split$temp2	set	?a_Split+1
   566                           ;	_temp1 assigned to ?a_Split+2
   567  0000                     _Split$temp1	set	?a_Split+2
   568                           ;Main_Function.c: 198: temp1=(unsigned char)(Va
      +                          lue/1000);
   569  089C  30E8               	movlw	232
   570  089D  0183               	clrf	3	;select bank 0
   571  089E  00E4               	movwf	btemp+2
   572  089F  3003               	movlw	3
   573  08A0  00E5               	movwf	btemp+3
   574  08A1  0854               	movf	?_Split+1,w
   575  08A2  00E3               	movwf	btemp+1
   576  08A3  0853               	movf	?_Split,w
   577  08A4  00E2               	movwf	btemp
   578  08A5  118A  2797         	fcall	lwdiv
   579  08A7  0866               	movf	btemp+4,w
   580  08A8  00DB               	movwf	?a_Split+2
   581                           ;Main_Function.c: 199: Display_data[addr0]=Time
      +                          _data[temp1];
   582  08A9  3ED0               	addlw	_Time_data
   583  08AA  0084               	movwf	4
   584  08AB  1383               	bcf	3,7
   585  08AC  0800               	movf	0,w
   586  08AD  00E2               	movwf	btemp
   587  08AE  0855               	movf	?_Split+2,w
   588  08AF  3EA0               	addlw	_Display_data
   589  08B0  0084               	movwf	4
   590  08B1  0862               	movf	btemp,w
   591  08B2  0080               	movwf	0
   592                           ;Main_Function.c: 200: temp2=(unsigned char)((V
      +                          alue-temp1*1000)/100);
   593  08B3  30E8               	movlw	232
   594  08B4  00E4               	movwf	btemp+2
   595  08B5  3003               	movlw	3
   596  08B6  00E5               	movwf	btemp+3
   597  08B7  085B               	movf	?a_Split+2,w
   598  08B8  00E2               	movwf	btemp
   599  08B9  01E3               	clrf	btemp+1
   600  08BA  118A  22CE         	fcall	lwmul
   601  08BC  0854               	movf	?_Split+1,w
   602  08BD  00E3               	movwf	btemp+1
   603  08BE  0853               	movf	?_Split,w
   604  08BF  00E2               	movwf	btemp
   605  08C0  0866               	movf	btemp+4,w
   606  08C1  02E2               	subwf	btemp
   607  08C2  1C03               	btfss	3,0
   608  08C3  03E3               	decf	btemp+1
   609  08C4  0867               	movf	btemp+5,w
   610  08C5  02E3               	subwf	btemp+1
   611  08C6  3064               	movlw	100
   612  08C7  00E4               	movwf	btemp+2
   613  08C8  3000               	movlw	0
   614  08C9  01E5               	clrf	btemp+3
   615  08CA  118A  2797         	fcall	lwdiv
   616  08CC  0866               	movf	btemp+4,w
   617  08CD  00DA               	movwf	?a_Split+1
   618                           ;Main_Function.c: 201: Display_data[addr1]=Time
      +                          _data[temp2];
   619  08CE  3ED0               	addlw	_Time_data
   620  08CF  0084               	movwf	4
   621  08D0  1383               	bcf	3,7
   622  08D1  0800               	movf	0,w
   623  08D2  00E2               	movwf	btemp
   624  08D3  0856               	movf	?_Split+3,w
   625  08D4  3EA0               	addlw	_Display_data
   626  08D5  0084               	movwf	4
   627  08D6  0862               	movf	btemp,w
   628  08D7  0080               	movwf	0
   629                           ;Main_Function.c: 202: temp3=(unsigned char)((V
      +                          alue-temp1*1000-temp2*100)/10);
   630  08D8  3064               	movlw	100
   631  08D9  00E4               	movwf	btemp+2
   632  08DA  01E5               	clrf	btemp+3
   633  08DB  085A               	movf	?a_Split+1,w
   634  08DC  00E2               	movwf	btemp
   635  08DD  01E3               	clrf	btemp+1
   636  08DE  118A  22CE         	fcall	lwmul
   637  08E0  0866               	movf	btemp+4,w
   638  08E1  00DC               	movwf	?a_Split+3
   639  08E2  0867               	movf	btemp+5,w
   640  08E3  00DD               	movwf	?a_Split+4
   641  08E4  30E8               	movlw	232
   642  08E5  00E4               	movwf	btemp+2
   643  08E6  3003               	movlw	3
   644  08E7  00E5               	movwf	btemp+3
   645  08E8  085B               	movf	?a_Split+2,w
   646  08E9  00E2               	movwf	btemp
   647  08EA  01E3               	clrf	btemp+1
   648  08EB  118A  22CE         	fcall	lwmul
   649  08ED  0854               	movf	?_Split+1,w
   650  08EE  00E3               	movwf	btemp+1
   651  08EF  0853               	movf	?_Split,w
   652  08F0  00E2               	movwf	btemp
   653  08F1  0866               	movf	btemp+4,w
   654  08F2  02E2               	subwf	btemp
   655  08F3  1C03               	btfss	3,0
   656  08F4  03E3               	decf	btemp+1
   657  08F5  0867               	movf	btemp+5,w
   658  08F6  02E3               	subwf	btemp+1
   659  08F7  085C               	movf	?a_Split+3,w
   660  08F8  02E2               	subwf	btemp
   661  08F9  1C03               	btfss	3,0
   662  08FA  03E3               	decf	btemp+1
   663  08FB  085D               	movf	?a_Split+4,w
   664  08FC  02E3               	subwf	btemp+1
   665  08FD  300A               	movlw	10
   666  08FE  00E4               	movwf	btemp+2
   667  08FF  3000               	movlw	0
   668  0900  01E5               	clrf	btemp+3
   669  0901  118A  2797         	fcall	lwdiv
   670  0903  0866               	movf	btemp+4,w
   671  0904  00D9               	movwf	?a_Split
   672                           ;Main_Function.c: 203: Display_data[addr2]=Time
      +                          _data[temp3]+(Display_data[addr2]&0b00000001);
   673  0905  3ED0               	addlw	_Time_data
   674  0906  0084               	movwf	4
   675  0907  1383               	bcf	3,7
   676  0908  0800               	movf	0,w
   677  0909  00E2               	movwf	btemp
   678  090A  0857               	movf	?_Split+4,w
   679  090B  3EA0               	addlw	_Display_data
   680  090C  0084               	movwf	4
   681  090D  0800               	movf	0,w
   682  090E  3901               	andlw	1
   683  090F  0762               	addwf	btemp,w
   684  0910  00E2               	movwf	btemp
   685  0911  0857               	movf	?_Split+4,w
   686  0912  3EA0               	addlw	_Display_data
   687  0913  0084               	movwf	4
   688  0914  0862               	movf	btemp,w
   689  0915  0080               	movwf	0
   690                           ;Main_Function.c: 204: Display_data[addr3]=Time
      +                          _data[(Value-temp1*1000-temp2*100-temp3*10)];
   691  0916  30E8               	movlw	-24
   692  0917  00E3               	movwf	btemp+1
   693  0918  085B               	movf	?a_Split+2,w
   694  0919  158A  202C         	fcall	lbmul
   695  091B  0253               	subwf	?_Split,w
   696  091C  00E4               	movwf	btemp+2
   697  091D  3064               	movlw	100
   698  091E  00E3               	movwf	btemp+1
   699  091F  085A               	movf	?a_Split+1,w
   700  0920  158A  202C         	fcall	lbmul
   701  0922  0264               	subwf	btemp+2,w
   702  0923  00E4               	movwf	btemp+2
   703  0924  300A               	movlw	10
   704  0925  00E3               	movwf	btemp+1
   705  0926  0859               	movf	?a_Split,w
   706  0927  158A  202C  158A   	fcall	lbmul
   707  092A  0264               	subwf	btemp+2,w
   708  092B  3ED0               	addlw	_Time_data
   709  092C  0084               	movwf	4
   710  092D  1383               	bcf	3,7
   711  092E  0800               	movf	0,w
   712  092F  00E2               	movwf	btemp
   713  0930  0858               	movf	?_Split+5,w
   714  0931  3EA0               	addlw	_Display_data
   715  0932  0084               	movwf	4
   716  0933  0862               	movf	btemp,w
   717  0934  0080               	movwf	0
   718                           ;Main_Function.c: 205: }
   719  0935  0008               	return
   720                           ;Main_Function.c: 38: void Data_INT(void)
   721                           ;Main_Function.c: 39: {
   722  0936                     _Data_INT
   723                           ;Main_Function.c: 40: Timer1=eeprom_read(0)*256
      +                          +eeprom_read(1);
   724  0936  3001               	movlw	1
   725  0937  158A  2021         	fcall	_eeprom_read
   726  0939  00D0               	movwf	?a_Data_INT
   727  093A  3000               	movlw	0
   728  093B  158A  2021  158A   	fcall	_eeprom_read
   729  093E  00B9               	movwf	_Timer1+1
   730  093F  0850               	movf	?a_Data_INT,w
   731  0940  00B8               	movwf	_Timer1
   732                           ;Main_Function.c: 43: if(Timer1>9999){Timer1=99
      +                          99;}
   733  0941  3027               	movlw	39
   734  0942  0239               	subwf	_Timer1+1,w
   735  0943  3010               	movlw	16
   736  0944  1903               	btfsc	3,2
   737  0945  0238               	subwf	_Timer1,w
   738  0946  1C03               	btfss	3,0
   739  0947  294C               	goto	l10
   740  0948  300F               	movlw	15
   741  0949  00B8               	movwf	_Timer1
   742  094A  3027               	movlw	39
   743  094B  00B9               	movwf	_Timer1+1
   744  094C                     l10
   745                           ;Main_Function.c: 44: Timer1_Mirro=Timer1;
   746  094C  0838               	movf	_Timer1,w
   747  094D  00BA               	movwf	_Timer1_Mirro
   748  094E  0839               	movf	_Timer1+1,w
   749  094F  00BB               	movwf	_Timer1_Mirro+1
   750                           ;Main_Function.c: 45: Split(Timer1,0,1,2,3);
   751  0950  0838               	movf	_Timer1,w

⌨️ 快捷键说明

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