资源描述
基于单片机的电子时钟基于单片机的电子时钟毕业论文(设计)开题报告学生姓名班级指导教师学号1毕业论文(设计)题目基于单片机的电子时钟选题的意义选题的意义数字钟是对时、分、秒、年、月、日数字显示及到时提醒的一个装置由于数字集体电路的发展及石英晶体振荡的广泛应用,使得数字钟的显示远远超过老式钟中标的数字化给人们带来极大的方便。最常见的数字钟是单片机模块控制,与机械型时钟相比具有更高的准确性、直观性。具有更长的使用寿命。所以本文采用基于单片机来设计和制作一个数字电子钟。通过本论文课题的研究,预计达到通过本论文课题的研究,预计达到: : 本设计由单片机 AT89S52 芯片和 LED 数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为 24 小时,显满刻度为“23 时 59 分 59 秒”,另外具有校时功能等特点。该电子钟可以做到的功能:上电或按键复位后能自动显示系统默认时间“12-00-00”进入时钟运行状态。具体安排进度具体安排进度:2012 年 3 月 1 日3 月 30 日:查阅资料,搜集所需信息;根据数字电子钟课题任务制定合理、可行的工作计划;2012 年 4 月 1 日4 月 30 日:根据所制定的任务书绘制原理图编写程序;2012 年 5 月 1 日5 月 31 日:编写毕业设计论文,装订成册,进行毕业答辩。2指导教师评语选题合理,具有一定的实用价值,符合专业培养目标,前期准备工作较为充分,设计方案切实可行。同意开题。 指导教师签名: 2011 年 3 月 20 日摘摘 要要 近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本文介绍了基于单片机的数字钟的设计,详细讨论了它从软件上实现的过程,重点在时钟调整的方式:查询和中断的比较,然后,对数字钟的稳定性和精确性作了相关的讨论。在文章的最后,给出了采用中断方式实现的数字钟的源程序。 关键字:单片机,数字钟,数据缓冲区,中断AbstractIn recent years, with computers in the in filtration and the development of large-scale integrated circuits. SCM application is steadily deepening, as it has strong function, small size, low power dissipation, low prices, reliable, easy to use features, it is particularly suited to and control of the system, increasingly widely used in automatic control, intelligent instruments, gauges, data acquisition, military products and household appliances, and other areas, is often microcontroller as a core component to use, In light of specific hardware architecture, and application-specific software features object combine to make perfect. In this paper, based on single-chip digital clock design, discussed in detail from the software realize the process, focusing on the clock adjust in the way: queries and 3disruption of comparison, then, on the digital clock made of the stability and accuracy related discussion. In the last article, Keywords: MCU, digital clock, data buffer, interruption, timing, 目 录引言.6第一章 单片机的相关知识.71.1PROTEUS 软件简介.71.2 单片机简介.71.3 单片机的发展史.71.4 AT89C51 单片机介绍 .81.4.2 单片机的基本结构.91.4.3 单片机的选择 .9第二章 硬件电路设计.92.1 电子钟系统硬件组成.92.2 电子钟硬件电路工作说明.102.3 PROTEUS进行电子钟系统仿真.10第三章软件设计.113.1 程序流程图设计 .113.2 KEILC51 进行程序调试.123.3 基于 AT89S51 单片机数字时钟的参考电路.12第四章 结束语.13第五章 致 谢.13参考文献.13附录 单片机程序.14引言引言近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此越来越广泛地应用各个领域. 本文的电子钟系统是以单片机(AT89C51)为核心,时钟芯片 DS1302、数码管显示驱动芯片 MAX7219 等元器件组成。具体介绍应用 Proteus 的 ISIS 软件进行单片机系统的电子钟设计与仿真的实现方法。该方法既能准确验证所设计的系统是否满足技术要求,又能提高系统设计的效率和质量,降低开发成本,具有推广价值。随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,单片机从 4 位、8 位、16 位到 32 位,其发展历程一直受到广大电子爱好者的极大关注。单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。然而传统的单片机系统开发除了需要购置诸如仿真器、编程器、示波器等价格不菲的电子设备外,开发过程也较繁琐。单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件编程设计两个方面, 其调试过程一般分为软件调试、硬件测试、系统调试 3 个过程。如果采用单片机系统的虚拟仿真软件Proteus,则不用制作具体的电路板也能够完成以上工作。5第一章第一章 单片机的相关知识单片机的相关知识1.1PROTEUS1.1PROTEUS 软件简介软件简介PROTEUS 软件由 Labcenter 公司开发,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台,可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和 PCB 设计等功能,是目前唯一能够对各种处理器进行实时仿真、调试与测试的 EDA 工具。微控制器系统相关的仿真需建立编译和调试环境,可选择 Keil C51uVision2 软件。该软件支持众多不同公司的芯片,集编辑、编译和程序仿真等于一体,同时还支持 PLM、汇编和 C 语言的程序设计。它的界面友好易学,在调试程序、软件仿真方面有很强大的功能。 其革命性的功能是:将电路仿真和微处理器仿真进行协同,直接在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过动态器件如电机、LED、LCD、开关等,实时看到运行后的输入、输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等, Proteus 为我们建立了完备的电子设计开发环境。1.21.2 单片机简介单片机简介单片微型计算机简称单片机,是典型的嵌入式微控制器常用英文字母的缩写 MCU 表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有 CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和 CPU 集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL 的 Z80 是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。1.31.3 单片机的发展史单片机的发展史1.3.1 4 位单片机 4 位单片机的主要应用领域有:PC 机的输入装置,电池充电器,运动器材,带液晶显示的音/视频产品控制器,一般家用电器的控制及遥控器,电子玩具,钟表,计算器,多功能电话等。 61.3.2 8 位单片机 8 位单片机由于功能强,被广泛用于自动化装置、智能仪器仪表、智能接口、过程控制、通信、家用电器等各个领域。1.3.3 16 位单片机 16 位单片机主要用于工业控制,智能仪器仪表,便携式设备等场合。1.3.4 32 位单片机随着高新技术智能机器人,光盘驱动器,激光打印机,图像与数据实时处理,复杂实时控制,网络服务器等领域的应用与发展推出 32 位单片机1.3.5 64 位单片机64 位单片机在引擎控制,智能机器人,磁盘控制,语音图像通信。1.41.4 AT89C51AT89C51 单片机介绍单片机介绍AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除 100 次。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1.4.1 管脚说明VCC:供电电压。 GND:接地。 RST:复位输入。P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。P3 口也可作为 AT89C51 的一些特殊功能口ALE/PROG:地址锁存允许的输出电平用于锁存地址的地位字节。/PSEN:外部程序存储器的选通信号。/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器( 0000H-FFFFH) ,不管是否有内部程序存储器。7XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。1.4.21.4.2 单片机的基本结构单片机的基本结构MCS-51 单片机内部结构 8052 单片机包含中央处理器、程序存储器(ROM)、数据存储器 (RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。1.4.31.4.3 单片机的选择单片机的选择单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和 I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过 1、2、3、3 代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强 I/O 功能及较好的结构兼容性方向发展。第二章第二章 硬件电路设计硬件电路设计2.12.1 电子钟系统硬件组成电子钟系统硬件组成MAX72 电子钟系统硬件主要由 AT89C51 单片机、时钟芯片 DS1302、数码管码显示驱动芯 19 等元器件组成。单单片片机机晶晶振振电电路路单单片片机机复复位位电电路路AT89C51单单片片机机时时钟钟芯芯片片DS13028位位LED显显示示数数码码管管显显示示驱驱动动芯芯片片MAX7219按按键键电电路路蜂蜂鸣鸣器器电子钟系统硬件电路组成框图82.22.2 电子钟硬件电路工作说明电子钟硬件电路工作说明系统硬件电路根据课题设计要求,它由以下几个部件组成:单片机89C52RC、电源、时分秒显示模块。时分秒显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。显示模块中时分秒显示驱动、校时模块都通过 89C52RC 的 I/O口控制。显示模块中的复位电路由 89C52RC 的 RESET 端控制。电源部分:电源部分有二部分组成。一部分是由 220V 的市电通过变压、整流稳压来得到+5V 电压,维持系统的正常工作;另一部分是由 5V 的电池供电,以保证停电时正常走时。正常情况下电池是不提供电能的,以保证电池的寿命。2.32.3 ProteusProteus 进行电子钟系统仿真进行电子钟系统仿真在 Proteus ISIS 的 Debug 菜单中选择 Execute,运行程序,系统仿真结果如下图所示。实现功能:当进入调整功能时,按第一个键 K1 进行减运算,按第二个键 K2 进行加运算。按下第三个键 K3,实现日期时间调整及定时功能,等数字闪烁后,按一二键进行加减,从而可以进行具体日期时间调整。当定时设定后,到预定时间后,系统通过 C51 音乐程序演唱歌曲-八月桂花。按下第四个键 K4,可以进行时间日期切换,8 位 LED 数码管将显示时间或日期,采用24 小时制。时间显示格式为:时-分-秒;日期显示格式为:日-月-年。有实时显示当前计算机系统时间和日期的功能。9第三章第三章软件设计软件设计3.13.1 程序流程图设计程序流程图设计按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1;如果没有按下,就把时间显示出来。定时器中断时是先检测 1 秒是否到,1 秒如果到,秒单元就加 1;如果没到,就检测 1 分钟是否到,1 分钟如果到,分单元就加 1;如果没到,就检测 1 小时是否到,1 小时如果到,时单元就加 1,如果没到,就显示时间。开始秒按键按秒加 1分按键按分加 1时按键按时加 1显示时间结束开始一秒时间秒单元加 160秒时间秒单元清零分单元加 160分钟分单元清零时单元加 124小时时单元清零时间显示中断返回10时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。3.23.2 keilc51keilc51 进行程序调试进行程序调试3.33.3 基于基于 AT89S51AT89S51 单片机数字时钟的参考电路单片机数字时钟的参考电路开始秒个位计算显示秒十位计算显示分个位计算显示分十位计算显示时个位计算显示时十位计算显示结束11第四章第四章 结束语结束语本文的电子钟系统是以单片机(AT89C51)为核心,时钟芯片 DS1302、数码管显示驱动芯片 MAX7219 等元器件组成。具体介绍应用 Protel DXP 进行电路原理图设计,Keil C51 软件调试程序以及 Proteus 的 ISIS 软件进行单片机系统的电子钟设计与仿真。实现了硬件软化的目的。我在这一次数字电子钟的设计过程中,很是受益匪浅。通过对自己在大学三年时间里所学的知识的回顾,并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力,最终完成了。这为自己今后进一步深化学习,积累了一定宝贵的经验。撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。培养了我运用所学知识解决实际问题的能力。我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。第五章第五章 致致 谢谢参考文献参考文献1 代启化.基于 Proteus 的电路设计与仿真J.现代电子技术 2006 第 19 期.2 曹洪奎;马莹莹 基于 Proteus 单片机系统设计与仿真J.辽宁工学院学报 3 蔡希彪,曹洪奎; 单片机电子时钟系统的设计与仿真 J;中国科技信息; 4 刘文秀.单片机应用系统仿真的研究J.现代电子技术.2005, 第 286 期12附录附录 单片机程序单片机程序DATA_SEGSEGMENTDATA;定义一个 DATA 段STACKSEGMENTIDATA;定义一个堆栈段BIT_SEGSEGMENTBIT ;定义一个位段bKeyBITP1.0;IdleConstEQU50RSEG STACKDS 10H ;16 个字节的堆栈RSEGDATA_SEG;开始 DATA_SEG 段buffer:DS 6 ;6 个字节的显示缓冲区ms50:DS 1;50ms 计数ms250:DS 1 ;250ms 计数sec:DS 1 ;秒min:DS 1 ;分hour:DS 1;时ms50_1:DS 1;存放多少个 50ms,用于记录按键时间SetPos:DS 1;设置位置SetPos1:DS 1;需要屏蔽的数码管RSEGBIT_SEGbIdle:DBIT1;省电模式bTwinkle:DBIT1;当前设置位置闪烁CSEGAT 0 ;相当于小汇编的ORGLJMPMAINCSEGAT 000BH ;定时器 T0 中断处理入口地址LJMPINT_Timer0CSEGAT 001BH ;定时器 T1 中断处理入口地址LJMPINT_Timer113MOVP0,ASetFunTab: AJMPNoSet;不需要调整AJMPSetHour;调整小时AJMPSetMin;调整分钟AJMPSetSec;调整秒钟NoSet:CLRbTwinkleRET ;不在设置状态SetHour:INChourMOVA,hourCJNEA,#24,SetHour1MOVhour,#0SetHour1:SJMPSetFun1SetMin:INCminMOVA,minCJNEA,#60,SetMin1MOVmin,#0SetMin1:SJMPSetFun1SetSec:INCsecMOVA,secCJNEA,#60,SetFun1MOVsec,#0SetFun1:SETBF0RET;调整闪烁位置SetPosTab: AJMPNoSetPosAJMPSetHourPosAJMPSetMinPosAJMPSetSecPosNoSetPos:MOVSetPos1,#014RETINCARL AMOVDPTR,#SetPosTabJMPA+DPTRKey2:SETBbIdle ;进入省电模式MOVP2,#0FFHKey3:RETKey4:JNBTR1,Key5MOVA,ms50_1CJNEA,#IdleConst,$+3JNCKey2RETKey5:ACALL DisplayACALL DisplayACALL DisplayACALL DisplayJNBbKey,Key6SJMPKey3Key6:CLRbIdleMOVTH1,#60MOVTL1,#176SETBTR1MOVms50_1,#0RET END
展开阅读全文