微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 12864液晶循环显示三屏汉字

12864液晶循环显示三屏汉字

时间:11-28 来源:互联网 点击:
能把带字库12864液晶显示汉字了,程序如下,以供参考

显示三屏汉字,每屏显示三秒,来回循环显示

#include

#defineucharunsignedchar

#defineuintunsignedint

#definelcd_data P0

uchar code table1[]="钟山风雨起苍黄毛""百万雄师过大江泽""亦将剩勇追穷寇东""不可沽名学霸王七";

uchar code table2[]="学习技术天天向上""努力学习才有提高""总结经验不断前进""电子设计一路领先";

uchar code table3[]="爱一个人难却还爱""交结朋友可路更宽""诚实守信加油努力""成功做人成功做事";

sbit lcden=P2^7;

sbit rd=P2^6;

sbit wr=P2^5;

sbit psb=P3^2;//并/串方式选择

voiddelay(uint z)//延迟函数

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--)

;

}

voidwrite_com(uchar com)//写指令

{

rd=0;

wr=0;

lcden=0;

P0=com;

delay(5);//这个延迟函数必须要有,因为读数据时当E为高时,数据必须保持稳定

lcden=1;

lcden=0;

}

voidwrite_date(uchar date)//写数据

{

rd=1;

wr=0;

lcden=0;

P0=date;

delay(5);//这个延迟必须要有

lcden=1;

lcden=0;;

}

voidwrite_word(uchar *add)//用指针

{

uchar i;

write_com(0x80);//从第一行开始显示

for(i=0;i<64;i++)//一个汉字占两个字节

{

write_date(*add);

add++;//指针加,指向下一个字节

}

}

voidinit()//初始化

{

psb=1;//设置并口方式

write_com(0x 0c);//显示状态 整体显示开

write_com(0x01);//游标左移

write_com(0x30);//功能设定基本指令操作

write_com(0x10);//游标左移

}

voidmain()

{

init();

while(1)

{

write_word(table1);

delay(3000);//每一屏显示秒钟

write_word(table2);

delay(3000);

write_word(table3);

delay(3000);

}

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top