温度、时间滚动显示器的设计.doc_第1页
温度、时间滚动显示器的设计.doc_第2页
温度、时间滚动显示器的设计.doc_第3页
温度、时间滚动显示器的设计.doc_第4页
温度、时间滚动显示器的设计.doc_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学 号06700125毕业设计说明书室内温度检测及温度、时间滚动显示器的设计学生姓名韩凌飞专业名称电子信息工程指导教师董全甫电子与信息工程系2010 年6 月14 日室内温度检测及温度、时间滚动显示器的设计Indoor Temperature Detection as well as Temperature, Time Scrolling Display Design摘 要 单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中的各种智能IC卡、电子宠物等,单片机技术均得到了广泛使用。它是在一块半导体上,集成了CPU、ROM 、RAM、I/O接口、定时器/计数器、中断系统等功能部件,构成了一台完整的数字计算机。本文是通过对一个基于单片机的能够实现万年历和温度采集功能的电子时钟的设计,系统由主控制器AT89S52、时钟电路DS1302、温度传感器DS18B20、LCD1602显示、按键电路和复位电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒和温度的显示。关键词:单片机;温度检测;液晶显示;万年历ABSTRACT The rapid development of microcomputer application technology, we look at all areas of life, from the missiles navigation devices, to control the aircraft of various instruments, from the computer network communication and data transmission to industrial automation, real-time process control and data processing, and we live in a variety of smart IC cards, electronic pets, single chip technology have been widely used. It is a semiconductor, the integration of the CPU, ROM, RAM, I / O interface, timer/counter, interrupt systems, features, form a complete digital computer. This article is based on a single chip to achieve perpetual calendar and temperature clock collection features the design of the electronic system by the main controller AT89S52, clock circuit DS1302, temperature sensors DS18B20, LCD1602 display, buttons and other parts of the circuit and reset circuit structure, to achieve clock calendar display function, can be hours, minutes, seconds, and temperature display.Key words: microcontroller, temperature measurement, liquid crystal display, calendar目 录第1章 绪论51.1 课题开发背景及意义11.2 设计任务1第2章 设计方案论证22.1 单片机芯片的选择方案和论证22.2 时钟芯片的选择方案和论证22.3 温度检测模块的选择和论证22.4 显示模块的选择方案和论证32.5 电路设计最终方案3第3章 系统的硬件设计与实现43.1 系统硬件概述43.2 主要单元电路的设计43.2.1 单片机主控制模块的设计43.2.2 电源电路模块设计73.2.3 按键模块设计83.2.4 串行通信93.2.5 实时时钟模块的设计93.2.6 温度采集模块的设计153.2.7 显示模块的设计18第4章 系统的软件设计244.1 程序流程框图244.2 程序设计26第5章 系统调试415.1 硬件调试415.2 软件调试42第6章 结论43致谢44参考文献45附录461. 系统原理图462. 实物图47 第1章 绪论第1章 绪 论1.1课题开发背景及意义在电子技术的推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂容易使人忘记当前的时间。然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦。很多环节都需要用时间来确定工序替换时刻。所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的。想知道时间,手表当然是一个很好的选择,但是,在忙碌当中,我们还需要一个“助理” 及时的给我们提醒时间。所以,计时器最好能够拥有一个定时系统,随时提醒容易忘记时间的人。 最早能够定时、报时的时钟属于机械式钟表,但这种时钟受到机械结构、动力和体积的限制,在功能、性能以及造价上都没办法与电子时钟相比。 电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛应用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、0按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。另外,温度实时显示系统应用同样越来越广泛,比如空调遥控器上当前室温的显示、热水器温度的显示等等。医药卫生、工农业生产上也有很多场合需要测量环境温度。如果能够在电子时钟上附加温度采集功能,将使电子时钟的应用更加广泛。1.2设计任务 本设计采用AT89S52单片机为主控制部分,利用LCD1602液晶显示年、月、日、星期、时、分、秒和实时温度;按钮实现对时间的调整。其中,实时温度用DS18B20采集,时间信息用DS1302提供。1第2章 设计方案论证第2章 设计方案论证2.1单片机芯片的选择方案和论证方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二: 采用AT89S52单片机芯片,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全兼容,该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏,因此选择采用AT89S52作为主控制器。2.2时钟芯片的选择方案和论证方案一: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大,所以不采用此方案。方案二:采用DS1302时钟芯片实现时钟功能,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA。所以选用DS1302时钟芯片。2.3温度检测模块的选择和论证方案一: 使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。方案二: 采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。2.4显示模块的选择方案和论证方案一: 采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏.方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,另外,本次设计需要滚动显示,数码管不能明显的表示每次显示的具体信息,所以也不用此种作为显示.方案三: 采用LCD液晶显示,在单片机系统中有显示质量高、数字式接口、体积小、重量轻、功耗低、无辐射危险、画面效果好、分辨率高、抗干扰能力强等优势,而且软硬件都比较简单。更重要的是能够实现本次设计的要求,在能够实现滚动显示的前提下,能够很清晰的表示所显示信息的具体内容。所以采用了LCD液晶作为显示。2.5电路设计最终方案综上各方案所述,此次设计的方案选定为: 采用AT89S52作为主控制器;DS1302提供时钟;数字式温度传感器DS18B20来采集温度;LCD1602液晶作为显示模块。其系统总体设计框图如图2-1所示:图 2-1 系统总体设计框图24第3章 系统的硬件设计与实现第3章 系统的硬件设计与实现3.1系统硬件概述本电路由AT89S52单片机为控制核心,由电源电路为整个系统提供+5V电源,通过编程来控制DS1302芯片并将其时间信息传送到单片机中,用DS18B20来采集温度并通过其I/O口传送到单片机中,最后在1602LCD液晶显示屏上显示出这些信息。3.2主要单元电路的设计3.2.1 单片机主控制模块的设计1.AT89S52功能特性描述及引脚图 AT89S52 是一种低功耗、高性能 CMOS 8位微控制器,具有8K在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。1) AT89S52的特点(1)8K字节 Flash,256字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。(2)可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。(3)AT89S52为40引脚双列直插芯片,四个8位I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。2) 其管脚图如图3-2所示:图 3-2 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”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( I IL)。 此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/计数器 2的触发输入(P1.1/T2EX),具体如下表所示。 在 flash 编程和校验时,P1 口接收低 8 位地址字节。表 3-1 P1管脚的第二功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( I IL)。 在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用8 位地址(如 MOVX RI)访问外部数据存储器时,P2 口输出 P2 锁存器的内容。 在 flash 编程和校验时,P2 口也接收高 8 位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( I IL)。P3 口亦作为 AT89S52 特殊功能(第二功能)使用,如下表所示。 在 flash 编程和校验时,P3 口也接收一些控制信号。 表3-2 P3口管脚的第二功能引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)RST: 复位输入。晶振工作时,RST 脚持续 2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。 ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。在 flash 编程时,此引脚(PROG)也用作编程输入脉冲。 在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。 如果需要,通 过将地址为 8EH 的 SFR 的第 0 位置 “1”,ALE 操作将无效。这一位置 “1”,ALE 仅在执行 MOVX 或 MOVC 指令时有效。否则,ALE 将被微弱拉高。这个 ALE 使能标志位(地址为 8EH 的 SFR 的第 0 位)的设置对微控制器处于外部执行模式下无效。 PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。 当 AT89S52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将不被激活。 EA/VPP:访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,EA 必须接 GND。 为了执行内部程序指令,EA 应该接 VCC。 在 flash 编程期间,EA 也接收 12 伏 VPP电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。2.单片机最小系统单片机最小系统,或者称为最小应用系统,如图3-3所示,是指用最少的元件组成的单片机可以工作的系统。对51(52)系列单片机来说,最小系统一般应该包括:单片机、晶振电路(时钟电路)、复位电路。其中复位电路采用按键复位,时钟电路采用内部时钟控制方式。复位电路: 由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。晶振电路(时钟电路):典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作),本次设计要求为11.0592MHz。特别注意:对于单片机的31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行。图3-3 单片机最小系统3.2.2 电源电路模块设计如图3-4所示,电源电路模块为该单片机系统的其它模块提供一个+5V电压,将78L05的输出部分加一个绿色的二极管,当输出电压为+5V时,二极管发亮,用以检测电源电路的工作情况。图 3-4 电源电路模块3.2.3 按键模块设计当CPU正在处理某项事务的时候,如果外界或者内部发生了紧急事件,要求CPU暂停正在处理工作而去处理这个紧急事件,待处理完后,再回到原来中断的地方,继续执行原来被中断的程序,这个过程称作中断。从中断的定义我们可以看到中断应具备中断源、中断响应、中断返回这样三个要素。中断源发出中断请求,单片机对中断请求进行响应,当中断响应完成后应进行中断返回,返回被中断的地方继续执行原来被中断的程序。依据设计要求,本次中断系统采用T0 、T1 和 INT0、INT1 相连接,其中两个按键产生两个中断信号,两个按键产生定时,从而达到能够调整时间的目的。其原理图如图3-5所示:图 3-5 按键模块3.2.4 串行通信按照设计要求,串行通信模块采用MAX232芯片来完成。因为TTL电平和RS232电平互不兼容,所以两者对接时,必须进行电平转换,而MAX232就可以实现这两者之间的电平转换,从而达到计算机对单片机的监测与控制的目的。MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。它的内部结构基本可分三个部分:第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。 zTTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头; DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电:15脚DNG、16脚VCC(+5v)。其实美信公司生产的用于RS-232接口的芯片有很多。有各种各样的封装,有只有一个通道的,也有多通道的,有底耗电的,也有耐15kv高压的。其中MAX3233E使用+3v电源、+-15kvESD保护、而且省去了电荷泵的4只电容。其原理图如图3-6所示:图 3-6 串行通信模块原理图3.2.5 实时时钟模块的设计1.时钟芯片DS1302简介DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。有主电源和备份电源双引脚,而且备份电源可由大容量电容(1F)来替代。需要强调的是,DS1302需要使用32.768KHz的晶振。1) DS1302的特点(1)时时钟具有能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年调整的能力(2)1*8位暂存数据存储RAM(3)串行I/O口方式使得管脚数量少(4)宽范围工作电压:2.05.5V(5)工作电流:2.0V时,小于300mA(6)读/写时钟或RAM数据时,有两种传送方式:单字节传送和多字节传送(字符组方式)(7)8脚DIP封装或可选的8脚SOIC封装(根据表面装配)(8)简单3线接口(9)与TTL兼容(Vcc=5V)(10)可选工业级温度范围:-40+85C(11)与DS1202兼容(12)在DS1202基础上增加的特性 对Vcc1有可选的涓流充电能力 双电源管用于主电源和备份电源供应 备份电源管脚可由电池或大容量电容输入 附加的7字节暂存存储器2) DS1302的引脚说明图3-7示出DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。图3-7 DS1302芯片引脚图3) DS1302的内部结构及工作原理图3-8 DS1302内部结构 DS1302的内部结构如图 3-8所示,其在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图3-9所示。表3-3为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表3-4为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。4) DS1302的控制字和读写时序说明在编程过程中要注意DS1302的读写时序。DS1302是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。要想与DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如表3-3:表3-3 DS1302控制字(即地址及命令字节)BIT7BIT6BIT5BIT4BIT 3BIT 2BIT 1BIT 01RAMA4A3A2A1A0RD控制字的作用是设定DS1302的工作方式、传送字节数等。每次数据的传输都是由控制字开始。控制字各位的含义和作用如下:(1)BIT7: 控制字的最高有效位,必须是逻辑1,如果它为0,则不能把数据写到DS1302。(2)BIT6: 如果为0,则表示存取日历时钟数据,为1表示存取RAM数据。(3)BIT5至BIT1(A4A0):用A4A0表示,定义片内寄存器和RAM的地址。定义如下:当BIT6=0时,定义时钟和其他寄存器的地址。A4A0=06,顺序为秒、分、时、日、月、星期、年的寄存器。当A4A0=7,为芯片写保护寄存器地址。当A4A0=8,为慢速充电参数选择寄存器。当A4A0=31,为时钟多字节方式选择寄存器。当BIT 6=1时,定义RAM的地址,A4A0=030,对应各子地址的RAM,地址31对应的是RAM多字节方式选择寄存器。(4)BIT0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。图3-9 DS1302数据读写时序DS1302的数据读写方式有两种,一种是单字节操作方式,一种是多字节操作方式。每次仅写入或读出一个字节数据称为单字节操作,每次对时钟/日历的8字节或31字节RAM进行全体写入或读出的操作,称其为多字节操作方式。当以多字节方式写时钟寄存器时,必须按数据传送的次序依次写入8个寄存器。但是,当以多字节方式写RAM时,不必写所有31字节。不管是否写了全部31字节,所写的每一个字节都将传送至RAM。为了启动数据的传输,CE引脚信号应由低变高,当把CE驱动至逻辑1的状态时,SCLK必须为逻辑0,数据在SCLK的上升沿串行输入。无论是读周期还是写周期,也无论送方式是单字节传送还是多字节传送,都要通过控制字指定40字节中的哪个将被访问。在开始8个时钟周期把命令字(具有地址和控制信息的8位数据)装入移位寄存器之后,另外的时钟在读操作时输出数据,在写操作时输入数据,所有的数据在时钟的下降沿变化。所有写入或读出操作都是先向芯片发送一个命令字节。对于单字节操作,包括命令字节在内,每次为2个字节,需要16个时钟;对于时钟/日历多字节模式操作,每次为7个字节,需要72个时钟;而对于RAM多字节模式操作,每次则为32字节,需要多达256个时钟。这里仅给出单字节读写时序,如图3-8。多字节操作方式与其类似,只是后面跟的字节数不止一个。5) DS1302的片内寄存器通过控制字对DS1302片内寄存器进行寻址之后,即可就所选中寄存器的各位进行操作。片内各寄存器及各位的功能定义如表3-4:表3-4 DS1302有关日历、时间的寄存器读寄存器写寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范围81H80HCH10秒秒00-5983H82H10分分00-5985H84H12/24*010时时1-120-23AM/PM87H86H0010日日1-3189H88H0010月月1-128BH8AH00000周日1-78DH8CH10年年00-998FH8EHWP0000000DS1302有关日历、时间的寄存器共有10个,时钟/日历包含在其中的7个写/读寄存器内,这7个寄存器分别是秒、分、小时、日、月、星期和年。小时寄存器(85H、84H)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为12小时制式时,位5为“0”表示AM;为“1”表示PM。在24小时制式下,位5是第二个10小时位(2023时)。 秒寄存器(81H、80H)的位7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。一般在设置时钟时,可以停止其工作,设定完之后,再启动其工作。 控制寄存器(8FH、8EH)的位7是写保护位(WP),其它7位均置为0。在任何片内时钟/日历寄存器和RAM,在写操作之前,WP位必须为0,否则将不可写入。当WP位为1时,写保护位防止对任一寄存器的写操作。因此,通过置写保护位,可以提高数据的安全性。另外,还有慢速充电控制寄存器和RAM寄存器。如表3-5:表3-5 充电控制寄存器和RAM寄存器各位定义BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0充电控制寄存器TCSTCSTCSTCSDSDSRSRSRAM寄存器慢速充电寄存器控制着DS1302的慢速充电特性。寄存器的BIT4BIT7(TCS)决定是否具备充电性能:仅在编码为1010的条件下才具备充电性能,其他编码组合不允许充电。BIT2和BIT3选择在VCC2和VCC1之间是一个还是两个二极管串入其中。如果编码DS是01,选择一个二极管;如果编码是10,选择两个二极管;其他编码将不允许充电。该寄存器的BIT0和BIT1用于选择与二极管相串联的电阻值。其中编码RS=01为2 K,RS=10为4 K,RS=11为8 K,而RS=00将不允许进行充电。因此,根据慢速充电寄存器的不同编码可得到不同的充电电流。其具体计算如公式3-1: I充电=(V0-VD-VE)/R (3-1)式中:V0所接入的5.0V工作电压;VD二极管压降,一个按0.7V计算;R慢速充电控制寄存器0和1位编码决定的电阻值;VEVCC1脚所接入的电池电压。RAM寄存器寻址空间一次排列的31字节静态RAM可为用户使用,备用电源位RAM提供了掉电保护功能。寄存器和RAM的操作通过命令字节的BIT6加以区别。当BIT6为“0”时对RAM区进行寻址;否则将对时钟/日历寄存器寻址。2.时钟模块原理图 根据DS1302各引脚的功能,将其与AT89S52单片机的I/O口连接进行通讯,原理图如下:图 3-10 时钟芯片原理图3.2.6 温度采集模块的设计 1.DS18B20简介 DS18B20是美国Dallas公司生产的基于单线(1-wire)技术的数字温度传感器芯片。其管脚分布如图3-11所示:图3-11 DS18B20引脚分布图 管脚功能描述参见表3-6:表3-6 DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚;开漏单总线接口引脚;当被用在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚;当工作于寄生电源时,此引脚必须接地。 每片DS18B20在出厂时都设有唯一的产品序列号,此序列号存放在它的内部ROM中,微处理器通过简单协议,就能识别这些序列号,因此多个DS18B20可以挂接于同一条单总线上,这允许在许多不同的地方放置温度传感器,特别适合于构成多点温度测控系统。所以DS18B20多应用与HVAC环境控制,建筑物、设备或机械内的温度检测,以及过程监视和控制中的温度检测。1) DS18B20特点(1)单线结构,只需一根信号线和CPU相连。(2)不需要外部元件,直接输出串行数据。(3)不需要外部电源,直接通过信号线供电,电源电压范围为3.3V5V。(4)测温精度高,测温范围为:一55+125,在-10+85范围内,精度为O.5。(5)测温分辨率高,当选用12位转换位数时,温度分辨率可达00625。(6)数字量的转换精度及转换时间可通过简单的编程来控制:9位精度的转换时间为9375 ms:10位精度的转换时间187.5ms:12位精度的转换时间750ms。(7)具有非易失性上、下限报警设定的功能,用户可方便地通过编程修改上、下限的数值。(8)可通过报警搜索命令识别哪片DS18820采集的温度超越上、下限。2) DS18B20内部结构DS18B20的内部结构如图3-12所示。主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。图3-12 DS18B20内部结构图配置寄存器为高速暂存存储器中的第5个字节。DS18B20在工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如表3-7所示。其中,TM为测试模式标志位,出厂时被写入“0”,不能改变;R0、R1是温度计分辨率设置位。表3-7 DS18B20配置寄存器结构表BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0TMR1R011111其对应四种分辨率如表3-8所示,出厂时R0、R1被置为“1”,默认设置是12位分辨率,用户可根据需要给写配置寄存器以获得合适的分辨率。表3-8 配置寄存器与分辨率关系表R0R1温度计分辨率/bit最大转换时间/ms00993.750110187.5010113751112750温度信息的低位、高位字节内容还包括了符号位S(是正温度还是负温度)和二进制小数部分,其具体形式如图3-13。图3-13 DS18B20温度值格式图3-13为12位分辨率的情况,若配置为低分辨率,则其中无意义位为“0”。在DS18B20完成温度变换之后,温度值与存储在TH和TL内的告警触发值相比较。由于这些是8位寄存器,所以912位在比较时忽略。TH或TL的高位直接对应于16位温度寄存器的符号位。如果温度测量的结果高于TH或低于TL,那么器件内告警标志将置位,每次温度测量都会更新此标志位。只要告警标志置位,DS18B20就将响应告警搜索命令,这也就允许单线上多个DS18B20同时进行温度测量,即使某处温度越限,也可以识别出正在告警的器件。2.温度采集模块原理图 如图3-14所示。采用数字式温度传感器DS18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用P1.7与DS18B20的I/O口连接加一个上拉电阻,Vcc接电源,Vss接地。图3-14 DS18B20温度采集3.2.7 显示模块的设计1.1602LCD液晶简介1) 液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。1602LCD是工业字符型液晶,通过单片机控制将所测的读数显示出来,能够同时显示16x02即32个字符(16列2行)。2) 1602LCD特点(1)显示容量:162个字符(2)芯片工作电压:4.55.5V(3)工作电流:2.0mA(5.0V)(4)模块最佳工作电压:5.0V(5)字符尺寸:2.954.35(WH)mm3) 1602LCD管脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别。其管脚如图3-15所示:图3-15 1602LCD管脚图各管脚接口说明:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。4) 1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表3-9所示:表 3-9 1602液晶模块内部控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容表3-9:控制命令表 1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。与HD44780相兼容的芯片时序表如下:表3-10 1602LCD与HD44780相兼容的芯片时序表读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论