51单片机LCD液晶屏按键电子时钟的设计.docx
《51单片机LCD液晶屏按键电子时钟的设计.docx》由会员分享,可在线阅读,更多相关《51单片机LCD液晶屏按键电子时钟的设计.docx(3页珍藏版)》请在冰豆网上搜索。
51单片机LCD液晶屏按键电子时钟的设计
51单片机LCD液晶屏按键电子时钟的设计
液晶屏为JM12864或FYD12864(带字库),我用这两种型号的屏没问题,4行*8列汉字=32串行通信接/口P1.5--P1.7,可根据你的电路修改相应的接口。
#include
#defineucharunsignedchar
voidLCD_ini();
voidascii_change(void);
voiddelay();
voidwri_add(ucharcom);
voidwri_dat(ucharcom1);
voidshan(void);
voiddisp();
voidtkey(void);
sbitcs=P1_;
sbitsid=P1_;
sbitsclk=P1_;
bitflag=1;
uchardat,count,f=1;//f测试哪个单元为当前闪烁状态
uchardatacLOCk[3]={23,45,12};
ucharcodeclockname[10]={“北京时间:
”};
uchardatanum[6];
/*******主程序*************/
voidmain()
{
lcd_ini();
count=10;//机器周期为1us,每次定时50ms,此变量用来控制循环次数,在下面赋值为20,共定时1秒
TMOD=0x01;
TL0=0XB0;
TH0=0X3C;
EA=1;
ET0=1;
IT0=1;
EX0=1;
TR0=1;
while
(1)
{
back:
ascii_change();
disp();
delay();
if(flag==1)
gotoback;
tkey();
shan();
delay();
}
}
/****lcd初始化*******/
voidlcd_ini()
{
wri_add(0x30);
delay();
wri_add(0x0c);
delay();
wri_add(0x01);
delay();