📄 pcf8563_test.lis
字号:
03FE 1127 clr R17
0400 65DE xcall _LCD_write_char
0402 .dbline 111
0402 ; LCD_write_char(0,(timer[7]&0x0f)+0x30);
0402 20910700 lds R18,_timer+7
0406 3327 clr R19
0408 2F70 andi R18,15
040A 3070 andi R19,0
040C 205D subi R18,208 ; offset = 48
040E 3F4F sbci R19,255
0410 0027 clr R16
0412 1127 clr R17
0414 5BDE xcall _LCD_write_char
0416 .dbline 112
0416 ; LCD_write_char(0,(timer[6]>>4)+0x30); //显示年
0416 20910600 lds R18,_timer+6
041A 3327 clr R19
041C 3595 asr R19
041E 2795 ror R18
0420 3595 asr R19
0422 2795 ror R18
0424 3595 asr R19
0426 2795 ror R18
0428 3595 asr R19
042A 2795 ror R18
042C 205D subi R18,208 ; offset = 48
042E 3F4F sbci R19,255
0430 0027 clr R16
0432 1127 clr R17
0434 4BDE xcall _LCD_write_char
0436 .dbline 113
0436 ; LCD_write_char(0,(timer[6]&0x0f)+0x30);
0436 20910600 lds R18,_timer+6
043A 3327 clr R19
043C 2F70 andi R18,15
043E 3070 andi R19,0
0440 205D subi R18,208 ; offset = 48
0442 3F4F sbci R19,255
0444 0027 clr R16
0446 1127 clr R17
0448 41DE xcall _LCD_write_char
044A .dbline 114
044A ; LCD_write_char(0,'/');
044A 2FE2 ldi R18,47
044C 30E0 ldi R19,0
044E 0027 clr R16
0450 1127 clr R17
0452 3CDE xcall _LCD_write_char
0454 .dbline 115
0454 ; LCD_write_char(0,(timer[5]>>4)+0x30); //显示月
0454 20910500 lds R18,_timer+5
0458 3327 clr R19
045A 3595 asr R19
045C 2795 ror R18
045E 3595 asr R19
0460 2795 ror R18
0462 3595 asr R19
0464 2795 ror R18
0466 3595 asr R19
0468 2795 ror R18
046A 205D subi R18,208 ; offset = 48
046C 3F4F sbci R19,255
046E 0027 clr R16
0470 1127 clr R17
0472 2CDE xcall _LCD_write_char
0474 .dbline 116
0474 ; LCD_write_char(0,(timer[5]&0x0f)+0x30);
0474 20910500 lds R18,_timer+5
0478 3327 clr R19
047A 2F70 andi R18,15
047C 3070 andi R19,0
047E 205D subi R18,208 ; offset = 48
0480 3F4F sbci R19,255
0482 0027 clr R16
0484 1127 clr R17
0486 22DE xcall _LCD_write_char
0488 .dbline 117
0488 ; LCD_write_char(0,'/');
0488 2FE2 ldi R18,47
048A 30E0 ldi R19,0
048C 0027 clr R16
048E 1127 clr R17
0490 1DDE xcall _LCD_write_char
0492 .dbline 118
0492 ; LCD_write_char(0,(timer[3]>>4)+0x30); //显示日
0492 20910300 lds R18,_timer+3
0496 3327 clr R19
0498 3595 asr R19
049A 2795 ror R18
049C 3595 asr R19
049E 2795 ror R18
04A0 3595 asr R19
04A2 2795 ror R18
04A4 3595 asr R19
04A6 2795 ror R18
04A8 205D subi R18,208 ; offset = 48
04AA 3F4F sbci R19,255
04AC 0027 clr R16
04AE 1127 clr R17
04B0 0DDE xcall _LCD_write_char
04B2 .dbline 119
04B2 ; LCD_write_char(0,(timer[3]&0x0f)+0x30);
04B2 20910300 lds R18,_timer+3
04B6 3327 clr R19
04B8 2F70 andi R18,15
04BA 3070 andi R19,0
04BC 205D subi R18,208 ; offset = 48
04BE 3F4F sbci R19,255
04C0 0027 clr R16
04C2 1127 clr R17
04C4 03DE xcall _LCD_write_char
04C6 .dbline 121
04C6 ;
04C6 ; LCD_set_xy(2,1); //写指令:第2行地址
04C6 21E0 ldi R18,1
04C8 02E0 ldi R16,2
04CA E8DD xcall _LCD_set_xy
04CC .dbline 123
04CC ;
04CC ; LCD_write_char(0,(timer[2]>>4)+0x30); //时
04CC 20910200 lds R18,_timer+2
04D0 3327 clr R19
04D2 3595 asr R19
04D4 2795 ror R18
04D6 3595 asr R19
04D8 2795 ror R18
04DA 3595 asr R19
04DC 2795 ror R18
04DE 3595 asr R19
04E0 2795 ror R18
04E2 205D subi R18,208 ; offset = 48
04E4 3F4F sbci R19,255
04E6 0027 clr R16
04E8 1127 clr R17
04EA F0DD xcall _LCD_write_char
04EC .dbline 124
04EC ; LCD_write_char(0,(timer[2]&0x0f)+0x30);
04EC 20910200 lds R18,_timer+2
04F0 3327 clr R19
04F2 2F70 andi R18,15
04F4 3070 andi R19,0
04F6 205D subi R18,208 ; offset = 48
04F8 3F4F sbci R19,255
04FA 0027 clr R16
04FC 1127 clr R17
04FE E6DD xcall _LCD_write_char
0500 .dbline 125
0500 ; LCD_write_char(0,':');
0500 2AE3 ldi R18,58
0502 30E0 ldi R19,0
0504 0027 clr R16
0506 1127 clr R17
0508 E1DD xcall _LCD_write_char
050A .dbline 126
050A ; LCD_write_char(0,(timer[1]>>4)+0x30); //分
050A 20910100 lds R18,_timer+1
050E 3327 clr R19
0510 3595 asr R19
0512 2795 ror R18
0514 3595 asr R19
0516 2795 ror R18
0518 3595 asr R19
051A 2795 ror R18
051C 3595 asr R19
051E 2795 ror R18
0520 205D subi R18,208 ; offset = 48
0522 3F4F sbci R19,255
0524 0027 clr R16
0526 1127 clr R17
0528 D1DD xcall _LCD_write_char
052A .dbline 127
052A ; LCD_write_char(0,(timer[1]&0x0f)+0x30);
052A 20910100 lds R18,_timer+1
052E 3327 clr R19
0530 2F70 andi R18,15
0532 3070 andi R19,0
0534 205D subi R18,208 ; offset = 48
0536 3F4F sbci R19,255
0538 0027 clr R16
053A 1127 clr R17
053C C7DD xcall _LCD_write_char
053E .dbline 128
053E ; LCD_write_char(0,':');
053E 2AE3 ldi R18,58
0540 30E0 ldi R19,0
0542 0027 clr R16
0544 1127 clr R17
0546 C2DD xcall _LCD_write_char
0548 .dbline 129
0548 ; LCD_write_char(0,(timer[0]>>4)+0x30); //秒
0548 20910000 lds R18,_timer
054C 3327 clr R19
054E 3595 asr R19
0550 2795 ror R18
0552 3595 asr R19
0554 2795 ror R18
0556 3595 asr R19
0558 2795 ror R18
055A 3595 asr R19
055C 2795 ror R18
055E 205D subi R18,208 ; offset = 48
0560 3F4F sbci R19,255
0562 0027 clr R16
0564 1127 clr R17
0566 B2DD xcall _LCD_write_char
0568 .dbline 130
0568 ; LCD_write_char(0,(timer[0]&0x0f)+0x30);
0568 20910000 lds R18,_timer
056C 3327 clr R19
056E 2F70 andi R18,15
0570 3070 andi R19,0
0572 205D subi R18,208 ; offset = 48
0574 3F4F sbci R19,255
0576 0027 clr R16
0578 1127 clr R17
057A A8DD xcall _LCD_write_char
057C .dbline 131
057C ; LCD_write_char(0,' ');
057C 20E2 ldi R18,32
057E 30E0 ldi R19,0
0580 0027 clr R16
0582 1127 clr R17
0584 A3DD xcall _LCD_write_char
0586 .dbline 132
0586 ; LCD_write_char(0,'W'); LCD_write_char(0,'e'); //星期的前导字
0586 27E5 ldi R18,87
0588 30E0 ldi R19,0
058A 0027 clr R16
058C 1127 clr R17
058E 9EDD xcall _LCD_write_char
0590 .dbline 132
0590 25E6 ldi R18,101
0592 30E0 ldi R19,0
0594 0027 clr R16
0596 1127 clr R17
0598 99DD xcall _LCD_write_char
059A .dbline 133
059A ; LCD_write_char(0,'e'); LCD_write_char(0,'k');
059A 25E6 ldi R18,101
059C 30E0 ldi R19,0
059E 0027 clr R16
05A0 1127 clr R17
05A2 94DD xcall _LCD_write_char
05A4 .dbline 133
05A4 2BE6 ldi R18,107
05A6 30E0 ldi R19,0
05A8 0027 clr R16
05AA 1127 clr R17
05AC 8FDD xcall _LCD_write_char
05AE .dbline 134
05AE ; LCD_write_char(0,(timer[4]&0x0f)+0x30); //星期数据
05AE 20910400 lds R18,_timer+4
05B2 3327 clr R19
05B4 2F70 andi R18,15
05B6 3070 andi R19,0
05B8 205D subi R18,208 ; offset = 48
05BA 3F4F sbci R19,255
05BC 0027 clr R16
05BE 1127 clr R17
05C0 85DD xcall _LCD_write_char
05C2 .dbline -2
05C2 L97:
05C2 .dbline 0 ; func end
05C2 0895 ret
05C4 .dbend
05C4 .dbfunc e timer1_init _timer1_init fV
.even
05C4 _timer1_init::
05C4 .dbline -1
05C4 .dbline 139
05C4 ; }
05C4 ;
05C4 ; //定时器1:每秒从8563中读取4次数据,更新显示
05C4 ; void timer1_init(void) //定时器1初始化:250毫秒定时,预分频256
05C4 ; {
05C4 .dbline 140
05C4 ; TCCR1B=0x00; //停止定时器
05C4 2224 clr R2
05C6 2EBC out 0x2e,R2
05C8 .dbline 141
05C8 ; TCNT1H=0x8F; //初值高字节
05C8 8FE8 ldi R24,143
05CA 8DBD out 0x2d,R24
05CC .dbline 142
05CC ; TCNT1L=0x81; //定时初值低字节
05CC 81E8 ldi R24,129
05CE 8CBD out 0x2c,R24
05D0 .dbline 143
05D0 ; TCCR1A=0x00;
05D0 2FBC out 0x2f,R2
05D2 .dbline 144
05D2 ; TCCR1B=0x03; //启动定时器
05D2 83E0 ldi R24,3
05D4 8EBD out 0x2e,R24
05D6 .dbline -2
05D6 L111:
05D6 .dbline 0 ; func end
05D6 0895 ret
05D8 .dbend
.area vector(rom, abs)
.org 32
0020 0C94EC02 jmp _timer1_ovf_isr
.area text(rom, con, rel)
05D8 .dbfile D:\mega16_32实验板资料\ICCAVR源程序\twi\pcf8563\pcf8563.h
05D8 .dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
.even
05D8 _timer1_ovf_isr::
05D8 0A92 st -y,R0
05DA 1A92 st -y,R1
05DC 2A92 st -y,R2
05DE 3A92 st -y,R3
05E0 4A92 st -y,R4
05E2 5A92 st -y,R5
05E4 6A92 st -y,R6
05E6 7A92 st -y,R7
05E8 8A92 st -y,R8
05EA 9A92 st -y,R9
05EC 0A93 st -y,R16
05EE 1A93 st -y,R17
05F0 2A93
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -