📄 main.lst
字号:
188 {
189 1 unsigned char i;
190 1 unsigned int chr_m;
191 1 chr_m=chrx;
192 1 chr_m=chr_m*16;
193 1 if(y>=8)
194 1 {
195 2 y=y-8;
196 2 LCD_Write_ComR(0xb8|x);
197 2 LCD_Write_ComR(0x40|y<<3);
198 2 for(i=0;i<8;i++)
199 2 {
200 3 LCD_Write_DatR(Ezk[chr_m+i]);
201 3 }
202 2 LCD_Write_ComR(0xb9|x);
203 2 LCD_Write_ComR(0x40|y<<3);
204 2 for(i=8;i<16;i++)
205 2 {
206 3 LCD_Write_DatR(Ezk[chr_m+i]);
207 3 }
208 2 }
209 1 else
210 1 {
211 2 LCD_Write_ComL(0xb8|x);
212 2 LCD_Write_ComL(0x40|y<<3);
213 2 for(i=0;i<8;i++)
214 2 {
215 3 LCD_Write_DatL(Ezk[chr_m+i]);
216 3 }
217 2 LCD_Write_ComL(0xb9|x);
218 2 LCD_Write_ComL(0x40|y<<3);
219 2 for(i=8;i<16;i++)
220 2 {
221 3 LCD_Write_DatL(Ezk[chr_m+i]);
222 3 }
223 2 }
224 1 }
225
226 //显示16x16字符,位置按8x8一个点来定 x:列坐标 y:行坐标 chrx:显示字符*/
227 LCD_WrCHr16x16(unsigned char x,unsigned char y,unsigned char chrx){
228 1
229 1 unsigned char i;
230 1 unsigned int chr_m;
231 1 chr_m=chrx;
232 1 chr_m=chr_m*32;
233 1 if(y>=8)
234 1 {
235 2 y=y-4;
236 2 LCD_Write_ComR(0xb8|x);
237 2 LCD_Write_ComR(0x40|y<<3);
238 2 for(i=0;i<8;i++)
239 2 {
240 3 LCD_Write_DatR(Hzk[chr_m+i]);
241 3 }
C51 COMPILER V7.50 MAIN 07/19/2007 23:28:51 PAGE 5
242 2
243 2 LCD_Write_ComR(0xb8|x);
244 2 LCD_Write_ComR(0x48|y<<3);
245 2 for(i=8;i<16;i++)
246 2 {
247 3 LCD_Write_DatR(Hzk[chr_m+i]);
248 3 }
249 2
250 2 LCD_Write_ComR(0xb9|x);
251 2 LCD_Write_ComR(0x40|y<<3);
252 2 for(i=16;i<24;i++)
253 2 {
254 3 LCD_Write_DatR(Hzk[chr_m+i]);
255 3 }
256 2 LCD_Write_ComR(0xb9|x);
257 2 LCD_Write_ComR(0x48|y<<3);
258 2 for(i=24;i<32;i++)
259 2 {
260 3 LCD_Write_DatR(Hzk[chr_m+i]);
261 3 }
262 2 }
263 1 else
264 1 {
265 2 LCD_Write_ComL(0xb8|x);
266 2 LCD_Write_ComL(0x40|y<<3);
267 2 for(i=0;i<8;i++)
268 2 {
269 3 LCD_Write_DatL(Hzk[chr_m+i]);
270 3 }
271 2 LCD_Write_ComL(0xb8|x);
272 2 LCD_Write_ComL(0x48|y<<3);
273 2 for(i=8;i<16;i++)
274 2 {
275 3 LCD_Write_DatL(Hzk[chr_m+i]);
276 3 }
277 2 LCD_Write_ComL(0xb9|x);
278 2 LCD_Write_ComL(0x40|y<<3);
279 2 for(i=16;i<24;i++)
280 2 {
281 3 LCD_Write_DatL(Hzk[chr_m+i]);
282 3 }
283 2 LCD_Write_ComL(0xb9|x);
284 2 LCD_Write_ComL(0x48|y<<3);
285 2 for(i=24;i<32;i++)
286 2 {
287 3 LCD_Write_DatL(Hzk[chr_m+i]);
288 3 }
289 2 }
290 1 }
291 /*******************************************************************/
292 // 绘制一幅图片
293 //位置按由点来定 x:列坐标 y:行坐标 *gImage:显示图片*/
294 /*******************************************************************/
295 void Wr_pic(unsigned char x,unsigned char y,unsigned char *gImage)
296 {
297 1 unsigned char i,j;
298 1 for(i=0;i<64;i++)
299 1 {
300 2 for(j=0;j<16;j++)
301 2 {
302 3 // LCD12864_command(0x34);
303 3 // LCD12864_command(Y);
C51 COMPILER V7.50 MAIN 07/19/2007 23:28:51 PAGE 6
304 3 // LCD12864_command(X);
305 3 // LCD12864_data(*(gImage+i*16+j)); // low 8 bits
306 3 // LCD12864_data(*(gImage+i*16+j+1)); // high 8 bits
307 3 // LCD12864_command(0x36);
308 3 x++;
309 3 j++;
310 3 }
311 2 y++;
312 2 if(y>0x9f)
313 2 y=0x80;
314 2 x=0x80+((i+1)/32)*8;
315 2 }
316 1 // LCD12864_command(0x30);
317 1
318 1 }
*** WARNING C280 IN LINE 295 OF MAIN.C: 'gImage': unreferenced local variable
319
320
321 //LCD初始化
322 void LCD_Init(void)
323 {
324 1 //unsigned char temp,temp1;
325 1 LCD_Write_ComL(0x3e);
326 1 LCD_Write_ComR(0x3e);
327 1 Delay(10);
328 1 LCD_Write_ComL(0x3f);
329 1 LCD_Write_ComR(0x3f);
330 1 Delay(10);
331 1 LCD_Write_ComL(0xc0);
332 1 //LCD_Write_ComR(0xc0);
333 1 Delay(10);
334 1 }
335
336
337
338
339 //主程序
340
341 void main(void)
342 {
343 1 unsigned int i;
344 1
345 1 RUNLED=0;
346 1 RST=0;
347 1 Delay(10);
348 1 RST=1;
349 1 LCD_Init(); //LCD初始化
350 1 RUNLED=~RUNLED;
351 1 while(1){
352 2
353 2 LCD_Clr(); //LCD清屏
354 2 for(i=0;i<16;i++) LCD_WrCHr8x16(0,i,i); //第一行显示8x16西文字符
355 2
356 2 // for(i=0;i<8;i++) LCD_WrCHr16x16(0,i*2,i); //第二行显示16x16中文字符
357 2 // for(i=0;i<8;i++) LCD_WrCHr16x16(2,i*2,i+8); //第二行显示16x16中文字符
358 2
359 2 // for(i=0;i<8;i++) LCD_WrCHr16x16(4,i*2,i+16); //第三行显示16x16中文字符
360 2 // for(i=0;i<8;i++) LCD_WrCHr16x16(6,i*2,i+24); //第四行显示16x16中文字符
361 2
362 2 RUNLED=~RUNLED;
363 2 delay10ms(100);
364 2
C51 COMPILER V7.50 MAIN 07/19/2007 23:28:51 PAGE 7
365 2 }
366 1 }
367
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 777 ----
CONSTANT SIZE = 1632 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 5
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -