利用51单片机实现多功能数字钟

利用51单片机实现多功能数字钟
利用51单片机实现多功能数字钟

课程设计任务书

学生姓名:专业班级:电子科学与技术1203班

指导教师:工作单位:信息工程学院

题目: 多功能数字钟的设计

初始条件:

本设计既可以使用集成译码器、计数器、定时器、脉冲发生器和必要的门电路等。本设计也可以使用单片机系统构建多功能数字钟。用数码管显示时间计数值。

要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)

1、课程设计工作量:1周。

2、技术要求:

①设计一个数字钟。要求用六位数码管显示时间,格式为00:00:00。

②具有60进制和24进制(或12进制)计数功能,秒、分为60进制计数,时为24进制(或

12进制)计数。

③有译码、七段数码显示功能,能显示时、分、秒计时的结果。

④设计提供连续触发脉冲的脉冲信号发生器,

⑤具有校时单元、闹钟单元和整点报时单元。

⑥确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画

出总体电路原理图,阐述基本原理。

3、查阅至少5篇参考文献。按《武汉理工大学课程设计工作规范》要求撰写设计报告书。全

文用A4纸打印,图纸应符合绘图规范。

时间安排:

1、2014 年6 月21日集中,作课设具体实施计划与课程设计报告格式的要求说明。

2、2014 年6 月21日,查阅相关资料,学习电路的工作原理。

2、2014 年6 月22 日至2014 年 6 月23日,方案选择和电路设计。

2、2014 年6 月24 日至2014 年 6 月25 日,电路调试和设计说明书撰写。

3、2014 年 6 月26 日上交课程设计成果及报告,同时进行答辩。

课设答疑地点:鉴主15楼电子科学与技术教研室。

指导教师签名:年月日

系主任(或责任教师)签名:年月日

目录

摘要...................................................................................................................................................................... I I 多功能数字钟的设计 (1)

1设计内容及技术要求 (1)

1.1设计内容 (1)

1.2技术要求 (1)

2电路方案论证和确定及工作原理分析 (1)

2.1电路方案论证 (1)

2.2方案的确定 (1)

2.3电路工作原理分析 (2)

2.4多功能数字钟的硬件系统框架 (2)

3单元电路设计 (2)

3.1显示单元电路设计 (2)

3.2报时单元电路设计 (3)

3.3按键和拨动开关部分 (4)

3.4时钟部分和电源部分 (4)

4电路仿真与仿真结果分析 (5)

4.1电路仿真图 (5)

4.2电路仿真结果分析 (6)

5电路安装与调试 (6)

6本次设计电路的特点及改进意见 (6)

参考文献 (8)

附录1 整体电路图 (9)

附录二整体软件清单 (10)

摘要

这份设计报告主要介绍基于STC89C52单片机的多功能数字钟的设计,以STC89C52单片机为主体,用2个三位共阴七段数码管来显示时、分、秒,本设计采用24小时计时,用11.0592MHz晶振提供单片机所需要的脉冲,通过蜂鸣器产生闹钟或整点报时的功能。本设计除了具有计时的基本功能外,也具有校时、闹钟、整点报时、人工止闹的功能,这几个功能都是单片机实现的。通过实物制作证明要求的功能都可以实现,达到设计的指标。

关键词:单片机;动态显示;定时器中断;软件去抖;

多功能数字钟的设计

1设计内容及技术要求

1.1设计内容

按照数电课设要求,本课程设计的的主要内容是一个基于STC89C52单片机的一个数字钟,通过数码管进行数字显示,在设计时是通过搭建一个STC89C52单片机的最小系统, 2个三位数码管构成6位数码管和单片机的相应引脚进行连接,一些拨动开关和按键通过导线和单片机的一些引脚连接用来提供外部信息,另外还有蜂鸣器部分电路用来报时,然后通过编程实现所要求的功能。

1.2技术要求

本设计的技术要求包括:精确计时,数码管显示时、分、秒,人工校时,定时功能,整点报时功能。

2电路方案论证和确定及工作原理分析

2.1电路方案论证

方案一:用32768Hz晶振产生脉冲,然后经过计数器15分频产生秒脉冲,然后用计数器、译码器、6个一位数码管进行制作。采用此方案进行设计,需要30片左右的数字芯片,并且线路复杂。

方案二:用STC89C52单片机进行制作,利用单片机的智能化,单片机具有时钟振荡系统,并且单片机内部具有定时器/计数器功能,可以很方便的实现所需要的功能。

2.2方案的确定

通过比较,方案一电路复杂,用的芯片多,费用在百元以上,当电路功能需要进行改动

时很麻烦,相比之下,方案二比较好,电路简单,只需一片STC89C52芯片,费用低,电路功能改变容易,所以选择方案二。

2.3电路工作原理分析

STC89C52单片机外接一个11.0592MHz 的晶振,单片机按晶振产生的脉冲进行工作,数码管采用动态显示,通过编程控制单片机的工作状态,其中,计时部分用到单片机的定时器中断功能[1],即单片机的计时功能不受其执行其他程序时的干扰。通过按键和拨动开关的配合给单片机提供相应的信息让单片机程序中的变量发生改变,进而可以进行校时、定时功能

2.4多功能数字钟的硬件系统框架

1-1硬件系统框架图

3

单元电路设计

3.1

显示单元电路设计

CPU

按键部分

拨动开关 电源部分 数码管显示

数码管显示部

时钟部分

报时部分

图1-2 显示部分电路图

