能把帶字庫12864液晶顯示漢字了,程序如下,以供參考顯示三屏漢字,每屏顯示三秒,來回循環(huán)顯示
本文引用地址:http://m.ptau.cn/article/201611/322830.htm
#include
#defineucharunsignedchar
#defineuintunsignedint
#definelcd_data P0
uchar code table1[]="鐘山風(fēng)雨起蒼黃毛""百萬雄師過大江澤""亦將剩勇追窮寇東""不可沽名學(xué)霸王七";
uchar code table2[]="學(xué)習(xí)技術(shù)天天向上""努力學(xué)習(xí)才有提高""總結(jié)經(jīng)驗(yàn)不斷前進(jìn)""電子設(shè)計(jì)一路領(lǐng)先";
uchar code table3[]="愛一個(gè)人難卻還愛""交結(jié)朋友可路更寬""誠實(shí)守信加油努力""成功做人成功做事";
sbit lcden=P2^7;
sbit rd=P2^6;
sbit wr=P2^5;
sbit psb=P3^2;//并/串方式選擇
voiddelay(uint z)//延遲函數(shù)
{
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);//這個(gè)延遲函數(shù)必須要有,因?yàn)樽x數(shù)據(jù)時(shí)當(dāng)E為高時(shí),數(shù)據(jù)必須保持穩(wěn)定
lcden=1;
lcden=0;
}
voidwrite_date(uchar date)//寫數(shù)據(jù)
{
rd=1;
wr=0;
lcden=0;
P0=date;
delay(5);//這個(gè)延遲必須要有
lcden=1;
lcden=0;;
}
voidwrite_word(uchar *add)//用指針
{
uchar i;
write_com(0x80);//從第一行開始顯示
for(i=0;i<64;i++)//一個(gè)漢字占兩個(gè)字節(jié)
{
write_date(*add);
add++;//指針加,指向下一個(gè)字節(jié)
}
}
voidinit()//初始化
{
psb=1;//設(shè)置并口方式
write_com(0x 0c);//顯示狀態(tài) 整體顯示開
write_com(0x01);//游標(biāo)左移
write_com(0x30);//功能設(shè)定基本指令操作
write_com(0x10);//游標(biāo)左移
}
voidmain()
{
init();
while(1)
{
write_word(table1);
delay(3000);//每一屏顯示秒鐘
write_word(table2);
delay(3000);
write_word(table3);
delay(3000);
}
}
評(píng)論