《毕业论文单片机电子钟论文(定稿)》由会员分享,可在线阅读,更多相关《毕业论文单片机电子钟论文(定稿)(23页珍藏版)》请在金锄头文库上搜索。
1、毕业论文单片机电子钟论文(定稿) 河北工业大学毕业设计说明书作者李若津学号062068学院信息工程学院系(专业)电子科学与技术题目基于单片机设计LED显示电子钟指导者张存善教授评阅者xx年6月7日毕业设计中文摘要基于单片机设计LED显示电子钟摘要本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用7407驱动电路,实现在6个LED数码管上显示日期、时间、定时、闹铃,通过6个按键实现设置日期、进行调时、设定闹铃、倒计时等功能,在实现各功能时数码管进行相应显示,闹铃或定时时间到时蜂鸣器响,按下闹铃键或定时键
2、时,声音停止。 软件部分用汇编实现,分为显示、延迟、调时、闹铃、定时、调整日期等部分。 通过软硬件结合达到最终目的。 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。 单片机具有体积小、功能多、价格低廉、使用方便、系统设计灵活等优点2。 因此,它应用广泛前景美好,它的实用性大大地提高了我对毕业设计的兴趣。 在我国,单片机的开发应用已有15年左右,已经形成一支庞大的技术开发队伍,为我国单片机应用积累了丰富的经验。 随着电子技术、计算机芯片技术和微电子技术的飞速发展促进了单片机技术一日千里的变化3。 随着半导体技术的飞速发展,以及移动通信、网络技术
3、、多媒体技术在嵌入式系统设计中的应用,单片机从4位、8位、16位到32位,其发展历程一直受到广大电子爱好者的极大关注。 单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。 然而传统的单片机系统开发除了需要购置诸如仿真器、编程器、示波器等价格不菲的电子设备外,开发过程也较繁琐。 英国Labcenter Electronics公司的Proteus软件很好地诠释了利用现代EDA工具方便快捷开发单片机系统的优势。 它包括PROTEUS VSM(Virtual SystemMode
4、lling)、PROTEUS PCBDESIGN两大组成部分,在PC机上就能实现原理图电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证以及形成PCB文件的完整嵌入式系统设计与研发过程。 单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件编程设计两个方面,其调试过程一般分为软件调试、硬件测试、系统调试3个过程。 如果采用单片机系统的虚拟仿真软件Proteus,则不用制作具体的电路板也能够完成以上工作。 数字钟是采用数字电路实现对时,分,秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给
5、人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。 数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便4。 不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。 而且是控制的核心部分。 因此,研究数字钟及扩大其应用,有着非常现实的意义。 电子钟在工业控制和日常生活中是很重要的,它不仅可以用于计时、提醒又可用于对
6、机器的控制,在自动化的过程中必然有电子钟的参与,因此电子钟的应用会越来越广泛。 而且向着精确、低功耗、多功能发展。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 从而,使数字钟的精度仅仅取决于单片机的产生机器周期电路和定时器硬件电路的精确度。 另外,程序较为简洁,具有可靠性和较好的可读性。 如果我们想将它应用于实时控制之中,只要对上述程序和硬件电路稍加修改,便可以得到实时控制的实用系统,从而应用到实际工作与生产中去。 数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以
7、显示电路及其所需要的外围电路组成电子钟还可以利用单片机来实现电子钟等等。 这些方法都各有特点,其中,利用单片机实现的电子钟具有编程灵活,便于功能扩充,精确度高等特点5。 基于以上分析,在此次设计中,我选择的是利用单片机制作电子钟。 电子钟的设计本身包括程序的设计和硬件电路的设计6。 我的思路是,先进行电路的整体设计,再根据电路进行编程,在编程的过程中,对电路进行微调,以更好地配合程序。 在设计完成后,进行程序调试,调试软件选择MedWin,调试成功后,再根据电路图画出仿真图,将软件装入单片机芯片,利用Proteus软件进行仿真,仿真中的错误通过改正程序中的逻辑错误和电路中的设计不当进行排除,这
8、个过程是很艰难的但也是很重要的。 若仿真可以实现,则硬件电路的实现就可以有条不紊地进行。 2整体设计思路这部分主要介绍工作安排和整体设计的思想。 工作过程规划如下图2.1整体设计思路针对要实现的功能,拟采用AT89C51单片机进行设计,AT89C51单片机是一认真学习单片机汇编语言款低功耗,高性能CMOS8位单片机,片内综合各程序完成整体程序含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易对仿真中出现的问题进行失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构7。 这样,既能做到经济合理又能实现预期的功能。 在程序方面,采用分块
9、设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。 程序可分为闹钟的声音程序、显示程序、闹钟显示程序、调时显示、定时程序。 运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。 本电子钟设计主要是依照图2.1中的流程做出来的,时间分配比较均匀。 首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。 这是前期准备工作。 第二部分是硬件部分依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。 第三部分是软件部分先学习理解汇编语言的编程方法再根据设计的
10、硬件电路进行分块的编程调试,最终完成程序设计。 第四部分是软件画图部分设计好电路后进行画图,包括电路图和仿真图的绘制。 第五部分是软件仿真部分软硬熟悉硬件了解各引脚功能分块设计各部分电路将分块的电路组合完成整体电路图确定变成结构和思路各个程序模块用Proteus画出电路图调试程序,进行修改改正画出仿真图进行仿真准备器件、搭接电路仿真成功软硬件结合,完成任务书要求验证硬件电路成功进行扩展件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。 第六部分是硬件实现部分连接电路并导入程序检查电路,若与设计的完全一样一般能实现想要的功能。 最后进行功能扩展,本设
11、计加进了日期显示与调整功能。 3主要元件的使用方法下面就本次设计中用到的主要元件的所有功能进行简单的介绍,包括AT89C51单片机、74LS07芯片、以及数码管的特性和用法。 3.1AT89C51单片机8该单片机功能强大,不仅能满足设计的需要,也可以在设计要求的基础上进行一些扩展。 单片机的结构如下图3.1.1单片机引脚图在使用时VCC接电源电压,GND接地。 P0,P1,P2,P3可作为输入或输出端口,RST是复位输入,接复位电路。 XTAL1和XTAL2接复位电路。 这些可以在硬件设计部分体现出来。 3.27407驱动器97407是集电极开路六正相高压驱动器,1入2出,3进4出,5进6出,
12、9进8出,11进10出,13进12出,7接地,14接高电平。 7407引脚图图3.2.17407引脚图7407逻辑图图3.2.27407逻辑图3.3数码管图3.3.1数码管使用共阴极数码管时将6个数码管按相同功能连接起来,3与8相连,当选通端所接管脚为低电平时该数码管选通。 单片机的P2口作为选通端,连接各数码管的 3、8引脚轮流显示,连接时要加7407和上拉电阻。 单片机的P1口作为功能段,通高电平的引脚会使相应段亮起,同样的也要与7407和电阻连接使用。 4电路设计4.1整体设计此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块显示电路用六个数码管分别显示小时(年份)、分钟
13、(月g fa be ddp c87109612345a bc de fg份)和秒(日),通过动态扫描进行显示,从而避免了译码器的使用,使电路更加简单。 单片机采用AT89C51系列,这种单片机应用简单,适合电子钟设计。 电路的总体设计框架如下图4.1.1电路模块图4.2分块设计这部分介绍各模块电路的设计方法和成果,主要分为输入部分、输出部分、复位和晶振电路。 42.1输入部分在电子钟的输入部分,设置相应的置数功能,通过外部设备的输入,如按键,实现时间的修改10-11。 除此之外,调整闹铃、定时、日期时也需要按键进行输入。 在选用输入端口时,将P3引脚与按键相连进行输入12。 设计的输入部分如下
14、图4.2.1输入部分各按键功能在后面的部分将会介绍到42.2输出部分(显示电路)该部分电路图如下所示图4.2.2显示部分在实际电路中采用片机单个数码管相连进行显示,先把数码管的 1、 2、 4、 5、 6、 7、 9、10对应相连,然后把各晶体管的3和8引脚各自相连,P1.6P1.0分别接ag,P2作为选通端P2.0P2.5分别从左到右接各数码管的 3、8端。 采用动态显示,即一位一位地轮流点亮各位显示器18,因此P2.0P2.5轮流置0。 持续时间为1ms,这点在程序部分还会讲到。 42.3晶振与复位电路图4.2.3晶振与复位电路5程序设计5.1程序思路图5.1.1程序设计思路结合电路,程序
15、的输出部分总体思路是17按下1键 1、点复位键后,进行时间显示,从0时0分0秒开始。 2、按下按键1时,调时进行调时,此时按下4调整时,按下5调整分,若显示所调时间2秒钟未按键,则不再等待,恢复走时,持续按键时大约0.3秒步进1,下同。 3、按下2键时进行闹铃调整,用 4、5键分别调时和分,此时只有前四位进行显示,即闹铃功能精确到分,2秒钟无按键则返回时间显示,时间到达闹铃所定初始化判断按键显示按下3键按下2键若无按键调闹钟调定时显示闹铃时间显示定时时间调整时限到或有其他输入单输入部分晶振和复位时间时P0.7输出高电平,蜂鸣器响,按下按键2或3时蜂鸣器停止。 4、按3键时进行定时的设定,同样,分别通过 4、5调整分和秒,若两秒未按键则不进行定时,设定之后再次按下3键则进行倒计时,倒计时时间未到时