?? uvi_4245 nov 08 08.lst
字號:
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 + -