单片机技术课程设计说明书数字电子钟院、部:电气与信息工程学院学生姓名:郭红满指导教师:王韧职称副教授专业:通信工程班级:1102完成时间:2013-12-20摘要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。所以设计一个简易数字电子钟很有必要。本电子钟采用ATMEL公司的AT89S52单片机为核心,使用12MHz晶振与单片机AT89S52相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。该电子钟设有四个按键K1、K2、K3和K4键,进行相应的操作就可实现校时、定时、复位功能。具有时间显示、整点报时、校正等功能。走时准确、显示直观、运行稳定等优点。具有极高的推广应用价值。关键词电子钟;AT89S52;硬件设计;软件设计ABSTRACTClockiswidelyusedinlife,andasimpledigitalclockismorewelcomedbypeople.Sotodesignasimpledigitalelectronicclockisnecessary.ThesystemuseasinglechipAT89S52ofATMEL’sasitscoretocontrolThecrystaloscillatorclock,usingofE-12MHZisconnectedwiththemicrocontrollerAT89S52,throughthesoftwareprogrammingmethodtoachievea24-hourcycle,andeight7-segmentLEDdigitaltube(twofourinonedigitaltube)displayshours,minutesandsecondsrequirements,andinthetimecourseofatimingfunction,whenthetimearrivedaheadofscheduledtimetobuzzagoodtimekeeping.TheclockhasfourbuttonsK1,K2,K3andK4key,andmaketheappropriateactioncanbeachievedwhentheschool,timing,reset.Withatimedisplay,alarmclocksettings,timerfunction,correctiveaction.Accuratetraveltime,displayandintuitive,precision,stability,andsoon.Withahighapplicationvalue.KeywordsElectronicclock;AT89S52;HardwareDesign;SoftwareDesign目录1设计课题任务、功能要求说明及方案介绍………………………………………11.1设计课题任务…………………………………………………………………11.2功能要求说明…………………………………………………………………11.3设计总体方案介绍及原理说明………………………………………………12设计课题硬件系统的设计…………………………………………………………22.1设计课题硬件系统各模块功能简要介绍……………………………………22.2设计课题电路原理图和PCB图以及元器件布局……………………………22.3设计课题元器件清单…………………………………………………………23设计课题软件系统的设计…………………………………………………………33.1设计课题使用单片机资源的情况……………………………………………33.2设计课题软件系统各模块功能简要介绍……………………………………33.3设计课题软件系统程序流程框图……………………………………………33.4设计课题软件系统程序清单…………………………………………………64设计结论、仿真结果、误差分析、教学建议……………………………………74.1设计课题的设计结论及使用说明……………………………………………74.2设计课题的仿真结果…………………………………………………………74.3设计课题的误差分析…………………………………………………………84.4设计体会………………………………………………………………………84.5教学建议………………………………………………………………………8结束语…………………………………………………………………………………9致谢…………………………………………………………………………………10参考文献………………………………………………………………………………11附录A…………………………………………………………………………………12附录B…………………………………………………………………………………13附录C…………………………………………………………………………………14附录D…………………………………………………………………………………15附录E…………………………………………………………………………………1611设计课题任务、功能要求说明及方案介绍1.1设计课题任务设计一个具有特定功能的电子钟。并有时间设定,时间调整功能。1.2功能要求说明设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。1.3设计课题总体方案介绍及工作原理说明本电子钟主要由单片机、4*1独立键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1.1所示:图1.1总体设计方案图本电子钟的所有的软件、参数均存放在AT89S52的内部ROM和内部RAM中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。键盘采用动态扫描方式。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。22设计课题硬件系统的设计2.1设计课题硬件系统各模块功能简要介绍硬件系统主要采用以下基本模块来实现,单片机最小系统模块、输入模块、输出模块、电源模块。(1)单片机最小系统模块:包括低功耗、高性能CMOS8位微控制器AT89S52;复位电路;晶振电路。本模块AT89S52系统控制核心,单片机系统复位由复位电路完成,单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端位位引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容。这样就构成一个稳定的自激振荡器。(2)输入模块:本模块共用到了5个按键,其中1个复位键,接通电源后,利用按键复位完成复位操作。,K1键控制电子钟的启动\调整状态,做正常走时状态时K2为电子钟时调整键,K3为电子钟分调整键,K4键为电子钟秒调整键,当作为闹钟调整状态时K4键为闹钟启动/关闭,K2为闹钟时调整键,K3为闹钟分调整键。K1、K2、K3,K4任一键都独自连一个I/O(P1.0、P1.1、P1.2)口线,说明它们可以独立实现相应的电子钟功能。(3)输出模块:本次设计显示为8位字符,采用两个四位一体数码管(共阳极)作为显示窗口。数码管用8个PNP三极管驱动。(4)电源模块:本次直接购买了市场上由PC机的USB口直接供电的编辑器2.2设计课题电路原理图、PCB图、元器件布局图2.2.1电路原理图见附录A所示。2.2.2PCB图见附录B所示。2.2,3元器件布局图见附录C所示。2.3设计课题元器件清单见附录D所示。33设计课题软件系统的设计3.1设计课题使用单片机资源的情况设计课题使用单片机资源的情况如下:P0口输出数码管段控信号,P2口输出数码管位控信号;晶振12MHz;时间调整开关键K1:P1.0;通过K1切换电子钟走时/暂停;时调整键K2:P1.1;按一次使电子钟时加1;分调整键K3:P1.2;按一次使电子钟分加1;秒调整键K4:P1.3按一次使电子钟秒加1/闹钟开启或关闭;蜂鸣器接:P3.1;整点和闹钟时间到时蜂鸣器报时;28H-36H;9个寄存器单元作为显示单元;28H闹铃小时缓冲区;29H闹铃分钟缓冲区;30H位选通控制位;31H显示位数计数器;32H走时小时缓冲区;33H走时分钟缓冲区;34H走时秒缓冲区;35H定时器中断次数计数器;36H显示缓冲区首地址;3.2设计课题软件系统个模块功能简要介绍本设计的软件系统主要采用以下基本模块来实现,主程序、中断服务程序、键盘输入程序模块、数码管及其驱动模块和延时模块。主程序:主要是用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制。中断服务程序:主要是用于电子钟的准确运行、数据输入过程中的闪烁。键盘输入程序模块:主要是用于确定按键并得到特定的键码值。数码管及其驱动模块:主要是用于驱动数码管及利用数码管显示时间。延时模块:程序中有两种延时子程序,一种是短延时用于判键按下等,一种是长延时。3.3设计课题软件系统程序流程框图系统软件采用汇编语言按模块化方式进行设计,然后通过Keil软件开发平台将程序转变成十六进制程序语言,接着使用Proteous进行仿真,读出显示数据。4开始时分秒赋初值调用定时器T0,T1初始化子程序调用走时转换子程序判断K1是否按下调用按键处理程序是调用闹钟检查及处理子程序判断K4是否按下否判断闹钟标志位调用蜂鸣器响程序为0调用三次蜂鸣器响程序为1图3.1主程序流程框图开始定时器工作方式初始化定时器赋初值允许定时器中断开启定时器子程序返回图3.2定时器初始化子程序流程框图5开始将时分秒缓冲区中内容转化后显示子程序返回图3.3转换子程序开始取先是缓冲区首地址DISP_BUF加上显示位计数值DISP_SEL查表得字形显示码显示位计数值DISP_SEL清0位选通控制位DISP_DIGIT送P2口DISP_DIGIT左移一位显示位计数器DISP_SEL等于8吗子程序返回显示位计数器DISP_DIGIT加1是否开始重装计数初值显示位计数器计数值等于100吗中断计数器加1计数器清0.秒值加1秒值等于60吗秒值清0分值加1分值等于60吗分值清0小时值加1小时值等于24吗时分秒值清0子程序返回否图3.4动态显示子程序图3.5定时器1中断服务程序6开始定时器1暂停K2是否按下HOUR单元加1HOUR等于24吗HOUR单元清0是是K3是否按下MIN单元加1MIN等于60吗MIN单元清0是是K4是否按下SEC单元加1SEC等于60吗SEC单元清0是是启动定时器1子程序返回调转换子程序否否否否否否图3.6按键处理子程序流程框图3.4设计课题软件系统程序清单要求:一.显示系统提示符“P.”二.定义5个功能键:分别是复位键,启动/暂停键,时调整键,分调整键,秒调整键三.在系统提示符状态下,只有按启动键/暂停键才能开启电子钟四.在电子钟运行状态下,只有按启动键/暂停键才能调整电子钟电路描述:P0口为数码管段控口,P2口为数码管位控口,蜂鸣器接P3.1口,LED灯接P3.7口系统程序见附录E74设计结论、仿真结果、误差分析4.1设计课题的设计结论及使用说明本设计为单片机的电子钟的设计。设计中问题很多,比如电路板的制作和电路的设计,但是经过查找和实验制作出了该设计,真的经历了许多困难,却积累了很多宝贵的经验,本设计用2个四位一体的共阳数码管做为显示器,它显示时间值;设计中有三个按键,其中S1为启动/选择调整位置,S2为加控制键S3为减控制键,当整点时间到时,蜂鸣器报警。这样的结果与设计要求完全相符,本设计成功。完成了设计任务。4.2设计课题的仿真结果在Prot