- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用 51 单片机做的电子时钟
程序如下:
#include
unsigned char code
table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
,0x40,0x76};// 字码表 0-9,最后一个是一横 -
unsigned int i,a,b,c,d,flag,flag1;
unsigned int sec,min,h,nm,nh,nz;
unsigned int w,day,mon,year;
int miao1,miao2,miao3;
sbit keyled=P1^0;
sbit key2=P1^1;
sbit keyinc=P1^2;
sbit keymood=P1^3;
sbit BEEP=P1^4;
void second();
void minute();
void hour();
void time();
void riqi();
void xianshi();
void delay10ms();
void delay20ms();
void tiaoshi();
void miaobiao();
void miaotime();
void week();
void naozhong();
void shengyin();
// 前几天刚用了下定时器 ,想起来之前用汇编写的时钟程序基
本没有什么功能 ,所以这几天就用 C 再写了下
// 这个时钟的功能是模仿我自己的手表写的 ,功能完全一样 ,
有秒表 ,闹钟 ,可以显示年月日及星期
/
{
if(min==nmamp;amp;h==nh)// 时间到了 ,闹钟响
{
shengyin(); // 闹钟的声音程序
}
}
if(c==0||c==2)
{
if(keymood==0)
{
miao1=0;
miao2=0;
miao3=0;
}
}
while(b==1)// 保证按键只按一次 ,没有重复按键
{tiaoshi();
goto B1; // 如果 b 还等于 1,刚重复扫描秒表界面
}
}
/
{ i=0; //将 i 清零 ,保证每次进入都是一样的
B2:if(nz==0)
{ if(min==nmamp;amp;h==nh)
{
shengyin();
}
}
naozhong();
while(b==2)
{ tiaoshi();
goto B2;
}
}
/
{ i=1;
B3:if(nz==0)
{ if(min==nmamp;amp;h==nh)
{
shengyin();
}
}
xianshi(); // 显示程序 ,用 i 的大小来分配 ,相当于调时、分、秒
就显示时间,调年月日就显示日期
while(b==3)
{tiaoshi();
goto B3;
}
}
/
{ i=0;
if(nz==0)
{ if(min==nmamp;amp;h==nh)
{
shengyin();
}
}
second();
minute();
hour();
}
if(keyinc==0)
{ delay10ms();
if(keyinc==0)
{
B: riqi();
while(keyinc==0)
{
goto B;
}
}
}
if(keymood==0)
{
delay10ms();
if(keymood==0)
{
文档评论(0)