单片机电子钟2

上传人:汽*** 文档编号:488259854 上传时间:2022-09-10 格式:DOC 页数:11 大小:134.50KB
返回 下载 相关 举报
单片机电子钟2_第1页
第1页 / 共11页
单片机电子钟2_第2页
第2页 / 共11页
单片机电子钟2_第3页
第3页 / 共11页
单片机电子钟2_第4页
第4页 / 共11页
单片机电子钟2_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《单片机电子钟2》由会员分享,可在线阅读,更多相关《单片机电子钟2(11页珍藏版)》请在金锄头文库上搜索。

1、word单片机原理及应用课程设计任务书14系(部):电信系 专业: 指导教师:课题名称数码管显示电子钟设计设计容及要求1、课题容:设计一种基于AT89S52单片机的数码管显示电子时钟,要求如下:(1)、能正确显示时间,时钟由数码管显示,显示格式为:XX小时XX分XX秒。(2)、时间能够由按键调整,误差小于1S。(3)、闹钟功能:时间运行到与闹钟设定时间时,闹钟响(持续响5秒)。(4)、报时功能:时间运行到正点时间时,闹钟响,几点钟就响几声(每声持续响2秒,每两声之间时间间隔2秒)。 2、要求:完成该系统的硬件和软件的设计,在Proteus软件上仿真通过,提交一篇课程设计说明书。设计工作量1、汇

2、编或C51语言程序设计;2、程序调试;3、在Proteus上进行仿真成功;4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、调试过程,参考文献、设计总结等。进度安排起止日期(或时间量)设计容(或预期目标)备注第一天课题介绍,答疑,收集材料,C51介绍第二天设计方案论证,练习编写C51程序第三天第六天程序设计第六天第八天 程序调试、仿真第九天第十天系统测试并编写设计说明书教研室意见年 月 日系(部)主管领导意见年 月 日目录摘 要51、 设计任务与要求51.1 基本设计任务51.2 功能要求说明52、 方案论证与选择62.1 单片机的型号选择62.2 控制选择方案63

3、、 总体设计63.1 主程序63.2 显示子程序83.3 定时闹钟与整点报时程序93.4 定时器T0中断服务程序93.5 按键功能设置104、系统主要元件介绍114.1 AT89C51单片机的介绍114.2 LED数码管介绍115、 仿真及测试125.1 程序调试及仿真125.2 程序测试及结果分析126、程序设计体会13参考文献13摘要该电子时钟由AT89C51,BUTTON,七段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时重新计时。而电路中的四个控制键拥有多种不同的功能,可以实现电子钟精确到秒的

4、调整和闹钟的调整,应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。关键词:数码管;单片机;电子钟;键盘控制1、 设计任务与要求本任务为:数码管显示电子钟。设计任务具体容如下:1.1 基本设计任务依据命题题意,本设计采用AT89C51进行24小时计时并用数码管显示。要求其显示时间围是00:00:0023:59:59,具备有时分秒校准功能。电子钟上面要带有闹钟,闹钟与时钟之间能随时切换,闹钟具备时分秒设置功能。设计一个具有特定功能的电子钟。该电子钟具有设定闹钟(持续响5秒),及整点报时功能。时间运行到正点时间时,闹钟响,几点钟就响几声

5、(每声持续响2秒,每两声之间时间间隔2秒)。2、 方案论证与选择2.1单片机的型号选择通过对多种单片机性能的分析,最终认为AT89C51是最理想的电子时钟开发芯片。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。2.2 控制选择方案直接加

6、减:使用7按键,1按键切换闹钟,6按键对时分秒分别加减,控制方式相当简单,但需要较多按键与I/O口,功能一般,成本较高。矩阵键盘:使用16按键对时分秒直接设置,能最为灵活的对数字钟进行设置,功能强大,但控制方式相对困难,成本较高,需要较多按键与I/O口。换位加减:使用4按键,1键切换闹钟,1键换位,另两键加减,控制方式相对简单,占用I/O口少,成本低廉,但功能一般。经过反复比较,在3种方案中选取了第3种换位加减,此方案成本低,功能已经足够满足电子钟的需要,而且硬件软件均比较简单。3、 总体设计3.1 主程序设计中计时采用定时器T0中断完成。主程序循环调用显示子程序和查键,当端口有开关按下时,转

