中断定时器数字钟(51单片机).pdf

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

中断定时器数字钟(51单片机)--第1页

多功能数字钟(A)

一、任务

设计制作一个24小时制多功能数字钟。示意图如下(仅供参考):

二、要求

(1)具有时间设置(小时和分钟)、闹钟时间设置、闹钟开、闹钟关功能。

(2)数字显示小时、分钟,有AM、PM指示器,闹钟就绪灯,蜂鸣器。

(3)220V供电。

#includereg51.h

#defineucharunsignedchar

#defineuintunsignedint

ucharcodetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳极数码管数

字定义

uintclock[2]={58,23};//初始化时间

uintalarm[2]={0,23};//初始化闹铃时间

uinti,miao,flag;

sbitrd=P1^3;

sbitkey4=P1^4;//只有摁下这个才可以调整时间

sbitkey3=P1^5;//摁下这个可以切换出闹铃设置时间以便调整

sbitkey2=P1^6;//增加小时的个位数,开闹铃

sbitkey1=P1^7;//增加分钟的个位数,关闹铃

sbitdidi=P3^7;//闹铃接口

中断定时器数字钟(51单片机)--第1页

中断定时器数字钟(51单片机)--第2页

voiddelay(uintt)//延时代码

{

uintx,y;

for(x=t;x0;x--)

for(y=120;y0;y--);

}

voidinitial()//初始化

{

TMOD=0x01;//T0方式1计时0.05S

TH0=(65536-50000)/256;//定时器T0的高四位赋值

TL0=(65536-50000)%256;//定时器T0的低四位赋值

EA=1;//中断允许

ET0=1;//允许计数器T0中断

TR0=1;//开中断,启动定时器

}

voidtimer0()interrupt1//定时器启动1模式

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

i++;

if(i==18)

{

i=0;

miao++;//根据振荡频率计算时间增加秒

if(miao==60)//如果秒=60了归为零且分钟增加一分钟

{

miao=0;

clock[0]=clock[0]+1;

if(clock[0]==60)//如果分钟为60,小时增加1

文档评论(0)

192****7877 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档