Word版可编辑-电子时钟毕业设计精心整理.doc_第1页
Word版可编辑-电子时钟毕业设计精心整理.doc_第2页
Word版可编辑-电子时钟毕业设计精心整理.doc_第3页
Word版可编辑-电子时钟毕业设计精心整理.doc_第4页
Word版可编辑-电子时钟毕业设计精心整理.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)题 目 单片机的电子时钟设计与发展 英文题目 SCM electronic clock design and development学生姓名 * 班 级 * 专 业 * 指导教师 * 东华理工大学二0 一二 年四 月东华理工大学设计(论文)摘要单片机的数字时钟设计与发展摘要基于单片机设计的数字钟精确度较高, 因为在程序的执行过程中, 任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用7407驱动电路,实现在6个LED数码管上显示日期、时间、定时、闹铃,通过6个按键实现设置日期、进行调时、设定闹铃、倒计时等功能,在实现各功能时数码管进行相应显示,闹铃或定时时间到时蜂鸣器响,按下闹铃键或定时键时,声音停止。软件部分用汇编实现,分为显示、延迟、调时、闹铃、定时、调整日期等部分。通过软硬件结合达到最终目的。关键词: 电子钟; 单片机; 动态扫描; AbstractThis design uses a 12 MHZ crystal to connect with the machine AT89C51, takes AT89C51 chips as core. It adopts the dynamic state of the scanning method to show. Using this MCU and 7407 drive electric circuit, we are able to show date, time, fix the time, and make bell on 6 LED figures tubes. We can use 6 key to constitute date, adjust time, enact the bell and set the countdown timer. When the electric carrying out each function, the figures tube shows the tight function .When the alarm clock and the countdown timer were reached, the voice begins. While 3 or 4 is pressed, the voice stops. The software part is realized by assembler language. It was divided into to show, delay, adjust, make bell, in fixed time, and adjust date etc. part. We get the end purpose combining the software and the hardware.Keywords: Electric clock; MCU; Dynamic state scanning ; 19东华理工大学设计(论文)目录目录摘要IAbstractII1 引言12 整体设计思路23 主要元件的简介33.1 AT89C51单片机:33.2 7407驱动器34 电路设计44.1整体设计44.2 分块设计44.2.1 输入部分44.2.2 输出部分(显示电路)54.2.3 晶振与复位电路:55 程序设计65.1程序思路65.2程序设计步骤75.3程序的主要模块75.3.1延迟程序75.3.2 中断服务子程序75.3.3 主程序85.3.4显示程序95.3.5 闹铃程序和定时程序105.4程序调试106 功能仿真116.1 软件介绍116.2仿真过程:116.2.1仿真图的绘制116.2.2功能的实现117 日历功能的实现14结论16致谢17参考文献18东华理工大学设计(论文)引言1 引言单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机具有体积小、功能多、价格低廉、使用方便、系统设计灵活等优点。因此,它应用广泛前景美好,它的实用性大大地提高了我对毕业设计的兴趣。数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟, 也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟还可以利用单片机来实现电子钟等等。这些方法都各有特点, 其中,利用单片机实现的电子钟具有编程灵活, 便于功能扩充, 精确度高等特点。东华理工大学设计(论文)第二章2 整体设计思路这部分主要介绍工作安排和整体设计的思想。工作过程规划如下:熟悉硬件 了解各引脚功能分块设计各部分电路将分块的电路组合认真学习单片机汇编语言完成整体电路图确定变成结构和思路综合各程序完成整体程序编辑各个程序模块用Proteus画出电路图调试程序,进行修改对仿真中出现的问题进行改正画出仿真图进行仿真准备器件、搭接电路仿真成功软硬件结合,完成任务书要求验证硬件电路成功进行扩展图2.1 整体设计思路针对要实现的功能,拟采用AT89C51单片机进行设计,AT89C51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。程序可分为闹钟的声音程序、显示程序、闹钟显示程序、调时显示、定时程序。运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。东华理工大学设计(论文)第三章 3 主要元件的简介下面就本次设计中用到的主要元件的所有功能进行简单的介绍,包括AT89C51单片机、74LS07芯片、以及数码管的特性和用法。3.1 AT89C51单片机:单片机的结构如下:图3.1 单片机引脚图在使用时VCC接电源电压,GND接地。P0,P1,P2,P3可作为输入或输出端口,RST是复位输入,接复位电路。XTAL1和XTAL2接复位电路。这些可以在硬件设计部分体现出来。3.2 7407驱动器7407是集电极开路六正相高压驱动器,引脚1入2出,3进4出,5进6出,9进8出,11进10出,13进12出,7接地,14接高电平。7407引脚图:图3.2 7407引脚图3.3数码管: 使用共阴极数码管时将6个数码管按相同功能连接起来,3与8相连当选通端所接管脚为低电平时该数码管选通。单片机的P2口作为选端连接各数码管的3、8引脚轮流显示,连接时要加7407和上拉电阻。单片机的P1口作为功能段,通高电平的引脚会使相应段亮起,同样的也要与7407和电阻连接使用。东华理工大学设计(论文)第五章4 电路设计4.1整体设计此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用六个数码管分别显示小时(年份)、分钟(月份)和秒(日),通过动态扫描进行显示,从而避免了译码器的使用,使电路更加简单。单片机采用AT89C51系列,这种单片机应用简单,适合电子钟设计。电路的总体设计框架如下:单片机输入部分晶振和复位输出部分图4.1 电路模块图4.2 分块设计这部分介绍各模块电路的设计方法和成果,主要分为:输入部分、输出部分、复位和晶振电路。4.2.1 输入部分在电子钟的输入部分,设置相应的置数功能,通过外部设备的输入,如按键,实现时间的修改。除此之外,调整闹铃、定时、日期时也需要按键进行输入。在选用输入端口时,将P3引脚与按键相连进行输入。设计的输入部分如下:图4.2 输入部分各按键功能在后面的部分将会介绍到4.2.2 输出部分(显示电路)该部分电路图如下所示:图4.3 显示部分在实际电路中采用单个数码管相连进行显示,先把数码管的1、2、4、5、6、7、9、10对应相连,然后把各晶体管的3和8引脚各自相连,P1.6P1.0分别接ag,P2作为选通端P2.0P2.5分别从左到右接各数码管的3、8端。采用动态显示, 即一位一位地轮流点亮各位显示器,因此P2.0P2.5轮流置0。持续时间为1ms,这点在程序部分还会讲到。4.2.3 晶振与复位电路:图4.4 晶振与复位电路5 程序设计5.1程序思路初始化判断按键显示按下3键按下1键按下2键若无按键调时调闹钟调定时显示所调时间显示闹铃时间显示定时时间调整时限到 或有其他输入图5.1 程序设计思路结合电路,程序的总体思路是:1、点复位键后,进行时间显示,从0时0分0秒开始。2、按下按键1时,进行调时,此时按下4调整时,按下5调整分,若2秒钟未按键,则不再等待,恢复走时,持续按键时大约0.3秒步进1,下同。3、按下2键时进行闹铃调整,用4、5键分别调时和分,此时只有前四位进行显示,即闹铃功能精确到分,2秒钟无按键则返回时间显示,时间到达闹铃所定时间时P0.7输出高电平,蜂鸣器响,按下按键2或3时蜂鸣器停止。4、按3键时进行定时的设定,同样,分别通过4、5调整分和秒,若两秒未按键则不进行定时,设定之后再次按下3键则进行倒计时,倒计时时间未到时若按下1键则进行时间显示;若倒计时时间到则P0.7为高电平,蜂鸣器响。定时的最大值为59分59秒。5.2程序设计步骤在程序设计过程中,我遇到了很多困难,这部分也是让我学到很多东西的地方。首先,我学习了定时器的相关知识,计数器的使用是很重要的组成部分,在这个设计中选择计数器T0。T0的工作方式有:方式0:不推荐方式1:16位计数器,常用方式2:自动重装初值的8位定时/计数器方式3:T0相当于两个独立的8位定时/计数器此程序采用方式1,方式1的定时时间t为t=(216-M)*12/fosc。其中M为定时器初值,fosc为12MHz,若M为0则t=65536*12/2*106=65.536ms。因此可取50ms为计时单位,初值M应为50*10-3*106=216-M。M=15536=11110010110000=3CB0。即定时器初值为TH0=03CH,TL0=0B0H。定时器中断20次为一秒,这部分在中断程序中用到。其次,我参看了文献中的设计思路,做到胸有成竹后再进行具体的程序书写工作。认真学习了教科书中关于汇编语言编程的问题,熟悉了汇编语言的编程方法和语法习惯。第三步就是进行具体的程序编写工作。5.3程序的主要模块5.3.1延迟程序在动态扫描时,必然用到延迟程序,这里使用延迟1ms的程序,此程序需要反复调用。D_1MS:MOV R7,#2D_5:MOV R2,#250DJNZ R2,$DJNZ R7,D_5RET5.3.2 中断服务子程序中断服务程序中,总体思路是:由于初值是3CB0H,所以装满定时器需要50ms的时间,从而20次中断为一秒,一秒之后,判断是否到60秒,若不到则秒加一,然后返回,若到,则秒赋值为0,分加一,依次类推。包括日期显示的功能也是如此。另外,由于要实现倒计时功能,因此在中断程序中还要加入减一的寄存器,需要时将其进行显示。基于以上考虑,以R3为倒计时中的秒,R4为倒计时的分,当秒加1时R3减一,减到0之后,秒赋值为59,分减一,直到分为0。再显示走时部分。流程框图如下:给T0赋值中断20次R3赋值为60分=0,秒=0,时加一秒加一R3、R4都为0时倒计时结束,蜂鸣器响,显示走时状态秒=60Y秒=0时加1N时=24分=60YNYN分=0,秒=0,时=0返回R3=0YR3、R4减一N图5.2 中断程序思路5.3.3 主程序主程序主要对按键进行扫描,以及判断定时和闹铃时间是否已到,若到则调用声音程序,该段程序如下:MAIN:JNB P3.0,DATETZ;按下0键时,显示日期并可对日期进行调整JNB P3.1,ZSTZ1;按下1键时,显示时间,并可调时JNB P3.2,NLTZ1;按下2键进行闹铃设置JNB P3.3,DSTZ;按下3键进行定时设置ACALL DISP;MOV A, HOUR;SUBB A, 38H;JZ FEN;AJMP DSPD2;FEN:MOV A, MINUTE;SUBB A, 37H;JZ SHENGYIN1;DSPD2:MOV A, R4;JZ S_PD;AJMP MAIN;S_PD:MOV A, R3;JZ SHENGYIN1;AJMP MAIN;5.3.4显示程序6个晶体管轮流进行显示,分别显示1ms,这依赖的是人们视觉的惰性,该段程序如下:DISP:;走时的显示程序,包括调时时的显示MOV DPTR,#LEDTABMOV A,SECONDMOV B,#10DIV AB;A存十位B存个位MOVC A,A+DPTRMOV P1,ACLR SEC_SACALL D_1MS;显示秒十位SETB SEC_SMOV A,BMOVC A,A+DPTRMOV P1,ACLR SEC_GACALL D_1MS;显示秒个位SETB SEC_G以此类推,进行时和分的显示RET另外,调闹铃和定时时间、进行日期显示时,有各自的显示程序,但不能成为独立子程序,分别柔和在闹铃、定时、和日期程序中。5.3.5 闹铃程序和定时程序这两段程序分别包含了各自的显示、调整程序。程序思路是对照,走时部分的程序,进行编写,包括显示程序,与显示时间的程序是相似的,闹铃和定时的调整程序与走时调整程序相似。5.4程序调试程序写完以后必须进行调试,以验证程序是否正确。在程序调试时,出现了很多问题,比如跳转距离过长、打错字母、逻辑有错等,发现问题后,利用两天时间进行了改正,但即使编译通过,最后也不一定能够实现功能。以为程序的调试只能检查出语法错误,而不能检查出逻辑的错误。要真正把程序写对,要通过仿真发现并且改正错误。东华理工大学设计(论文)第六章6 功能仿真这部分工作可能遇到的困难是很多的,程序庞大很可能出现各种问题。在仿真工作中,首先要对仿真软件有足够的了解并能够正确熟练地运用6.1 软件介绍在这部分工作中用到了Uvision4和Proteus两个软件,其中Uvision4用来编译程序并生成hex文件,装入Proteus仿真图的芯片中,通过仿真结果一步步进行调整最后达到预期的功能。6.2仿真过程:6.2.1仿真图的绘制在使用Proteus进行仿真时,仿真图不用画出数码管驱动程序,其他部分与设计的硬件图相仿。绘制结果如下:图6. 1 仿真图6.2.2功能的实现在绘制仿真图之后,要向单片机装入程序,从而使单片机开始工作并带动整个电路工作,装入过程为:点击单片机,选择所编译程序的输出hex文件,确定即可。此时单片机会按照程序所设定的功能进行工作,在仿真过程中会遇到各种问题。这里列出仿真结果:(1)走时仿真:图6.2 走时状态下的仿真结果(2)闹钟设定的仿真:图6.2.3 闹铃仿真结果可见所定闹钟时间为10点15分。(3)定时钟倒计时的仿真:图6.2.3 倒计时仿真可见,倒计时进行到3分3秒。东华理工大学设计(论文)第七章 7 日历功能的实现在设计的开始阶段,我主要考虑了日期的逻辑算法。首先,要考虑年份是不是闰年,闰年的判断方法是:将年份除以100,若能整除,则将年份除以400,若还能整除,则为闰年,若不能,则为平年;若不能被100整除,则判断是否能被4整除,若能,则为闰年,若不能则为平年。只有2月与平、闰年相关,因此在闰年和平年的子程序中,要判断是不是2月,若是则在相应的年中进行日期的增加,若不是则转入平时的月份。其中1、3、5、7、8、10、12月是每月31天,4、6、9、11月为每月30天。在电路方面:用按键的输入决定6个数码管显示日期还是时间,按键控制为:按下1键时,显示日期,并且用4、5、6键分别调整年、月、日;按下2键时,进行走时和时间调整;3键位闹铃键;4键为定时键。程序思路如下:年份能否被100整除NY年份是否能被4整除年份是否能被400整除NN平年闰年YY是不是2月是不是2月Y日=28之后返回为1NNY日=29之后返回为1若月份为1、3、5、7、8、10、12月则调用31天的程序若月份为4、6、9、11则调用30天的程序图8.1 扩展部分思路按键形式:图8.2 按键图示 东华理工大学设计(论文)结论结论通过对数字时钟的设计,更加深了对单片机功能的了解以及各个模块程序的调用,编程。在实物设计时候遇到了更多的问题,比如芯片的质量问题不能得到保证。由于用万能电路板搭建,飞线数量特别多,整个实物给人的印象十分复杂,在焊接的过程中难免出现各种错误,经过老师和同学等的帮助,最终实现了部分功能,在此对他们真挚的感谢。东华理工大学设计(论文)致谢致谢当我以学子的身份踏入大学校门的那天起,便已注定我将在这里度过人生中最美丽的青春年华。提笔写下“谢辞”,我才惊觉自己即将真正离开,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论