毕业设计-电子日历时钟的设计.doc

上传人:知****量 文档编号:91596883 上传时间:2023-05-27 格式:DOC 页数:35 大小:766KB
返回 下载 相关 举报
毕业设计-电子日历时钟的设计.doc_第1页
第1页 / 共35页
毕业设计-电子日历时钟的设计.doc_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《毕业设计-电子日历时钟的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计-电子日历时钟的设计.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、电子日历时钟设计摘要: 古人依靠日冕、漏刻记录时间,而随着科技的发展,电子电子日历时钟已经成为日渐流行的日常计时工具。本文研究的电子日历时钟系统拟用STC89C52单片机控制,以DS1302时钟芯片计时、DS18B20采集温度、1602液晶屏显示。系统主要由温度传感器电路,单片机控制电路,显示电路以及校正电路四个模块组成。本文阐述了系统的硬件工作原理,所应用的各个接口模块的功能以及其工作过程,论证了设计方案理论的可行性。系统程序采用C语言编写,经Keil软件进行调试后在Proteus软件中进行仿真,可以显示年、月、日、星期、时、分、秒。实验结果表明此电子日历时钟实现后具有读取方便、显示直观、功

2、能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。关键词: 电子日历时钟;单片机;仿真 The Design of electronic Calendar Abstract : The Ancients relied on sunglow, Louke recording time. The electronic calendar has become the popular tool for the daily timing as the development of technology. In the calendar system , the STC89C52

3、 is used to control, with the DS1302 clock chip timing, DS18B20 collecting temperature, 1602 LCD Displaying. The system is composed of four modules:the temperature sensor circuit, the MCU control circuit, the display circuit and the correction circuit. This paper describes the hardware works, the fu

4、nctions of each interface module and its working process, demonstrates design that theory is Feasibility. C language is used to program, after debugging in the Keil software, then simulating in the Proteus. The electronic calendar can display year, month, day, week, hours, minutes, seconds, temperat

5、ur. The results show that this calendar is easy to read, intuitive to display, versatile, simple and has many other advantages.The design meets the development trend of electronic instruments and meters, and has broad market prospects.Keywords: Calendar ; MCU ; simulation目 录1 绪论51.1课题研究的意义51.2本课题主要的

6、研究工作51.2.1 研究内容61.2.2 论文章节安排61.3单片机的定义和特点61.3.1单片机的定义61.3.2单片机的特点71.4本章小结72 设计要求和方案论证92.1 设计要求92.2 单片机芯片的选择方案和论证92.3 显示模块选择方案和论证92.4时钟芯片的选择方案和论证102.5 电路设计最终方案决定102.6本章小结103 系统的硬件设计与实现113.1 电路设计框图113.2 系统硬件概述113.3 主要单元电路的设计113.3.1 STC89C52单片机简介113.3.2 单片机主控制模块的设计133.3.3独立式键盘设计173.3.4 显示模块的设计173.4 本章小

7、结194.1程序流程图204.1.1 系统总流程图204.1.2 DS1302时钟程序流程图214.1.3 LCD显示程序流程图224.2程序的设计234.2.1 DS1302读写程序234.2.2液晶显示程序264.3本章小结265 仿真与调试275.1软件简介275.1.1 Keil软件简介275.1.2 Proteus ISIS简介275.2 Keil软件调试流程285.3 Proteus软件运行流程305.4 电子日历时钟的功能仿真335.6 本章小结336 总结与展望341 绪论1.1课题研究的意义以基于单片机的电子日历时钟作为设计的课题,因为它有很好的开放性和可发挥性,对作者的要求

8、比较高,不仅考察了对单片机的掌握能力而且强调了对单片机扩展的应用。另外液晶显示的电子日历时钟已经越来越流行,特别适合在家庭居室、办公室、大厅、会议室、车站和广场等地方使用,它具有显示清晰直观、走时准确、可以进行夜视等功能,并且还可以扩展出其它多种功能。所以,电子日历时钟作为设计课题很有价值。1.2本课题主要的研究工作本论文主要研究基于单片机的电子日历时钟设计。当程序执行后,LCD显示即时时间、年月日、星期。设置4个操作键:K1:设置键;K2:上调键;K3:下调键,K4退出调时键。本设计的主要内容:1、了解单片机技术的发展现状,熟悉电子日历时钟各模块的工作原理;2、选择适当的芯片和元器件,确定系

