C51单片机实现液晶秒表以及简单计算器C51单片机制作Word下载.docx
- 文档编号:19684065
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:13
- 大小:17KB
C51单片机实现液晶秒表以及简单计算器C51单片机制作Word下载.docx
《C51单片机实现液晶秒表以及简单计算器C51单片机制作Word下载.docx》由会员分享,可在线阅读,更多相关《C51单片机实现液晶秒表以及简单计算器C51单片机制作Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
8'
9'
:
'
};
ucharsecond;
ucharminute;
ucharhour;
uinttcnt,g;
ucharflag;
voiddlms(void);
ucharkbscan(void);
voidShow_Time(void);
voiddelay5ms(void);
voiddlms(void);
voidSettime(ucharverify);
//verify在这里为调整的意思
voiddelay400ms(void);
///#definebusy0x80file:
//用/于检测LCD状态字中的Busy标识
///#defineRSaddr0x1000
///#defineRWaddr0x2000
///#defineCSaddr0x0400
#definewc0x8fff
#definewd0xdfff
#definerc0xbfff
voidwaitLcd()//justwaituntil液晶不忙为止
{
chartemp;
bitflag=1;
while(flag==1)
temp=XBYTE[rc];
if(temp>
>
7==0)flag=0;
P1=temp;
}
P1=0xff;
//justwaituntil液晶不忙为止
voidWriteCommand_Lcd(bitisCheck,charc)
if(isCheck==1)waitLcd();
XBYTE[wc]=c;
voidwritedata(charc)
{
waitLcd();
XBYTE[wd]=c;
}
voidLcdInit()
delay5ms();
delay5ms();
WriteCommand_Lcd(0,0x38);
//三次显示模式设置,不检测忙信号
WriteCommand_Lcd(1,0x38);
//显示模式设置,开始要求每次检测忙信号,8位2行5*7
WriteCommand_Lcd(1,0x08);
//关闭显示
WriteCommand_Lcd(1,0x01);
//清显示
WriteCommand_Lcd(1,0x06);
//文字不动,光标右移
WriteCommand_Lcd(1,0x0C);
//显示开及光标设置
}
voiddisplayListChar(unsignedcharX,unsignedcharY,ucharDData)
{
Y&
=0x1;
X&
=0xF;
if(X<
=0xF)
Y&
if(Y)X|=0x40;
X|=0x80;
WriteCommand_Lcd(0,X);
writedata(dispbuf[DData]);
voidShow_Time(unitk)
displayListChar(0,0,hour/10);
displayListChar(1,0,hour%10);
displayListChar(2,0,10);
displayListChar(3,0,minute/10);
displayListChar(4,0,minute%10);
displayListChar(5,0,10);
displayListChar(6,0,second/10);
displayListChar(7,0,second%10);
switch(k)
case1:
displayListChar(0,1,1);
case2:
displayListChar(0,1,2);
case3:
displayListChar(0,1,3);
case4:
displayListChar(0,1,4);
case5:
displayListChar(0,1,5);
case6:
displayListChar(0,1,6);
case7:
displayListChar(0,1,7);
case8:
displayListChar(0,1,8);
case9:
displayListChar(0,1,9);
case10:
displayListChar(0,1,10);
case11:
displayListChar(0,1,11);
case12:
displayListChar(0,1,12);
case13:
displayListChar(0,1,13);
case14:
displayListChar(0,1,14);
case15:
displayListChar(0,1,15);
case16:
displayListChar(0,1,16);
voidSettime(ucharverify)
//键盘设置
//1/hour+(0xee)2/minute+0xde3/second+0xbe+
//4/hour-0xed5/minute-0xdd6/second-0xbd-
//789*
//0CLR=/
////hour+的代码
if(flag)
if(verify==0xee)
dlms();
hour++;
if(hour==24)
hour=0;
//while(verify==0xee);
verify=0x00;
//1/hour+(0xee)2/minute+0xde3/second+0xbe
///minute+的代码
elseif(verify==0xde)
if(verify==0xde)
minute++;
if(minute==60)
minute=0;
//while(verify==0xde);
//////second++的代码
elseif(verify==0xbe)
if(verify==0xbe)
second++;
if(second==60)
sec;
//while(verify==0xbe);
//////hour-(0xed)的代码
elseif(verify==0xed)
if(verify==0xed)
if(hour==0)
{hour=24;
hour--;
//if(hour==0)
//{
//hour=23;
//}
//while(verify==0xed);
//4/hour-0xed5/minute-0xdd6/second-0xbd
///下面为minute-的代码
elseif(verify==0xdd)
if(verify==0xdd)
{if(minute==0)
{minute=60;
minute--;
//if(minute==0)
//{
//minute=59;
//while(verify==0xdd);
//4/hour-0xed5/minute-0xdd6/second-0xbd
///下面为second-的代码
elseif(verify==0xbd)
if(verify==0xbd)
{if(second==0)
{sec;
second--;
//if(second==0)
//sec;
//while(verify==0xbd);
voidmain(void)
TMOD=0x02;
//置自动重装载模式
TH0=0x06;
//设初值
TL0=0x06;
TR0=1;
//开始计数
ET0=1;
//开定时器/计数器
EA=1;
//中断开
delay400ms();
//启动等待,等LCM讲入工作状态
LcdInit();
//LCM初始化
while
(1)
ucharkey;
key=kbscan();
Show_Time();
//if((key==0xee)||(key==0xbe)||(key==0xde)||(key==0xed)||(key==0xdd)||(key==0xbd))
if(key!
=0)
if(key==0x7e)
EA=0;
flag=1;
key=0x00;
if(key==0x7d)
flag=0;
Settime(key);
}
voiddelay5ms(void)
unsignedintTempCya=277;
while(--TempCya);
//延时400ms
voiddelay400ms(void)
unsignedintTempCya=22160;
voidtimer0(void)interrupt1using1
{
tcnt++;
if(tcnt==2000)
tcnt=0;
//键盘扫描
ucharkbscan(void)
ucharsccode;
P1=0xf0;
if((P1&
0xf0)!
=0xf0)
if((P1&
=0xf0)
sccode=0xfe;
while((sccode&
0x10)!
=0)
P1=sccode;
if((P1&
temp1=P1;
returntemp1;
else
sccode=(sccode<
<
1)|0x01;
return(0);
voiddlms(void)
g=554;
while(g--);
//延时10mS钟
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C51 单片机 实现 液晶 秒表 以及 简单 计算器 制作