📄 safeverfy.lst
字号:
225 225: DELAY:
226 0x0051 0x7831 226: LDI GEN_REG2,0
227 0x0052 0x7832 227: LDI GEN_REG3,0
228 228: DELAY2:
229 0x0053 0xffff 229: NOP ;
230 0x0054 0xffff 230: NOP
231 0x0055 0xffff 231: NOP
232 0x0056 0xffff 232: NOP
233 0x0057 0xffff 233: NOP
234 0x0058 0x48b2 234: ADIM GEN_REG3,1
235 0x0059 0x7830 235: LDI GEN_REG1,0
236 0x005a 0x0431 236: ADCM GEN_REG2
237 0x005b 0x985d 237: BC $+2
238 0x005c 0xe053 238: JMP DELAY2
239 0x005d 0xd400 239: RTNI
240 240:
241 241: ;=============================================================
242
243 243:
244
245
246
247 247:
248 0x005e 248: INCLUDE INIT_43.ASM
249 + 1: ;*****************************************************
250 + 2: ;Company : CHK
251 + 3: ;File Name : INIT.asm
252 + 4: ;Author : XiaoW
253 + 5: ;Create Data : 2005-11-10
254 + 6: ;Last Modified : 2005-11-10
255 + 7: ;Description :
256 + 8: ;程序初始化模块
257 + 9: ;功能:完成寄存器初始化
258 + 10: ;参量:
259 + 11: ;返回变量: ALL
260 + 12: ;控制I/O: ALL
261 + 13: ;可修改数据(伪指令)
262 + 14: ;
263 + 15: ;参数模型:
264 + 16: ;Version : 1.0
265 + 17: ;*****************************************************
266 + 18: ;
267 +
268 + 20: ; FOR RAM CLEAR
269 + 21: B0 EQU 0H
270 +
271 +
272 + 24: INITMCU:
273 +
274 + 26: ;--------系统寄存器初始化------------------------------------------------------
275 +
276 + 28: ;******** PORTS SET **************
277 0x005e 0x7f9d + 29: LDI PFCON,0FH
278 0x005f 0x7f8d + 30: LDI PORTF,0FH ;set portF to be output port
279 +
280 0x0060 0x7f9c + 32: LDI PECON,0FH ;设置PORTE.2 INPUT(PSDI), PORTE.1 OUTPUT(PSDO)
281 0x0061 0x7f8c + 33: LDI PORTE,0FH ;set portE to be output port
282 + 34:
283 0x0062 0x7f9b + 35: LDI PDCON,0FH
284 0x0063 0x7f8b + 36: LDI PORTD,0FH ;set portD to be output port
285 + 37:
286 0x0064 0x7f9a + 38: LDI PCCON,0FH
287 0x0065 0x7b8a + 39: LDI PORTC,07H ;set portC to be output port PC.3 INPUT (PSCK)
288 + 40:
289 0x0066 0x7f99 + 41: LDI PBCON,0FH ;设置PORTB OUTPUT
290 0x0067 0x7f89 + 42: LDI PORTB,0FH ;set portB to be output port
291 + 43:
292 0x0068 0x7e18 + 44: LDI PACON,0CH ; 设置PortA AD 输入 PA.0 PA.1 INPUT AD
293 0x0069 0x7e08 + 45: LDI PORTA,0CH ; set portA to be output port
294 + 46: ;*********** END PORTS SET ***************
295 + 47:
296 + 48:
297 + 49: ;************ TIMER SET ******************
298 + 50: //LDI TM0,0111B ;set timer 0 freq.(OSC/4)/32=64 us
299 + 51: //LDI TL0,0FH ;set T0L=0FH
300 + 52: //LDI TH0,0FH ;set T0H=0FH
301 + 53: ;LDI T0CON,0010B ;定时器时钟源为外部时钟,本例使
302 +
303 + 55: ;LDI TM1,0101B ;set timer 0 freq.(OSC/4)/32=64 us
304 + 56: ;LDI TL1,06H ;set T0L=0FH
305 + 57: ;LDI TH1,00H ;set T0H=0FH
306 + 58: ;************** END TIMER SET**************
307 + 59:
308 + 60:
309 + 61: ;************ PWM SET ******************
310 + 62: ;LDI PWM0CON,1 ;PWM0 设置位正向占空比,PWM0 时钟=tosc,选择PWM0 输出
311 + 63: ;LDI PWM0PH,3 ;先设置PWM0 周期高2 位
312 + 64: ;LDI PWM0PM,0FH ;然后设置PWM0 周期中4 位
313 + 65: ;LDI PWM0PL,0 ;最后设置PWM0 周期低4 位;PWM0 周期为3F0H* tosc=1008*250ns≈25us
314 + 66: ;LDI PWM0DH,0 ;先设置PWM0 占空比高2 位
315 + 67: ;LDI PWM0DM,7 ;然后设置PWM0 占空比中4 位
316 + 68: ;LDI PWM0DL,0FH ;最后设置PWM0 占空比低4 位
317 + 69: ;PWM0 占空比为7FH* tosc=127*250ns≈3us
318 + 70: ;LDI PWM1CON,9 ;PWM1 设置位反向占空比,PWM0 时钟=tosc,选择PWM1 输出
319 + 71: ;LDI PWM1PH,3 ;先设置PWM1 周期高2 位
320 + 72: ;LDI PWM1PM,0FH ;然后设置PWM1 周期中4 位
321 + 73: ;LDI PWM1PL,0 ;最后设置PWM1 周期低4 位
322 + 74: ;PWM1 周期为3F0H* tosc=1008*250ns≈25us
323 + 75: ;LDI PWM1DH,0 ;先设置PWM1 占空比高2 位
324 + 76: ;LDI PWM1DM,7 ;然后设置PWM1 占空比中4 位
325 + 77: ;LDI PWM1DL,0FH ;最后设置PWM1 占空比低4 位
326 + 78: ;************** END PWM SET**************
327 + 79:
328 + 80:
329 + 81: ;************ AD SET ******************
330 + 82: ;LDI PAOUT,1110B ;AN0 对应的PORTA.0 口定义为输入.
331 0x006a 0x7913 + 83: LDI ADMODE,0010B ;选择内部基准电压VREF,模拟;通道数2个,AN0-1)
332 + 84: ;LDI ADCH,1000B ;选择通道AN0 并使能
333 + 85: ;LDI ADCON,1001B ;开始转换,时间 330*tOSC
334 + 86: ;************** END AD SET*************
335 + 87:
336 + 88:
337 + 89: ;************ WDT SET ******************
338 + 90:
339 + 91: ;************** END WDT SET*************
340 + 92:
341 + 93:
342 +
343 +
344 + 96: ;--------------------------------------------------------------------------
345 + 97: ;用户RAM初始化
346 + 98: ;--------------------------------------------------------------------------
347 0x006b 0x7892 + 99: LDI DPH, 1
348 0x006c 0x7991 + 100: LDI DPM, 3H
349 0x006d 0x7f90 + 101: LDI DPL, 0FH
350 +
351 + 103: LOOP_BANK0:
352 0x006e 0x780f + 104: LDI INX, 0 ;清空BANK0
353 +
354 0x006f 0x5890 + 106: SBIM DPL, 01
355 0x0070 0x7830 + 107: LDI 30H, 0
356 0x0071 0x1411 + 108: SBCM DPM, B0
357 0x0072 0x7830 + 109: LDI 30H, 0
358 0x0073 0x1412 + 110: SBCM DPH, B0
359 +
360 0x0074 0x7830 + 112: LDI 30H, 0
361 0x0075 0x1810 + 113: SUB DPL, B0
362 0x0076 0x79b0 + 114: LDI 30H, 3
363 0x0077 0x1011 + 115: SBC DPM, B0
364 0x0078 0x7830 + 116: LDI 30H, 0
365 0x0079 0x1012 + 117: SBC DPH, B0
366 0x007a 0x986e + 118: BC LOOP_BANK0
367 +
368 + 120: ;************ IE SET ******************
369 + 121:
370 0x007b 0x7801 + 122: LDI IRQ, 0000B
371 0x007c 0x7a00 + 123: LDI IE, 0100B ;定时器T0作外部中断
372 + 124: ;************** END IE SET*************
373 +
374 + 126:
375 + 127:
376 0x007d 0xd400 + 128: RTNI
377 + 129: ;-----------------------------------------------------------------------------
378
379 0x007e 249: INCLUDE SYS_43.ASM
380 + 1: ;*****************************************************
381 + 2: ;Company : CHK ELEC.
382 + 3: ;File Name : sys.asm
383 + 4: ;Author :
384 + 5: ;Create Data : 2005-11-07
385 + 6: ;Last Modified : 2005-11-07
386 + 7: ;Description : Define the sys registers
387 + 8: ;Version : 1.0
388 + 9: ;*****************************************************
389 +
390 +
391 + 12: ;*************************************************************************
392 + 13: ;SYSTEM REGISTER TABLE DEFINE
393 + 14: ;*******************************
394 + 15: IE EQU 00H ;中断使能标志寄存器
395 + 16: IRQ EQU 01H ;中断请求标志寄存器
396 + 17: TM0 EQU 02H ;T0方式寄存器,Bit3保留
397 + 18: TM1 EQU 03H ;T1方式寄存器,Bit3保留
398 + 19: TL0 EQU 04H ;T0装入/计数寄存器低四位
399 + 20: TH0 EQU 05H ;T0装入/计数寄存器高四位
400 + 21: TL1 EQU 06H ;T1装入/计数寄存器低四位
401 + 22: TH1 EQU 07H ;T1装入/计数寄存器高四位
402 + 23: PORTA EQU 08H ;端口A状态寄存器
403 + 24: PORTB EQU 09H ;端口B状态寄存器
404 + 25: PORTC EQU 0AH ;端口C状态寄存器
405 + 26: PORTD EQU 0BH ;端口D状态寄存器
406 + 27: PORTE EQU 0CH ;端口E状态寄存器
407 + 28: PORTF EQU 0DH ;端口F状态寄存器。
408 + 29: TBR EQU 0EH ;查表寄存器
409 + 30: INX EQU 0FH ;伪索引寄存器
410 + 31: DPL EQU 10H ;INX低四位的数据指针
411 + 32: DPM EQU 11H ;INX中三位的数据指针,Bit3保留
412 + 33: DPH EQU 12H ;INX高三位的数据指针,Bit3保留
413 + 34: ADMODE EQU 13H ;A/D模拟通道数设置、参考电压选择
414 + 35: ADCH EQU 14H ;转换通道选择、设置A/D模块工作
415 + 36: ADRESL EQU 15H ;AD转换结果数据低四位
416 + 37: ADRESH EQU 16H ;AD转换结果数据高四位
417 + 38: ADCON EQU 17H ;启动/停止状态、转换周期选择、转换时间设置
418 + 39: PACON EQU 18H ;端口A输入/输出控制
419 + 40: PBCON EQU 19H ;端口B输入/输出控制
420 + 41: PCCON EQU 1AH ;端口C输入/输出控制
421 + 42: PDCON EQU 1BH ;端口D输入/输出控制
422 + 43: PECON EQU 1CH ;端口E输入/输出控制
423 + 44: PFCON EQU 1DH ;端口F输入/输出控制
424 + 45: T0CON EQU 1EH ;设置T0边沿触发方式、选择T0时钟源,Bit3和Bit2保留。
425 + 46: WDT EQU 1FH ;看门狗寄存器
426 +
427 + 48: PWM0CON EQU 20H ;PWM0输出选择、时钟设置、占空比输出方式
428 + 49: PWM1CON EQU 21H ;PWM1输出选择、时钟设置、占空比输出方式
429 + 50: PWM0PL EQU 22H ;PWM0周期低四位
430 + 51: PWM0PM EQU 23H ;PWM0周期中四位
431 + 52: PWM0PH EQU 24H ;PWM0周期高两位,Bit3和Bit2保留
432 + 53: PWM0DL EQU 25H ;PWM0占空比低四位
433 + 54: PWM0DM EQU 26H ;PWM0占空比中四位
434 + 55: PWM0DH EQU 27H ;PWM0占空比高两位,Bit3和Bit2保留
435 + 56: PWM1PL EQU 28H ;PWM1周期低四位
436 + 57: PWM1PM EQU 29H ;PWM1周期中四位
437 + 58: PWM1PH EQU 2AH ;PWM1周期高两位,Bit3和Bit2保留
438 + 59: PWM1DL EQU 2BH ;PWM1占空比低四位
439 + 60: PWM1DM EQU 2CH ;PWM1占空比中四位
440 + 61: PWM1DH EQU 2DH ;PWM1占空比高两位,Bit3和Bit2保留
441 + 62:
442 + 63: RESERVED_2E EQU 2EH ;2EH保留
443 + 64: RESERVED_2F EQU 2FH ;2FH保留
444 + 65: //30H--0BFH
445
446 250: END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -