您好,欢迎访问三七文档
1《单片机原理及应用》课程设计任务书14系(部):电信系专业:指导教师:课题名称数码管显示电子钟设计设计内容及要求1、课题内容:设计一种基于AT89S52单片机的数码管显示电子时钟,要求如下:(1)、能正确显示时间,时钟由数码管显示,显示格式为:XX小时XX分XX秒。(2)、时间能够由按键调整,误差小于1S。(3)、闹钟功能:时间运行到与闹钟设定时间时,闹钟响(持续响5秒)。(4)、报时功能:时间运行到正点时间时,闹钟响,几点钟就响几声(每声持续响2秒,每两声之间时间间隔2秒)。2、要求:完成该系统的硬件和软件的设计,在Proteus软件上仿真通过,提交一篇课程设计说明书。设计工作量1、汇编或C51语言程序设计;2、程序调试;3、在Proteus上进行仿真成功;4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、调试过程,参考文献、设计总结等。进度安排起止日期(或时间量)设计内容(或预期目标)备注第一天课题介绍,答疑,收集材料,C51介绍第二天设计方案论证,练习编写C51程序第三天~第六天程序设计第六天~第八天程序调试、仿真第九天~第十天系统测试并编写设计说明书教研室意见年月日系(部)主管领导意见年月日2目录摘要.............................................................................................................................................31、设计任务与要求.......................................................................................................................31.1基本设计任务...................................................................................................................31.2功能要求说明...................................................................................................................32、方案论证与选择.......................................................................................................................32.1单片机的型号选择...........................................................................................................32.2控制选择方案...................................................................................................................33、总体设计...................................................................................................................................43.1主程序...............................................................................................................................43.2显示子程序.......................................................................................................................53.3定时闹钟与整点报时程序...............................................................................................63.4定时器T0中断服务程序.................................................................................................73.5按键功能设置...................................................................................................................84、系统主要元件介绍.....................................................................................................................84.1AT89C51单片机的介绍....................................................................................................84.2LED数码管介绍................................................................................................................95、仿真及测试...............................................................................................................................95.1程序调试及仿真...............................................................................................................95.2程序测试及结果分析.....................................................................................................106、程序设计体会...........................................................................................................................10参考文献.........................................................................................................................................113摘要该电子时钟由AT89C51,BUTTON,七段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时重新计时。而电路中的四个控制键拥有多种不同的功能,可以实现电子钟精确到秒的调整和闹钟的调整,应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。关键词:数码管;单片机;电子钟;键盘控制1、设计任务与要求本任务为:数码管显示电子钟。设计任务具体内容如下:1.1基本设计任务依据命题题意,本设计采用AT89C51进行24小时计时并用数码管显示。要求其显示时间范围是00:00:00~23:59:59,具备有时分秒校准功能。电子钟上面要带有闹钟,闹钟与时钟之间能随时切换,闹钟具备时分秒设置功能。1.2功能要求说明设计一个具有特定功能的电子钟。该电子钟具有设定闹钟(持续响5秒),及整点报时功能。时间运行到正点时间时,闹钟响,几点钟就响几声(每声持续响2秒,每两声之间时间间隔2秒)。2、方案论证与选择2.1单片机的型号选择通过对多种单片机性能的分析,最终认为AT89C51是最理想的电子时钟开发芯片。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。2.2控制选择方案直接加减:使用7按键,1按键切换闹钟,6按键对时分秒分别加减,控制方式相当简单,但需要较多按键与I/O口,功能一般,成本较高。矩阵键盘:使用16按键对时分秒直接设置,能最为灵活的对数字钟进行设置,功能强大,但控制方式相对困难,成本较高,需要较多按键与I/O口。4换位加减:使用4按键,1键切换闹钟,1键换位,另两键加减,控制方式相对简单,占用I/O口少,成本低廉,但功能一般。经过反复比较,在3种方案中选取了第3种——换位加减,此方案成本低,功能已经足够满足电子钟的需要,而且硬件软件均比较简单。3、总体设计3.1主程序设计中计时采用定时器T0中断完成。主程序循环调用显示子程序和查键,当端口有开关按下时,转入相应的功能程序。流程图如图3-1所示。图3-1主程序流程/*主函数*/voidmain(void){5TMOD=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;//开启定时器0while(1){keyscan();//按键扫描dinshi();//定时闹钟switch(temp2)//显示时间{case0:display(hour1,minite1,seconde1);break;case1:display(hour2,minite2,seconde2);break;}}}3.2显示子程序显示子程序每次显示6个连续内存单元的十进制BCD码数据。由于采用7段共阳LED数码管动态扫描实现数据显示,显示十进制BCD码数据对应段码存放在ROM中。显示时取内存地址中数据,然后查表得对应显示段码从P0口输出,P2口将为对应的数码管供电,于是数码管就会显示该地址单元的数据。voiddisplay(ucharhour,ucharminite,ucharseconde)/*显示子程序*/{ucharh1,h2,m1,m2,s1,s2;s2=seconde/10;s1=seconde%10;m2=minite/10;m1=minite%10;h2=hour/10;h1=hour%10;P2=0XFE;//111111106if(temp1==1)//功能选项,通过点提醒来调节相应位的时间P0=dispcode[s1]|0x80;//点提醒elseP0=dispcode[s1];//秒个位del
本文标题:单片机电子钟 2
链接地址:https://www.777doc.com/doc-6979924 .html