因为市场上6位一体的数码管不容易买到,所以采用用三位一体的数码管来组成六位数码管用来显示,为了便于实际中的布线,这里的数码引脚没有采用按a-h的顺序连到P0口,在编程时应该注意数字的编码。其中P1.0-P1.5用来选择让哪个数码管亮,因为本实验比较简单,采用直接相连的办法,完全可以实现其功能。显示部分采用的显示方法是动态显示,即选定一位数码管,送一个这个被选定的数码管需要显示的数码,然后选定下一个数码管,送一个这个数码管需要显示的数码,如此循环,由于单片机的执行速度很快,人眼无法反应过来,就可以看到不同的数码显示了[2]。

3.2报时单元电路设计

图1-3 报时部分电路图

当P1.6引脚输出低电平时,三极管Q1饱和导通,此时蜂鸣器发出声音,用来报时。当P1.6引脚输出高电平,三极管Q1截止,蜂鸣器没办法工作。

3.3按键和拨动开关部分

1-4

拨动开关电路图

通过拨动开关可以使单片机P3.2、P3.3、P3.7连接到高电平或低电平,单片机可以检测到相应的引脚电平变化,而做出不同的相应。当按键没有按下时,和按键相连的引脚为高点平,当按键按下时,和按键相连的引脚和地相连,变为低电平,然后单片机根据哪个引脚电平变低,来做出相应的响应[3]。

3.4时钟部分和电源部分

图1-5 时钟部分和电源部分的电路图

本电路设计采用USB接口进行供电,这样便于在多处场合使用,其中LED1和R1组成的电路是为了提醒用户已经有电供应,STC89C52单片机40脚接+5V,20脚接地,这样单片机供电正常,然后CP1是11.0592MHz的晶振,用来给单片机提供工作需要的脉冲,其中两个22p的瓷片电容是帮助晶振产生脉冲的。

4电路仿真与仿真结果分析

4.1电路仿真图

图1-6 电路仿真图

4.2电路仿真结果分析

这里说明一下,由于使用的仿真软件中没有找到三位一体数码管就用了六位一体数码管,其实本质是一样的,在仿真图中,左边两位显示的是时的部分,中间两位显示的分的部分,右边的两位显示的秒的部分。通过仿真证明了电路的计时、校时、定时、整点报时功能都可以很好的实现,说明电路方案的是正确的。

5电路安装与调试

由于电路不是特别复杂,所以选择了用万用板手工焊的方式,按照电路图焊出来电路板,然后给其供电,所要求的功能完全可以实现,本次设计成功。通过和准确的时间对比,本次的多功能数字钟很难观察出误差。

6本次设计电路的特点及改进意见

本次的电路设计本着简单的原则进行设计,电路比较简单,但是还是有些方面需要改进,例如数码管的位选部分,可以利用三极管的开关特性进行位选,这样允许通过数码管的电流就可以大一点,数码管可以更亮一点,还有因为使用的是共阴数码管,所以上拉电阻和与数码管串联的电阻一块限流,这样数码管不是很亮,显示不是特别清晰。

表1-1 多功能数字钟的元件清单

序号元器件名称数量(片)

1 STC89C5

2 1

2 蜂鸣器 1

3 PNP三极管 1

4 红色LED 1

5 1K电阻14

6 5.1K电阻 1

7 三位一体共阴数码管 2

8 按键开关 3

9 拨动开关 4

10 USB接口 1

11 1K排阻 1

参考文献

[1] 姚燕南,姚向华,乔瑞萍.微型计算机原理(第五版).西安:西安电子科学出版社,2008.10

[2] 郭天祥.51单片机C语言教程——入门.提高.开发.拓展全攻略.北京:电子工业出版社,2009.1

[3] 秦志强.C51单片机应用与C语言程序设计(第二版).北京:电子工业出版社,2009.9

[4] 谭浩强.C程序设计(第四版).北京:清华大学出版社,2010.6

[5] 马德骏,张建宏,汤练兵.C语言程序设计(第二版).北京:科学出版社,2009

附录1 整体电路图

图1-7 整体电路图

附录二整体软件清单[4][5]

#include

#define uchar unsigned char

#define uint unsigned int

sbit a=P3^7; //

sbit h=P1^5; //

sbit l=P1^4; //

sbit b=P3^4; //

sbit m=P1^3; //

sbit n=P1^2; //

sbit q=P1^1; //引脚定义

sbit r=P1^0; //

sbit c=P3^5; //

sbit f=P3^3; //

sbit g=P1^6; //

sbit S=P3^2; //

sbit d=P3^6; //

uchar table[]={0xf3,0x90,0xcb,0xda,0xb8,0x7a,0x7b,0xd0,0xfb,0xfa};//数字编码uint e=2,t,i,s;//变量定义

uchar num,num1,num2,num3,num4,num5,num6,ds[6],dis[6];//变量定义

void display(uchar,uchar,uchar,uchar,uchar,uchar);//显示函数声明

void delayms(uint);//延时函数声明

void main()//主函数

{

TMOD=0X10;//设定定时器1为工作方式1为16位定时器/计数器

TH1=(65536-45872)/256;//装初值

TL1=(65536-45872)/256;

EA=1;//开总中断

ET1=1;//开定时器1中断

TR1=1;//启动定时器1

while(1)//无限循环

{

dis[0]=num1%10;//秒的个位

dis[1]=num1/10;//秒的十位

dis[2]=num2%10;//分的个位

dis[3]=num2/10;//分的十位

dis[4]=num3%10;//时的个位

dis[5]=num3/10;//时的十位

display(dis[5],dis[4],dis[3],dis[2],dis[1],dis[0]);//调用显示函数,显示时间

while(a==0)//当需要定时时,

{

display(ds[5],ds[4],ds[3],ds[2],ds[1],ds[0]);//调用显示函数,显示定时的时间

if(b==0) //当换位按键按下

{

delayms(10); //延时10ms

if(b==0) //再次检测

if(e<=4) //根据条件,

e=e+2; //循环改变变量e的值,e=2;4或6

else //等一下根据e的值进行确定进行调整的是时或分还是秒

e=2; //

while(!b); //等待按键释放

}

if(c==0) //当有增加的按键按下

{

delayms(10); //延时10ms

if(c==0) //检测按键是否还被按下

if(e<=2) //如果变量e小于等于2

{ num4++; //定时的时间秒位数字加1

if(num4>=60)//如果数字大于等于60;

num4=0; //令秒位等于00

}

if(e==4) //如果e等于4

{ num5++; //分位数字加1

if(num5>=60) //如果分位数值大于等于60

num5=0; //令分位数值等于00

}

if(e==6) //如果e等于6

{

num6++; //时位数值加1

if(num6>=24)//如果时位数值大于等于24

num6=0; //令时位数值为00

}

while(!c); //等待增加的按键释放

}

if(d==0) //当减少的按键按下

{

delayms(10); //等待10ms

if(d==0) //再次检测按键是否按下

if(e<=2) //如果变量e小于等于2

{

if(num4>=1)//如果秒位的数值大于等于1

num4--; //秒位减1

else //如果不是

num4=59; //令秒位为59

}

if(e==4) //如果变量e等于4

{

if(num5>=1)//如果分位数值大于等于1

num5--; //分位数值减1

else //如果不是

num5=59; //令秒位等于59

}

if(e==6) //如果变量e等于6

{

if(num6>=1)//如果时位大于等于1

num6--; //时位数值减1

else //如果不是

num6=23; //令时位为23

}

while(!d); //等待按键按下

}

ds[0]=num4%10; //定时时显示的秒的个位

ds[1]=num4/10; //定时时显示的秒的十位

ds[2]=num5%10; //定时时显示的分的个位

ds[3]=num5/10; //定时时显示的分的十位

ds[4]=num6%10; //定时时显示的时的个位

ds[5]=num6/10; //定时时显示的时的十位

}

if(dis[5]==ds[5]&&dis[4]==ds[4]&&dis[3]==ds[3]&&dis[2]==ds[2]&&S==0)//定时部分,当定时的时间和现在数字钟的时间时和分相同时

for(i=0;i<2;i++)//一个for循环

{

g=~g; //取反和蜂鸣器相连的那个引脚的输出

delayms(3); //调用延时函数,延时3ms

}

else //如果定时的时间和数字钟的时间时和分不同

if(dis[3]==0&&dis[2]==0&&dis[1]==0&&dis[0]==0)//如果时钟的时间分位和秒位都为零,即整点时

{

g=~g; //取反和蜂鸣器相连的那个引脚的输出

delayms(1); //调用延时函数,延时1ms

g=~g; //再次取反和蜂鸣器相连的那个引脚的输出

}

if(f==0) //如果校时的功能打开

{

if(b==0) //如果换位按键按下

delayms(10); //调用延时函数,延时10ms if(b==0) //再次检测按键是否按下

t=~t; //令变量取反

while(!b); //等待按键释放

if(t==0) //如果变量t等于0

{

if(c==0) //如果增加的按键按下

delayms(10);//调用延时函数,延时10ms if(c==0) //再次检测按键是否按下

num2++; //分位数值加1

if(num2>=60) //如果分位数值大于等于60

num2=0; //令分位数值等于0

while(!c); //等待按键释放

if(d==0) //如果减少的按键按下

delayms(10);//调用延时函数,延时10ms if(d==0) //再次检测按键是否按下

if(num2>=1) //如果分位数值大于等于1

num2--; //分位数值减1

else //如果不是

num2=59; //令分位数值等于59 while(!d); //等待按键按下

}

else //如果变量t等于1

{

if(c==0) //如果增加的按键按下

delayms(10);//调用延时函数,延时10ms if(c==0) //再次检测按键是否按下

num3++; //时位数值加1

if(num3>=24) //如果时位数值大于等于24

num3=0; //令时位数值等于0

while(!c); //等待按键释放

if(d==0) //如果减少的按键按下

delayms(10);//延时10ms

if(d==0) //再次检测按键是否还被按下if(num3>=1) //如果时位数值大于等于1

num3--; //时位数值减少1

else //如果时位数值小于1

num3=23; //令时位数值等于23 while(!d); //等待按键释放

}

}

}

}

void T1_time() interrupt 3 //中断服务程序

{

TH1=(65536-45872)/256; //给寄存器高位装初值

TL1=(65536-45872)%256; //给寄存器低位装初值

num++; //计数变量加1

if(num==20) //如果进入中断的次数等于20,即有了1s的时间

{

num=0; //令计数变量num等于零,从新开始计数

num1++; //秒位数值加1

if(num1>=60) //如果秒位数值大于等于60

{

num1=0; //令秒位数值等于0

num2++; //分位数值加1

}

if(num2>=60) //如果分位数值大于等于60

{

num2=0; //令分位数值等于零

num3++; //时位数值加1

if(num3>=24) //当时位数值大于等于24时

num3=0; //令时位数值等于0

}

}

}

void display(uchar four,uchar five,uchar six, uchar three, uchar two,uchar one)//显示函数,动态显示

