数字电子时钟毕业设计Word文档格式.docx
- 文档编号:17558282
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:29
- 大小:561.09KB
数字电子时钟毕业设计Word文档格式.docx
《数字电子时钟毕业设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《数字电子时钟毕业设计Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
高等教育出版社,2004,2.[10]杨志忠.数字电子技术[M].北京:
高等教育出版社,2003,12.
4.设计(论文)完成的主要内容:
通过毕业设计进一步了解8051单片机特性,掌握单片机硬件系统结构以及软件对硬件的控制功能。
熟练掌握8051单片机指令系统的应用及程序设计、开发环境。
5.提交设计(论文)形式(设计说明书与图纸或论文等)及要求:
(1)独立思考,认真分析设计题目,找出最佳设计方案。
(2)单片机最小系统能启动正常。
(3)单片机最小系统能复位正常。
(4)单片机通过控制相关时钟控制芯片,在数码管上实现实时时钟显示,并且能手动调整时间。
(5)写出设计过程(包括原理、方案)。
(6)画出完整的电路原理图,并描述各部分的功能。
(7)按照规定提交符合规范要求的毕业设计论文。
6.发题日期:
2010年12月18日
指导老师(签名):
学生(签名):
毕业设计(论文)指导人评语
指导人:
(签名)
年月日
指导人评定成绩:
毕业设计(论文)评阅人评语
评阅人:
评阅人评定成绩:
毕业设计(论文)答辩记录
日期:
学生:
学号:
班级:
题目:
提交毕业设计(论文)答辩委员会下列材料:
1设计(论文)说明书共页
2设计(论文)图纸共页
3指导人、评阅人评语共页
毕业设计(论文)答辩委员会评语:
答辩委员会主任:
委员:
(签名)
答辩成绩:
总评成绩:
摘要
数字时钟在日常生活中很常见,应用也很广泛。
本次设计就是设计一款数字时钟,以AT89C51单片机为核心,配备数码管显示模块、按键等功能模块。
数字时钟采用24小时制方式显示时间,在数码管上显示小时、分钟功能。
设计的核心主要包括硬件设计和软件编程两个方面。
硬件电路设计主要包括中央处理单元电路、时钟电路、执行电路等几部分。
软件用汇编语言来实现,主要包括主程序、键盘扫描子程序、时间设置子程序等软件模块。
关键词:
AT89C51、单片机、数码显示、中断
ABSTRACT
Digitalclockindailylifeisverycommon,andisalsowidelyused,Thisdesignisthedesignofadigitalclock,withAT89C51,equippedwithdigitalpipedisplaymodule,keysfunctionmodules.Digitalclockwiththe24-hoursystemindigitaldisplaysthetime,displayedonthehour,minutetubefunction.thecoreofdesignmainlyincludeshardwaredesignandsoftwareprogrammingtwoaspects.Hardwarecircuitdesignincludesthecentralprocessingunitcircuit,clockingcircuitandexecutivecircuitsegments.Softwaretorealizewithassemblylanguage,includingthemainprogram,keyboardscansubroutines,timesettingsubroutinessoftwaremodules.
Keywords:
AT89C51,digitaldisplay,interrupts
第一章绪论
1.1引言
时钟,自从它被发明的那天起,就成为人们生活中必不可少的一种工具,尤其是在现在这个讲究效率的年代,时钟更是在人类生产、生活、学习等多个领域得到广泛的应用。
然而随着时间的推移,人们不仅对于时钟精度的要求越来越高,而且对于时钟功能的要求也越来越多,时钟已不仅仅是一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的功能。
诸如闹钟功能、日历显示功能、温度测量功能、湿度测量功能、电压测量功能、频率测量功能、过欠压报警功能等。
钟表的数字化给人们的生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
可以说,设计多功能数字时钟的意义已不只在于数字时钟本身,更大的意义在于多功能数字时钟在许多实时控制系统中的应用。
在很多实际应用中,只要对数字时钟的程序和硬件电路加以一定的修改,便可以得到实时控制的实用系统,从而应用到实际工作与生产中去。
因此,研究数字时钟及扩大其应用,有着非常现实的意义。
怎样让时钟更好的为我们服务?
怎样让时钟更符合实际应用的需求?
这就要求人们不断设计出新型时钟,不断设计出适合实际应用的多功能时钟。
本毕业设计方案正是根据以上所述并结合日常生活中对时钟功能需求的分析,运用单片机技术,设计出一个适合日常生活需要的多功能数字时钟。
此多功能数字时钟除了传统的显示时间功能之外还具日历功能以及定时闹钟功能。
1.2方案论证
方案一
采用TTL、CMOS集成电路实现的。
数字钟主要由以下几个部分组成:
信号源、分频器、十进制计数器、六进制计数器、二进制计数器、BCD—七段显示译码/驱动器、LED(Light-emitting-diode)七段显示数码管、时间校准电路和闹时电路。
[1]
这是一种纯硬件电路系统,用时序逻辑电路实现时钟功能,用555定时器实现闹钟报时的设定。
该电路具有抗干扰强、计算精确,使用元器件种类少等优点,但是这种实现方法可靠性差、控制精度低,灵活性小、线路复杂、安装调试不方便,且不具备对测温信号进行数据处理的功能。
要实现测温功能必须再添加处理芯片,系统集成度低。
方案二
利用可编程逻辑器件PLD(ProgrammableLogicDevices)实现。
可编程逻辑器件PLD具有集成度高、速度快、功耗小、可靠性高等优点。
且EDA(ElectronicDesignAutomation)软件的功能和时序仿真功能使得电路的调试变得十分方便。
这种方案与前一种相比,可靠性增加,同时可以很好的完成时钟的功能。
但是对于温度测量,其不具备对测温数据的处理功能,无法很好的完成扩展功能的要求。
同时这种方案只能选用数码管显示,显示的效果不够理想。
因此,系统的灵活性不够。
[2]
方案三
利用单片机内部具有的计数器实现时钟功能。
以12MHz晶振为例,通过计算可知,使定时器每50ms产生一次中断,当产生20次中断后秒单元将加一,以此类推,从而实现时、分、秒的走时,并加以显示。
虽然这种方法存在由于系统晶振误差、温漂、中断响应时间的不确定性及定时器重新装载时间常数所带来的误差等不足。
而且用这种方法实现的时钟在断电的情况下将停止走时,通电后必须再初始化,需要重新调表。
但是利用这种方法实现的系统具有一定的可扩展性。
由于时钟的实现大部分是由软件的编程来实现的,因此没有前几种方案中来自硬件的束缚。
只要对数字时钟的程序和硬件电路加以一定的修改,就可应用到一些实时控制的系统中去。
系统的实用意义更大。
通过以上三种方案的比较,决定采用方案三。
第二章主要电路模块的设计
2.1系统方框图
系统方框图如图2.1所示。
系统要实现数字时钟的基本功能,单片机最小系统能启动正常,单片机最小系统能复位正常,单片机通过控制相关时钟控制芯片,在数码管上实现实时时钟显示,并且能手动调整时间。
通过毕业设计进一步了解8051单片机特性,掌握单片机硬件系统结构以及软件对硬件的控制功能。
图2.1系统方框图
2.2系统说明
系统由51系列单片机AT89C51、按键、数码管显示、电源等部分构成。
单片机部分包括时钟电路、复位电路;
按键部分能够实现对时间的调整、设定。
三个按键的功能分别为:
小时的调整,分钟的调整,复位。
电源部分(试验室配备电源)可输出1个电压:
5V。
5V电压给小系统硬件提供电源。
2.3总电路图
电子钟总电路图见附录A所示。
2.4单片机电路
2.4.1时钟电路
时钟电路由外接谐振器的时钟振荡器、时钟发生器及关断控制信号等组成。
时钟振荡器是单片机的时钟源,时钟发生器对振荡器的输出信号进行二分频。
CPU的时钟振荡信号有两个来源:
一是采用内部振荡器,此时需要在XTAL1和XTAL2脚连接一只频率范围为0—33MHZ的晶体振荡或陶瓷振荡器及两只30pf电容。
二是采用外部振荡,此时应将外部振荡器的输出信号接至XTAL1脚,将XTAL2脚浮空。
[3]
利用单片机内部的定时功能来实现时钟的走时,通过编程实现每50毫秒产生一次中断,中断20次后,秒单元加1,秒单元加到60时,跳回到零再继续加,同时分单元加1;
当分单元加到60时,跳到零再继续加,同时时单元的个位加1,以次类推,从而实现秒、分、小时的走时。
本次设计中采用的是内部振荡器,频率为12MHZ的晶体振荡器及30pf的瓷片电容。
如图2.2所示。
图2.2时钟电路
2.4.2复位电路
复位是指在规定的条件下,单片机自动将CPU以及与程序运行相关的主要功能部件、I/O口等设置为确定初始状态的过程。
如果电路参数不符合规定的条件或干扰导致单片机不能正确的复位,系统将无法进行正常的工作,因此,复位电路除了要符合厂家规定的参数外,还要滤除可能的干扰。
[4]
AT89S52单片机内部有一个由施密特触发器等组成的复位电路。
复位信号是从其9脚,即RST脚输入的。
[1]AT89S52单片机规定,当其处于正常工作基于51单片机的数字时钟的设计状态,且振荡器工作稳定后,在RST端有从高电平到低电平,且高电平时间大于两个机器周期的复位信号时,CPU将完成对系统的复位。
有两点需要注意:
一、复位信号是高电平有效,二、高电平的保持时间必须大于两个机器周期,可见高电平保持时间与振荡频率有关。
[5]
本次设计中采用上电复位电路,上电复位是指在系统上电时,RST端自动产生复位所需要的信号将单片机复位,本次设计中的上电复位电路如图所示。
上电时,RST端高电平的维持时间取决于R(1k)和C(22uF)的值。
要使单片机可靠的复位,设计中使其维持的时间足够长。
如图2.3所示。
图2.3复位电路
2.5按键电路
方案一:
采用阵列式键盘此类键盘是采用行列扫描方式,当按键较多时可以减少占用单片机的I/O口数目。
方案二:
采用独立式按键电路每个键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。
但是当按键较多时占用单片机的I/O数目较多。
本系统只需三个按键,因此选择方案二。
如果按键采用中断的话,可以使单片机工作更加灵活、效率更高。
由于该系统要用到3个按键,考虑到单片机的中断资源不够,所以就只用P1.0及P1.2和P1.3口。
电路如图2.4所示。
[6]
图2.4按键电路
2.6显示电路
2.6.1方案论证
采用动态显示这种工作方式是分时轮流选通数码管的公共端,使得各个数码管轮流导通。
当所有数码管依次显示一遍后,软件控制循环,使每位显示器分时点亮,外接7407组成显示电路。
这种方式不但能提高数码管的发光效率,并且由于各个数码管的字段线是并联使用的,因而大大简化了硬件线路。
各个数码管虽然是分时轮流通电,但由于发光数码管具有余辉特性及人眼具有视觉暂留作用,所以适当选取循环扫描频率时,看上去所有数码管是同时点亮的,察觉不出有闪烁现象。
采用静态显示数码管工作在静态显示方式下,共阴极或共阳极点连接在一起接地或高电平。
每位的段选线与一个8位并行口相连。
只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。
该工作方式常采用串行口设定方式0输出,外接74LS164移位寄存器构成显示电路。
综合考虑,采用动态显示,采用一片7407芯片作为缓冲,分时选中三片数码管,从编程和提供的硬件等方面综合考虑后,决定采用动态显示的方法,如图2.5所示。
采用1片7407缓冲的方法来带动3片数码管显示。
由软件控制分不同时间选中时分秒不同的三片六个数码管。
电路如图2.5所示。
有电路图可知P2的值和选通的数码管对应关系为:
0x1F对应秒个位、0x2F对应秒十位、0x37对应分个位、0x3B对应分十位、0x3D对应时个位、0x3E对应时十位。
图2.5显示电路LED显示器的结构与原理
2.6.2LED的结构与原理
下面以最简单的七段数码显示器为例进行说明。
通常用的七段数码显示器的内部有8个发光二极管,其中7个发光二极管组成了数字“8”,剩下一个发光二极管就是这位数字所带的小数点。
数码管结构图如图2.6所示。
一般数码管内部有共阴和共阳两种连接方式。
共阴就是将各个发光二极管的阴极接地,共阴极数码管如图
(1)所示。
图中一个发光二极管就相当于一个数码段。
若给某段加上高电平,那么相对的段就会亮。
根据要想显示的数值给各段数码管加上相应的高电平就可以显示不同的数值了。
共阳就是将各个发光二极管的阴极一起接在高电平上。
共阳数码管如图(3)所示,从图(3)中可以看出共阳的显示器与共阴的显示器有一点区别,就是它将阳极连接在一起接到高电平上。
这样在想显示某个数的时候,各个发光二极管赋低电平而不是在共阴时的高电平了,这就是共阴共阳的区别。
图2.6是8段LED数码的结构示意图,其内部实质上是8只发光二极管。
[7]
图2.6
(1)LED的引脚图
图2.6
(2)共阴数码图2.6(3)共阳数码
由于它内部构造不同,在显示时代码也有所不同,共阴七段LED段选码表如表2.1所示。
表2.1共阴七段LED段选码
显示字符
数显代码
0x3f
5
0x6d
1
0x06
6
0x7d
2
0x5b
7
0x07
3
0x4f
8
0x7f
4
0x66
9
0x6f
2.7电源电路
该部分有1个输出电压5V。
220V交流市电通过电源变压器变换成交流12V低压,再经过桥式整流电路D1~D4和滤波电容2200uf的整流和滤波,在固定式三端稳压器LM7809的Vin和GND两端形成一个并不十分稳定的直流电压(该电压常常会因为市电电压的波动或负载的变化等原因而发生变化)。
此直流电压经过LM7809的稳压和100uf电容的滤波后,便在稳压电源的输出产生了精度高、稳定度好的直流输出9V电压。
9V电压给可调分流基准芯片TL431提供电源。
TL431的主要作用是给A/D转换芯片TLC1549提供比较精确的参考电压。
9V电源再经过LM7805稳压后,给各个芯片提供电源。
电路见图2.7。
[8]
图2.7电源电路
三端稳压器是标准化、系列化的通用线性稳压电源集成电路,以其体积小、成本低、性能好、工作可靠性高、使用简捷等特点,成为目前稳压电源中应用最为广泛的一种单片式集成稳压器件。
三端稳压器的工作原理(以78系列为例)如下:
它与一般分立元件组成的串联式稳压电路基本相似。
不同的是增加了启动电路、保护电路和恒流源。
启动电路是为恒流源建立工作点而设置的。
恒流源随着在基准电压形成和误差放大器电路中,是为了使稳压器能够在比较大的电压变化范围内正常可靠工作。
在芯片内设置了两种较完善的保护电路:
一是过流保护,一是过热保护。
[9]
第三章软件设计流程图
3.1时钟主程序流程图
时钟主程序流程图如图3.1所示。
进入系统后首先实现程序的初始化,然后进入主程序,定时器开始计时,当定时器发生中断时刷新数码管同时显示,之后实现中断与显示的循环。
图3.1时钟主程序流程
3.2按键扫描程序流程图
按键扫描程序流程图如图3.2所示。
主程序进入键盘扫描程序后判断是否按下了P1,0。
若是按下了P1.0为了去除抖动再进行确认是否按下P1.0,当确认按下了P1.0后判断按下P1.0的次数,若按了一次则进行秒调整,若按了两次则进行分调整,若按了三次则进行时调整。
然后进入显示程序段进行显示刷新。
图3.2按键扫描程序流程
3.3时钟程序流程
时钟程序流程如图3.3所示。
设计中,采用51单片机的定时器的方式一定时,所以如图所示,当程序产生定时溢出中断时要重新赋初值。
[10]然后进行是否到一秒的判断,若到一秒则秒加一,若未到则直接退出中断。
一秒到了加一以后进行是否秒到六十的判断,若秒到六十则秒清零,同时分加一,若秒未到六十则退出中断。
分加一以后进行分是否到六十的判断,若未到六十则退出中断,若分到六十则分清零,同时小时加一。
小时加一后进行小时是否到二十四的判断,若未到二十四则退出中断,若到二十四则清零,然后退出中断。
图3.3时钟程序流程
第四章电路仿真
4.1proteus简介
ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:
①实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;
有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。
目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
③提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;
同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。
④具有强大的原理图绘制功能。
总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
本章介绍ProteusISIS软件的工作环境和一些基本操作。
4.2keil简介
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
4.3设计中的实际仿真步骤
本设计中,用到keil和proteus实现设计的仿真,首先在keil中编译程序,生成keil文件,具体步骤为:
1.新建工程,如图4.1
图4.1新建工程
2.新建文件,如图4.2
图4.2新建文件
3.编译和生成.hex文件,如图4.3
图4.3新建文件
然后在proteus中画出原理图导入.hex文件,步骤如下:
1.画出原理电路图。
2.导入.hex文件,如图4.4
图4.4导入.hex文件
3.运行仿真电路图,观察仿真效果,如图4.5
图4.5仿真效果
4.4仿真总结
通过软件和硬件仿真的结合,初步确立了设计方案的可行性,基本实现了预计的设计效果,为后面的实物焊接和程序烧录打下了理论上可行性的基础。
仿真的过程中也发现和解决了一些问题,如:
按键抖动问题、数码管显示不稳定问题和蜂鸣器的程序设计中的问题,并通过修改程序和检查线路连接得以解决。
通过这一次仿真,对proteus和keil软件有了初步的掌握,能够运用其实现一般的仿真,这两个软件在单片机方面的学习中将对我有很大帮助。
第五章软硬件系统的调试
硬件调试的主要任务是排除硬件故障,其中包括线的连接,按键是否接了上拉电阻等。
由于最小系统出了点错误,导致写好的芯片无法显示。
经万用表检查,手工慢慢焊接好后接入电源。
再用万用表检查各个芯片管脚的电压是否达到正常的工作电压,然后判断是否有存在短路现象等,经一步步修改后把硬件调试好。
[11]
程序的调试是采用一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能等;
最后逐步将各子程序联接起来总调。
联调需要注意的是,各程序模块间能否正确传递参数。
[12]
在程序调试过程当中,出现了以下几个问题:
1)LED闪烁问题:
虽然本次设计的最终方案是采用LCD显示屏实现显示功能,但是在进行方案比较时曾采用过LED显示方法,最初数码管显示不正常,出现闪烁现象。
通过调试发现这是由于延时时间选择不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 电子 时钟 毕业设计