7、入相应的功能程序。流程图如图3-1所示。图3-1 主程序流程/*主函数*/void main(void)TMOD=0x11; /time0为定时器,方式1TH0=0x3c; /预置计数初值,50msTL0=0xb0;TH1=(65535-50000)/256;TL1=(65535-50000)%256;EA=1; /总中断开ET0=1; /允许定时器0中断TR0=1;ET1=1;TR1=1;buzz=0; /开启定时器0 while (1) keyscan(); /按键扫描 dinshi(); /定时闹钟 switch(temp2) /显示时间 case 0:display(hour1,min

8、ite1,seconde1);break; case 1:display(hour2,minite2,seconde2);break; 3.2 显示子程序显示子程序每次显示6个连续存单元的十进制BCD码数据。由于采用7段共阳LED数码管动态扫描实现数据显示,显示十进制BCD码数据对应段码存放在ROM中。显示时取存地址中数据,然后查表得对应显示段码从P0口输出,P2口将为对应的数码管供电,于是数码管就会显示该地址单元的数据。void display(uchar hour,uchar minite,uchar seconde)/*显示子程序*/uchar h1,h2,m1,m2,s1,s2;s2=

9、seconde/10;s1=seconde%10;m2=minite/10;m1=minite%10;h2=hour/10;h1=hour%10;P2=0XFE; /1111 1110if(temp1=1)/功能选项,通过点提醒来调节相应位的时间P0=dispcodes1|0x80;/点提醒elseP0=dispcodes1;/秒个位delay(1);P2=0XFD;/1111 1101P0=dispcodes2;/秒十位delay(1);P2=0XFB; /1111 1011P0=dispcode10;/间隔符 -delay(1);P2=0XF7; /1111 0111 if(temp1=2

10、)/P0=dispcodem1|0x80;elseP0=dispcodem1;/分个位delay(1);P2=0XEF; /1110 1111P0=dispcodem2;/分十位delay(1);P2=0XDF; /1101 1111P0=dispcode10;/间隔符 -delay(1);P2=0XBF; /1011 1111if(temp1=3)P0=dispcodeh1|0x80;/时个位elseP0=dispcodeh1;delay(1);P2=0X7F; /0111 1111P0=dispcodeh2;/时十位delay(1);3.3 定时闹钟与整点报时程序void dinshi()

11、 /*定时闹钟 */uint i; if(hour1=hour2&minite1=minite2&(seconde1=seconde2&seconde1seconde2+5) for(i=0;i20;i+) buzz=1; buzz=0; void zhengdian (void)/*整点报警*/if(seconde1=0&minite1=0)temp=hour1;flag=1; /标记buzz=1;3.4 定时器T0中断服务程序定时溢出中断周期设为50MS,中断进入后先进行定时中断初值校正,当中断累加到20次时,对秒计数单元进行加1操作。时钟最大计时值为23时59分59秒。#7FH存放“熄灭

12、符”数据,用于时间调整时的闪烁功能。在计数单元中,采用十进制BCD码计数,满十进位。在程序中采用12MHZ晶振频率,精度为1MS,定时初值为50MS,用循环程序进行20次循环可到1S。当1S到时调用加1程序并判断秒、分是否为60,当秒为60时,秒清零,分加1;当分为60时,分清零。终端结束时,分时计时单元数据移入对应显示单元。void timer0(void) interrupt 1 /定时器0方式1,50ms中断一次 TH0=0x3c; /手动加载计数脉冲次数 TL0=0xb0; mstt+; zhengdian(); /用于计算时间,每隔50ms加1 if(mstt=20) /mstt满2

13、0即为一秒 seconde1+; /秒+1time_pro( ); /时间处理mstt=0; /对计数单元的清零,重新开始计 图3-4 定时器T0中断服务流程图3.5 按键功能设置电子时钟设置4个按键通过程序控制来完成电子时钟的时间调整。调整时钟时只设计了加键、减键、模式键、闹钟键。K1键为模式设置;k2键加一键;K3键减一键;k4键闹钟设置键。(1)、k1键:模式设置键,直接按下模式键时可以调节时间,多次按键时,调节在秒、分、时之间变换。(2)、k2键:进入模式后,调节位出现一个标志点,按一下k2键则该位加一。同理,按下k3键该位减一。(3)、k4键:按下k4键,数码管显示程序既定的闹钟时刻,按下模式键,出现标志点后按k2、k3调节闹钟。4、系统主要元件介绍4.1 AT89C51单片机的介绍AT89C51单片机是把那些作为控制应用所必需的基本容都集成在一个尺寸有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)、并行I/O口(4个8位I/O口)、串行口、定时器/计数器、中断系统及特殊功能寄存器。它们都是通过片单一总线连接而成,其基本结构依旧是微处理器(CPU)加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式,以实现不同的功能。AT89C51

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号