📄 lcd12864.lst
字号:
(0461)
(0462) //图片滚屏效果子程序:***********************************************
(0463)
(0464) void scroll(const uchar *po_to_flash)
(0465) {
106A C012 RJMP 0x107D
(0466) unsigned char i,start;
(0467) while(1)
(0468) {
(0469) WDR();
106B 95A8 WDR
(0470) if(hanzi_flag==1) break;//显示汉字标志位为1则跳出循环;
106C 91800060 LDS R24,hanzi_flag
106E 3081 CPI R24,1
106F F409 BNE 0x1071
1070 C00D RJMP 0x107E
(0471) start=0xc0;
1071 EC60 LDI R22,0xC0
(0472) for(i=0;i<64;i++)
1072 24AA CLR R10
1073 C006 RJMP 0x107A
(0473) {
(0474) display_graphic(po_to_flash);//显示完一屏则起始行加1;
1074 018A MOVW R16,R20
1075 DE7B RCALL _display_graphic
(0475)
(0476) lcd_write_code(start);
1076 2F06 MOV R16,R22
1077 DD6C RCALL _lcd_write_code
(0477) start++;
1078 9563 INC R22
1079 94A3 INC R10
107A 2D8A MOV R24,R10
107B 3480 CPI R24,0x40
107C F3B8 BCS 0x1074
107D CFED RJMP 0x106B
107E 940E134D CALL pop_gset3
1080 9508 RET
_main:
start --> Y+3
i --> Y+3
1081 9722 SBIW R28,2
FILE: D:\练习\LCD显示12864\LCD12864.c
(0001) //ICC-AVR application builder : 2007-4-27 9:07:43
(0002) // Target : M16
(0003) // Crystal: 8.0000Mhz
(0004) //author: zhuyiguo
(0005) //lcd12864_display exercise
(0006) #include "LCD12864.h"
(0007) #include "LCD12864_DATA.h"
(0008) //#pragma data:data
(0009)
(0010) void main(void)
(0011) {
(0012) unsigned char i,start;
(0013) //uchar page=0xb8,column=0x48;
(0014) init_devices();
1082 DCFE RCALL _init_devices
(0015) E_0;
1083 98AC CBI 0x15,4
(0016)
(0017) lcd_init();
1084 DE5F RCALL _lcd_init
(0018) dis_one_zi(0,1,yie);
1085 ED84 LDI R24,0xD4
1086 E090 LDI R25,0
1087 8399 STD Y+1,R25
1088 8388 STD Y+0,R24
1089 E021 LDI R18,1
108A 2700 CLR R16
108B DD6E RCALL _dis_one_zi
(0019) delay_ms(200);
108C EC08 LDI R16,0xC8
108D E010 LDI R17,0
108E DD10 RCALL _delay_ms
(0020) dis_one_zi(0,2,jing);
108F EF84 LDI R24,0xF4
1090 E090 LDI R25,0
1091 8399 STD Y+1,R25
1092 8388 STD Y+0,R24
1093 E022 LDI R18,2
1094 2700 CLR R16
1095 DD64 RCALL _dis_one_zi
(0021) delay_ms(200);
1096 EC08 LDI R16,0xC8
1097 E010 LDI R17,0
1098 DD06 RCALL _delay_ms
(0022) dis_one_zi(0,3,xian);
1099 E284 LDI R24,0x24
109A E19A LDI R25,0x1A
109B 8399 STD Y+1,R25
109C 8388 STD Y+0,R24
109D E023 LDI R18,3
109E 2700 CLR R16
109F DD5A RCALL _dis_one_zi
(0023) delay_ms(200);
10A0 EC08 LDI R16,0xC8
10A1 E010 LDI R17,0
10A2 DCFC RCALL _delay_ms
(0024) dis_one_zi(0,4,shi);
10A3 E484 LDI R24,0x44
10A4 E19A LDI R25,0x1A
10A5 8399 STD Y+1,R25
10A6 8388 STD Y+0,R24
10A7 E024 LDI R18,4
10A8 2700 CLR R16
10A9 DD50 RCALL _dis_one_zi
(0025) delay_ms(200);
10AA EC08 LDI R16,0xC8
10AB E010 LDI R17,0
10AC DCF2 RCALL _delay_ms
(0026) dis_one_zi(0,5,shi1);
10AD E184 LDI R24,0x14
10AE E091 LDI R25,1
10AF 8399 STD Y+1,R25
10B0 8388 STD Y+0,R24
10B1 E025 LDI R18,5
10B2 2700 CLR R16
10B3 DD46 RCALL _dis_one_zi
(0027) delay_ms(200);
10B4 EC08 LDI R16,0xC8
10B5 E010 LDI R17,0
10B6 DCE8 RCALL _delay_ms
(0028) dis_one_zi(0,6,yan);
10B7 E384 LDI R24,0x34
10B8 E091 LDI R25,1
10B9 8399 STD Y+1,R25
10BA 8388 STD Y+0,R24
10BB E026 LDI R18,6
10BC 2700 CLR R16
10BD DD3C RCALL _dis_one_zi
(0029) delay_ms(200);
10BE EC08 LDI R16,0xC8
10BF E010 LDI R17,0
10C0 DCDE RCALL _delay_ms
(0030)
(0031) dis_one_zi(2,5,zhu);
10C1 E784 LDI R24,0x74
10C2 E090 LDI R25,0
10C3 8399 STD Y+1,R25
10C4 8388 STD Y+0,R24
10C5 E025 LDI R18,5
10C6 E002 LDI R16,2
10C7 DD32 RCALL _dis_one_zi
(0032) //delay_ms(500);
(0033) dis_one_zi(2,6,yi);
10C8 E984 LDI R24,0x94
10C9 E090 LDI R25,0
10CA 8399 STD Y+1,R25
10CB 8388 STD Y+0,R24
10CC E026 LDI R18,6
10CD E002 LDI R16,2
10CE DD2B RCALL _dis_one_zi
(0034) //delay_ms(500);
(0035) dis_one_zi(2,7,guo);
10CF EB84 LDI R24,0xB4
10D0 E090 LDI R25,0
10D1 8399 STD Y+1,R25
10D2 8388 STD Y+0,R24
10D3 E027 LDI R18,7
10D4 E002 LDI R16,2
10D5 DD24 RCALL _dis_one_zi
(0036) //delay_ms(500);
(0037)
(0038) dis_one_abc(3,10,dayu);
10D6 E684 LDI R24,0x64
10D7 E19A LDI R25,0x1A
10D8 8399 STD Y+1,R25
10D9 8388 STD Y+0,R24
10DA E02A LDI R18,0xA
10DB E003 LDI R16,3
10DC DD5C RCALL _dis_one_abc
(0039) delay_ms(100);
10DD E604 LDI R16,0x64
10DE E010 LDI R17,0
10DF DCBF RCALL _delay_ms
(0040) dis_one_abc(3,11,dayu);
10E0 E684 LDI R24,0x64
10E1 E19A LDI R25,0x1A
10E2 8399 STD Y+1,R25
10E3 8388 STD Y+0,R24
10E4 E02B LDI R18,0xB
10E5 E003 LDI R16,3
10E6 DD52 RCALL _dis_one_abc
(0041) delay_ms(100);
10E7 E604 LDI R16,0x64
10E8 E010 LDI R17,0
10E9 DCB5 RCALL _delay_ms
(0042) dis_one_abc(3,12,dayu);
10EA E684 LDI R24,0x64
10EB E19A LDI R25,0x1A
10EC 8399 STD Y+1,R25
10ED 8388 STD Y+0,R24
10EE E02C LDI R18,0xC
10EF E003 LDI R16,3
10F0 DD48 RCALL _dis_one_abc
(0043) delay_ms(100);
10F1 E604 LDI R16,0x64
10F2 E010 LDI R17,0
10F3 DCAB RCALL _delay_ms
(0044) dis_one_abc(3,13,dayu);
10F4 E684 LDI R24,0x64
10F5 E19A LDI R25,0x1A
10F6 8399 STD Y+1,R25
10F7 8388 STD Y+0,R24
10F8 E02D LDI R18,0xD
10F9 E003 LDI R16,3
10FA DD3E RCALL _dis_one_abc
(0045) delay_ms(100);
10FB E604 LDI R16,0x64
10FC E010 LDI R17,0
10FD DCA1 RCALL _delay_ms
(0046) dis_one_abc(3,14,dayu);
10FE E684 LDI R24,0x64
10FF E19A LDI R25,0x1A
1100 8399 STD Y+1,R25
1101 8388 STD Y+0,R24
1102 E02E LDI R18,0xE
1103 E003 LDI R16,3
1104 DD34 RCALL _dis_one_abc
(0047) delay_ms(100);
1105 E604 LDI R16,0x64
1106 E010 LDI R17,0
1107 DC97 RCALL _delay_ms
(0048) CLRLCD();
1108 DDBD RCALL _CLRLCD
1109 C17C RJMP 0x1286
(0049)
(0050)
(0051)
(0052)
(0053) while(1)
(0054) {
(0055) WDR();
110A 95A8 WDR
(0056) if(graphy_num==1)
110B 91800062 LDS R24,graphy_num
110D 3081 CPI R24,1
110E F599 BNE 0x1142
(0057) {
(0058) if(flash_flag%2==1)
110F E012 LDI R17,2
1110 91000064 LDS R16,flash_flag
1112 940E1322 CALL mod8u
1114 3001 CPI R16,1
1115 F4B1 BNE 0x112C
(0059) {
(0060) dis_one_zi(0,1,X26);
1116 E584 LDI R24,0x54
1117 E090 LDI R25,0
1118 8399 STD Y+1,R25
1119 8388 STD Y+0,R24
111A E021 LDI R18,1
111B 2700 CLR R16
111C DCDD RCALL _dis_one_zi
(0061) dis_one_zi(0,2,X26);
111D E584 LDI R24,0x54
111E E090 LDI R25,0
111F 8399 STD Y+1,R25
1120 8388 STD Y+0,R24
1121 E022 LDI R18,2
1122 2700 CLR R16
1123 DCD6 RCALL _dis_one_zi
(0062) dis_one_zi(0,3,X26);
1124 E584 LDI R24,0x54
1125 E090 LDI R25,0
1126 8399 STD Y+1,R25
1127 8388 STD Y+0,R24
1128 E023 LDI R18,3
1129 2700 CLR R16
112A DCCF RCALL _dis_one_zi
(0063) }
112B C02B RJMP 0x1157
(0064) else
(0065) {
(0066) dis_one_zi(0,1,tu);//汉字:图片1
112C E584 LDI R24,0x54
112D E091 LDI R25,1
112E 8399 STD Y+1,R25
112F 8388 STD Y+0,R24
1130 E021 LDI R18,1
1131 2700 CLR R16
1132 DCC7 RCALL _dis_one_zi
(0067) dis_one_zi(0,2,pian);
1133 E784 LDI R24,0x74
1134 E091 LDI R25,1
1135 8399 STD Y+1,R25
1136 8388 STD Y+0,R24
1137 E022 LDI R18,2
1138 2700 CLR R16
1139 DCC0 RCALL _dis_one_zi
(0068) dis_one_abc(0,6,n_1);
113A E984 LDI R24,0x94
113B E091 LDI R25,1
113C 8399 STD Y+1,R25
113D 8388 STD Y+0,R24
113E E026 LDI R18,6
113F 2700 CLR R16
1140 DCF8 RCALL _dis_one_abc
(0069) }
(0070) }
1141 C015 RJMP 0x1157
(0071) else
(0072) {
(0073) dis_one_zi(0,1,tu);//汉字:图片1
1142 E584 LDI R24,0x54
1143 E091 LDI R25,1
1144 8399 STD Y+1,R25
1145 8388 STD Y+0,R24
1146 E021 LDI R18,1
1147 2700 CLR R16
1148 DCB1 RCALL _dis_one_zi
(0074) dis_one_zi(0,2,pian);
1149 E784 LDI R24,0x74
114A E091 LDI R25,1
114B 8399 STD Y+1,R25
114C 8388 STD Y+0,R24
114D E022 LDI R18,2
114E 2700 CLR R16
114F DCAA RCALL _dis_one_zi
(0075) dis_one_abc(0,6,n_1);
1150 E984 LDI R24,0x94
1151 E091 LDI R25,1
1152 8399 STD Y+1,R25
1153 8388 STD Y+0,R24
1154 E026 LDI R18,6
1155 2700 CLR R16
1156 DCE2 RCALL _dis_one_abc
(0076) }
(0077)
(0078) if(graphy_num==2)
1157 91800062 LDS R24,graphy_num
1159 3082 CPI R24,2
115A F599 BNE 0x118E
(0079) {
(0080) if(flash_flag%2==1)
115B E012 LDI R17,2
115C 91000064 LDS R16,flash_flag
115E 940E1322 CALL mod8u
1160 3001 CPI R16,1
1161 F4B1 BNE 0x1178
(0081) {
(0082) dis_one_zi(1,1,X26);
1162 E584 LDI R24,0x54
1163 E090 LDI R25,0
1164 8399 STD Y+1,R25
1165 8388 STD Y+0,R24
1166 E021 LDI R18,1
1167 E001 LDI R16,1
1168 DC91 RCALL _dis_one_zi
(0083) dis_one_zi(1,2,X26);
1169 E584 LDI R24,0x54
116A E090 LDI R25,0
116B 8399 STD Y+1,R25
116C 8388 STD Y+0,R24
116D E022 LDI R18,2
116E E001 LDI R16,1
116F DC8A RCALL _dis_one_zi
(0084) dis_one_zi(1,3,X26);
1170 E584 LDI R24,0x54
1171 E090 LDI R25,0
1172 8399 STD Y+1,R25
1173 8388 STD Y+0,R24
1174 E023 LDI R18,3
1175 E001 LDI R16,1
1176 DC83 RCALL _dis_one_zi
(0085) }
1177 C02B RJMP 0x11A3
(0086) else
(0087) {
(0088) dis_one_zi(1,1,tu);//汉字:图片2
1178 E584 LDI R24,0x54
1179 E091 LDI R25,1
117A 8399 STD Y+1,R25
117B 8388 STD Y+0,R24
117C E021 LDI R18,1
117D E001 LDI R16,1
117E DC7B RCALL _dis_one_zi
(0089) dis_one_zi(1,2,pian);
117F E784 LDI R24,0x74
1180 E091 LDI R25,1
1181 8399 STD Y+1,R25
1182 8388 STD Y+0,R24
1183 E022 LDI R18,2
1184 E001 LDI R16,1
1185 DC74 RCALL _dis_one_zi
(0090) dis_one_abc(1,6,n_2);
1186 EA84 LDI R24,0xA4
1187 E091 LDI R25,1
1188 8399 STD Y+1,R25
1189 8388 STD Y+0,R24
118A E026 LDI R18,6
118B E001 LDI R16,1
118C DCAC RCALL _dis_one_abc
(0091) }
(0092) }
118D C015 RJMP 0x11A3
(0093) else
(0094) {
(0095) dis_one_zi(1,1,tu);//汉字:图片2
118E E584 LDI R24,0x54
118F E091 LDI R25,1
1190 8399 STD Y+1,R25
1191 8388 STD Y+0,R24
1192 E021 LDI R18,1
1193 E001 LDI R16,1
1194 DC65 RCALL _dis_one_zi
(0096) dis_one_zi(1,2,pian);
1195 E784 LDI R24,0x74
1196 E091 LDI R25,1
1197 8399 STD Y+1,R25
1198 8388 STD Y+0,R24
1199 E022 LDI R18,2
119A E001 LDI R16,1
119B DC5E RCALL _dis_one_zi
(0097) dis_one_abc(1,6,n_2);
119C EA84 LDI R24,0xA4
119D E091 LDI R25,1
119E 8399 STD Y+1,R25
119F 8388 STD Y+0,R24
11A0 E026 LDI R18,6
11A1 E001 LDI R16,1
11A2 DC96 RCALL _dis_one_abc
(0098) }
(0099)
(0100)
(0101) if(graphy_num==3)
11A3 91800062 LDS R24,graphy_num
11A5 3083 CPI R24,3
11A6 F599 BNE 0x11DA
(0102) {
(0103) if(flash_flag%2==1)
11A7 E012 LDI R17,2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -