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

📄 uvi_4245 nov 08 08.lst

📁 一个测试紫外钱的程序源码
💻 LST
📖 第 1 页 / 共 4 页
字号:
     1                     ;=========================================
     2                     /*
     3                     EM78P510
     4                     ;CLOCK	MAIN: ERC R=51K 	SUB: 32.768K
     5                     ;创建日期 2008 11 08
     6                     	备注:
     7                     	1, 在时钟模式下短按UV显示上一次UV测试最大值,之后进入倒计时模式
     8                     	2,在倒计时模式下长按SET两秒进入倒计时时间设置
     9                     	3,2.5V上面那个电阻(R9=1K)取消,否则无法进行电压检测(电池电量检测)
    10                     	4,样机耗电大约在44UA,需要将其降至20UA左右,将TCC50MS中断唤醒取消
    11                     	
    12                     ;JASON HUANG 
    13                     ;========================================================CONTROL RESGISTER
    14                     */
    15                     ;BANK	0
    16       0000          R0			==		0X00
    17       0001          TCC			==		0X01
    18       0002          PC			==		0X02
    19       0003          STATUS		==		0X03
    20       0000          	C		==		0
    21       0002          	Z		==		2
    22       0004          R4			==		0X04
    23       0005          R5			==		0X05
    24                     
    25       0007          PORT7		==		0X07
    26       0002          	UP		==		2
    27       0008          PORT8		==		0X08
    28       0005          	VOUT	==		5
    29       0006          	POWER	==		6
    30       0007          	VR		==		7
    31       0009          PORT9		==		0X09
    32       0000          	V2.5	==		0
    33       0003          	VS		==		3
    34       000A          PORTA		==		0X0A
    35       000B          PORTB		==		0X0B
    36       0003          	UV		==		3
    37       0002          	SET		==		2
    38       000C          SCCR		==		0X0C
    39       0003          	IDLE	==		3
    40       000D          TWTCR		==		0X0D
    41       000E          IMR			==		0X0E
    42       000F          ISR			==		0X0F
    43                     
    44                     ;BANK	1
    45       0005          LCDCR		==		0X05
    46       0007          	LCDEN	==		7
    47       0006          LCDAR		==		0X06
    48       0007          LCDBR		==		0X07
    49       0008          LCDVCR		==		0X08
    50       0009          LCDCCR		==		0X09
    51       000A          LCDSCR0		==		0X0A
    52       000B          LCDSCR1		==		0X0B
    53       000C          LCDSCR2		==		0X0C
    54                     
    55       000E          EIMR		==		0X0E
    56       000F          EISR		==		0X0F
    57                     
    58                     ;BANK	2
    59       0005          T1CR		==		0X05
    60       0006          TSR			==		0X06
    61       0007          T1PD		==		0X07
    62       0008          T1TD		==		0X08
    63       0009          T2CR		==		0X09
    64       000A          T2PD		==		0X0A
    65       000B          T2TD		==		0X0B
    66       000C          SPIS		==		0X0C
    67       000D          SPIC		==		0X0D
    68       000E          SPIR		==		0X0E
    69       000F          SPIW		==		0X0F
    70                     
    71                     ;BANK	3
    72       0005          URC			==		0X05
    73       0006          URS			==		0X06
    74       0007          URRD		==		0X07
    75       0008          URTD		==		0X08
    76       0009          ADCR		==		0X09
    77       0007          	ADRUN	==		7
    78       000A          ADICH		==		0X0A
    79       000B          ADICL		==		0X0B
    80       000C          ADDH		==		0X0C
    81       000D          ADDL		==		0X0D
    82       000E          EIESH		==		0X0E
    83       000F          EIESL		==		0X0F
    84                     
    85                     ;BANK	4
    86       0005          LEDDCR		==		0X05
    87       0006          WBCR		==		0X06
    88       0002          	BUZE	==		2
    89       0007          IOC7		==		0X07
    90       0008          IOC8		==		0X08
    91       0009          IOC9		==		0X09
    92       000A          IOCA		==		0X0A
    93       000B          IOCB		==		0X0B
    94       000C          IOCC		==		0X0C
    95                     
    96                     
    97       000F          WKCR		==		0X0F
    98                     
    99                     ;BANK	5
   100       0006          URC2		==		0X06
   101       0007          P7PHCR		==		0X07
   102       0008          P8PHCR		==		0X08
   103       0009          P9PHCR		==		0X09
   104       000A          PAPHCR		==		0X0A
   105       000B          PBPHCR		==		0X0B
   106       000C          PCPHCR		==		0X0C
   107                     
   108                     ;BANK	6
   109       0006          LVRCR		==		0X06
   110       0007          P7ODCR		==		0X07
   111       0008          P8ODCR		==		0X08
   112       0009          P9ODCR		==		0X09
   113       000A          PAODCR		==		0X0A
   114       000B          PBODCR		==		0X0B
   115       000C          PORTC		==		0X0C
   116                     
   117                     ;=======================================================RAM DEFIND
   118                     
   119                     ;BANK	0
   120       0010          TEMP1		==		0X10
   121       0011          TEMP2		==		0X11
   122       0012          DIS1		==		0X12
   123       0013          DIS2		==		0X13
   124       0014          DIS3		==		0X14
   125       0015          DIS4		==		0X15
   126       0016          FLAG		==		0X16
   127       0000          	FDOTDIS	==		0
   128       0001          	FPMDIS	==		1
   129       0002          	FBATDIS	==		2
   130       0003          	FDDIS	==		3
   131       0004          	FCOLDIS	==		4
   132                     	
   133       0017          PRST		==		0X17
   134       0000          	FTBAT	==		0
   135       0001          	FUV		==		1
   136       0002          	FBAT	==		2
   137       0003          	FSET	==		3
   138       0004          	F50MS	==		4
   139       0005          	FAN		==		5
   140       0006          	FSEC	==		6
   141       0007          	FDEM	==		7	;倒计时标志
   142                     	
   143       0018          FLAG1		==		0X18
   144       0000          	UV_SHORT==		0
   145       0001          	D_MODE_FLAG==	1
   146       0002          	FLAG_24	==		2
   147       0003          	UV_FLAG	==		3
   148       0004          	UV_STATE==		4
   149       0005          	SET_KEY_LONG==	5
   150       0006          	UP_KEY_LONG	==	6
   151       0007          	DOWN_KEY_LONG== 7
   152                     
   153       0019          HOUR		==		0X19
   154       001A          HOUR_12		==		0X1A
   155       001B          D_HOUR		==		0X1B
   156       001C          MIN			==		0X1C
   157       001D          D_MIN		==		0X1D
   158       001E          SEC			==		0X1E
   159       001F          D_SEC		==		0X1F
   160                     
   161                     ;general resgister
   162                     
   163       0020          LCDCOUNT	==		0X20
   164       0021          COM0BUF		==		0X21
   165       0022          COM1BUF		==		0X22
   166       0023          COM2BUF		==		0X23
   167       0024          COM3BUF		==		0X24
   168       0025          POWERTEST1	==		0X25
   169       0026          POWERTEST2	==		0X26
   170       0027          AD_COUNT	==		0X27
   171       0028          T_COUNT		==		0X28
   172       0029          SHORT_COUNT	==		0X29
   173       002A          T10SEC		==		0X2A
   174       002B          UVIMAX		==		0X2B
   175       002C          UVI			==		0X2C
   176       002D          VSH			==		0X2D
   177       002E          VSL			==		0X2E
   178       002F          VBH			==		0X2F
   179       0030          VBL			==		0X30
   180       0031          UP_TIME		==		0X31
   181       0032          UP_TIME1	==		0X32
   182       0033          DOWN_TIME	==		0X33
   183       0034          DOWN_TIME1	==		0X34
   184       0035          KEY_TIME	==		0X35
   185       0036          DAY			==		0X36
   186       0037          MONTH		==		0X37
   187       0038          DAYMAX		==		0X38
   188       0039          UVIBUF		==		0X39
   189       003A          D_HOUR_MAX	==		0X3A
   190       003B          D_MIN_MAX	==		0X3B
   191       003C          SPEAK_TIME	==		0X3C
   192       003D          FLAG2		==		0X3D
   193       0000           SET_SHORT	==		0
   194       0001           SET_FLAG	==		1
   195       0002           SET_STATE	==		2
   196       0003           SET_LONG	==		3
   197       0004           SET_MODE_FLAG==	4
   198       0005           SET_D_TIME_FLAG==	5
   199       003E          SET_KEY_TIME==		0X3E
   200                     
   201                      
   202                     ;================================================================MACRO
   203                     BANK0		MACRO
   204                     			MOV		A,@0X00
   205                     			MOV		R5,A
   206                     			ENDM
   207                     			
   208                     BANK1		MACRO
   209                     			MOV		A,@0X01
   210                     			MOV		R5,A
   211                     			ENDM
   212                     			
   213                     BANK2		MACRO
   214                     			MOV		A,@0X02
   215                     			MOV		R5,A
   216                     			ENDM
   217                     			
   218                     BANK3		MACRO
   219                     			MOV		A,@0X03
   220                     			MOV		R5,A
   221                     			ENDM
   222                     			
   223                     BANK4		MACRO
   224                     			MOV		A,@0X04
   225                     			MOV		R5,A
   226                     			ENDM
   227                     			
   228                     BANK5		MACRO
   229                     			MOV		A,@0X05
   230                     			MOV		R5,A
   231                     			ENDM
   232                     			
   233                     BANK6		MACRO
   234                     			MOV		A,@0X06
   235                     			MOV		R5,A
   236                     			ENDM
   237                     			
   238                     BANK7		MACRO
   239                     			MOV		A,@0X07
   240                     			MOV		R5,A
   241                     			ENDM
   242                     ;===============================================================INTERRUPTER SOURCE
   243                     		ORG			0000H
   244 00000 1EB0          		LJMP		RESET
   244 00001 0122          		LJMP		RESET
   245 00002 0000          		NOP
   246                     		ORG			0003H
   247 00003 1EB0          		LJMP		TCC_INT
   247 00004 0A0E          		LJMP		TCC_INT
   248                     		
   249 00005 0000          		NOP
   250                     		ORG			0006H
   251 00006 1EB0          		LJMP		EXT_INT
   251 00007 0A83          		LJMP		EXT_INT
   252                     		
   253 00008 0000          		NOP
   254                     		ORG			0009H	
   255 00009 1EB0          		LJMP		RESET		;watch dog interrupter
   255 0000A 0122          		LJMP		RESET		;watch dog interrupter
   256                     		
   257 0000B 0000          		NOP
   258                     		ORG			000CH
   259 0000C 1EB0          		LJMP		T1_INT		;timer1 interrupter
   259 0000D 09A7          		LJMP		T1_INT		;timer1 interrupter
   260                     		
   261 0000E 0000          		NOP
   262                     		ORG			000FH
   263 0000F 1EB0          		LJMP		TP_INT		;timer2	interrupter
   263 00010 0A8A          		LJMP		TP_INT		;timer2	interrupter
   264                     		
   265 00011 0000          		NOP
   266                     		ORG			0012H
   267 00012 1EB0          		LJMP		TP_INT		;A/D interrupter
   267 00013 0A8A          		LJMP		TP_INT		;A/D interrupter
   268                     		
   269 00014 0000          		NOP
   270                     		ORG			0015H
   271 00015 1EB0          		LJMP		TP_INT		;UART interrupter
   271 00016 0A8A          		LJMP		TP_INT		;UART interrupter
   272                     		
   273 00017 0000          		NOP
   274                     		ORG			0018H
   275 00018 1EB0          		LJMP		TP_INT		;SPI interrupter
   275 00019 0A8A          		LJMP		TP_INT		;SPI interrupter
   276                     		
   277 0001A 0000          		NOP
   278                     		ORG			001BH
   279 0001B 1EB0          		LJMP		RESET		;LVD interrupter
   279 0001C 0122          		LJMP		RESET		;LVD interrupter
   280                     		
   281                     ;==================================================================TAB
   282                      		ORG     	0X0040
   283                     
   284                     ;================================================================UVI值对应的倒计时时间
   285 00040               UVI_TIME_TAB:
   286 00040 03C2          		ADD			PC,A
   287 00041 1C02          		RETL		@0X02		;UVI=0	时,分
   288 00042 1C1E          		RETL		@0X1E
   289 00043 1C04          		RETL		@0X04
   290 00044 1C1E          		RETL		@0X1E
   291                     		
   292 00045 1C01          		RETL		@0X01		;UVI=1
   293 00046 1C00          		RETL		@0X00
   294 00047 1C03          		RETL		@0X03
   295 00048 1C00          		RETL		@0X00
   296                     		
   297 00049 1C00          		RETL		@0X00		;UVI=2
   298 0004A 1C1E          		RETL		@0X1E
   299 0004B 1C01          		RETL		@0X01
   300 0004C 1C1E          		RETL		@0X1E
   301                     		
   302 0004D 1C00          		RETL		@0X00		;UVI=3
   303 0004E 1C14          		RETL		@0X14
   304 0004F 1C01          		RETL		@0X01
   305 00050 1C00          		RETL		@0X00
   306                     		
   307 00051 1C00          		RETL		@0X00		;UVI=4
   308 00052 1C0F          		RETL		@0X0F		;15
   309 00053 1C00          		RETL		@0X00
   310 00054 1C2D          		RETL		@0X2D		;45
   311                     		
   312 00055 1C00          		RETL		@0X00
   313 00056 1C0C          		RETL		@0X0C		;UVI=5	;12
   314 00057 1C00          		RETL		@0X00
   315 00058 1C24          		RETL		@0X24			;36
   316                     		
   317 00059 1C00          		RETL		@0X00
   318 0005A 1C0A          		RETL		@0X0A		;6		;10
   319 0005B 1C00          		RETL		@0X00
   320 0005C 1C1E          		RETL		@0X1E				;30
   321                     		

⌨️ 快捷键说明

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