




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计说明书(论文) 第 49页 共 49页1 绪论 需要该设计的实物请联系:QQ:702176842时间在我们的生活中有着不可取代的作用,它可以为我们清晰地记录下制作从开始到结束所需要的时间。时间对人们来说总是宝贵的,工作的忙碌性和繁杂性容易使人忘记当前时间,忘记了要做的事情。当事情不重要的时候,这种遗忘无伤大雅,但是,一旦事情重要,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们遗忘而发生的,而时间的重要性在医院、冶金、化工、食品、机械、石油等工业中,更是举足重轻,而现在钟表的数字化给人们的生活带来了极大地方便。成为人们必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。1.1 课题背景及意义如今我们只需看一下钟就能说出时间,我们把这看成是很自然的事。但在过去长达几千年的时间里,根本就没有任何测定时间的精确方法。人们通过太阳在天空中的位置,或者通过像沙漏这样的装置来判断时间,在沙漏中,是通过沙子从一个双头玻璃容器中漏落下来来指示时间的。改变上述情况的人是一位叫做一行的中国杰出天文学家,他生活于公元8世纪。他与另外一位中国发明家梁令瓒一起设计了“擒纵器”装置,即所有机械钟中心部位的那套齿轮嵌齿结构。机械钟在中世纪时来到欧洲。到14世纪时,欧洲建造了既大又不灵巧的机械钟,它们用钟锤驱动,其精确度每天大约误差在1小时以内。这样的钟在人们眼中通常没什么信任度。它们连着一个报时的铃,但既然它们这样不精确,在机械装置中也就谈不上显示分与秒了。15世纪时开发出了由弹簧驱动的钟,接着在17世纪时制造出了带有钟摆的更精确的钟。而到中世纪时,钟表制造者造出了可展示太阳运动和月亮、行星的相位,以及能显示时间的钟。拟人机构不时地打铃,以声音报出每小时和每刻钟。而在现在这一个知识爆炸的新时代,新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张地说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人,而数字化的钟表得出现,给人们带来了极大的方便。数字时钟具有性能稳定、精确度高、成本低、易于产品化,以及方便、实用等特点。适用于家庭、公司、机关等众多场所。为人们的日常生活、出行安排提供了方便,成为人们日常生活中不可缺少的一部分。近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子时钟、数字闹钟等等。单片机在多功能高精度时钟中的应用已是非常普遍的,人们对高精度钟的功能及工作顺序都非常熟悉,但是却很少知道它的内部结构以及工作原理。由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术和数码管显示技术。1.2 本毕业设计课题任务的主要内容和主要要求本次设计的题目是基于DS12C887的高精度时钟的设计,可以正常的显示年、月、日、时、分、秒。本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89S52为核心元件,同时采用1602液晶显示屏动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。另外具有校时功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。本次设计可分为两部分:硬件部分、软件部分。硬件部分包括:AT89S52单片机、DS12C887时钟芯片、1602LCD液晶显示器。主要由AT89S52单片机、实时时钟芯片电路、液晶显示输出电路、键盘输入电路组成等几大部分组成。具体说来,系统智能控制部分由单片机及其相关的外围电路组成,外围电路包括复位电路、晶振电路、键盘设计、电源电路。利用单片机将复位电路、动态显示电路、电源电路等正确的连接在一起,并通过单片机的编程来实现本次设计任务中的要求。软件部分包括了主程序模块,DS12C887模块,LCD1602模块,键盘控制模块1。本设计的基本要求是:具有年、月、日、星期、时、分、秒等功能,同时具备年、月、日、星期、时、分、秒校准功能。具体的用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89S52为核心元件,结合DS12C887时钟芯片,采用1602液晶显示屏作为动态显示年、月、日、星期、时、分、秒等的现代计时2。1.3 本文章节安排第一章绪论,介绍了本课题的背景及要实现的目标;第二章方案论证,具体包括常见的时钟方案以及本设计选用的方案;第三章硬件部分,DS12C887的高精确时钟的硬件设计,硬件模块包括AT89S52控制模块,DS12C887时钟模块,1602显示模块,键盘及外围电路,外围电路即晶振和复位电路3;第四章软件部分,本系统软件采用模块化结构,由主程序DS12C887子程序、LCD1602子程序、键盘子程序构成;第五章系统调试部分,包括软件介绍和调试中存在的问题和解决办法以及显示结果。2 方案论证时钟电路有各种各样的,在不同的要求和条件下有着各自的优势,本设计的题目是高精度时钟的设计,根据设计要求时钟显示正常的年、月、日、星期、时、分、秒。要想实现上述功能,所以设计要从电路设计的性价比、显示时间的精确以及稳定性为前提。本设计是要将硬件系统和软件系统有机的结合在一起,方可实现我们设计任务中的各项要求。2.1 常见的时钟设计2.1.1 基于FPGA时钟电路设计FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要:(1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。(2)FPGA可做其它全定制或半定制ASIC电路的中试样片。(3)FPGA内部有丰富的触发器和I/O引脚。(4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。并且FPGA采用高速CMOS工艺、功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。随着FPGA集成度的不断提升,单片FPGA已经可以完成百万门级的集成电路设计。因此,很多ASIC设计可以利用FPGA完成流片前的功能验证。甚至直接使用FPGA进行商业生产。但是,FPGA的特殊结构决定了基于FPGA的设计不能直接照搬在ASIC设计当中的某些经验,时钟设计便是其中较突出的一条。由于FPGA的生产工艺,在出厂之前,FPGA内部元件之间的连线已经完全固定。同时,FPGA具有连线延时相对门延时较大的特点,造成FPGA并不能通过动态搭建时钟缓冲器树的方法解决时钟偏差问题。实际上,时钟结构已经被预先固化在芯片当中。经过综合工具的自动指定。时钟结构如图2.1所示。图2.1 时钟结构FPGA通过其特定的时钟网络,使得时钟信号从BUFGMUX到每个CLB的时钟端没有时钟偏差。但是,此结构的间接后果是为每个CLB的时钟端添加了一个相同的时钟线延时,即从BUFGMUX通过时钟网络到达GRM的时间,在正常情况下,这个时间为6ns7ns。因为两个都可以实现同样的功能,而FPGA芯片的价格远比单片机高。出于利润,会选择开发成本少的产品。2.1.2 基于石英晶体振荡器设计随着科学技术的不断发展,人们对时间计量的精度要求越来越高。高精度的计时工具大多数都是用了石英晶体振荡器,由于电子石晶表、石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种钟具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。系统的工作原理:振荡器产生稳定的分频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。秒技术器满60分向分计数器进位,分技术器满60分向时计数器进位,小时计数器按照“24翻1”规律技术。计数器的输出分别由译码器送显示器显示。计时出现误差时,可以用校时电路校时、校分4。数字电子钟逻辑图如图2.2显示,它由石英晶体振荡器、分频器、计数器、译码器、译码显示器和校时电路组成(如显示23时50分59秒)。 59 50 23 译码器 译码器 译码器 分计数器 秒计数器 时计数器 校时电路 晶体振荡器 分频器 图2.2 数字电子钟逻辑图本电路主要由石英晶体振荡器、分频器、计数器、译码器、LED显示器和校时电路组成,采用了COMS系统(双列直插式)中小规模集成芯片。总体方案由主体电路和扩展电路两大部分组成,其中主体电路完成数字钟的基本功能,扩展电路完成数字钟展功能,进行了各单元的设计,总体调试。2.2 本设计采用的方案对此次作品的方案选定:采用AT89S52作为主控制系统,LCD1602液晶模块作为显示,时钟芯片DS12C887提供时钟。硬件系统主要有单片机AT89S52、DS12C887、1602LCD等。采用AT89S52单片机作为系统的控制核心,一是对通过I/O口组成的键盘进行定期扫描,并执行相应的键处理;二是定时读取时钟芯片数据,使之在各位LCD中显示。时钟功能采用单片集成的时钟芯片DS12C887来实现,它是保证时钟准确的重要器件。在运行时,按下相应的键,可以对显示的数据进行相应的校正处理,以显示正确的时间。根据按键电路可实现年、月、日、时、分、秒的调整,S1键是功能键,切换需要选择调整的位,S2、S3键分别对时间进行加或减的操作,S4是复位键,进行复位操作,S5是闹钟键。设计的整体框图如图2.3所示。图2.3 设计的整体框图(1)单片机控制模块单片机来承担单片机在系统中对其他模块进行控制,是整个系统的核心部件,主要是对其他模块进行控制和数据交换。(2)时钟模块的设计时钟模块主要是用于对时、分、秒、年、月、日和星期的计时。该模块采用的芯片为DS12C887时钟芯片。(3)显示模块显示模块主要由1602 LCD显示器完成,显示器主要是为人机交互提供即时的信息,能让人们与机器进行很好的交流。(4)键盘模块本系统的按键主要是用于对时钟的校对,现对按键的功能简述如下:S1键是功能键,切换需要选择调整的位,S2、S3键分别对时间进行加或减的操作,S4是复位键,进行复位操作,S5是闹钟键。3 硬件电路设计根据上述,采用AT89S52单片机作为系统的控制核心。一是对通过I/O口组成的键盘进行定期扫描,并执行相应键处理;二是定时读取时钟芯片数据,使之在各位LCD中显示。时钟功能采用集成的时钟芯片DS12C887来实现,它是保证时钟准确的重要器件。在运行时,按下相应的键,可以对显示的数据进行相应的校正处理,以显示正确的时间5。3.1 单片机控制电路单片机控制系统包括AT89S52单片机以及它的外围电路(晶振电路和复位电路)。 3.1.1 单片机系统发展随着计算机技术的发展,单片机技术已成为计算机技术中的一个独立的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。从应用领域看,单片机主要用于控制,所以也称它为微控制器。目前计算机硬件技术向巨型化、微型化和单片化发展。自1975年美国德克萨斯仪器公司第一块单片机芯片TMS-1000问世以来,在短短的20余年间,单片机技术已发展成为计算机技术中一个非常有活力的分支,它有自己的技术特征、规范、发展道路和应用环境。按单片机的生产技术和应用对象,单片机先后经历了4位机、8位机、16位机、32位机几个有代表性的发展阶段6。AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52的主要性能有:(1)与MCS-51单片机产品兼容;(2)8K字节在系统可编程Flash存储器;(3)1000次擦写周期;(4)全静态操作:0Hz33Hz; (5)三级加密程序存储器;(6)八个中断源; (7)全双工UART串行通道;(8)低功耗空闲和掉电模式、掉电后中断可唤醒; (9)看门狗定时器;(10)双数据指针; (11)掉电标识符。8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止7。AT89S52的引脚如图3.1所示。图3.1 AT89S52引脚的引脚图AT89S52的各个引脚的说明如下:VCC:电源电压GND:接地P0口:P0口是一个8位漏极开路的双向I/O口,即地址/数据总线复用口。作为输出口时,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻,在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3.1所示8。在flash编程和校验时,P1口接收低8位地址字节。表3.1 引脚号第二功能引脚第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR,A)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX R1,A)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4 个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P3口亦作为AT89S52特殊功能(第二功能)使用,如表3.2所示。表3.2 AT89S52特殊功能(第二功能)表第二功能功能P3.0RXD (串行输入口)P3.1TXD (串行输出口)P3.2 (外部中断0)P3.3 (外部中断1)P3.4T0 (定时/计数器0)P3.5T1 (定时/计数器1)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器读选通)此外,P3口还接收一些用于Flash闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。XTAL1:振荡器反相放大器的输出端及时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端及时钟发生器的输入端。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。3.1.2 AT89S52单片机的连接图图3.2为AT89S52的链接图,包括复位电路、晶振电路、电源电路、时钟芯片DS12C887、1602LCD与单片机的连接。图3.2 AT89S52的连接图(1)复位电路单片机复位有上电复位和按键手动复位两种。上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。只要VCC的上升时间不超过1ms,就可以实现自动上电复位。按键手动复位又分为按键电平复位和按键脉冲复位两种:按键电平复位相当于复位端通过电阻与VCC电源接通;按键脉冲复位就是利用RC微分电路产生正脉冲。单片机复位的条件是当单片机振荡器工作时,RST引脚上出现持续两个机器周期的高电平,从而实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,RST引脚上高电平必须持续10ms以上才能保证有效复位。AT89S52的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。当时钟频率用12MHz时C取22uF,R取1K。(2)晶振电路晶振是晶体振荡器的简称。它用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振电路中接在晶振旁的两个电容,叫负载电容。一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差。也能保证温漂等误差。两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振。本设计采用最常用的内部时钟方式,即利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。组成的并联谐振回路。振荡晶体可在1.2MHz到12MHz之间选择。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2可在30pF时振荡器有较高的频率稳定性。所以本设计中,振荡晶体选择12MHz,电容选择30pF。3.2 DS12C887时钟电路DS12C887实时时钟芯片功能丰富,可以用来直接代替IBM PC上的时钟日历芯片DS12887,同时,它的管脚也和MC146818B、DS12887相兼容。本次设计采用实时时钟芯片是DS12C887,这种实时时钟芯片具备年、月、日、星期、时、分、秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需程序干预。3.2.1 器件介绍DS12C887是美国Dallas半导体公司推出的并行接口实时时钟日历芯片,采用CMOS技术制成,具有内部晶振和时钟芯片备份锂电池,同时它与计算机常用的时钟芯片MC146818和DS12887管脚兼容,可直接替换。采用DS12C887芯片设计的时钟电路无需任何外围电路和器件,并且有良好的微机接口9。DS12C887芯片内有微功耗,外围接口简单,精度高,工作稳定可靠等优点,广泛各种需要较高精度的实时时钟系统中。由于DS12C887能够自动产生世纪、年、月、日、星期、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题;DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有12小时制和24小时制两种模式。在12小时制模式中,用AM和PM区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用BCD码表示;DS12C887中带有128字节RAM,其中有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,称为控制寄存器,113字节通用RAM使用户使用;此外用户还可对DS12C887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。显示范围:年份可走99年,如20012099;日、月正常显示,能识别闰年闰月;时间采用24小时制。显示格式:日期按照年、月、日排列,如2005年12月20日显示为:05-12-20;时间按时、分、秒排列,如12点30分55秒显示为12-30-55。显示位数:6位七段LED数码管工作正常和节电显示。时钟误差:24小时误差35秒。DS12C887主要功能介绍:(1)内含一个锂电池,断电后运行十年以上不丢失数据;(2)计秒、分、时、天、星期、日、月、年、并有闰年补偿功能;(3)二进制数码或BCD码表示时间,日历和定闹;(4)12小时或24小时制,12小时时钟模式带有PM和AM指示,有夏令时功能;(5)Motorola和Intel总线时序选择;(6)有128个字节RAM单元与软件接口,其中14个字节作为时钟和控制寄存器,114字节为通用RAM,所有RAM单元数据都具有掉电保护功能;(7)可编程方波信号输出;(8)中断信号输出(IRQ)和总线兼容、定闹中断、周期性中断、时钟更新周期、结束中断可分别由软件屏蔽,也可分别进行测试;DS12C887寄存器的功能和作用:DS12C887内部RAM和专用寄存器地址功能,地址00H03H单元取值范围是00H3BH(10进制059);04H05H单元按12小时制取值范围是上午(AM)01H0CH(112),下午(PM)81H8CH(8192)按24小时制取值范围使00H17H(123);06H单元取值范围使00H07H(07);07H单元取值范围01H1FH(131);08H单元取值范围是01H0CH(112);09H单元取值范围是00H63H(099)。DS12C887的RAM和各专用寄存器的访问如下实现,若片选地址DS=#0DDXXH,则芯片内部RAM和寄存器和地址为#0DD00H#ODD7FH。应指出的是,尽管DS12C887的专用时标年寄存器只有一个,但通过软件编程可利用其内部的不掉电的RAM区的一个字节实现年度的高两位显示。寄存器A:寄存器A各位不受复位影响,UIP位为只读位,其它各位可读写,寄存器的控制字的格式。(1)UIP更新周期标志位。该位为“1”时,表示芯片正处于或将开始更新周期,此时程序不准读写师表寄存器;该位为“0”时,表示至少在244us后开始更新周期,此时程序可读芯片内时标寄存器。该位是只读位。(2)DV0、DV1、DV2这三位用来开/关晶体振荡器和复位分频器。当芯片接触复位状态,并将010写入DV0、DV1、DV2后,另一个更新周期将在500ms后开始。因此,在程序初始化时可用这三各精确地使芯片在设定的时间开始工作。这与MC146818不同的使DS12C887固定使用32768Hz的内部晶体。所以当DV0 DV1 DV2=010时,晶体振荡器开启且保持时钟运行。当DV0 DV1 DV2=01x时,晶体振荡器开启,但分频保持复位状态。(3)RS3、RS2、RS1、RS0周期中断可编程方波输出速率选择位。这四个速率选择位用来选择15级分频器的13种分频之一,或禁止分频器输出。按照所选择的频率产生方波输出(SWQ引脚)和/或一个周期性中断。寄存器B:(1)SETSET=0,芯片更新正常显示;SET=1,芯片更新被禁止。SET位可读/写,并不受复位信号的影响。(2)PIEPIE=0,禁止周期中断输出到IRQ;PIE=1,允许周期中断输出到IRQ。(3)AIEAIE=0,禁止闹钟中断输出到IRQ;AIE=1,允许闹钟中断输出到IRQ。(4)UIEUIE=0,禁止更新结束中断输出到IRQ;UIE=1,允许更新结束中断输出到IRQ。此时在复位或设置SET位为高时清0。(5)SQWESQWE =0,SQW引脚为低电平;SQWE =1,SQW输出设定频率的方波。(6)DMDM=0,设置寄存器存储数据格式为BCD码格式:DM=1,设置寄存器存储数据格式二进制数码式,此位不受复位信号影响。(7)24/12为1,24小时制;为0,12小时制。(8)DSE夏令时允许标志。寄存器C:IRQF中断请求标志。当以下4重情况中一种或几种发生时,IRQF置高:PF=PIE=1AF=AIE=1UF=UIE=1IRQF=PFPIE+AFAIE+UFUIEIRQF一旦为高,IRQ脚输出低电平。所有标志位在读寄存器C或复位后清0。PF周期中断标志AF闹钟中断标志UF更新中断标志寄存器D:VRTVRT=0,表示内置电池能量耗尽,此时RAM中数据的正确性就不能保证了。DS12C887的中断和更新周期:DS12C887处于正常工作状态时,每秒钟将产生一个更新周期,芯片处于更新周期的标志是寄存器A中的CPU位为1。在更新周期内,芯片内部时标寄存器数据处于更新阶段,故在该周期内,微处理器不能读芯片时标寄存器中的内容,同时秒时标寄存器内容加1,并检查其他时标寄存器内容是否有溢出。如果有溢出则相应进位日、月、年。另外一个功能是检查三个时、分、秒报警时标寄存器的内容是否与对应时标寄存器的内容相符,如果相符则寄存器C中的AF位置1。如果报警时标寄存器的内容为COH到FFH之间的数据,则为不关闭状态。为了采样时标寄存器中的数据,DS12C887提供了两种避开更新周期内访问时标寄存器的方案:第一种是利用更新周期结束发出的中断。它可以编程允许在每次更新周期结束后发生中断申请,提醒CPU将有998ms左右的时间去获取有效的数据,在中断之后的998ms时间内,程序可先将时标数据读支芯片内部的不掉电静态RAM中。因为芯片内部的静态RAM和状态寄存器是可随时读写的,在离开中断服务子程序前应清除寄存器C中的IRQF位。另一种是:利用寄存器A中的UIP位来指示芯片是否处于更新周期。在UIP位从低变高244us后,芯片将进行更新周期,所以检测到UIP位为低电平时,则利用224us的间隔时间去读取时标信息。如检测到UIP位为1,则可暂缓读数据,等到UIP变成低电平再去读数据。DS12C887的初始化方法:DS12C887采用连续工作制,一般无须每次都初始化,即使是系统复位时也如此。但初始化时,首先应禁止芯片内部的更新周期操作,所以先将DS12C887状态寄存器B中的SET位置1,然后初始化00H09H时标参数寄存器和状态寄存器A,此后再通过读状态寄存器C、清除寄存器C中的周期中断标志位PE、报警中断标志位AF、更新周期结束中断标志位UF。通过读寄存器D中的VRT位,读状态寄存器后VRT位将自动置1,最后将状态寄存器B中的SET位置0,芯片开始计时工作。DS12C887管脚如图3.3所示。图3.3 DS12C887管脚图(1)1管脚为MOT(总线操作时序选择端),它有两种总线工作模式,即MOTORLA和INTEL模式。当MOT管脚接到VCC时,选择MOTORLA时序;当接到GFND时。选择INTEL时序。(2)2、3、16、20、21、22(N.C.)管脚为电压在正常范围内时数据可读写;当VCC低于4.25V,读写被禁止,计时功能仍继续;当VCC下降到3V以下时,RAM和计数器被切换到内部锂电池。(3)4、11管脚为AD0AD7(双向地址数据复用线),该总线采用时分复用技术,在总线周期的前半部分,出现在AD0AD7上的是地址信息,可用以选通DS12C887内的RAM,总线周期的后半部分出现在AD0AD7上的是数据信息。总线接口即MOTOROLA微机系列和INTEL微机系列接口。(4)12、24管脚为GND、VCC,系统电源接入端。其中VCC接+5V输入,GND接地,当VCC输入+5V时,用户可以访问DS12C887内的RAM的数据,并可对其进行读/写操作,此时用户不能正确获取芯片内的时间信息;当VCC得输入小于+3V时,DS12C887会自动切换到内部自带的锂电池上,以保证内部的电路正常工作。(5)13管脚为CS(片选输入):在访问DS12C887的总线周期内,片选信号必须保持为低电平。(6)14管脚为AS(地址选通输入):在进行读/写操作时,AS的上升沿将AD0AD7上出现的信息锁存到DS12C887上,而下一个下降沿清楚AD0AD7上的地址信息,不论CS是否有效,DS12C887都将执行该操作。(7)15管脚为R/W(读/写输入):R/W管脚也有两种操作模式。选MOTOROLA时序时,R/W是一电平信号,指示当前周期是读或写周期;DSO为高电平时,R/W高电平指示读周期,R/W低电平指示写周期;选INTEL时序,R/W信号是一低电平信号,称为WR。在此模式下,R/W管脚与通用RAM的写允许信号(WE)的含义相同。(8)17管脚为DS(数据选通或读输入):DSRD客脚有两种操作模式,取决于MOT管脚放的电平,当使用MOTOROLA时序时,DS时正脉冲,出现在总线周期的后段称为数据选通;在读周期DS指示DS12C887驱动双向总的时刻,在写周期DS的后沿使DS12C887锁存写数据。选择INTEL时序时DS称作(RD),RD与典型存储器的允许信号(OE)的定义相同。(9)18管脚为RESET(复位输出):当该脚保持低电平时间大于200ms,保证DS12C887有效复位。(10)19管脚为IRQ(中断申请输入):低电平有效,用作处理器的的中断申请输入。只要引起中断的的状态位置位,并且相应中断使能位也置为,IRQ将一直保持低电平,处理器程序通常读取C寄存器来来清除IRQ引脚输入,RESET引脚也会清除未处理的中断。没有中断发生时,IRQ为高阻状态,可将多个中断器件接到一条IRQ总线上,只要它们均为漏极开路输入即可。IRQ引脚为漏极开路输出,需要使用一个外接上拉电路与VCC相连。(11)23管脚为SQW(方波信号同):SQW管脚能从实时时钟内部15级分频器的13个抽头中选择一个作为输出信号,其输出频率可通过对寄存器A编程改变。DS12C887内部由振荡电路、分频电路、周期中断/方波选择电路,14字节时钟和控制单元,114字节用户非易失RAM,十进制/二进制累加器,总线接口电路,电源开关写保护单元和内部锂电池等部分组成。VCC为直流电源+5V电压,当5V电压在正常范围内时,数据可读写,当VCC低于4.25V,读写被禁止,计时功能仍继续;当VCC下降到3V以下时,RAM和计时器供电被切换到内部锂电池。3.2.2 DS12C887与单片机的连接DS12C887是一款纯数字式的芯片,只要它与电片机的I/O口直接相连就可以操作。操作DS12C887时钟芯片共需要13条信号线,分别是并行数据地址复用线AD0AD7、CS、AS、R/W、DS和IRQ。然后将RESET引脚固定接高电平,再将DS12C887芯片的VCC和GND引脚与实验板相连即可。连接信号时需要考虑不要和原来实验板上的其他资源造成操作冲突,DS12C887芯片的数据地址复用线可以和单片机的P2口相连。DS、AS、R/W和CS分别连接单片机的P1.4P1.7口。IRQ是DS12C887的中断申请端,该引脚只能与单片机的外部中断引脚相连,这样当DS12C887芯片向单片机申请中断时,单片机不会遗漏地检测出所有的中断,这里将其与单片机的P3.3口相连。DS12C887与单片机的连接如图3.4所示10。图3.4 DS12C887与单片机的连接3.3 1602液晶显示屏液晶显示器简称为LCD显示器,它是利用液晶经过处理后能改变光线的传输方向的特征实现显示信息的。液晶显示器具有体积小、重量轻、功耗极低、显示内容丰富等特点,在单片机应用系统中得到日益广泛的应用。液晶显示器按其功能可分为三类:笔端式液晶显示器、字符点阵式液晶显示器和图形点阵式液晶显示器。前两种可以显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图形,达到图形并茂的效果11。3.3.1 1602字符型LCD引脚接口介绍1602字符型LCD引脚说明如图3.5所示。图 3.5 1602字符型LCD显示器正反面1602字符型LCD引脚说明:第1脚:VSS为电源地,接GND。第2脚:VDD接5V正电源。第3脚:VO为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:EN端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:BLA背光电源正极(+5V)输入引脚。第16脚:BLK背光电源负极,接GND。引脚说明如表3.3所示。表3.3 1602字符型LCD引脚编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据口2VDD电源正极10D3数据口3VO液晶显示器对比度调整端11D4数据口4RS数据/命令选择端(H/L)12D5数据口5R/W读/写选择端(H/L)13D6数据口6E使能信号14D7数据口7D0数据口15BLA背光源正极8D1数据口16BLK背光源负极1602字符型LCD与单片机的连接接口说明如下:(1)液晶1、2端为电源;15、16端为背光电源;15脚串接一个100电阻用于限流。(2)液晶3端为液晶对比度调节端,通过一个10K电位器接地来调节液晶显示对比度。首次使用时,在液晶的上电状态下,调节至液晶上面一行显示出黑色小格为止。(3)液晶4端为向液晶控制器写数据/写命令选择端,接单片机的P3.5口。(4)液晶5端为读/写选择端只向其写入命令和显示数据。(5)液晶6端为使能信号,是操作时必须的信号,接单片机的P3.4口。1602字符型LCD与单片机的连接图如图3.6所示。图3.6 1602字符型LCD与单片机的连接3.3.2 1602字符型LCD简介本设计采用1602字符型LCD,可显示两行,每行16个字符,不能显示汉字,内置含128个字符的ASCII字符集字库,只有并行接口,无串行接口。这种1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用161,162,202和402行等的模块。1602字符型LCD的主要技术参数为:(1)显示容量:162个字符;(2)芯片工作电压:4.55.5V;(3)工作电流2mA(5.0V)不包括背光电流;(4)模块最佳工作电压:5V;(5)字符尺寸:2.954.35(WH)mm;(6)带有英文和日文字库,使用方便;1602字符型LCD的基本操作时序: 读状态 输入:RS=L,R/W=H,E=H 输出:D0D7=状态字 读数据 输入:RS=H,R/W=H,E=H 输出:无写指令 输入:RS=L,R/W=L,D0D7=指令码,E=高脉冲 输出:D0D7=数据写指令 输入:RS=H,R/W=L,D0D7=数据,E=高脉冲 输出:无1602字符型LCD 的RAM地址映射图:液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。 LCD 16字2行控制器内部带有80B的RAM缓冲区,对应关系如图3.7所示。 00 0102030405060708090A0B0C0D0E0F27404142434445464748494A4B4C4D4E4F67图3.7 1602内部RAM地址映射图当向图中的000F、404F地址中任一处写入显示数据时,液晶都可立即显示出来,当写入到1027或5067地址处时,必须通过移屏指令将它们移入可显示区域方可显示正常。1602字符型LCD的状态字说明如表3.4所示。表3.4 状态字说明STA7 D7STA6 D6STA5 D5STA4 D4STA3 D3STA2 D2STA1 D1STA0 D0STA0STA6当前地址指针的数值STA7读/写操作使能1禁止;1允许原则上没次对控制器进行读/写操作之前,都必须进行读/写检测,确保STA7为0。实际上由于单片机的操作速度慢于液晶控制器的反应速度,因此可以不进行读/写检测,或只进行简短延时即可。1602字符型LCD的数据指针设置:控制器内部设有一个数据地址指针,用户可以通过它们访问内部的全部80B的RAM。数据指针设置如表3.5所示。表3.5 数据指针设置指令码功能80H+地址码(0H27H,40H67H)设置数据地址指针1602字符型LCD的其他设置如表3.6所示。表3.6 其他设置指令码功能01H显示清屏:1.数据指针清0 2.所有显示清002H显示回车: 数据指针清01602字符型LCD的初始化设置:(1)显示模式设置显示模式设置如表3.7所示。表3.7 初始化设置的显示模式设置指令码功能00111000设置162显示,57点阵,8位数据接口(2)显示开/关以及光标设置显示开/关以及光标设置如表3.8所示。表3.8 初始化设置的显示开/关以及光标设置指令码功能00001DCBD=1开显示;D=0关显示C=1显示光标;C=0不显示光标B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 7.2.2 我国最大的城市群 水乡的文化特色与旅游(说课稿)2025-2026学年八年级地理下册同步教学(人教版河北专版)
- 六年级上册心理健康教育教案-6自信添力量 | 辽大版
- 蓄电池销售课件
- 18.2.2菱形 说课稿-2024-2025学年人教版数学八年级下册
- 5.3《十年的变化》(教学设计)-2024-2025学年二年级下册数学北师大版
- 《梦游天姥吟留别》教学设计 2024-2025学年统编版高中语文必修上册
- 初中期末考试试卷及答案
- 2025饮料的采购合同模板
- 显微镜构造题目及答案
- 葡萄糖耐量试验课件
- DB51T 2245-2016 四川省专用地震监测台网建设技术规范
- 《年产15万吨苯酚的工艺流程设计》21000字
- 土地信息系统试题及答案
- 肾切除患者护理疑难病例
- 名人传课件完整版本
- 能源管理体系内审员培训课程
- 人力管理咨询合同范本
- 2025译林版高中英语高考复习必背全七册单词表(精校打印)
- 排水防涝设施功能提升施工组织与管理方案
- 《ecmo的镇静与镇痛》课件
- 2025年变压器绝缘材料项目可行性研究报告
评论
0/150
提交评论