{

h=~h; //选中第六位数码管

P0=table[one]; //给P0口送要显示的数据对应的编码,即秒的个位

delayms(2); //调用延时函数,延时2ms

h=~h; //不再选中第六位数码管

P0=0x00; //关闭所有的显示

l=~l; //选中第五位数码管

P0=table[two]; //给P0口送要显示的数据对应的编码,即秒的十位

delayms(2); //调用延时函数,延时2ms

l=~l; //取消选中第五位数码管

P0=0x00; //关闭所有的显示

m=~m; //选中第四位数码管

P0=table[three]; //给P0口送要显示的数据对应的编码,即分的个位

delayms(2); //调用延时函数,延时2ms

m=~m; //取消选中第四位数码管

P0=0x00; //关闭所有的显示

n=~n; //选中第三位数码管

P0=table[six]; //给P0口送要显示的数据对应的编码,即分的十位delayms(2); //调用延时函数,延时2ms

n=~n; //取消选中第三位数码管

P0=0x00; //关闭所有的显示

q=~q; //选中第二数码管

P0=table[five]; //给P0口送要显示的数据对应的编码,即时的个位delayms(2); //调用延时函数,延时2ms

q=~q; //取消选中第二位数码管

P0=0x00; //关闭所有显示

r=~r; //选中第一位数码管

P0=table[four]; //给P0口送要显示的数据对应的编码,即时的十位delayms(2); //调用延时函数,延时2ms

r=~r; //取消选中第一位数码管

P0=0x00; //取消所有显示

}

void delayms(uint xms) //延时函数,延时xms

{

uint j,k; //定义两个变量

for(j=xms;j>0;j--) //两个for循环;大约

for(k=110;k>0;k--); //能延时xms

}

本科生课程设计成绩评定表姓名性别

专业、班级

课程设计题目:

课程设计答辩或质疑记录:

成绩评定依据:

最终评定成绩(以优、良、中、及格、不及格评定)

指导教师签字:年月日

基于51单片机的数字钟

专业课程设计报告 专业班级 课程 题目基于51单片机的数字钟的设计报告学号 学生姓名 指导教师 成绩 2013年6月20日

基于A T89C51的数字钟总体设计说明书 目录 1. 51单片机设计数字钟设计的现实意义 (2) 2. 总体设计 (2) 2.1.开发与运行环境 (2) 2.2.硬件功能描述 (2) 2.3.硬件结构 (3) 3. 硬件模块设计 (3) 3.1.描述 (3) 3.1.1. AT89C51单片机简介 (3) 3.1.2. 键盘电路的设计 (4) 3.1.3. 显示器的选择 (5) 3.1.4. 蜂鸣器驱动电路 (5) 3.1.5. 各部分功能 (6) 4. 嵌入式软件设计 (7) 4.1.流程逻辑 (7) 4.2.算法 (7) 4.2.1. 中断定时器的设置 (27) 4.2.2. 闹钟子函数 (28) 4.2.3. 计时函数 (29) 4.2.4. 键盘扫描函数 (31) 4.2.5. 时间和闹钟的设置 (32) 5. 实验器材清单 (33) 6. 测试与性能分析 (33) 6.1.测试结果 (33) 6.2.优点 (33) 6.3.结论 (34) 7. 心得体会 (36) 8. 致谢 (36) 9. 参考文献 (37)

1.51单片机设计数字钟设计的现实意义 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间等造成的。而钟表的数字化给人们生产生活带来了极大的方便。数字钟是通过数字电路实现时,分,秒数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烤箱、通断动力设备、甚至各种定时电气的自动启用等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 2.总体设计 2.1.开发与运行环境 在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。使用Keil单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 2.2.硬件功能描述 硬件部分设置了的三个按键S1、S2、S3、S4。当按键S1第一次按下时,停止计时进

基于51单片机的实时时钟设计报告

课程设计(论文)任务书 信息工程学院信息工程专业(2)班 一、课程设计(论文)题目嵌入式课程设计 二、课程设计(论文)工作自 2014 年 6 月 9 日起至2014年 6月15日止。 三、课程设计(论文) 地点: 5-402 单片机实验室 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握单片机各功能模块的基本工作原理; (2)培养学生单片机应用系统的设计能力; (3)使学生能够较熟练地使用proteus工具完成单片机系统仿真。 (4)培养学生分析、解决问题的能力; (5)提高学生的科技论文写作能力。 2.课程设计的任务及要求 1)基本要求: (1)分析所设计系统中各功能模块的工作原理; (2)选用合适的器件(芯片); (3)提出系统的设计方案(要有系统电路原理图); (4)对所设计系统进行调试。 2)创新要求: 在基本要求达到后,可进行创新设计,如改善单片机应用系统的性能。 3)课程设计论文编写要求 (1)要按照书稿的规格打印撰写论文。 (2)论文包括目录(自动生成)、摘要、正文、小结、参考文献、附录等。 (3)论文装订按学校的统一要求完成。 4)答辩与评分标准: (1)完成原理分析:20分; (2)完成设计过程:30分; (3)完成调试:20分; (4)回答问题:20分; (5)格式规范性(10分)。

5)参考文献: (1)张齐.《单片机原理与嵌入式系统设计》电子工业出版社 (2)周润景.《PROTUES入门实用教程》机械工业出版社 (3)任向民.《微机接口技术实用教程》清华大学出版社 (4)https://www.360docs.net/doc/ce8804611.html,/view/a5a9ceebf8c75fbfc77db2be.html 6)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 系统设计与调试 4 实验室 撰写论文2图书馆、实验室 学生签名: 2014 年6 月9日 课程设计(论文)评审意见 (1)完成原理分析(20分):优()、良()、中()、一般()、差(); (2)设计分析(30分):优()、良()、中()、一般()、差(); (3)完成调试(20分):优()、良()、中()、一般()、差(); (4)回答问题(20分):优()、良()、中()、一般()、差(); (5)格式规范性(10分):优()、良()、中()、一般()、差(); 评阅人:职称: 2014 年6 月15 日

简单51单片机数字时钟设计

题目:简单51单片机数字时钟设计 院系: 物理与电气工程学院 专业:自动化专业 班级:10级自动化 姓名:苏吉振 学号:2 老师:李艾华

引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。 单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个 人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

