单片机电子钟毕业设计基于单片机的时钟显示器设计.docx
《单片机电子钟毕业设计基于单片机的时钟显示器设计.docx》由会员分享,可在线阅读,更多相关《单片机电子钟毕业设计基于单片机的时钟显示器设计.docx(27页珍藏版)》请在冰豆网上搜索。
![单片机电子钟毕业设计基于单片机的时钟显示器设计.docx](https://file1.bdocx.com/fileroot1/2023-3/30/6c057bd9-6ba2-4a1f-8401-556120c6fd65/6c057bd9-6ba2-4a1f-8401-556120c6fd651.gif)
单片机电子钟毕业设计基于单片机的时钟显示器设计
基于单片机的时钟显示器设计
摘要
本文论述了如何利用单片机来设计一个时钟的方法。
本设计基于单片机技术原理,以单片机芯片AT89C52作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个多功能数字时钟系统。
单片机扩展的LCD显示器用来显示秒、分、时计数单元中的值。
整个设计包括两大部分:
硬件部分和软件部分,以单片机为核心,配以一定的外围电路和软件。
硬件是整个系统的基础,软件部分则要合理、充分地支持和使用系统的硬件,从而完成系统所要完成的任务。
本设计采用LED数码管的数字显示以其亮度高、显示直观等优点被广泛应用于智能仪器及家用电器等领域。
该时钟系统主要由时钟模块、闹钟模块、环境温度检测模块、液晶显示模块、键盘控制模块以及信号提示模块组成。
能够准确显示时间(显示格式为时时:
分分:
秒秒,24小时制),可随时进行时间调整,具有闹钟时间设置、闹钟开/关、止闹功能,能够对时钟所在的环境温度进行测量并显示。
设计以硬件软件化为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。
单片机在这种情况下诞生了基于单片机电子时钟。
关键词:
单片机、LCD显示器、液晶显示模块、基于单片机电子时钟。
DesignAccordingToSingleSliceTheClockDisplayOfTheMachine
ABSTRACT
Thistextdiscusseshowtomakeuseofasingleslicemachinetodesignthemethodofaclock.
Thisdesignaccordingtosingleslicemachinetechniqueprinciple,usesingleslicethemachinechipAT89C52ascorecontroller,passthedrawupofcreationandsoftwareprocedureofhardwareelectriccircuit,designtocreateamulti-functionandnumericalclocksystem.thesingleslicemachineexpandofLCDdisplayusetoshowsecond,cent,thechronometervaluewithinfewunits.Thewholedesignincludetwogreatlypartof:
Hardwarepartandsoftwarepart,withsingleslicemachineforcore,gotogetherwithwiththecertainoutercircleelectriccircuitandthesoftware.Thehardwareisthefoundationofthewholesystem,thesoftwareispartoftothenwantreasonable,adequatelysupportwithusagesystemofhardware,completesystemthuswanttocompleteofmission.
ThisdesignadoptionLEDfigurestubeofthenumeralshowhighwithitsbrightdegree,showtokeepaviewetc.theadvantagebeextensivelybeenapplyinrealms,suchasintelligenceinstrumentandhome.Theclock'ssystemismainlyshownthatmoldpiece,thekeyboardcontrolmoldpieceandsignalhintthatthemoldpiececonstitutebyclockmoldpiece,alarmclockmoldpiece,theexaminationmoldpiece,LCDoftheenvironmenttemperature.Canaccuratemanifestationtime(manifestationformatisalways:
Thecentdivide:
Secondsecond,24hourssystem),cancarryontheadjustmentintimeatanytime,haveanalarmclocktoestablishfortime,thealarmclockopen/pass,makefunction,cancarryonmeasuretotheenvironmenttemperatureofclockplaceandshow.Designtochangeintoinstructionthoughtbyhardwaresoftware,wellexertivesingleslicemachinefunction,greatlypartsoffunctionspassasoftwareplaitadistancetocarryout,electriccircuitinbriefclear,systemstabilityGao.Thesingleslicemachinewasborninthiskindofcasethemachineelectronicsisaccordingtothesinglesliceclock.
KEYWORDS:
single-chip,lcddisplay,theLCDshowsamoldpiece,accordingtosingleslicemachineelectronicsclock.
目 录
前 言
数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
近年来随着以计算机为轴心的各种各样信息处理装置的诞生,为适应这种新形势,信息家电,网络终端,广播-通信等用途的LCD市场也将迅速扩大,而且如今LCD发展方向不仅在于大屏幕,而且在中小屏幕方面,例如汽车导航系统,摄像机,数字式照相机,便携式电视,PDA(个人数字助理),娱乐/游戏机,摄影机等有着进一步的发展。
液晶显示器(LCD)具有功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点,近年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。
LCD可分为段式LCD、字符式LCD和点阵式LCD。
其中,段式LCD和字符式LCD只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线以及汉字、动画,并且可以实现屏幕滚动、反转、闪烁等功能,用途十分广泛。
由此可见LCD的应用是如此广泛,所以用MPU控制液晶显示器是很普遍的应用。
第1章硬件系统设计
1.1单片机
单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个最小然而完善的计算机系统。
这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务[1]。
单片机芯片的集成度很高,它将微型计算机的主要部件都集成在一块芯片上,具有以下特点:
(1)体积小、重量轻、价格便宜、耗电少;
(2)根据工控环境要求设计,且许多功能部件集成在芯片内部,其信号通道受外界影响小,故可靠性高,抗干扰性能优于采用一般的CPU;
(3)控制功能强,运行速度快。
其结构组成与指令系统都着重满足工控要求。
有丰富的条件分支转移指令和很强的位处理功能及I/O口逻辑操作功能;
(4)片内存储器的容量不可能很大;引脚也嫌少,I/O引脚常不够用,且兼第二功能以至第三功能。
但存储器和I/O接口都易于扩展;
自单片机出现至今,单片机技术已走过了30多年的发展路程。
纵观30年来单片机发展里程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。
单片机应用最多的领域主要有以下:
因它具有“小、轻、廉、省”的特点,所以特别适用于“电脑型产品”,在家用电器、玩具、游戏机、声像设备、电子秤、收银机、办公设备、厨房设备、家庭安防设备等许多产品上得到应用。
适用于仪器、仪表,不仅能完成测量,还具有处理、监控等功能,易于实现数字化和智能化。
1.2硬件设计
硬件设计框图
图1-1硬件设计框图
由框图的设计结构可以分块设计电路。
1.3硬件模块
1.3.1主控单元
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。
下表是89c52的主要性能参数
表1-189c52的主要性能参数
主要性能参数:
•与MCS-51产品指令和引脚完全兼容
•8k字节可重擦写Flash闪速存储器
•1000次擦写周期
•全静态操作:
0Hz—24MHz
•三级加密程序存储器
•256×8字节内部RAM
•32个可编程I/O口线
•3个16位定时/计数器
•8个中断源
•可编程串行UART通道
•低功耗空闲和掉电模式
AT89C52提供以下标准功能:
8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路[2]。
同时,AT89C52可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
下表是89c52的极限参数
表1-2AT89C52的极限参数
工作温度
-55℃to+125℃
储藏温度
-65℃to+150℃
任一引脚对地电压
-1.0Vto+7.0V
最高工作电压
6.6V
直流输出电流
15.0mA
1.3.2显示部分
单片机应用系统中使用的显示器主要有发光二极管显示器,简称LED(LightEmittingDiode);液晶显示器LCD(LiquidCrystalDisplay);近几年也有配置CRT显示器的。
液晶显示器简称是利用液晶经过处理后能够改变光线传输方向的特性,达到显示字符或者图形的目的。
其特点是体积小、重量轻、功耗极低、显示内容丰富等特点,在单片机应用系统中有着日益广泛的应用。
1602芯片:
主要用于显示时间和定时时间。
1602芯片由点阵字符液晶显示器件和专用的行、列驱动器、控制及必要的链接件、结构件组装而成,可以显示数字和西文字符,但不能显示图形,已经可以满足本次设计的需要。
1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点[3]。
1602型LCD可以显示2行16个字符,有8位数据总线D0~D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。
1.外型尺寸:
80X36X13(LXWXH)
2.接口信号说明
表1-31602型LCD的接口信号说明
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
DataI/O
2
VDD
电源正极
10
D3
DataI/O
3
VL
液晶显示偏压信号
11
D4
DataI/O
4
RS
数据/命令选择端(H/L)
12
D5
DataI/O
5
R/W
读写选择端(H/L)
13
D6
DataI/O
6
E
使能信号
14
D7
DataI/O
7
D0
DataI/O
15
BLA
背光源正极
8
D1
DataI/O
16
BLK
背光源负极
3.主要技术参数
表1-41602型LCD的主要技术参数
显示容量
16X2个字符
芯片工作电压
4.5~5.5V
工作电流
2.0mA(5.0V)
模块最佳工作电压
5.0V
字符尺寸
2.95X4.35(WXH)mm
4.基本操作程序
读状态:
输入:
RS=L,RW=H,E=H输出:
D0~D7=状态字
读数据:
输入:
RS=H,RW=H,E=H输出:
无
写指令:
输入:
RS=L,RW=L,D0~D7=指令码,E=高脉冲输出:
D0~D7=数据
写数据:
输入:
RS=H,RW=L,D0~D7=数据,E=高脉冲输出:
无
5.RAM地址映射图
控制器内部带有80字节的RAM缓冲区,对应关系1-5表所示
表1-5对应关系
LCD
16字X2行
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
。
。
27
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
。
。
67
6.状态字说明
表1-6状态字说明
STA7
STA6
STA5
STA4
STA3
STA2
STA1
STA0
D7
D6
D5
D4
D3
D2
D1
D0
STA0~STA6
当前地址指针的数值
STA7
读写操作使能
1:
禁止;0:
允许
注意每次对控制器进行读写操作之前,都必须进行读写检测,确保STA7为0。
7.数据指针设置
控制器内部设有一个数据地址指针,用户可以通过它们访问内部的全部80字的RAM。
8.其它设置
表1-7其他设置
指令码
功能
01H
显示清屏:
1.数据指针清0
2.所有显示清0
02H
显示回车:
数据指针清0
表1-8指令码及功能
指令码
功能
0
0
0
0
1
D
C
B
D=1开显示;D=0关显示
C=1显示光标;C=0不显示光标
B=1光标闪烁;B=0光标不显示
1.3.3显示器接口及显示方式
笔段式LCD显示器:
类似于LED数码管显示器。
每个显示器的段电极包括a,b,c,d,e,f,g七个笔划(段)和一个背电极BP(或COM)。
可以显示数字和简单的字符。
点阵式LCD显示器:
段电极与背电极呈正交带状分布,液晶位于正交的带状电极间。
点阵式LCD的控制一般采用行扫描方式[4]。
1.3.4键盘控制模块
按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。
前者造价低,后者寿命长。
目前,微机系统中最常见的是触点式开关按键。
按键按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。
编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。
全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键保护电路。
这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。
非编码键盘只简单地提供行和列的矩阵,其它工作均由软件完成。
由于其经济实用,较多地应用于单片机系统中。
在本套设计中由于只需要几个功能键,此时,可采用独立式按键结构[5]。
按键的软件结构:
按键中有一个复位键及定时键、调时键加一键和减一键,一个按键接在复位电路上,另外四个按键接在P0——P4口,低电平表示有按钮按下;按钮没有接防抖电路,需要设计软件防抖。
1、定时。
按下定时键后可以开始定时,过程如下:
定时---〉小时加/减---〉按定时---分钟加/减---按定时。
2、调时。
按下调时键后可以调时,过程如下:
调时---年加/减---调时--月加/减---调时---日加/减---调时---时加/减---调时---分加/减---调时---秒加/减---调时。
1.3.5声音提示模块
蜂鸣器:
89C52的P2.0口接了一个蜂鸣器,定时时间到,P1.0输出一定频率脉冲时,蜂鸣器将发出响声;一分钟后停止。
1.3.6直流稳压电源部分
直流稳压电源是给电子设备提供稳定直流电压的电子电路。
这次电路需要的是+5V直流电源。
1.3.7滤波电路
它的任务是将全滤波形的输出通过RC滤波网络以后变成更平坦的直流电压,减小脉动,提高整流的效果[6]。
这是整流管中通过的电流的瞬间值要比平均值大得多,特别在接通电源瞬间有相当大的冲击电流(即充电电流)通过整流管,这一点要引起注意。
(1)电源变压器
它的任务是把电源电压220V变压到合适的大小。
如果U2的值太大,会造成集成端稳压器7805的功耗大,温升高,且浪费电能。
反之,如果U2的值小到一定程度,三端稳压器不能正常工作,失去稳压作用.因此U2的值应大小合适,这个值应该使三端稳压器在交流电网电压最低和输出电流最大时能正常工作。
而且在正常稳压的前提下,它的压降尽可能小,以减小功耗。
(2)整流电路
它的任务是将正弦波变换成直流电压。
这里一般采用桥式整流电路来实现,既可用四个二极管来组成,也可用整流桥堆来完成,只是参数一定要选择合理。
(3)稳压电路
要求输出恒定的直流电压,且要达到设计中所提出的要求。
1.4硬件电路测试
1.4.1硬件电路ERC测试
如图1-2所示,选择ERC做电路测试。
如果通过测试,则出现1-3所示界面。
图1-2ERC测试
图1-3通过测试
1.4.2硬件电路网格化
硬件电路网络化如图1-4所示,选择CREATENETLIST,即可产生图1-5所示界面。
图1-4硬件电路网格化图
图1-5硬件电路网格化图
1.4.3生成PCB板
PCB板的生成过程比较复杂。
首先要新建一个WIZARD文件,按提示选择,之中要选择双层板并通过空连接。
之后即可产生一个PCB文件,在对话框中选择LOADNET,再对网格化后的文件进行编译。
如果无错即可出现如图1-6所示的对话框。
图1-6选择精确显示
在图1-6的对话框中选择精确显示。
即可弹出PCB板概图的界面。
把各个元件按照合理的布局拉开,在点击AUTOROUTE--ALL-ROUTEALL,既可生成PCB板。
第2章软件设计
2.1设计思路
本系统是以单片机的基本语言汇编语言来进行软件设计,指令的执行速度快,节省存储空间。
为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。
对于一个微控制系统来说,硬件是基础,软件是灵魂。
软件在很大程度上决定了系统的先进性、可靠性、实用性以及实时性。
本次设计所涉及到的软件设计主要是系统编程和其他应用软件和调试软件的使用,其中重中之重是用汇编语言来进行程序编制,编制的程序要求可靠性高、实时性强、简练易于维护等等。
程序设计的具体步骤如下:
(1)提出各种可供选择的方案;
(2)对各个方案进行论证,选取合理的方案,画出系统流程图;
(3)在综合分析对比各种合理方案的基础之上选择一个最佳方案;
(4)功能分解。
通常分为结构设计和过程设计两个阶段。
结构设计
确定程序由哪些模块组成,以及这些模块之间的关系;过程设计确定每个模块的设计程序结构,将各个模块组织成良好的层次系统;
(5)审查与仿真调试:
对总体设计的程序进行严格的审查,在审查之后使用仿真设备(本设计采用的是南京伟福H51/S仿真器)进行程序仿真和调试。
2.2模块设计
本次设计实现的功能主要有计时、计日期、计星期、实现闹钟、时间日期星期和闹钟的调整以及键盘扫描、显示扫描。
为了方便实现、调试以及贯彻模块化设计的思想,将整个程序分成了若干个模块,每个模块又由若干个子程序组成,下面分别就各模块详细描述。
2.3软件模块
2.3.1计时模块
该模块完成秒、分、时、日、星期、月、年的计算更新、有效性检查。
通过定时器0工作于16位重装载方式准确地定时50毫秒,再由软件计数20次以完成定时1秒。
秒、分、时、日、星期、月的加1、调整程序分别编成子程序,若有进位,则本位从新计数,并调用下一级子程序。
2.3.2调时功能
当由于时钟误差或意外断电后可以用调时功能较时。
2.3.3主程序模块
主程序模块主要由计时、调时、按键选择等模块组成,下面将做详细描述,再次从略。
2.3.4键盘控制模块
由于在硬件设计中只用到四个键,所以,这是一个相对简单的流程,但在实际编程中会因为硬件过于简单,而使程序很复杂。
2.3.5在编程过程中要用到的其它程序模块
1)LCD初始化2)判断闰年3)时间的加减这些程序在本设计都比较重要,也很复杂,但都有经典程序可以参考,不做赘述。
第3章程序编译和系统调试及仿真
3.1程序编译
3.1.1主要程序设计分析
(1)主程序设计中采用定时器T0中断完成,其余状态循环调用显示子程序,当P3.7端口或者P1.7端口开关按下时,转入调整时间或者调整日期功能程序。
(2)显示子程序
数码管显示的数据存放在内存单元70H-75H中,其中70H~71H存放秒数据,72H~73H存放分数据,74H~75H存放时数据,每一地址单元内均为十进制BCD码。
由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。
显示时,先取出70H~75H某一地址中的数据,然后查的对应的显示段码从P1