51单片机c语言电子钟.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

51单片机c语言电子钟(已加入调时、闹铃、

整点报时功能)

效果图:

程序如下:

//51单片机c语言电子钟(已加入调时、闹铃、整点报时功能)

//WHJWNAVY2011/10/14

#includereg51.h

#includeabsacc.h

#defineucharunsignedchar

#defineuintunsignedint

/*七段共阴管显示定义*/

//此表为LED的字模,共阴数码管0-9-

ucharcodedispcode[]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//段码控制

/*定义并初始化变量*/

ucharseconde=0;//秒

ucharminite=0;//分

ucharhour=12;//时

ucharmstcnt=0;//定时器计数,定时50ms,mstcnt满20,秒加1

ucharshi=0;//闹铃功能

ucharfen=0;

ucharbjcs;//报警次数

sbitP1_0=P1^0;//second调整定义

sbitP1_1=P1^1;//minite调整定义

sbitP1_2=P1^2;//hour调整定义

sbitP1_5=P1^5;//整点报时

sbitP1_3=P1^3;//闹铃功能,调整时间

sbitP1_6=P1^6;//调整时

sbitP1_7=P1^7;//调整分

sbitP1_4=P1^4;//关闭闹铃

/*函数声明*/

voiddelay(uintk);//延时子程序

voidtime_pro();//时间处理子程序

voiddisplay();//显示子程序

voidkeyscan();//键盘扫描子程序

/*延时子程序*/

voiddelay(uintk)

{

ucharj;

while((k--)!=0)

{

for(j=0;j125;j++)

{;}

}

}

/*时间处理子程序*/

voidtime_pro(void)

{

if(seconde==60)

{

seconde=0;

minite++;

if(minite==60)

{

minite=0;

hour++;

if(hour==24)

{

hour=0;

}

}

}

}

/*显示子程序*/

voiddisplay(void)

{

if(P1_3==1)

{

P2=0XFE;

P0=dispcode[seconde%10];//秒个位

delay(1);

P2=0XFD;

P0=dispcode[seconde/10];//秒十位

delay(1);

P2=0XFB;

P0=dispcode[10];//间隔符-

delay(1);

P2=0XF7;

P0=dispcode[minite%10];//分个位

delay(1);

P2=0XEF;

P0=dispcode[minite/10];//分十位

delay(1);

P2=0XDF;

P0=dispcode[10];//间隔符-

delay(1);

P2=0XBF;

P0=dispcode[hour%10];//

文档评论(0)

186****2228 + 关注
实名认证
内容提供者

博士毕业生

1亿VIP精品文档

相关文档