9、统电路,绘制电路原理图,尤其是各接口电路;3、熟悉单片机使用方法和C语言的编程规则,编写出相应模块的应用程序;4、分别在各自的模块中调试出对应的功能,在Proteus软件上进行仿真。1.2.1 研究内容设计目标:使基于STC89C52单片机的电子日历时钟实现以下三个功能:1、具有年、月、日、星期、时、分、秒等功能;2、具备年、月、日、星期、时、分、秒校准功能;3、具有与即时时间同步的功能;1.2.2 论文章节安排1.绪论是介绍了基于STC89C52单片机的电子日历时钟研究意义,重点阐述了本课题的研究内容和研究工作。2.单片机的概述主要阐述了单片机系统的定义以及单片机系统的发展现状和发展趋势。因

10、为只有对单片机有了更深入的了解,才能设计出更好的单片机控制系统。本章的结尾是对单片机C语言编程的介绍。3.主要介绍了设计要求和课题器件选择的论证方案。4.硬件基础中主要描述了电子日历时钟的各个模块的硬件设计方案,并结合各个元器件和相应的硬件原理图进行分析,最后展示为了实现研究目标所需要的全部硬件基础。5.软件基础主要罗列了实现电子日历时钟各个功能的C语言程序的流程图,并分别对其进行了解释和分析,最后把各个C语言子程序在巧妙结合在一起,共同控制整个系统,也就形成了实现研究目标所需要的所有软件基础。6.主要对Keil软件Proteus软件进行简单介绍,并给出了关于Proteus软件仿真调试电子日历

11、时钟的过程。最后简要的介绍了硬件调试中的问题和解决办法。7.:主要是对本次实验研究的总结,提出本次实验的不足之处以及相应的改进方法,以便后人继续深究。目前单片机渗透到了我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及远程控制玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域中的机器人、智能仪表、医疗器械了。单片机具有结构简单、控制功能强、可靠性高、体积小、价格低等优点,因而在许多行

12、业都得到了广泛应用,并且在诸多领域中都发挥了无可比拟的巨大作用。1.3单片机的定义和特点1.3.1单片机的定义单片机即单片微型计算机,是把中央处理器、存储器、定时/计数器、输入输出接口都集成在一块集成电路芯片上的微型计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。单片机也被称为微控制器(Microcontroller),是因为它最早被用于工业控制领域。单片机的芯片内仅由CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。1.3.2单片机的特点单片机以

13、其卓越的性能,得到了广泛的应用,已深入到各个领域。单片机应用在检测、控制领域中,具有如下特点:1、体积小、控制功能强、成本低。因而可以方便地组装各种智能式控制设备和仪器,做到机、电、仪一体化。2、易扩展。很容易构成各种规模的应用系统,为应用系统的设计和生产带来极大方便。3、可靠性好、使用温度范围宽。在各种恶劣的环境下都能可靠的工作,这是其他机种无法比拟的。4、种类多,型号全。很多单片机厂家逐年扩大适应各种需要,有针对性地推出一系列型号产品,使系统开发工程师有很大的选择余地。大部分产品有较好的兼容性,保证了已开发产品能顺利移植,较容易地使产品进行升级换代。5、低功耗。现在新型单片机的功耗越来越小

14、,供电电压从5V降低到了3.2V,甚至1V,工作电流从mA降到A级,工作频率从十几兆可编程到几十千赫兹。特别是很多单片机都设置了多种工作方式,这些工作方式包括等待、暂停、睡眠、空闲、节电等。6、可以采用C语言开发环境,具有友好的人机互交环境。大多数单片机都提供基于C语言开发平台,并提供大量的函数供使用,这使产品的开发周期、代码可读性、可移植性都大为提高。1.4本章小结本章是论文的绪论部分,着重介绍了电子日历时钟的研究意义。然后介绍了本文所要解决的实际问题及意义,以及要电子电子日历时钟系统要实现的功能和方法还有单片机的介绍。最后简单地描述了本论文的整体框架和论文章节的安排。352 设计要求和方案

15、论证2.1 设计要求1、 具备在液晶上显示年、月、日、星期、时、分、秒的功能;2、 具备年、月、日、星期、时、分、秒校准功能;3、 具有与即时时间同步的功能;2.2 单片机芯片的选择方案和论证方案1:采用AT89S51芯片作为硬件核心,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,所以在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案2:采用STC89C52芯片,STC89C52是一种低功耗、高性能的8位CMOS微控制器,具有8K

