液晶显示计数器倒计时完整程序.docx
- 文档编号:8770273
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:7
- 大小:14.93KB
液晶显示计数器倒计时完整程序.docx
《液晶显示计数器倒计时完整程序.docx》由会员分享,可在线阅读,更多相关《液晶显示计数器倒计时完整程序.docx(7页珍藏版)》请在冰豆网上搜索。
液晶显示计数器倒计时完整程序
液晶显示+计数器倒计时完整程序
/********************AT89C52实验开发板例程************************
1602液晶显示+计数器倒计时晶振:
11.0592MHZ
*****************************************************************/
#include<reg52.h>
#include<intrins.h>
sbitLCD_RS=P2^4;
sbitLCD_RW=P2^3;
sbitLCD_EN=P2^2;
unsignedchartt,miao,fen,shi;
unsignedchara[]="QQ:
287712876";
charb[]="00:
00:
00";
/****************************************************************/
/**/
/*延时子程序*/
/**/
/****************************************************************/
voiddelay(intms)
{
inti;
while(ms--)
{
for(i=0;i<250;i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
delay1(unsignedintz)
{unsignedcharx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/*检查LCD忙状态*/
/*lcd_busy为1时,忙,等待。
lcd-busy为0时,闲,可写指令与数据。
*/
/**/
/****************************************************************/
bitlcd_busy()
{
bitresult;
LCD_RS=0;
LCD_RW=1;
LCD_EN=1;
_nop_();
_nop_();
_nop_();
_nop_();
result=(bit)(P1&0x80);
LCD_EN=0;
returnresult;
}
/****************************************************************/
/**/
/*写指令数据到LCD*/
/*RS=L,RW=L,E=高脉冲,D0-D7=指令码。
*/
/**/
/****************************************************************/
voidwrite_com(unsignedcharcom)
{
while(lcd_busy());
LCD_RS=0;
LCD_RW=0;
LCD_EN=0;
_nop_();
_nop_();
P1=com;
_nop_();
_nop_();
_nop_();
_nop_();
LCD_EN=1;
_nop_();
_nop_();
_nop_();
_nop_();
LCD_EN=0;
}
/****************
*************************
***********************/
/**/
/*写显示数据到LCD*/
/*RS=H,RW=L,E=高脉冲,D0-D7=数据。
*/
/**/
/****************************************************************/
voidwrite_date(unsignedchardate)
{
while(lcd_busy());
LCD_RS=1;
LCD_RW=0;
LCD_EN=0;
P1=date;
_nop_();
_nop_();
_nop_();
_nop_();
LCD_EN=1;
_nop_();
_nop_();
_nop_();
_nop_();
LCD_EN=0;
}
/****************************************************************/
voidwrite_sfm(unsignedcharadd,unsignedchardate)
{unsignedcharshi,ge;
shi=date/10;
ge=date%10;
write_com(0x80+0x40+add);
write_date(0x30+shi);
write_date(0x30+ge);
}
/****************************************************************/
/**/
/*LCD初始化设定*/
/**/
/****************************************************************/
voidinit()
{unsignedinti;
write_com(0x38);//16*2显示,5*7点阵,8位数据
delay(5);
write_com(0x38);
delay(5);
write_com(0x38);
delay(5);
write_com(0x0c);//显示开,关光标
delay(5);
write_com(0x06);//移动光标
delay(5);
write_com(0x01);//清除LCD的显示内容
delay(5);
write_com(0x80);
for(i=0;i<16;i++)
{write_date(a[i]);
delay1(5);
}
write_com(0x80+0x40);
for(i=0;i<12;i++)
{write_date(b[i]);
delay1(5);
}
TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
voidmain()
{//unsignedchari;
init();
while
(1)
{if(tt==20)
{tt=0;
miao++;
if(miao==60)
{miao=0;
fen++;
if(fen==60)
{fen=0;
shi++;
if(shi==24)
{shi=0;}
write_sfm(4,shi);
}
write_sfm(7,fen);
}
write_sfm(10,miao);
}
}
}
voidtimer0()interrupt1
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
}
/****************************************************************/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 液晶显示 计数器 倒计时 完整 程序
![提示](https://static.bdocx.com/images/bang_tan.gif)