📄 h2test.lst
字号:
06C5 2F04 MOV R16,R20
06C6 DED2 RCALL _Bmp8x16_rev
(0333) break;
06C7 C01F RJMP 0x06E7
(0334) }
(0335) case 0x07:
(0336) {
(0337) Bmp8x16_rev(page,column,arab_7);
06C8 E08C LDI R24,0xC
06C9 E092 LDI R25,2
06CA 8399 STD Y+1,R25
06CB 8388 STD Y+0,R24
06CC 2F26 MOV R18,R22
06CD 2F04 MOV R16,R20
06CE DECA RCALL _Bmp8x16_rev
(0338) break;
06CF C017 RJMP 0x06E7
(0339) }
(0340) case 0x08:
(0341) {
(0342) Bmp8x16_rev(page,column,arab_8);
06D0 E18C LDI R24,0x1C
06D1 E092 LDI R25,2
06D2 8399 STD Y+1,R25
06D3 8388 STD Y+0,R24
06D4 2F26 MOV R18,R22
06D5 2F04 MOV R16,R20
06D6 DEC2 RCALL _Bmp8x16_rev
(0343) break;
06D7 C00F RJMP 0x06E7
(0344) }
(0345) case 0x09:
(0346) {
(0347) Bmp8x16_rev(page,column,arab_9);
06D8 E28C LDI R24,0x2C
06D9 E092 LDI R25,2
06DA 8399 STD Y+1,R25
06DB 8388 STD Y+0,R24
06DC 2F26 MOV R18,R22
06DD 2F04 MOV R16,R20
06DE DEBA RCALL _Bmp8x16_rev
(0348) break;
06DF C007 RJMP 0x06E7
(0349) }
(0350) default:
(0351) {
(0352) Bmp8x16_rev(page,column,arab_0);
06E0 E38C LDI R24,0x3C
06E1 E092 LDI R25,2
06E2 8399 STD Y+1,R25
06E3 8388 STD Y+0,R24
06E4 2F26 MOV R18,R22
06E5 2F04 MOV R16,R20
06E6 DEB2 RCALL _Bmp8x16_rev
(0353) }
(0354) break;
06E7 9622 ADIW R28,2
06E8 940E0EB9 CALL pop_gset3
06EA 9508 RET
_Draw_Menu_Interface:
06EB 9722 SBIW R28,2
(0355) }
(0356) }
(0357)
(0358) //////////////////////////////////////////////////////////////////////////
(0359) //绘制菜单界面
(0360) //////////////////////////////////////////////////////////////////////////
(0361) void Draw_Menu_Interface(void)
(0362) { Bmp8x16(0x00,0x18,T);
06EC E48C LDI R24,0x4C
06ED E092 LDI R25,2
06EE 8399 STD Y+1,R25
06EF 8388 STD Y+0,R24
06F0 E128 LDI R18,0x18
06F1 2700 CLR R16
06F2 DE81 RCALL _Bmp8x16
(0363) Bmp8x16(0x00,0x20,maohao);
06F3 E68C LDI R24,0x6C
06F4 E092 LDI R25,2
06F5 8399 STD Y+1,R25
06F6 8388 STD Y+0,R24
06F7 E220 LDI R18,0x20
06F8 2700 CLR R16
06F9 DE7A RCALL _Bmp8x16
(0364) Bmp8x16(0x00,0x38,maohao);
06FA E68C LDI R24,0x6C
06FB E092 LDI R25,2
06FC 8399 STD Y+1,R25
06FD 8388 STD Y+0,R24
06FE E328 LDI R18,0x38
06FF 2700 CLR R16
0700 DE73 RCALL _Bmp8x16
(0365) Bmp8x16(0x00,0x50,maohao);
0701 E68C LDI R24,0x6C
0702 E092 LDI R25,2
0703 8399 STD Y+1,R25
0704 8388 STD Y+0,R24
0705 E520 LDI R18,0x50
0706 2700 CLR R16
0707 DE6C RCALL _Bmp8x16
(0366) Bmp8x16(0x02,0x00,t);
0708 E58C LDI R24,0x5C
0709 E092 LDI R25,2
070A 8399 STD Y+1,R25
070B 8388 STD Y+0,R24
070C 2722 CLR R18
070D E002 LDI R16,2
070E DE65 RCALL _Bmp8x16
(0367) Bmp8x16(0x02,0x08,maohao);
070F E68C LDI R24,0x6C
0710 E092 LDI R25,2
0711 8399 STD Y+1,R25
0712 8388 STD Y+0,R24
0713 E028 LDI R18,0x8
0714 E002 LDI R16,2
0715 DE5E RCALL _Bmp8x16
(0368) Bmp8x16(0x02,0x30,xiaoshudian);
0716 E78C LDI R24,0x7C
0717 E092 LDI R25,2
0718 8399 STD Y+1,R25
0719 8388 STD Y+0,R24
071A E320 LDI R18,0x30
071B E002 LDI R16,2
071C DE57 RCALL _Bmp8x16
(0369) Bmp8x16(0x02,0x40,E);
071D E88C LDI R24,0x8C
071E E092 LDI R25,2
071F 8399 STD Y+1,R25
0720 8388 STD Y+0,R24
0721 E420 LDI R18,0x40
0722 E002 LDI R16,2
0723 DE50 RCALL _Bmp8x16
(0370) Bmp8x16(0x02,0x48,maohao);
0724 E68C LDI R24,0x6C
0725 E092 LDI R25,2
0726 8399 STD Y+1,R25
0727 8388 STD Y+0,R24
0728 E428 LDI R18,0x48
0729 E002 LDI R16,2
072A DE49 RCALL _Bmp8x16
(0371) Bmp8x16(0x02,0x70,xiaoshudian);
072B E78C LDI R24,0x7C
072C E092 LDI R25,2
072D 8399 STD Y+1,R25
072E 8388 STD Y+0,R24
072F E720 LDI R18,0x70
0730 E002 LDI R16,2
0731 DE42 RCALL _Bmp8x16
(0372) Bmp8x16(0x04,0x10,l);
0732 E98C LDI R24,0x9C
0733 E092 LDI R25,2
0734 8399 STD Y+1,R25
0735 8388 STD Y+0,R24
0736 E120 LDI R18,0x10
0737 E004 LDI R16,4
0738 DE3B RCALL _Bmp8x16
(0373) Bmp8x16(0x04,0x18,g);
0739 EA8C LDI R24,0xAC
073A E092 LDI R25,2
073B 8399 STD Y+1,R25
073C 8388 STD Y+0,R24
073D E128 LDI R18,0x18
073E E004 LDI R16,4
073F DE34 RCALL _Bmp8x16
(0374) Bmp8x16(0x04,0x20,P);
0740 EB8C LDI R24,0xBC
0741 E092 LDI R25,2
0742 8399 STD Y+1,R25
0743 8388 STD Y+0,R24
0744 E220 LDI R18,0x20
0745 E004 LDI R16,4
0746 DE2D RCALL _Bmp8x16
(0375) Bmp8x8(0x04,0x28,ll);
0747 ED84 LDI R24,0xD4
0748 E092 LDI R25,2
0749 8399 STD Y+1,R25
074A 8388 STD Y+0,R24
074B E228 LDI R18,0x28
074C E004 LDI R16,4
074D DE09 RCALL _Bmp8x8
(0376) Bmp8x8(0x05,0x28,H);
074E EC8C LDI R24,0xCC
074F E092 LDI R25,2
0750 8399 STD Y+1,R25
0751 8388 STD Y+0,R24
0752 E228 LDI R18,0x28
0753 E005 LDI R16,5
0754 DE02 RCALL _Bmp8x8
(0377) Bmp8x16(0x04,0x30,maohao);
0755 E68C LDI R24,0x6C
0756 E092 LDI R25,2
0757 8399 STD Y+1,R25
0758 8388 STD Y+0,R24
0759 E320 LDI R18,0x30
075A E004 LDI R16,4
075B DE18 RCALL _Bmp8x16
(0378) Bmp8x16(0x04,0x50,xiaoshudian);
075C E78C LDI R24,0x7C
075D E092 LDI R25,2
075E 8399 STD Y+1,R25
075F 8388 STD Y+0,R24
0760 E520 LDI R18,0x50
0761 E004 LDI R16,4
0762 DE11 RCALL _Bmp8x16
(0379) Bmp8x16(0x06,0x10,l);
0763 E98C LDI R24,0x9C
0764 E092 LDI R25,2
0765 8399 STD Y+1,R25
0766 8388 STD Y+0,R24
0767 E120 LDI R18,0x10
0768 E006 LDI R16,6
0769 DE0A RCALL _Bmp8x16
(0380) Bmp8x16(0x06,0x18,g);
076A EA8C LDI R24,0xAC
076B E092 LDI R25,2
076C 8399 STD Y+1,R25
076D 8388 STD Y+0,R24
076E E128 LDI R18,0x18
076F E006 LDI R16,6
0770 DE03 RCALL _Bmp8x16
(0381) Bmp8x16(0x06,0x20,P);
0771 EB8C LDI R24,0xBC
0772 E092 LDI R25,2
0773 8399 STD Y+1,R25
0774 8388 STD Y+0,R24
0775 E220 LDI R18,0x20
0776 E006 LDI R16,6
0777 DDFC RCALL _Bmp8x16
(0382) Bmp8x8(0x06,0x28,lll);
0778 ED8C LDI R24,0xDC
0779 E092 LDI R25,2
077A 8399 STD Y+1,R25
077B 8388 STD Y+0,R24
077C E228 LDI R18,0x28
077D E006 LDI R16,6
077E DDD8 RCALL _Bmp8x8
(0383) Bmp8x8(0x07,0x28,H);
077F EC8C LDI R24,0xCC
0780 E092 LDI R25,2
0781 8399 STD Y+1,R25
0782 8388 STD Y+0,R24
0783 E228 LDI R18,0x28
0784 E007 LDI R16,7
0785 DDD1 RCALL _Bmp8x8
(0384) Bmp8x16(0x06,0x30,maohao);
0786 E68C LDI R24,0x6C
0787 E092 LDI R25,2
0788 8399 STD Y+1,R25
0789 8388 STD Y+0,R24
078A E320 LDI R18,0x30
078B E006 LDI R16,6
078C DDE7 RCALL _Bmp8x16
(0385) Bmp8x16(0x06,0x50,xiaoshudian);
078D E78C LDI R24,0x7C
078E E092 LDI R25,2
078F 8399 STD Y+1,R25
0790 8388 STD Y+0,R24
0791 E520 LDI R18,0x50
0792 E006 LDI R16,6
0793 DDE0 RCALL _Bmp8x16
0794 9622 ADIW R28,2
0795 9508 RET
FILE: D:\zhangyu\H2test\program\232.c
(0001) /************************************************************
(0002) FileName: 232.c
(0003) Description: 串口模块,实现与上位机之间的通讯
(0004) Function List:
(0005) 1.void Com0_Init(void) //串口初始化
(0006) 2.uchar ISR_Uart0_Rx(void) //数据接收程序
(0007) 3.void Uart0_Transmit(uchar data) //数据发送程序
(0008) ***********************************************************/
(0009) #include <iom16v.h>
(0010) #include <macros.h>
(0011) #include "232.h"
(0012)
(0013) void Com0_Init(void)
(0014) {
(0015) unsigned int baud;
(0016) baud=0x33; //clk(8M)/(16*(9600+1))
_Com0_Init:
baud --> R16
0796 E303 LDI R16,0x33
0797 E010 LDI R17,0
(0017) UCSRB = 0x00; //设置波特率时关闭发送和接收
0798 2422 CLR R2
0799 B82A OUT 0x0A,R2
(0018) UBRRH=(unsigned char)(baud>>8);
079A 0118 MOVW R2,R16
079B 2C23 MOV R2,R3
079C 2433 CLR R3
079D BC20 OUT 0x20,R2
(0019) UBRRL=(unsigned char)baud;
079E B909 OUT 0x09,R16
(0020)
(0021) UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); // URSEL为选择位,因为UCSRC和UBRRH共用一个IO地址,8位数据+1位STOP位+无奇偶校验
079F E886 LDI R24,0x86
07A0 BD80 OUT 0x20,R24
(0022) UCSRB=(1<<RXEN)|(1<<TXEN)|(1<<RXCIE); //允许发送和接收和接收终断使能
07A1 E988 LDI R24,0x98
07A2 B98A OUT 0x0A,R24
07A3 9508 RET
(0023) }
(0024)
(0025) void Uart_Transmit(unsigned char data)
(0026) {
(0027) while (!(UCSRA & (1<<UDRE)));
_Uart_Transmit:
data --> R16
07A4 9B5D SBIS 0x0B,5
07A5 CFFE RJMP _Uart_Transmit
(0028) UDR = data; //数据送数据寄存器
07A6 B90C OUT 0x0C,R16
07A7 9508 RET
_pDS1302_Write:
i --> R20
data --> R22
reg --> R10
07A8 940E0EC6 CALL push_gset3
07AA 2F62 MOV R22,R18
07AB 2EA0 MOV R10,R16
FILE: D:\zhangyu\H2test\program\1302.c
(0001) /*-------------------------------------------------------------*-
(0002) File name: 1302.c
(0003) Description:本模块为实时时钟模块。
(0004) Function List:
(0005) 1.void pDS1302_Write(uchar reg,uchar data) 写实时时钟函数
(0006) 2.uchar pDS1302_Read(uchar reg) 读实时时钟函数
(0007) 3.void pDS1302_Init(void) 1302初始化函数
(0008)
(0009) -----------------------------------------------------------------
(0010) 实时时钟模块
(0011) -*--------------------------------------------------------------*/
(0012) #include <iom16v.h>
(0013) #include <macros.h>
(0014) #include "1302.h"
(0015) #include "main.h"
(0016)
(0017) void pDS1302_Write(unsigned char reg,unsigned char data)
(0018) {
(0019) unsigned char i;
(0020)
(0021) mDS1302IO_Out;
07AC 9A8C SBI 0x11,4
(0022) mSetDS1302IO;
07AD 9A94 SBI 0x12,4
(0023) mClrDS1302RST;
07AE 9893 CBI 0x12,3
(0024) wait;
07AF 0000 NOP
07B0 0000 NOP
(0025) mClrDS1302SCK;
07B1 9892 CBI 0x12,2
(0026) wait;
07B2 0000 NOP
07B3 0000 NOP
(0027) mSetDS1302RST;
07B4 9A93 SBI 0x12,3
(0028) wait;
07B5 0000 NOP
07B6 0000 NOP
(0029) for(i=0;i<8;i++)
07B7 2744 CLR R20
07B8 C013 RJMP 0x07CC
(0030) {
(0031) if(reg&BIT(i))
07B9 E001 LDI R16,1
07BA 2F14 MOV R17,R20
07BB 940E0F05 CALL lsl8
07BD 2C2A MOV R2,R10
07BE 2220 AND R2,R16
07BF F011 BEQ 0x07C2
(0032) mSetDS1302IO;
07C0 9A94 SBI 0x12,4
07C1 C001 RJMP 0x07C3
(0033) else
(0034) mClrDS1302IO;
07C2 9894 CBI 0x12,4
(0035) wait;
07C3 0000 NOP
07C4 0000 NOP
(0036) mSetDS1302SCK;
07C5 9A92 SBI 0x12,2
(0037) wait;
07C6 0000 NOP
07C7 0000 NOP
(0038) mClrDS1302SCK;
07C8 9892 CBI 0x12,2
(0039) wait;
07C9 0000 NOP
07CA 0000 NOP
07CB 9543 INC R20
07CC 3048 CPI R20,0x8
07CD F358 BCS 0x07B9
(0040) }
(0041)
(0042) for(i=0;i<8;i++)
07CE 2744 CLR R20
07CF C013 RJMP 0x07E3
(0043) {
(0044) if(data&BIT(i))
07D0 E001 LDI R16,1
07D1 2F14 MOV R17,R20
07D2 940E0F05 CALL lsl8
07D4 2E26 MOV R2,R22
07D5 2220 AND R2,R16
07D6 F011 BEQ 0x07D9
(0045) mSetDS1302IO;
07D7 9A94 SBI 0x12,4
07D8 C001 RJMP 0x07DA
(0046) else
(0047) mClrDS1302IO;
07D9 9894 CBI 0x12,4
(0048) wait;
07DA 0000 NOP
07DB 0000 NOP
(0049) mSetDS1302SCK;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -