📄 lcm.lst
字号:
278
279 //*********************************************************************************
280 //*函数名称:void Parallel_DisplayStrings_WithAddress(uchar ucAdd,uchar code *p) *
281 //*函数功能:在(文本区)ucAdd指定的位置显示一串字符(或是汉字或是ASCII或是两者混合) *
282 //*形式参数:uchar ucAdd,uchar code *p *
283 //*形参说明:指定的位置,要显示的字符串 *
284 //*地址必须是:80H~8FH,90H~9FH,88H~AFH,98H~BFH *
285 //*返回参数:无 *
286 //*使用说明:使用之前要初始化液晶 *
287 //*********************************************************************************
288 void Parallel_DisplayStrings_WithAddress(uchar ucAdd,uchar code *p)
289 {
290 1 uchar length;
291 1 length = strlen(p);
292 1 Parallel_Write_LCD(COMMAND,BASIC_FUNCTION); //基本指令动作
293 1 Parallel_DDRAM_Address_Set(ucAdd);
294 1 for( ; length ; length -- )
295 1 Parallel_Write_LCD(DATA, *(p++));
296 1 }
297
298
299
300 //****************************************************************
301 //*函数名称:void Parallel_ImgDisplay(unsigned char code *img) *
302 //*函数功能:全屏显示128*64个象素的图形 *
303 //*形式参数:unsigned char code *img *
C51 COMPILER V8.02 LCM 04/06/2008 20:10:28 PAGE 6
304 //*形参说明:要显示的图形 *
305 //*液晶屏坐标说明: *
306 //* _______________________________________________ *
307 //* |(0,0) (7,0) | *
308 //* | | *
309 //* | | *
310 //* |(0,31) (7,31)| *
311 //* |(8,0) (15,0)| *
312 //* | | *
313 //* | | *
314 //* |(8,31) (15,31)| *
315 //* |______________________________________________| *
316 // *
317 //返回参数:无 *
318 //使用说明:此函数适用于RT12864-4M型液晶 *
319 //****************************************************************
320 void Parallel_ImgDisplay(unsigned char code *img)
321 {
322 1 uchar i,j;
323 1 Parallel_Graph_Mode_Set(0x01); //先关闭图形显示功能
324 1 for(j=0;j<32;j++)
325 1 {
326 2 for(i=0;i<8;i++)
327 2 {
328 3 Parallel_Write_LCD(COMMAND,0x80+j); //设定垂直坐标
329 3 Parallel_Write_LCD(COMMAND,0x80+i); //设定水平坐标
330 3 Parallel_Write_LCD(DATA,img[j*16+i*2]); //放入数据高字节
331 3 Parallel_Write_LCD(DATA,img[j*16+i*2+1]); //放入数据低字节
332 3 }
333 2 }
334 1 for(j=32;j<64;j++)
335 1 {
336 2 for(i=0;i<8;i++)
337 2 {
338 3 Parallel_Write_LCD(COMMAND,0x80+j-32);
339 3 Parallel_Write_LCD(COMMAND,0x88+i);
340 3 Parallel_Write_LCD(DATA,img[j*16+i*2]);
341 3 Parallel_Write_LCD(DATA,img[j*16+i*2+1]);
342 3 }
343 2 }
344 1 Parallel_Graph_Mode_Set(0x00);//最后打开图形显示功能
345 1 }
346
347
348
349 //******************************************************************************
350 //*函数名称:void Parallel_ImgDisplayCharacter(uchar x,uchar y,uchar code *img) *
351 //*函数功能:使用绘图的方法,在(x,y)处画一个16*16点阵的图案,也可以是字符 *
352 //*形式参数:uchar x,uchar y,uchar code *img *
353 //* x取值范围:0~15 *
354 //* y取值范围:0~32 (针对RT12864-4M型液晶) *
355 //*形参说明:坐标水平位置,坐标垂直位置,要显示的图形 *
356 //*液晶屏坐标说明: *
357 //* _______________128个象素______________________ *
358 //* |(0,0) (7,0)| *
359 //* | | *
360 //* 6 | | *
361 //* 4 |(0,31) (7,31)| *
362 //* 个 |(8,0) (15,0)| *
363 //* 象 | | *
364 //* 素 | | *
365 //* |(8,31)________________________________(15,31)| *
C51 COMPILER V8.02 LCM 04/06/2008 20:10:28 PAGE 7
366 //* *
367 //*返回参数:无 *
368 //*使用说明:此函数适用于RT12864-4M型液晶 *
369 //******************************************************************************
370 void Parallel_ImgDisplayCharacter(uchar x,uchar y,uchar code *img)
371 {
372 1 uchar i;
373 1 Parallel_Graph_Mode_Set(0x01); //先关闭图形显示功能
374 1 Parallel_Write_LCD(COMMAND,EXTEND_FUNCTION);
375 1 for(i=0;i<16;i++)
376 1 {
377 2
378 2 // Parallel_Write_LCD(COMMAND,0x80+y+i);
379 2 //Parallel_Write_LCD(COMMAND,0x80+x);
380 2 Parallel_GDRAM_Address_Set(0x80+y+i);
381 2 Parallel_GDRAM_Address_Set(0x80+x);
382 2 Parallel_Write_LCD(DATA,img[i*2]);
383 2 Parallel_Write_LCD(DATA,img[i*2+1]);
384 2 }
385 1 Parallel_Graph_Mode_Set(0x00); //最后打开图形显示功能
386 1 }
387
388
389
390 void main(void)
391 {
392 1 PSB=0;
393 1 Parallel_Init_LCD();
394 1 while(1)
395 1 {
396 2
397 2 Parallel_DisplayStrings_WithAddress(0x80,Tab1);
398 2 Parallel_DisplayStrings_WithAddress(0x90,Tab2);
399 2 Parallel_DisplayStrings_WithAddress(0x88,Tab3);
400 2 Parallel_DisplayStrings_WithAddress(0x98,Tab4);
401 2 //Parallel_ImgDisplay(Tab5);
402 2 //Parallel_ImgDisplayCharacter(2,8,Tab1);
403 2 //Parallel_ImgDisplay(Tab5);
404 2 }
405 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 548 ----
CONSTANT SIZE = 55 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 9
IDATA SIZE = ---- ----
BIT SIZE = ---- 3
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -