您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于c51单片机电子钟课程设计
单片机技术课程设计说明书数字电子钟系、部:电气与信息工程系学生姓名:指导教师:职称专业:自动化班级:自本0801班完成时间:2010.12.30摘要二钟表作为一个定时工具被广泛地应用于生产生活的各个方面,而电子表具有价格便宜、质量轻、定时误差小等优点。本次设计的数字电子钟采用了AT89S52芯片进行汇编,由8位8段数码管进行动态刷新显示,有四个独立按键。可以进行秒、分、时的调整,且操作简单,计时误差小,显示亮度高,具有良好的实用价值。关键词数字电子钟;单片机;汇编语言ABSTRACTSCMdigitalelectricclockisbasedonsinglechipdesignofeightdigitclock.Ithasprogrammingflexibleandcanperformelectricclockfunctionexpansion,thiselectricclockwiththe24-hourmanufacturingmodedisplaytime,usingassemblylanguagemakeitswithadjustableresetandwhen,addafunction.Keywordsdigitalclock;SCM;assemblylanguage三目录1设计课题任务、功能要求说明及总体方案介绍…………………………………11.1设计课题任务…………………………………………………………………11.2功能要求说明…………………………………………………………………11.3设计课题总体方案介绍及工作原理说明……………………………………12设计课题硬件系统的设计…………………………………………………………22.1硬件总体设计………………………………………………………………22.2设计课题硬件系统各模块功能简要介绍……………………………………22.3设计课题电路原理图、PCB图、元器件布局图……………………………32.4设计课题元器件清单…………………………………………………………33设计课题软件系统的设计…………………………………………………………43.1设计课题使用单片机资源的情况……………………………………………43.2数字电子钟软件系统主要模块功能简要介绍………………………………43.3数字电子钟软件系统程序流程框图…………………………………………53.4设计课题软件系统程序清单…………………………………………………74设计结论、仿真结果、误差分析………………………………………………164.1设计课题的设计结论及使用说明…………………………………………164.2设计课题的仿真结果………………………………………………………174.3设计课题的误差分析………………………………………………………174.4设计重点、难点,体会及不足之处………………………………………18参考文献…………………………………………………………………………………19致谢………………………………………………………………………………………20附录………………………………………………………………………………………21附录一数字电子钟原理图………………………………………………………21附录二数字电子钟PCB图………………………………………………………22附录三数字电子钟元件布局图…………………………………………………24附录四数字电子钟元件清单……………………………………………………2511设计课题任务、功能要求说明及总体方案介绍1.1设计课题任务通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机技术》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。1.2功能要求说明设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。1.3设计课题总体方案介绍及工作原理说明方案一:采用时钟芯片DS1302,该芯片可以进行时分秒的计数,DS1302通过串行方式与单片机进行数据传送,向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息,并可对月末日期、闰年天数自动进行调整,但是需在单片机外部扩展,电路较复杂,成本较高。方案二:采用单片机内部定时器,用软件对其进行秒、分、时的计数,单片机无法产生1s的定时时间,但是可以用硬件定时和软件计数相结合的方法实现,采用中断方式,即通过中断服务程序进行计数器溢出次数的累计,把定时器/计数器设定为62.5ms,计数溢出16次就可以得到1s,计60次为1分,60分计60次则为1小时,然后通过数码管动态刷新显示出来,再设四个按键进行时间的调整,一个键用作启动/调整键,其余三个分别用于时、分、秒的调整。方案二不需要外部扩展芯片,电路较简单,成本较低,这里选用方案二。22数字电子钟硬件系统的设计2.1硬件总体设计硬件系统总体设计如图2.1所示。图2.1硬件系统总体设计2.2数字电子钟硬件系统主要模块功能简要介绍(1)功能芯片:本次设计采用ATMEL公司生产的AT89S52芯片,低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。256字节RAM,32位I/O口线,与工业80C51产品指令和引脚完全兼容。价格较低,能满足本次设计的要求。(2)电源和复位模块:AT89S52需5V电压,所以可以采用USB接口的5V电源对其供电,复位电路可采用上电复位、按键电平复位、按键脉冲复位3种,本次采用按键电平复位。如电路原理图中的电源和复位模块。(3)显示模块:该模块由8位8段共阳极数码管组成,由8个PNP型三极管分别驱动其发光,从左至右位控分别接于单片机的P2.7-P2.0中上,段控a-dP接于单片机的P0.0-P0.7口上,使用动态显示从右向左循环点亮每一位数码管。如电路原理图中的数码管电路。(4)键盘模块:键盘由8个独立式按键组成,S0-S7键分别接在单片机的P1.0-P1.7口,并由上拉电阻上拉使其成为电位为高。如电路原理图中的独立键盘模块。(5)时钟模块:为了保证同步工作方式的思想,单片机必须有时钟信号,以使其系统在时钟信号的控制下按时序协调工作。如电路原理图中的晶振电路。32.3数字电子钟电路原理图、PCB图、元器件布局图数字电子钟电路原理图见附录一。数字电子钟PCB图见附录二。数字电子钟元件布局图见附录三。2.4数字电子钟元器件清单数字电子钟元器件清单见附录四。43数字电子钟软件系统的设计3.1数字电子钟使用单片机资源的情况(1)时钟的时分秒在片内RAM存储地址如表3.1所示。表3.1时钟存储地址名称时分秒十位78H7BH7EH个位79H7CH7FH(2)在AT89S52的P0口和P2口外接八个数码管,用P0口作数码管的段控码输出口(P0.0-P0.7对应于数码管的a-dp),P2.7-P2.0作数码管的位控码输出(P2.7-P2.0对应于LED7-LED0),20H.0-20H.3作为P1.0-P1.3的位标志存储地址。(3)定时器0以中断方式工作,工作方式1。3.2数字电子钟软件系统主要模块功能简要介绍(1)主程序:主程序的主要功能是进行定时器/计数器,显示缓冲区的初始化,显示,以及判断是否有功能键按下,判断按下的键并调相应的键功能程序。(2)键功能程序:键功能程序的主要功能是执行对应的功能,Menu键为启动/调整键,第一次按下则由待机状态进入运行状态启动时钟,从00-00-00开始显示,然后按下为奇数则暂停,进入调时状态,按下Sec键则秒加1,按下Min键则分加1,按下Hour键则时加1;若按下为偶数则进入时钟运行状态。(3)中断服务程序:中断服务程序的主要功能是进行计时操作,程序开始先判断计数溢出是否满了16次,若不满16次则表明没有达到最小计时单位秒,则中断返回;若满16次表明已达到最小计时单位秒,则程序断续向下执行,进行分和时的计时。(4)显示子程序:显示程序的主要功能是将显示缓冲区的段控码正确的显示在数码管上,采用动态显示,从右向左循环点亮每一位数码管。(5)键扫子程序:键扫子程序的主要功能是判断是否有键按下,是哪个键按下,并将键值保存在20H中。53.3数字电子钟软件系统程序流程框图(1)主程序流程框图如图3.1所示。(2)计时1秒子程序流程框图如图3.2所示。(3)键扫子程序流程框图如图3.3所示。(4)显示子程序流程框图如图3.4所示。(5)键监控子程序流程框图如图3.5所示。图3.1主程序流程框图图3.2计时1秒子程序流程框图6图3.3键扫子程序流程框图图3.4显示子程序流程框图图3.5键监控子程序流程框图73.4数字电子钟软件系统程序清单;**********************************************************************:;项目名称:数字式电子钟;设计者:李松海;设计日期:2010年12月28日;**********************************************************************;;堆栈栈底80H;;**********************************************************************;;LED数码管显示器设定;;P0.7---P0.0段控线,接LED的显示段dp,g,f,e,d,c,b,a;P2.0---P2.7位控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0);显示缓冲区设定从左至右依次为78H,79H,7AH,7BH,7CH,7DH,7EH,7FH;**********************************************************************;;独立式键盘设定;;8个按键S2至S9分别依次接在P1.0至P1.7口线;;**********************************************************************;;20H字节单元:十六进制,S2键键值01H,S3键键值02H,S4键键值04H,S5键键值08H,S6键键值10H,S7键键值20H,S8键键值40H,S9键键值80H;**********************************************************************;;定时器/计数器资源:;T/C0:工作模式;功能;定时时间;查询或中断;**********************************************************************;;中断系统资源;;T/C0;**********************************************************************;;键功能程序;;KEYA(S2键键功能程序);KEYB(S3键键功能程序);KEYC(S4键键功能程序);KEYD(S5键键功能程序);**********************************************************************;;中断服务程序;;**********************************************************************;8;常数表格;;DISBH(系统提示符P.字型代码序号表);DISBI(00-00-00字符的代码序号);TAB(共阳数码管字型代码表);**********************
本文标题:基于c51单片机电子钟课程设计
链接地址:https://www.777doc.com/doc-3225190 .html