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

📄 uvi_4245 nov 08 08.lst

📁 一个测试紫外钱的程序源码
💻 LST
📖 第 1 页 / 共 4 页
字号:
   644                     		
   645                     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&BANK2
   646 0015F 1E02          		BANK		2
   647 00160 1880          		MOV			A,@0X80
   648 00161 0045          		MOV			T1CR,A		;TXPD和TXTD TIMER1 fs/2 2分频
   649 00162 189C          		MOV			A,@0X9C
   650 00163 0046          		MOV			TSR,A		;16BIT TIMER fs=32.768k
   651 00164 1820          		MOV			A,@0X20
   652 00165 0047          		MOV			T1PD,A		;0.5S 32768/2=16384
   653 00166 0048          		MOV			T1TD,A
   654 00167 1800          		MOV			A,@0X00
   655 00168 0049          		MOV			T2CR,A
   656 00169 1804          		MOV			A,@0X04
   657 0016A 004A          		MOV			T2PD,A		;时间过快调整(0.5s过快)(69240秒快34秒)
   658 0016B 004B          		MOV			T2TD,A
   659                     		
   660 0016C 1800          		MOV			A,@0X00
   661 0016D 004C          		MOV			SPIS,A
   662 0016E 004D          		MOV			SPIC,A
   663 0016F 004E          		MOV			SPIR,A
   664 00170 004F          		MOV			SPIW,A		;SPI初始化
   665                     		
   666                     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&BANK3
   667                     		
   668 00171 1E03          		BANK		3
   669 00172 1800          		MOV			A,@0X00
   670 00173 0045          		MOV			URC,A
   671 00174 0046          		MOV			URS,A
   672 00175 0047          		MOV			URRD,A
   673 00176 0048          		MOV			URTD,A			;UART初始化
   674                     		
   675 00177 1800          		MOV			A,@0X00
   676 00178 0049          		MOV			ADCR,A			;AD控制
   677 00179 004A          		MOV			ADICH,A
   678 0017A 1819          		MOV			A,@0X19
   679 0017B 004B          		MOV			ADICL,A			;AD0,3,4
   680                     		
   681 0017C 1800          		MOV			A,@0X00
   682 0017D 004E          		MOV			EIESH,A
   683 0017E 004F          		MOV			EIESL,A			;外部中断边沿选择
   684                     		
   685                     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&BANK5
   686                     		
   687 0017F 1E05          		BANK		5
   688 00180 1800          		MOV			A,@0X00
   689 00181 0046          		MOV			URC2,A
   690 00182 1804          		MOV			A,@0X04
   691 00183 0047          		MOV			P7PHCR,A		;PULL HIGH
   692 00184 180C          		MOV			A,@0X0C
   693 00185 004B          		MOV			PBPHCR,A
   694 00186 1800          		MOV			A,@0X00
   695 00187 004C          		MOV			PCPHCR,A
   696                     		
   697 00188 1800          		MOV			A,@0X00
   698 00189 0048          		MOV			P8PHCR,A
   699 0018A 1800          		MOV			A,@0X00
   700 0018B 0049          		MOV			P9PHCR,A
   701 0018C 004A          		MOV			PAPHCR,A		;设置上拉
   702                     		
   703                     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&BANK6
   704                     
   705 0018D 1E06          		BANK		6
   706 0018E 1800          		MOV			A,@0X00
   707 0018F 0046          		MOV			LVRCR,A			;低电压保护寄存器
   708                     		
   709 00190 0047          		MOV			P7ODCR,A
   710 00191 004A          		MOV			PAODCR,A
   711 00192 004B          		MOV			PBODCR,A
   712 00193 1800          		MOV			A,@0X00			;AD6,4
   713 00194 0048          		MOV			P8ODCR,A
   714 00195 1800          		MOV			A,@0X00			;AD0,3
   715 00196 0049          		MOV			P9ODCR,A		;OPEN DRAIN功能寄存器
   716                     		
   717 00197 180C          		MOV			A,@0X0C
   718 00198 004C          		MOV			PORTC,A
   719                     		
   720                     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&一般寄存器初始化
   721                     		
   722 00199 1855          		MOV			A,@0X55				;掉电检测
   723 0019A 0325          		XOR			A,POWERTEST1
   724 0019B 0E83          		JBS			STATUS,Z
   725 0019C 1EB0          		LJMP		CLR_RAM
   725 0019D 01A5          		LJMP		CLR_RAM
   726                     		
   727 0019E 18AA          		MOV			A,@0XAA
   728 0019F 0326          		XOR			A,POWERTEST2
   729 001A0 0E83          		JBS			STATUS,Z
   730 001A1 1EB0          		LJMP		CLR_RAM
   730 001A2 01A5          		LJMP		CLR_RAM
   731                     		
   732                     ;		MOV			A,@0X18			;test power on T=1,P=1
   733                     ;		AND			A,STATUS
   734                     ;		XOR			A,@0X18
   735                     ;		JBS			STATUS,Z
   736                     	
   737 001A3 1EB0          		LJMP			MAIN1
   737 001A4 01BA          		LJMP			MAIN1
   738                     
   739 001A5               CLR_RAM:					;清除SRAM
   740 001A5 1E00          		BANK		0
   741 001A6 18FF          		MOV			A,@0XFF
   742 001A7 0044          		MOV			R4,A
   743                     		
   744 001A8               CLR_RAM1:	
   745 001A8 1E00          		BANK		0
   746 001A9 00C0          		CLR			R0
   747 001AA 01C4          		DEC			R4
   748                     			
   749 001AB 18CF          		MOV			A,@0XCF
   750 001AC 0104          		SUB			A,R4
   751 001AD 0C03          		JBC			STATUS,C
   752 001AE 1EB0          		LJMP		CLR_RAM1
   752 001AF 01A8          		LJMP		CLR_RAM1
   753                     		
   754 001B0 1855          		MOV			A,@0X55
   755 001B1 0065          		MOV			POWERTEST1,A
   756 001B2 18AA          		MOV			A,@0XAA
   757 001B3 0066          		MOV			POWERTEST2,A
   758                     		
   759 001B4 1801          		MOV			A,@0X01
   760 001B5 0077          		MOV			MONTH,A
   761 001B6 0076          		MOV			DAY,A
   762 001B7 180C          		MOV			A,@0X0C
   763 001B8 0059          		MOV			HOUR,A			;初始上电显示中午12点
   764 001B9 005A          		MOV			HOUR_12,A
   765                     		
   766                     		
   767                     ;=============================================================================主程序
   768 001BA               MAIN1:
   769 001BA 1E00          		BANK		0
   770 001BB 1881          		MOV			A,@0X81
   771 001BC 004E          		MOV			IMR,A
   772                     		
   773 001BD 1E01          		BANK		1
   774 001BE 18C0          		MOV			A,@0XC0
   775 001BF 004E          		MOV			EIMR,A		;允许SET,UV按键中断
   776 001C0 0010          		ENI
   777                     		
   778 001C1               MAIN:
   779 001C1 1E01          		BANK		1
   780 001C2 18C0          		MOV			A,@0XC0
   781 001C3 004E          		MOV			EIMR,A
   782                     		
   783 001C4 1E00          		BANK		0
   784 001C5 0B3D          		BS			FLAG2,SET_MODE_FLAG
   785 001C6 1881          		MOV			A,@0X81
   786 001C7 004E          		MOV			IMR,A
   787                     		
   788 001C8 1E00          		BANK		0
   789 001C9 0C17          		JBC			PRST,FTBAT		;电池电压不足标志
   790 001CA 1EA0          		LCALL		POWER_TEST			;检查电池
   790 001CB 022F          		LCALL		POWER_TEST			;检查电池
   791                     		
   792 001CC 1E00          		BANK		0
   793 001CD 0C57          		JBC			PRST,FUV
   794 001CE 1EA0          		LCALL		UV_TEST			;UV长按标志 测试UV
   794 001CF 02A5          		LCALL		UV_TEST			;UV长按标志 测试UV
   795                     
   796 001D0 1E00          		BANK		0
   797 001D1 0DD7          		JBC			PRST,FDEM
   798 001D2 1EA0          		LCALL		D_TIME_MODE
   798 001D3 04D0          		LCALL		D_TIME_MODE
   799                     		
   800 001D4 1E00          		BANK		0
   801 001D5 0C18          		JBC			FLAG1,UV_SHORT
   802 001D6 1EA0          		LCALL		UV_SHORT_M		;UV短按标志 显示UV和相应倒计时时间
   802 001D7 025A          		LCALL		UV_SHORT_M		;UV短按标志 显示UV和相应倒计时时间
   803                     		
   804 001D8 1E00          		BANK		0
   805 001D9 0CFD          		JBC			FLAG2,SET_LONG
   806 001DA 1EA0          		LCALL		D_TIME_SET
   806 001DB 0583          		LCALL		D_TIME_SET
   807                     		
   808 001DC 1E00          		BANK		0
   809 001DD 0CD7          		JBC			PRST,FSET
   810 001DE 1EA0          		LCALL		TIME_SET		;SET标志,设置时间或调整12/24小时制
   810 001DF 0705          		LCALL		TIME_SET		;SET标志,设置时间或调整12/24小时制
   811                     		
   812 001E0 0DD7          		JBC			PRST,FDEM
   813 001E1 1EB0          		LJMP		MAIN
   813 001E2 01C1          		LJMP		MAIN
   814                     		
   815 001E3 0C57          		JBC			PRST,FUV
   816 001E4 1EB0          		LJMP		MAIN
   816 001E5 01C1          		LJMP		MAIN
   817                     		
   818 001E6 1E00          		BANK		0
   819 001E7 1EA0          		LCALL		TIME_DISPLAY	;显示时间
   819 001E8 094F          		LCALL		TIME_DISPLAY	;显示时间
   820                     		
   821 001E9 1E00          		BANK		0
   822 001EA 0ECB          		JBS			PORTB,UV
   823 001EB 1EB0          		LJMP		MAIN
   823 001EC 01C1          		LJMP		MAIN
   824                     		
   825 001ED 0475          		MOV			KEY_TIME,KEY_TIME
   826 001EE 0E83          		JBS			STATUS,Z
   827 001EF 1EB0          		LJMP		MAIN	
   827 001F0 01C1          		LJMP		MAIN	
   828                     		
   829 001F1 0E8B          		JBS			PORTB,SET
   830 001F2 1EB0          		LJMP		MAIN	
   830 001F3 01C1          		LJMP		MAIN	
   831                     		
   832                     ;=========================================================================POWER_DOWN IDLE模式
   833 001F4               POWER_DOWN:
   834 001F4 1E03          		BANK		3
   835 001F5 1800          		MOV			A,@0X00
   836 001F6 0049          		MOV			ADCR,A
   837 001F7 004A          		MOV			ADICH,A
   838 001F8 004B          		MOV			ADICL,A		;关AD
   839                     		
   840 001F9 1E04          		BANK		4
   841 001FA 1804          		MOV			A,@0X04
   842 001FB 0047          		MOV			IOC7,A
   843 001FC 18A2          		MOV			A,@0XA2
   844 001FD 0048          		MOV			IOC8,A
   845 001FE 1809          		MOV			A,@0X09
   846 001FF 0049          		MOV			IOC9,A		;P90,P93 2.5V,VS
   847 00200 1800          		MOV			A,@0X00
   848 00201 004A          		MOV			IOCA,A
   849 00202 180C          		MOV			A,@0X0C
   850 00203 004B          		MOV			IOCB,A
   851 00204 180C          		MOV			A,@0X0C
   852 00205 004C          		MOV			IOCC,A
   853                     		
   854                     		
   855 00206 1E05          		BANK		5
   856 00207 1804          		MOV			A,@0X04
   857 00208 0047          		MOV			P7PHCR,A		;PULL HIGH
   858 00209 180C          		MOV			A,@0X0C
   859 0020A 004B          		MOV			PBPHCR,A
   860 0020B 1800          		MOV			A,@0X00
   861 0020C 004C          		MOV			PCPHCR,A
   862                     		
   863 0020D 1800          		MOV			A,@0X00
   864 0020E 0048          		MOV			P8PHCR,A
   865 0020F 1800          		MOV			A,@0X00
   866 00210 0049          		MOV			P9PHCR,A
   867 00211 004A          		MOV			PAPHCR,A		;设置上拉
   868                     		
   869                     		
   870 00212 1E00          		BANK	0
   871 00213 1804          		MOV			A,@0X04
   872 00214 0047          		MOV			PORT7,A
   873 00215 18E2          		MOV			A,@0XE2
   874 00216 0048          		MOV			PORT8,A		;关闭uvi检测
   875 00217 1809          		MOV			A,@0X09
   876 00218 0049          		MOV			PORT9,A
   877 00219 1800          		MOV			A,@0X00
   878 0021A 004A          		MOV			PORTA,A
   879 0021B 180C          		MOV			A,@0X0C
   880 0021C 004B          		MOV			PORTB,A
   881 0021D 1880          		MOV			A,@0X80
   882 0021E 004E          		MOV			IMR,A			;使能T1,TCC中断(0.5s,50ms)
   883                     		
   884 0021F 1E01          		BANK		1
   885 00220 18C0          		MOV			A,@0XC0
   886 00221 004E          		MOV			EIMR,A		;允许SET,UV按键中断
   887                     		
   888 00222 1E04          		BANK		4
   889 00223 18C0          		MOV			A,@0XC0
   890 00224 004F          		MOV			WKCR,A		;允许SET,UV唤醒
   891                     		
   892 00225 1E00          		BANK		0
   893 00226 0ACC          		BS			SCCR,IDLE	;IDLE模式
   894 00227 0010          		ENI
   895                     		
   896 00228 0003          		SLEP
   897 00229 0000          		NOP
   898 0022A 0000          		NOP
   899 0022B 0000          		NOP
   900 0022C 0000          		NOP
   901                     		
   902 0022D               WAKE_UP:
   903                     		
   904 0022D 1EB0          		LJMP		MAIN
   904 0022E 01C1          		LJMP		MAIN
   905                     		
   906                     ;========================================================POWER_TEST电压检测
   907                     
   908 0022F               POWER_TEST:
   909 0022F 1E04          		BANK		4
   910 00230 0988          		BC			IOC8,POWER
   911                     		
   912 00231 1E00          		BANK		0
   913 00232 18A2          		MOV			A,@0XA2
   914 00233 0048          		MOV			PORT8,A			;P86=0 开启UV测试电路
   915 00234 0817          		BC			PRST,FTBAT
   916                     		
   917 00235 1E03          		BANK		3
   918 00236 1800          		MOV			A,@0X00
   919 00237 004A          		MOV			ADICH,A
   920 00238 1808          		MOV			A,@0X08			;AD3,2.5V检测
   921 00239 004B          		MOV			ADICL,A
   922                     
   923 0023A               POWER_TEST1:
   924 0023A 1873          		MOV			A,@0X73			;FC/64
   925 0023B 0049          		MOV			ADCR,A
   926 0023C 0BC9          		BS			ADCR,ADRUN
   927                     
   928 0023D               POWER_TEST1A:
   929 0023D 0DC9          		JBC			ADCR,ADRUN
   930 0023E 1EB0          		LJMP		POWER_TEST1A
   930 0023F 023D          		LJMP		POWER_TEST1A
   931                     		
   932 00240 0000          		NOP
   933 00241 0000          		NOP
   934 00242 0000          		NOP
   935 00243 0BC9          		BS			ADCR,ADRUN
   936 00244               POWER_TEST1A1:
   937 00244 0DC9          		JBC			ADCR,ADRUN
   938 00245 1EB0          		LJMP		POWER_TEST1A1
   938 00246 0244          		LJMP		POWER_TEST1A1
   939                     
   940 00247               POWER_TEST1B:
   941 00247 040C          		MOV			A,ADDH
   942                     		
   943 00248 1E00          		BANK		0
   944 00249 0050          		MOV			TEMP1,A			;读取结果高8位
   945                     		
   946 0024A               POWER_TEST2:
   947 0024A 0C97          		JBC			PRST,FBAT	
   948 0024B 1EB0          		LJMP		POWER_TEST2B	;电量不足
   948 0024C 0253          		LJMP		POWER_TEST2B	;电量不足
   949                     
   950 0024D               POWER_TEST2A:
   951 0024D 18F5          		MOV			A,@0XF5			;2.5/2.6*255=245
   952 0024E 0110          		SUB			A,TEMP1
   953 0024F 0C03          		JBC			STATUS,C			
   954 00250 0A97          		BS			PRST,FBAT		;大于245表示电池电压不足2.6V

⌨️ 快捷键说明

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