16、的可编程Flash存储器。同样具有AT89S51的功能,且具有在线编程可擦除技术,当对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏,因此选择采用STC89C52作为主控制系统核心。2.3 显示模块选择方案和论证方案1:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,采用动态扫描法与单片机连接时,虽然占用的单片机口线少,但连线还需要花费一点时间,所以也不用此种作为显示。方案2:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,若采用在显示数字显得太浪费,且价格也相对较高,所以

17、在此也不用此种作为显示。方案3:采用1602液晶显示屏,该液晶显示屏的显示功能强大,内置192种字符,可显示大量符号、数字,清晰可见,而且功率消耗小寿命长抗干扰能力强。所以在此设计中采用1602液晶显示屏。2.4时钟芯片的选择方案和论证方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大,所以不采用此方案。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V

18、范围内,2.5V时耗电小于300nA。所以本设计采用DS1302时钟芯片。2.5 电路设计最终方案决定综上各方案所述,对此次作品的方案选定: 采用STC89C52作为主控制芯片,DS1302时钟芯片计时, LCD1602作为显示模块。2.6本章小结 本章主要介绍了系统要实现的功能和电子日历时钟系统硬件平台的选择,比较了主控模块,时钟模块,显示模块,不同器件的优劣,最后确定了电路设计的整体方案。这也是完成设计的先决条件。3 系统的硬件设计与实现3.1 电路设计框图根据上章确定的方案给出了系统整体的设计框图:LCD液晶显示键盘模块主控制模块STC89C52DS1302时钟模块图3.1系统结构框图为

19、使时钟走时与标准时间一致,校时电路是必不可少的,键盘模块用来校正液晶上显示的时间; STC89C52单片机通过输出各种电脉冲信号来驱动控制各部分正常工作;而系统的时间等数据则最终通过液晶模块显示出来。3.2 系统硬件概述本电路是以STC89C52单片机为控制核心,该芯片具有在线编程功能,功耗低,能在3.3V的超低压下工作;时钟芯片采用DS1302,它是一款高性能、低功耗、自带RAM的实时时钟芯片,具有使用寿命长,精度高和功耗低等特点,同时具有掉电自动保存功能,可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,其工作电压为2.5V5.5V;显示部份使用1602液晶显示屏来实现,该显示

20、屏具有低功耗、寿命长、可靠性高的特点,其工作电压为5v。3.3 主要单元电路的设计3.3.1 STC89C52单片机简介STC89C52是一种低功耗、高性能的8位CMOS微控制器,具有8K的可编程Flash 存储器。使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O 口线,看门狗定时器,2个数据指

21、针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。引脚排列如图2.1所示。图2.1 STC89C52引脚图从引脚功能来看,可将引脚分为三部分:1、电源及时钟引脚VCC:接+5V电源;VSS:接地;XTAL1和XTAL2:时钟引脚,外接晶体引线端。当使用芯片内部时钟时,此两引脚端用于外接石英晶体和微调电容;当使

22、用外部时钟时,用于接外部时钟脉冲信号。2、控制引脚RST/VPT:RST是复位信号输入端,VPT是备用电源输入端。当RST输入端保持2个机器周期以上高电平时,单片机完成复位初始化操作。当主电源VCC发生故障而突然下降到一定低电压或断电时,第2功能VPT将为片内RAM提供电源以保护片内RAM中的信息不丢失。ALE/PROG:地址锁存允许信号输出端。在存取外存储器时,用于锁存低8位地址信号。当单片机正常工作后,ALE端就会周期性地以时钟振荡频率的1/6固定频率向外输出正脉冲信号。此引脚的第2功能PROG是对片内带有4K字节EPROM的8751固化程序时,作为编程脉冲输入端。PSEN:程序存储允许输

23、出端。是片外程序存储器的读选通信号,低电平有效。CPU从外部程序存储器取指令时,PSEN信号会自动产生负脉冲,作为外部程序存储器的选通信号。EA/VPP:程序存储器地址允许输入端。当EA为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFFH时,将自动转向执行片外程序存储器指令;当EA为低电平时,CPU只执行片外程序存储器指令。对8031单片机,EA必须接低电平。在8751中,当对片内EPROM编程时,该端接21V的编程电压。3、I/O口引脚P0.0P0.7:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输

24、入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。P1.0P1.7:P1口是一个具有内部上拉电阻的8位双向I/O口。作为输出口,每位能驱动4个TTL逻辑电平。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。在flash编程和校验时,P1口接收低8位地址字节。P2.0P2.7:P2口是一个具有内部上拉电阻的8位双向I/O口。作为输出口,每位能驱动4个TTL逻辑电平。在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器

25、的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3.0P3.7:P3口是一个具有内部上拉电阻的8位双向I/O口。作为输出口,每位能驱动4个TTL逻辑电平。P3口亦作为STC89C52特殊功能(第二功能)使用。在flash编程和校验时,P3口也接收一些控制信号。3.3.2 单片机主控制模块的设计本设计中单片机主要负责对外设的控制和各个功能模块间的协调,没有复杂的数据计算,因此,8位的51系列单片机足以胜任。51单片机以其低廉的价格以及较出色的性能成了很多控制系统的首选。它具有丰富的内部资源,较大的数据、程序存储区。一个典型的单片机最小系统一般由时钟电路、复位电路、电

26、源指示灯和外部扩展接口等部分组成,本系统也不例外,当单片机具备了这些最基本的条件后,就可以正常工作了。单片机的最小系统如图3.2所示,单片机的XTAL0和XTAL1引脚用于连接晶振电路。XTAL0接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL1接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。RESET为复位引脚,连接复位电路,它用于对单片机进行初始化。复位电路包括复位电容(C6)、复位电阻(R3)和复位开关(S4)。VSS为电源地,VCC为电源正。图3.2 单片机最小系统 1 复位电路的设计复位电路是使单片机的CPU或系统中的其他部件处于某一确定的初始状

27、态,并从这上状态开始工作。(1)单片机常见的复位电路通常单片机复位电路有两种:上电复位电路,按键复位电路。上电复位电路:上电复位是单片机上电时复位操作,保证单片机上电后立即进入规定的复位状态。它利用的是电容充电的原理来实现的。按键复位电路:它不仅具有上电复位电路的功能,同时它的操作比上电复位电路的操作要简单的多。如果要实现复位的话,只要按下RESET键即可。它主要是利用电阻的分压来实现的在此设计中,采用的按键复位电路。按键复位电路如图3.3所示。图3.3 复位电路(2)复位电路工作原理上电复位要求接通电源后,单片机自动实现复位操作。上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引

28、脚的高电平将逐渐下降。RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。上电与按键均有效的复位电路不仅在上电时可以自动复位,而且在单片机运行期间,利用按键也可以完成复位操作2 晶振电路的设计晶振电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地工作。通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,如图3.4中Y1、C1、C2。可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体,补偿电

29、容通常选择30pF左右的瓷片电容。 图3.4 时钟振荡电路3 时钟电路模块的设计DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。图3.5所示为DS1302的引脚排列,其中VCC1为后备电源,VCC2为主电源。DS1302由VCC1或VCC2两者中的较大者供电。所以在主电源关闭的情况下,也能保持时钟的连续运行。X1和X2是振荡源,外接32.768KHz晶振用来为芯片提供计时脉冲。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命

30、令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电行动时,在VCC大于等于2.5V之前,RST必须保持低电平。在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。图3.5 DS1302的硬件接线图时钟芯片DS1302的工作原理:(1) DS1302的控制字节DS1302控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取

31、日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出(2) 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。(3) DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态

32、;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,“WP”必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)

33、。3.3.3独立式键盘设计实现键盘控制的方法有多种,它可以用FPGA来进行控制,也可以用单片机来进行控制。在本系统中,我们采用了单片机来进行控制,因为单片机可以很好的解决键抖动。由若干个按键组成一个键盘,其电路结构可分为独立式键盘和矩阵式键盘两种。 独立式键盘每个键单独占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线上的状态,矩阵式键盘按键排列为行列式矩阵结构,也称行列式键盘结构。4行4列共16个键,只占用8根I/O口线,键数目较多,可节省口线。本设计采用的是独立式键盘。键盘的工作方式可分为编程控制方式和中断控制方式。CPU在一个工作周期内,利用完成其他任务的空余时间,

34、调用键盘扫描子程序,经程序查询,若无键操作,则返回;若有键操作,则进而判断是哪个键,并执行相应的键处理程序。这种方式为编程扫描方式。由于单片机在正常应用过程中,可能会经常进行键操作,因而编程控制方式使CPU经常处于工作状态, 在进行本次设计中,只涉及到了设置、上调、下调三个功能。因此采用独立式键盘。3.3.4 显示模块的设计本设计中由于要对时间、温度进行显示,所以选择液晶显示屏1602模块作为输出。1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。1602

