基于单片机的数字时钟设计与仿真.docx
- 文档编号:4725882
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:47
- 大小:856.01KB
基于单片机的数字时钟设计与仿真.docx
《基于单片机的数字时钟设计与仿真.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字时钟设计与仿真.docx(47页珍藏版)》请在冰豆网上搜索。
基于单片机的数字时钟设计与仿真
摘要
随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。
由其是单片机技术的应用产品已经走进了千家万户。
电子万年历的出现给人们的生活带来的诸多方便。
本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。
本设计以数字集成电路技术为基础,单片机技术为核心。
本文编写的主导思想是软硬件相结合,以硬件为基础,来进行各功能模块的编写。
本系统以单片机的C语言进行软件设计,增加了程序的可读性和可移植性,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。
系统通过点阵式液晶为载体显示数据,所以具有人性化的操作和美观的页面效果。
可以显示年月日、星期、温度等
关键词单片机;万年历;DS1302;LCM1602;DS18B20
Basedonmcudigitalclockdesignandsimulation
..
(collegeofInformationScienceandEngineering,JishouUniversity,Jishou,Hunan)
Abstract
Alongwiththerapiddevelopmentofelectronictechnology,especiallywithlargescaleintegratedcircuitappear,givemankindlivinghasbroughtthefundamentalchange.Byitsistheapplicationofsingle-chipcomputertechnologyproducthasenteredinnumberablefamilies.Electroniccalendarappeartothelifeofpeoplebringmanyconvenient.
Thispaperfirstlydescribesthesystemhardwareworkingprinciple,eachaccompaniedbyadiagramofthesystemstructureoftheelucidation,introducesthissystembytheapplicationofthehardwareinterfacetechnologyandthefunctionofeachinterfacemoduleandtheworkingprocess,andsecondly,expoundedtheprogrammodulesandrealizationprocess.Thisdesignwithdigitalintegratedcircuittechnologyasthefoundation,microcontrollertechnologyasthecore.Inthispaperthecompilingprincipleiscombiningsoftwarewithhardware,basedonthepreparationofthefunctionalmodules.
ThesystemtakesmicrocontrollerClanguagesoftwaredesign,increasedthereadabilityofourprogramsandportability,tofacilitatetheexpansionandchange,thedesignofsoftwaremodularstructure,maketheprogramdesignoflogicalrelationshipmoreconcise.Systemthroughdot-matrixLCDdisplaydataforcarrier,sohasthehumanizedoperateandbeautifulpageeffect.Candisplaythetime,andlunardates,week,temperature,solarterm,tianganearthlybranchesandthedaysunrisesunsettime,andhasalarmandintelligentcontrolhouseholdappliancesfunction.
Keywords
microcontroller;calendar;DS1302;LCM1602;DS18B20
引言
随着电子技术的不断发展,单片机技术在设计中所体现在出来的优势越来越明显,它不仅是电子信息类专业的一个重要部分,而且在其它类专业工程中也是不可缺少的。
广泛地应用于家电、工业过程控制、仪器仪表、智能武器、航空和空间飞行器等领域发展更是迅速,已成为新一代一些电子设备不可缺少的核心部件。
目前世界上单片机年产量已达十多亿片,通常是当年微处理器产量的4-5倍以上。
用最少的芯片就能实现最强大的功能。
可以想见,这是将来电子产品的主流方向,它将无可置疑地一步步取代其它同类产品,其数量之大和应用面之广,是其它任何类型的计算机所无法比拟的。
单片机是应工业测控需要而诞生的。
它把计算机最基本的功能电路,如CPU、程序存储器、数据存储器、I/O接口、定时、计数器、中断系统等集成到一块芯片上,形成单片形态的计算机。
单片机通常以最小系统运行,在家用电器中和常用的智能仪器仪表中常常可以“单片”工作,同时单片机在我们日常生活中也经常见到,如电子表、舞厅里的一些灯光的控制、一些招牌灯光的控制、工厂一些自动控制等。
将来只要有自动控制方面的都会离不开单片机的开发和使用,对于现代的自动化控制起着举足轻重的作用。
为了顺应形势发展的需要,我们学习了单片机课程,此次用液晶显示万年历和时间设置以及显示测温度的数据对单片机的学习起到了很好的巩固作用,尤其是对C语言程序的设计。
在此次课程设计的编写过程中得到了向老师的大力支持和指导。
以及参考了电子设计资料如《MSC-51系列单片机原理及实用技术》(第二版),《单片机原理与应用及C51程序设计》(第二版)等。
在编写此次毕业设计的过程中由于时间的仓促和本人的水平有限,在设计和制作的过程中难免出现缺点和不足之处,还请各位老师批评和指正。
第1章系统电路设计
1.1系统总体设计思路
此设计即液晶上显示年、月、日、时、分、秒及星期原理框图如图(1.1),电路以下几个部分组成:
键盘、单片机、温度传感器及显示电路。
图1.1单片机实现液晶显示万年历以及温度总框图
对于各部分:
(1)为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正液晶上显示的时间。
(2)单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。
(3)温度传感器用来显示当天的确定温度值。
(4)单片机发送的信号经过显示电路通过译码最终在液晶上显示出来。
1.2设计方案选择
方案一可以利用单片机内部的定时器作为时间的计算,再用不同的地址单元记录。
这种设计误差较大,因为单片机的读取程序的时候会产生误差,其二程序编写起来也比较复杂。
所以不采用此方案。
方案二用C语言编程来控制单片机让它在液晶上显示数据及文字。
由于单片机结构简单、控制功能强、可靠性高、体积小、价格低等优点,以及液晶屏幕可以完整的同时显示数据及文字等内容,综合上述方案的选择与比较,选择方案二。
主要是由于电器元件的熟悉程度以及市场的供求关系。
在方案二中,大部分的电器元件我们较熟悉并且更容易获得。
1.3功能介绍
本次设计主要用单片机控制程序让它在液晶上显示年、月、日、时、分、秒及星期,同时用18B20温度传感器来接受外面的信号,让单片机来接受它,且也让它在液晶上显示测的温度。
时、分、秒的计数结果经过数据处理可直接送显示器显示。
当计时发生误差的时候可以用校时电路进行校正。
时计数器计满24小时后自动向日计数器进一,日计数器由平年、闰年的28/30/31对大、小月和二月的判断应与当月相应的日期相一致,当日计数器计满时,向月计数器进位,月计数器计满12月向年计数器进位,当年计数器计满100时所以计数器清零。
设计采用的是年、月、日和时、分、秒、星期以及温度同时显示。
1.4工作原理
设计的电路主要由四大模块构成:
温度传感器电路,单片机控制电路,显示电路以及校正电路。
当温度传感器接受到外面的信号,送入单片机,单片机将接受到的信号输出,让它在液晶上显示。
同时由单片机控制的万年历以及时间显示,当时间及秒计数计满60时就向分进位,分计数器计满60分后向时计数器进位,小时计数器按“24翻1”规律计数。
时、分、秒的计数结果经过数据处理可直接送显示器显示。
当计时发生误差的时候可以用校时电路进行校正。
时计数器计满24小时后自动向日计数器进一,日计数器由平年、闰年的28/30/31对大、小月和二月的判断应与当月相应的日期相一致,当日计数器计满时,向月计数器进位,月计数器计满12月向年计数器进位,当年计数器计满100时所以计数器清零。
设计采用的是年、月、日和时、分、秒、星期显示,所以在单片机通过对数据处理进行同时在液晶上显示。
第2章单元电路设计
2.1单片机电路设计
①AT89C51的简介
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性如下:
·与MCS-51兼容
·4K字节可编程FLASH存储器
·寿命:
1000写/擦循环
·数据保留时间:
10年
·全静态工作:
0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
②AT89C51芯片的管脚、引线与功能
AT89C51芯片图如图2.1所示。
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
图2.1AT89C51芯片图
2.2时钟电路设计
时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。
单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地作。
(1)时钟信号的产生
单片机内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。
而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。
电容器C1和C2的作用是稳定频率和快速起振,电容值的范围在5pF∽30pF,典型值为30pF。
晶振的频率通常选择两种6MHz和12MHz。
只要在单片机的XTAL1和XTAL2引脚外接晶体振荡器就构成了自激振荡器并在单片机内部产生时钟脉冲信号。
(2)时钟振荡电路如图2.3所示:
2.3温度传感器电路设计:
温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让。
超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎。
对于我们普通的电子爱好者来说,DS18B20的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择。
了解其工作原理和应用可以拓宽您对单片机开发的思路。
DS18B20的主要特征:
◆全数字温度转换及输出。
◆先进的单总线数据通信。
◆最高12位分辨率,精度可达土0.5摄氏度。
◆12位分辨率时的最大工作周期为750毫秒。
◆可选择寄生工作方式。
◆检测温度范围为–55°C~+125°C(–67°F~+257°F)
◆内置EEPROM,限温报警功能。
◆64位光刻ROM,内置产品序列号,方便多机挂接。
◆多样封装形式,适应不同硬件系统。
DS18B20芯片封装结构:
DS18B20引脚功能:
·GND电压地·DQ单数据总线·VDD电源电压·NC空引脚
DS18B20工作原理及应用:
DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。
其一个工作周期可分为两个部分,即温度检测和数据处理。
在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。
18B20共有三种形态的存储器资源,它们分别是:
ROM只读存储器:
用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。
数据在出产时设置不由用户更改。
DS18B20共64位ROM。
RAM数据暂存器:
用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。
第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。
在上电复位时其值将被刷新。
第5个字节则是用户第3个EEPROM的镜像。
第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。
第9个字节为前8个字节的CRC码。
EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。
DS18B20芯片与单片机的接口:
如图所示,DS18B20只需要接到单片机的一个I/O口上,由于单总线为开漏所以需要外接一个4.7K的上拉电阻。
如要采用寄生工作方式,只要将VDD电源引脚与单总线并联即可。
但在程序设计中,寄生工作方式将会对总线的状态有一些特殊的要求。
2.4实时时钟电路设计:
DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5~5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。
DS1302的外部引脚分配如图1所示及内部结构如图2所示。
DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。
图1DS1302的外部引脚分配
图2DS1302的内部结构
各引脚的功能为:
Vcc1:
主电源;Vcc2:
备份电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2 SCLK: 串行时钟,输入,控制数据的输入与输出; I/O: 三线接口时的双向数据线; CE: 输入信号,在读、写数据期间,必须为高。 该引脚有两个功能: 第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。 2.4.1DS1302的工作原理 DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。 数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。 时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为8加最多可达248的数据。 2.4.2DS1302的寄存器和控制命令: DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h~8Dh,写时80h~8Ch),存放的数据格式为BCD码形式,如图3所示。 图3DS1302有关日历、时间的寄存器 DS1302内部的RAM分为两类,一类是单个RAM单元,共31个,每个单元为一个8位的字节,其命令控制字为COH~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 2.4.3与单片机接口电路原理图: 电路原理图如图,DS1302与单片机的连接也仅需要3条线: CE引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。 2.5显示电路设计 1液晶显示原理 液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。 液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。 液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。 除了黑白显示外,液晶显示器还有多灰度有彩色显示等。 如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(SimpleMatrix)和主动矩。 阵驱动(ActiveMatrix)三种1 2.4.41602字符型LCD简介: 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。 下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。 一般1602字符型液晶显示器实物如图10-53: 1602LCD主要技术参数: ✧显示容量: 16×2个字符 ✧芯片工作电压: 4.5—5.5V ✧工作电流: 2.0mA(5.0V) ✧模块最佳工作电压: 5.0V ✧字符尺寸: 2.95×4.35(W×H)mm 引脚功能说明: 1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示: 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 时钟 设计 仿真