基于51单片机的电子时钟的设计

目录 0 前言 (1) 1 总体方案设计 (2) 2 硬件电路设计 (2) 3 软件设计 (5) 4 调试分析及说明 (7) 5 结论 (9) 参考文献 (9) 课设体会 (10) 附录1 电路原理 (12) 附录2 程序清单 (13)

电子时钟的设计 许山沈阳航空航天大学自动化学院 摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。 单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。 关键字:AT89C2051,C语言程序,电子钟。 0前言 利用51单片机开发电子时钟,实现时间显示、调整和闹铃功能。具体要求如下: (1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试;

(4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; (5)实现闹钟功能,在设定的时间给出声音提示。 1总体方案设计 该电子时钟由89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。 图1 系统结构框图 该电子时钟由STC89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键K1,就会关闭时钟,当按下闹钟按键K3时时钟就会进入设置时间界面,但是时钟不会停止工作,按K2键,,就可以对时钟和闹钟要设置的时间进行调整。 2硬件电路设计

AT89C51单片机电子时钟设计资料

AT89C51单片机电子时钟设计 学院: 专业: 学号: 学生:

目录 1 电子时钟 (4) 1.1 电子时钟简介 (4) 1.2 电子时钟的基本特点 (4) 1.3 电子时钟的原理 (4) 2 单片机识的相关知识 (4) 2.1单片机简介 (4) 2.2 单片机的特点 (5) 2.3 AT89C51单片机介绍 (5) 3 设计方案的选择 (7) 3.1计时方案 (7) 3.2 显示方案 (7) 3.3 数码管显示工作原理 (8) 3.4 键盘电路设计 (9) 3.5 主控模块AT89C51 (9) 4 系统软件设计 (9) 附录 (12)

摘要:单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次设计通过对它的学习、应用,以AT89C51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机;电子时钟;AT89C51

1 电子时钟 1.1 电子时钟简介 本设计采用AT89C51单片机,以汇编语言为程序设计的基础,设计一个用六位数码管显示时、分、秒的时钟。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零,从而达到计时的功能,是人民日常生活不可缺少的工具。 1.2 电子时钟的基本特点 现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。 1.3 电子时钟的原理 该电子时钟由AT89C51,键盘,八段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。 2 单片机识的相关知识 2.1单片机简介 单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。

基于单片机的数字钟设计-(1)

基于单片机的数字时钟摘要 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 本课题主要研究的是基于单片机的数字钟设计,采用AT89C51单片机作为系统的主控芯片,外接LED显示电路,按键电路,晶振电路,复位电路模块构成一个简单的数字钟。通过按键电路能对时、分、秒分别进行设置和实时调整,并将结果显示在数码管上。 关键词:数字钟,单片机,数码管

Abstract Author:cheng dong Tutor:wang xin Electronic technology has been developed rapidly in the 20 century,with its modern electronic products, pushed by almost permeated every area of society has vigorously promoted social productive forces development and improvement of social informatization level, also make modern electronic product performance further improved, and the rhythm of upgrade its products is becoming more and more quickly. The most common SCM module is a digital clock, a digital clock is a kind of digital circuit technology implementation, minutes and seconds, the timing device with mechanical clock compared with higher accuracy and intuitive and no mechanical device, has more longer service life, so it has been widely used. This topic research is the digital clock design based on SCM, AT89C51 SCM as the main control chip system, external LED display circuit, key circuits, crystals circuit, reset circuit module constitute a simple digital clock. Through the key circuits can respectively the diffculties, minutes and seconds setting and real-time adjustment, and the result showed that in the digital tube. Key words:digital clock SCM ; digital

基于51单片机的多功能电子钟设计

基于51单片机的多功能电子钟设计 【摘要】数字电子时钟是人们日常生活中不可或缺的必需品。本文以STC89C52为核心控制芯片,DS12887为时钟芯片,DS18B20为温度传感器,通过液晶显示器LCD1602实时显示时间及温度,通过按键设置年月日和星期以及定时闹钟,定时闹钟时间到自动发出警报。本设计的+5V电源采用LM1117电压转换元件,将电源适配器转换得到的12V电压直接变成5V电压供系统使用。程序的下载则是通过普中科技公司自制的PZ-ISP软件完成。经过测试,系统可以正常完成预定的功能。 【关键词】电子时钟;单片机;DS12887;DS18B20;

Design of Multi-function Clock Based on 51 MCU 【Abstract】Digital electronic clock is an integral, necessary part of daily life.In this paper, STC89C52 chip is used as the core control chip, DS12887chip is used as the clock chip, DS18B20 chip is used as the temperature sensor and LCD1602 was used to diaplay time and temperature。You can set year, month and time alarm clock through the four buttons.When the real time reach to the time clock,the system will warn automatically. The +5V power of the system is supplied by LM1117 voltage conversion device. The 12V voltage get from power adapter was transformed directly into 5V voltage for the system. The download of the process is accomplished through the PZ-ISP software made by Puzhong technology company. After testing, the system can complete the scheduled function normally. 【key words】electronic clock;MCU;DS12887;DS18B20

基于51单片机的电子时钟设计源程序

#include unsigned char DispBuf[6]; //时间显示缓冲区 unsigned char Disdate[6]; //日期显示缓冲区 unsigned char DisSec[6]; //秒表缓冲区 struct //设定时间结构体 { unsigned char Hour; unsigned char Min; unsigned char Sec; }Time; struct //设定日期结构体 { unsigned char Year; unsigned char Month; unsigned char Days; }Date; struct //设定毫秒结构体 { unsigned char Minite; unsigned char Second; unsigned char MilliSec; }Millisecond; unsigned char point=0; unsigned char point1=0; unsigned char point2=0; unsigned char Daymount; unsigned char Daymount1; unsigned char T0_Int_Times=0; //中断次数计数变量 unsigned char Flash_flag=0; //闪烁标志,每半秒闪烁 unsigned char Flash_flag1=0; //闪烁标志,每半秒闪烁 unsigned char DisPlay_Back=0; //显示缓冲区更新备份,如果显示缓冲区更新则跟闪烁标志不一致 unsigned char DisPlay_Back1=0; //显示缓冲区更新备份,如果显示缓冲区更新则跟闪烁标志不一致 unsigned char i,j; unsigned char SetMillisecond; //启动秒表 code unsigned char LEDCode[]={0x01,0xd7,0x22,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80}; //数码管显示代码 code unsigned char ErrorLEDCode[]={0x01,0xe7,0x12,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80};//绘制错误图纸的数码管显示代码 void DisPlayBuf(); void ChangeToDispCode(); void ChangeToDispCode1(); void changedate(); // 调日期 void displaydate(); // 显示日期 void makedays(); //确定每个月的日期 void runSec();

基于51系列单片机及DS1302时钟芯片的电子时钟Proteus仿真_报告

目录 摘要 一、引言 (1) 二、基于单片机的电子时钟硬件选择分析 (2) 2.1主要IC芯片选择 (2) 2.1.1微处理器选择 (2) 2.1.2 DS1302简介 (4) 2.1.3 DS1302引脚说明 (4) 2.2电子时钟硬件电路设计 (5) 2.2.1时钟电路设计 (6) 2.2.2整点报时功能 (7) 三、Protel软件画原理图 (8) 3.1系统工作流程图 (8) 3.2原理图 (9) 四、proteus软件仿真及调试 (9) 4.1电路板的仿真 (9) 4.2软件调试 (9) 五、源程序 (10) 六、课设心得 (13) 七、参考文献 (13)

基于单片机电子时钟设计 摘要 电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。另外,在生活和工农业生产中,也常常需要温度,这就需要电子时钟具有多功能性。 本设计主要为实现一款可正常显示时钟/日历、带有定时闹铃的多功能电子时钟。 本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟。本设计应用AT89C52芯片作为核心,6位LED数码管显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。这种实现方法的优点是电路简单,性能可靠,实时性好,时间精确,操作简单,编程容易。 该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。 关键词:电子时钟;多功能;AT89C52;时钟日历芯片

一、引言 时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。 1.1 多功能电子时钟研究的背景和意义 20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂容易使人忘记当前的时间。然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦。平时我们要求上班准时,约会或召开会议必然要提及时间;火车要准点到达,航班要准点起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的[1]。 电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装臵,广泛应用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、0按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

51单片机数字时钟

计算机硬件综合课程 设计报告 课目: 学院: 班级: 姓名: 指导教师: 目录 1 设计要求 功能需求 设计要求

2 硬件设计及描述 总体描述 系统总体框图 Proteus仿真电路图 3 软件设计流程及描述 程序流程图 函数模块及功能 4 心得体会 附:源程序 设计要求 功能需求 实现数字时钟准确实时的计时与显示功能; 实现闹钟功能,即系统时间到达闹钟时间时闹铃响; 实现时间和闹钟时间的调时功能; 刚启动系统的时候在数码管上滚动显示数字串(学号)。设计要求 应用MCS-51单片机设计实现数字时钟电路; 使用定时器/计数器中断实现计时; 选用8个数码管显示时间;

使用3个按钮实现调时间和闹钟时间的功能。按钮1:更换模式(模式0:正常显示时间;模式1:调当前时间的小时;模式2;调当前时间的分钟;模式3:调闹钟时间的小时;模式4:调闹钟时间的分钟);按钮2:在非模式0下给需要调节的时间数加一,但不溢出;按钮3:在非模式0下给需要调节的时间数减一,但不小于零; 在非0模式下,给正在调节的时间闪烁提示; 使用扬声器实现闹钟功能; 采用C语言编写程序并调试。 2 硬件设计及描述 总体描述 单片机采用AT89C51型; 时间显示电路:采用8个共阴极数码管,P1口驱动显示数字,P2口作为扫描信号; 时间设置电路:、、分别连接3个按键,实现调模式,时间加和时间减; 闹钟:口接扬声器。 系统总体框图 Proteus仿真电路图

3 软件设计流程及描述 程序流程图

函数模块及功能 void display_led() 学号的滚动显示函数; void display() 显示时间以及显示调节时间和闹钟时间的闪烁; void key_prc() 键盘功能函数,实现3个按键有关的模式转换以及数字加一减一; void init() 初始化设置中断;

基于51单片机的数字钟设计

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 本课题主要研究的是基于单片机的数字钟设计,采用AT89C51单片机作为系统的主控芯片,外接LED显示电路,按键电路,晶振电路,复位电路模块构成一个简单的数字钟。通过按键电路能对时、分、秒分别进行设置和实时调整,并将结果显示在数码管上。

1 引言 (3) 2 单片机介绍 (4) 3 数字钟硬件设计 (4) 3.1系统方案的确定 (4) 3.2功能分析 (4) 3.3数字钟设计原理 (5) 3.3.1键盘控制电路 (5) 3.3.2晶振电路 (6) 3.3.3复位电路 (7) 3.3.4数码显示电路 (7) 4.数字钟的软件设计 (8) 4.1程序设计内容 (8) 4.2源程序 (9)

1 引言 在单片机技术日趋成熟的今天,其灵活的硬件电路和软件电路的设计,让单片机得到广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,肝胆俱全”,单片机的学习和研究是对微机系统学习和研究的简捷途径。基于单片机的定时和控制装置在许多行业有着广泛的应用,而数字钟是其中最基本的,也是最具有代表性的一个例子[1],用数字电路实现对时、分、秒数字显示的计时装置。因为机具有体积小、功耗低、功能强、性价比高、易于推广应用的优点,在自动化装置、智能仪器表、过程控制、通信、家用电器等许多领域得到日益广泛的应用[2],因此具有很大的研究价值。

基于51单片机多功能电子时钟设计论文报告-毕设论文

单片机课程设计报告 多功能电子数字钟 姓名: 学号: 班级: 指导教师:

目录 一课程设计题目-------------------------------- 3 二电路设计--------------------------------------- 4 三程序总体设计思路概述------------------- 5 四各模块程序设计及流程图---------------- 6 五程序及程序说明见附录------------------- ** 六课程设计心得及体会---------------------- 11 七参考资料--------------------------------------- 12

一题目及要求 本次单片机课程设计在Proteus软件仿真平台下实现,完成电路设计连接,编程、调试,仿真出实验结果。具体要如下:用8051单片机设计扩展6位数码管的静态或动态显示电路,再连接几个按键和一个蜂鸣器报警电路,设计出一个多功能电子钟,实现以下功能: (1)走时(能实现时分秒,年月日的计时) (2)显示(分屏切换显示时分秒和年月日,修改时能定位闪 烁显示) (3)校时(能用按键修改和校准时钟) (4)定时报警(能定点报时) 本次课程设计要求每个学生使用Proteus仿真软件独立设计制作出电路图、完成程序设计和系统仿真调试,验收时能操作演示。最后验收检查 结果,评定成绩分为: (1)完成“走时+显示+秒闪”功能----及格 (2)完成“校时修改”功能----中等 (3)完成“校时修改位闪”----良好 (4)完成“定点报警”功能,且使用资源少----优秀

#基于单片机AT89C51的电子时钟的课程设计

苏州市职业大学 课程设计任务书课程名称:单片机原理和使用课程设计 起讫时间:2011年6月22日----6月28日 院系:电子信息工程系 班级:09电子3班 指导教师:金小华 系主任:张红兵 一、课程设计课题 基于单片机的电子时钟的设计

1.掌握使用proteus软件的方法。 2.理解单片机的时钟显示方法。 3.明确设计指标,写出设计方案,设计出硬件原理图。 4.基于硬件的软件设计和调试。 5.将结果向指导教师演示,由教师提问验收通过; 6.打印程序清单,撰写程序说明,完成课程设计报告书,进行分组讨论 设计心得。

1.第一天:明确课程设计任务和目标,熟悉单片机系统调试软件仿真实 现。 2.第二天:明确设计指标,设计电路原理图。 3.第三、四天:基于硬件的软件设计和调试。 4.第五天:学生演示设计调试结果,教师提问验收。打印程序清单,撰 写程序说明,完成课程设计报告书。 四、课程设计说明书内容(有指导书的可省略) 1,单片机结构、原理。 2,电子时钟硬件设计(原理图,原理图分析)。 3,软件设计(软件简介,调试过程)。 4,硬件、软件程序清单。

苏州市职业大学课程设计说明书 名称基于单片机的电子时钟的设计 2011年6月22日至2011年6月28日共一周院系电子信息工程系 班级09电子3班 姓名于宁 学号097302340 系主任张红兵 教研室主任陆春妹 指导教师金小华

目录 第一章电子时钟 (1) 1.1电子时钟简介 (1) 1.2电子时钟的基本特点 (1) 1.3电子时钟的原理 (1) 第二章单片机识的相关知识 (2) 2.1单片机简介 (2) 2.2单片机的发展史 (2) 2.3单片机的特点 (3) 2.489C51单片机介绍 (3) 第三章控制系统的硬件设计 (6) 3.1单片机型号的选择 (6) 3.2数码管显示工作原理 (6) 3.3键盘电路设计 (7) 3.4系统工作原理 (7) 3.5整个电路原理图 (9) 第四章控制系统的软件设计 (10) 4.1程序设计 (10) 4.2程序流程图 (13) 4.3伟福硬件仿真器简介 (14) 4.4仿真图及结果分析 (15) 第五章附录程序 (17) 第六章结束语 (19) 参考文献 (20)

【精品完整版】基于51单片机的数字电子钟设计

本科毕业论文(设计) 题目基于51单片机的数字电子钟设计 院(系)电子工程与电气自动化学院 专业电气工程及其自动化 学生姓名 学号 10028116 指导教师王静洪作奎职称硕士讲师 论文字数 9682 完成日期:2014年5月20日

巢湖学院本科毕业论文(设计)诚信承诺书 本人郑重声明:所呈交的本科毕业论文(设计),是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本人签名:日期: 巢湖学院本科毕业论文 (设计)使用授权说明 本人完全了解巢湖学院有关收集、保留和使用毕业论文 (设计)的规定,即:本科生在校期间进行毕业论文(设计)工作的知识产权单位属巢湖学院。学校根据需要,有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许毕业论文 (设计)被查阅和借阅;学校可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编毕业,并且本人电子文档和纸质论文的内容相一致。 保密的毕业论文(设计)在解密后遵守此规定。 本人签名:日期: 导师签名:日期:

巢湖学院2014届本科毕业论文(设计) 基于51单片机的数字电子钟设计 摘要 随着时代的发展,生活节奏的加快,人们的时间观念愈来愈强,同时伴随着自动化、智能化及微电子技术的发展,人们用于计时的工具也在不断的更新,单片机等技术的出现使得数字电子钟有了新的发展方向。基于此本设计以单片机STC89C52为控制核心,采用美国DALLAS公司生产的实时时钟芯片DS12C887和液晶芯片LCD1602,该设计具有电路设计简单,结构合理,能够精确显示时间、星期、日期等优点,并且能够实时更新显示。本设计同时具有闹铃设置功能以及到时报警功能,按键操作简单方便。更重要的是时钟芯片DS12C887具有误差小,内部自带锂电池使得断电时时间不停,再次上电后时间仍然能够准确显示在液晶上的特点。 关键词:单片机;电子钟;DS12C887;LCD1602

51单片机数字钟

目录 1 设计任务与要求................................................... I 2 设计方案 (1) 3 硬件设计 (2) 3.1 AT89C51单片机简介 2 3.2单片机型号的选择 (6) 3.3数码管显示工作原理 (6) 4 软件设计 (7) 4.1主程序模块介绍 (7) 4.2主程序 (7) 5 仿真调试 ........................................ 错误!未定义书签。 5.1K EIL仿真结果................................. 错误!未定义书签。 5.2仿真结果分析 (13) 6 小结 ............................................ 错误!未定义书签。

1 设计任务与要求 1. 设计一个基于单片机的电子时钟,并且能够实现时分秒的现实和调节。 2. 设计出硬件电路。 3. 设计出软件编程方法,并写出源代码。 4. 用PROTEUS进行仿真。 5.用汇方式实现目的。 7.系统的各各功能模块要编语言编实现程序设计。 6.利用查表,中断等清楚,有序。 8.程序运行时有友好的用户界面。 2 设计方案 本设计主要设计了一个基于AT89C51单片机的电子时钟。并在数码管上显示相应的时间。并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。 该设计的硬件部分主要包括89C51多功能接口芯片用于开发电子时钟芯片、LED七段数码显示器用于显示时间、8031集成定时器用于定时、0.125W、8欧姆的扬声器用于定时发声。软件部分包括主程序、定时计数中断程序、时间调整程序、延时程序四大模块。通过中断程序进行定时器计数,时间调整程序是当键按下时间小于1秒,关闭显示(省电)进入调节时间状态,延时程序用于时间的延迟。先设计个秒钟程序,在秒钟程序中先不设计按钮,直接通电运行,使用40H 存放计数值,从00—59,一直循环,把40H中的数值拆分成个位和十位,分别存在30H与31H中,要求动态扫描时,使用21H当标志位,用指令JB控制显示个位与十位,程序中使用中间寄存器R0与R1用于存放拆分后的字型,再传到30H与31H中去,再设计时钟程序。

基于单片机的数字时钟之C51单片机

山东大学威海分校 基于单片机的数字时钟 C51单片机 王若愚 学号200800800307 2010/7/18

概述 AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4K的可编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片机芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。 功能特性概述 AT89S51提供以下标准功能:4K字节闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中到内容,但振荡器停止工作并禁止其它所有工作部件直到下一个硬件复位。

AT89S51硬件电路原理 复位及振荡电路 复位电路由按键复位和上电复位两部分组成,如图2所示。AT89S系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC 充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为8.2K和10uF。 按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。 MCS51 LITE使用22.1184MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路, 所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。

基于单片机的多功能电子钟

山东建筑大学 课程设计说明书 题目: 基于单片机的多功能电子钟 课程: 单片机原理及应用B课程设计院(部): 信息与电气工程学院 专业: 电子信息工程 班级: 电信111 学生姓名: 姜庆飞 学号: 2011081197 指导教师: 高焕兵 完成日期: 2015年1月

目录 摘要 ....................................................... II 1 设计目的 (1) 2 设计要求 (2) 3 设计内容 (3) 3、1电子时钟的工作原理 (3) 3、2 系统硬件电路设计及元件 (4) 3、2、1 AT89C51芯片 (4) 3、2、2 DS1302芯片 (8) 3、2、3 LCD1602液晶显示 (12) 3、3系统软件电路设计 (15) 3、3、1 系统流程图及源代码设计 (15) 总结与致谢 (18) 参考文献 (19) 附录一 (20)

摘要 单片机, 就是集 CPU ,RAM ,ROM , 定时器,计数器与多种接口于一体的微控制器。自20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的重视与关注。它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产与工业自动化上。 本系统为基于DS1302的多功能电子钟 ,以AT89C51单片机作为主控芯, 采用实时时钟芯片DS1302,使用1602液晶作为显示输出。该系统走时精确,具有闹钟设置,时间模式切换,秒表以及可同时显示时间、日期等多种功能。本文将详细介绍AT89C51单片机与DS1302 时钟芯片的基本原理,从软件与硬件电路的实现两大方面进行分析。 关键词:AT89C51;单片机;液晶屏;时钟芯片;蜂鸣器

C51单片机多功能数字钟C源程序

/*led.h 负责声明全局变量 */ #include #define uchar unsigned char #define uint unsigned int /*各数据在LCD中显示的地址*/ #define Year 0x80+0x00 #define Month 0x80+0x05 #define Day 0x80+0x08 #define Hour 0x80+0x40 #define Munite 0x80+0x43 #define Second 0x80+0x46 #define Weidu 0x80+0x49 /*各数据在LCD中显示的地址*/ /*******各端口定义********/ sbit lcden=P2^6; sbit lcdrs=P2^7; sbit beep=P2^5; sbit key1=P2^0; sbit key2=P2^1; sbit key3=P2^2; sbit key4=P2^3; sbit key5=P2^4; sbit dq=P3^7; /*******各端口定义********/ /*******全局变量声明******/ extern int key_function; extern int key_alarm; extern int h_alarm,m_alarm; extern int idata s,m,h,y,mo,d; extern int idata sc,mc,hc,yc,moc,dc; extern int wei; extern int music; extern int idata date[2][13]; extern uchar timeh,timel; /*******全局变量声明******/ /*******public方法声明****/ void time_cal(); void write_data(uchar date);

相关文档
最新文档