35、液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 管脚功能如表3-1所示:表3-1 LCD1602引脚功能引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端。4RSRS为寄存器选择。5R/WR/W为读写信号线。 续表3-16EE(或EN)端为使能(enable)端,下降沿使能。7DB0底4位三态、 双

36、向数据总线 0位(最低位)8DB1底4位三态、 双向数据总线 1位9DB2底4位三态、 双向数据总线 2位10DB3底4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)LCD1602主要管脚介绍:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生鬼影使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择端,高电平时选择数据寄存器,低电平时选择指令寄存器。RW为读写信号线端,高电平时进行读操作

37、,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址;当RS为高电平RW 为低电平时可以写入数据。E为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。图3.10为1602液晶显示屏与单片机的硬件连接图。 图3.10 LCD液晶与单片机硬件连线图3.4 本章小结本章主要介绍了系统硬件设计,其中对时钟芯片DS1302、1602液晶显示屏STC89C52最小系统的设计做了详细阐述。此外还介绍了各模块和单片机的连接方法、其特性及电路原理,最后确定系统的整体硬件设计方案。4 系统的软件设计4.1程序流程图4.1.1 系统总流程图系统总流程图如图5.1所示。流程图分析:首先系统

38、初始化,系统开始运行,当有设置键按下时进入修改时间模式,无按键按下时读取时间等数据送入液晶屏显示;在修改时间模式下设置时间完成后再送数据到液晶屏显示。开始初始化程序判断有没有按键按下调节时间结束否是读取DS1302时间显示时间是图4.1系统总流程图4.1.2 DS1302时钟程序流程图时钟流程图如图4.3所示。流程图分析:DS1302开始计时时,首先进行初始化,当有中断信号时,读取时钟芯片的数据送入液晶屏显示。这时若有设置键按下时,进行时间修改,完成后将数据送入时钟芯片;若没有按键按下,则直接存入EPROM,送入液晶屏显示。图4.3 时钟流程图4.1.3 LCD显示程序流程图显示程序流程图如图

39、4.4。流程图分析:首先对1602显示屏进行初始化(初始化大约持续10ms左右),然后检查忙信号,若BF=0,则获得显示RAM的地址,写入相应的数据显示;若BF=1,则代表模块正在进行内部操作,不接受任何外部指令和数据,直到BF=0为止。图4.4 LCD显示程序流程图4.2程序的设计4.2.1 DS1302读写程序DS1302是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。要想与DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如图4.5所示。图4.5 DS1302的控制字控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上

40、升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。数据读写时序如图4.6、4.7所示。图4.6 单字节读图4.7 单字节写在进行任何数据传输时,RST必须被置高电平,每个SCLK为上升沿时数据被输入,下降沿时数据被输出。先把RST置低,禁止数据传输,SCLK置低,清零时钟总线,RST再置高,允许数据传输。传送完成后,RST置低,禁止字节的传送。部分源程序如下:void write_byte(uchar dat) /写一个字节ACC=dat;RST=1;for(a=8;

41、a0;a-)IO=ACC0;SCLK=0;SCLK=1;ACC=ACC1;uchar read_byte() /读一个字节RST=1;for(a=8;a0;a-)ACC7=IO;SCLK=1;SCLK=0;ACC=ACC1;return (ACC);void write_1302(uchar add,uchar dat) /向1302芯片写函数,指定写入地址,数据RST=0;SCLK=0;RST=1;write_byte(add);write_byte(dat);SCLK=1;RST=0;uchar read_1302(uchar add) /从1302读数据函数,指定读取数据来源地址ucha

42、r temp;RST=0;SCLK=0;RST=1;write_byte(add);temp=read_byte();SCLK=1;RST=0;return(temp);4.2.2液晶显示程序1602通过D0D7的8位数据端传输数据和指令,其模块内的控制器有11条控制指令。当液晶显示屏的接口电路与单片机系统I/O按照并行数据传输方式连接完成以后,即可以对STC89C52单片机进行编程。在液晶屏完成显示之前首先要对液晶进行初始化。源程序如下:lcd_init() /*液晶初始化函数*write_1602com(0x38); /设置液晶工作模式,意思:16*2行显示,5*7点阵,8位数据write_1602com(0x0c); /开显示不显示光标write_1602com(0x06);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