2017毕业论文-基于AT89S52单片机的智能温度检测系统的设计.doc_第1页
2017毕业论文-基于AT89S52单片机的智能温度检测系统的设计.doc_第2页
2017毕业论文-基于AT89S52单片机的智能温度检测系统的设计.doc_第3页
2017毕业论文-基于AT89S52单片机的智能温度检测系统的设计.doc_第4页
2017毕业论文-基于AT89S52单片机的智能温度检测系统的设计.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

I 智能温度检测系统的设计 摘 要 温度测量是现代检测技术的重要组成部分,在保证产品质量、节约能源和安全生 产等方面起着关键的作用。因此,能够确保快速、准确地测量温度的技术及装置普遍 受到各国的重视。近年来,利用数字式温度传感器以实现温度信息的检测已成为温度 检测技术的一种发展趋势。随着科学技术的发展,人们对温度检测的准确度和灵敏度 要求越来越高,并且对温度测量系统的智能化有一定的要求,譬如在温度达到允许的 最高限时实现报警。研制更灵敏、更可靠、更精确的温度检测系统越来越有必要。 本课题即以上述任务为出发点,拟设计一种智能温度检测系统。本系统大致可分 为中央处理单元、温度数据采集模块、时钟模块、人机接口模块、串行通讯模块和报 警模块六部分。该系统基于 DS18B20 数字温度传感器,以 AT89S52 单片机为核心,用 数码管驱动及键盘控制芯片 CH452 驱动数码管。通过时钟芯片 DS1302,该系统具有时 钟功能。软件开发采用 C51 进行编程。该系统不仅能实时采集所测环境的温度值,将 其实时显示在数码管上,并且在温度达到所设定的最高限时进行报警。上位机通过串 行通讯与该系统相连,具有实时分析和存储数据的功能。 关键词:AT89S52,DS18B02,CH452,温度检测 II Intelligent Design Temperature Detection System ABSTRACT Temperature measurement of modern detection technology is an important part in ensuring product quality, energy conservation and production safety, and so plays a key role. Therefore, to ensure fast, accurate temperature measurement devices and technologies widely national attention. In recent years, the use of digital temperature sensors to achieve the temperature information testing temperature detection technology has become a trend. With the development of science and technology, people on the temperature detection accuracy and sensitivity increasingly demanding high and the temperature measurement systems have a certain intelligence requirements, such as the temperature reached the maximum when the realization of the police. The development of more sensitive and more reliable, more accurate temperature detection system increasingly necessary. That is subject to the above tasks as the starting point, to design a smart temperature detection system. The system can be broadly classified into central processing units, temperature data acquisition module, the clock modules, human-computer interface module, serial communications module and alarm module six parts. The system is based on DS18B20 digital temperature sensor to AT89S52 microcontroller as the core, the digital drive and keyboard control of the digital chip CH452 drive. DS1302 chip clock through the system has clock. C51 use software development program. The system can not only collect real-time temperature measured by the value of the environment, in fact, shows that in the digital pipe, and set the temperature reaches the maximum and minimum when the realization of police. PC via the serial communication with the system linked with real-time analysis and data storage functions. KEY WORDS: AT89S52,DS18B02,CH452,Temperature Detection III 目 录 摘 要.I ABSTRACT.II 1 绪论.1 1.1 本课题研究的目的及意义.1 1.2 温度测量的现状和发展历程.1 1.3 主要研究工作内容.3 2 系统总体方案及硬件电路设计.4 2.1 系统总体构成.4 2.1.1 各模块介绍.4 2.1.2 系统硬件设计总图.6 2.2 AT89S52 单片机的介绍.6 2.2.1 基本组成.6 2.2.2 引脚功能描述.8 2.3 数码管驱动及键盘控制芯片.11 2.3.1 CH452 芯片概述.11 2.3.2 CH452 的特点.12 2.3.3 封装及引脚12 2.3.4 CH452 功能说明.14 2.3.5 操作命令.16 2.3.6 CH452 驱动数码管及键盘硬件接口.20 2.4 数字温度传感器.21 2.4.1 DS18B20 的性能特点21 2.4.2 DS18B20 的内部结构21 2.4.3 DS18B20 与 AT89S52 硬件接口设计.22 2.5 时钟芯片.23 2.5.1 DS1302 概述 .23 2.5.2 DS1302 芯片特性 .23 2.5.3 DS1302 的引脚和工作原理 .23 2.5.4 DS1302 与单片机连接 .25 2.6 串行通讯25 2.6.1 串行通讯基础25 2.6.2 MAX232 与单片机的硬件接口.26 3 系统软件设计.28 3.1 系统软件的整体设计.28 3.2 模块化程序的设计.30 3.2.1 温度数据采集模块.30 3.2.2 时钟模块.32 3.2.3 数据参数显示模块.33 4 系统测试.35 4.1 初始界面测试.35 4.2 温度数据采集模块的测试.36 4.3 时钟模块的测试.36 IV 4.4 报警模块测试.37 5 总 结38 致 谢.39 参 考 文 献.40 附 录.41 智能温度检测系统的设计1 1 绪论 1.1 本课题研究的目的及意义 温度的测量是科研与生产中最常见的一类测量技术。有效地对温度进行测量可以 提高生产效率,提高产品质量,节能,减轻工人劳动强度,使实际系统的工作品质得 到极大的改善。智能温度测量系统因性价比高,研制周期短而得到广泛应用。采用微 处理器构成的智能温度检测系统比使用分离元器件或集成电路器件构成的温度测量系 统功能更强大、结构更灵活、性能更可靠、运行更稳定,已成为温度测量系统的首选。 本课题以此为出发点,设计了一种智能温度检测系统。该系统不仅能实时采集所 测环境的温度值,将其显示在数码管上,而且在温度达到所设定的最高限时进行报警, 同时能够切换显示实时日期时间,并能够通过串行通讯接口与上位机相连,在上位机 上对数据进行分析和记录。 1.2 温度测量的现状和发展历程 随着国内外工业的日益发展,温度检测技术也不断进步,目前温度测量的方法种 类繁多,应用范围也较广泛,大致包括以下几种方法。 (1)利用物体热胀冷缩原理制成的温度计 利用此原理制成的温度计大致分成三大类: a)玻璃温度计,它是利用玻璃感温包内的测温物质(水银、酒精、甲苯、煤油等) 受热膨胀、遇冷收缩的原理进行温度测量的。 b)双金属温度计,它是采用膨胀系数不同的两种金属牢固粘合在一起制成的双金 属片作为感温元件,当温度变化时,一端固定的双金属片,由于两种金属膨胀系数不 同而产生弯曲,自由端的位移通过传动机构带动指针指示出相应温度。 c)压力式温度计,它是由感温物质(氮气、水银、二甲苯、甲苯、甘油和低沸点 液体如氯甲烷、氯乙烷等)随温度变化,压力发生相应变化,用弹簧管压力表测出它 的压力值,经换算得出被测物质的温。 (2)利用热电效应技术制成的温度检测元件 利用此技术制成的温度检测元件主要是热电偶。热电偶发展较早,比较成熟,至 今仍为应用最广泛的检测元件。热电偶具有结构简单、制作方便、测量范围宽、精度 高、热惯性小等特点。常用的热电偶有以下几种: a)镍铬-镍硅,型号为 WRN,分度号为 K ,测温范围 01000 ,短期可测 1200 。 b)镍铬-康铜,型号 WRK,分度号为 F ,测温范围 0600 ,短期可测 800。 陕西科技大学毕业论文(设计说明书)2 c)铂锗-铂,型号为 WRP ,分度号为 S ,在 1300 以下的温度可长期使用, 短期可测 1600 。 d)铂锗 30-铂锗 6,型号为 WRR,分度号为 B ,侧温范围 3001600 ,短期 可测 1800 。 其他还有非常用的热电偶。 (3)利用热辐射原理制成的高温计 热辐射高温计通常分为两种:一种是单色辐射高温计,一般称光学高温计:另一 种是全辐射高温计,它的原理是物体受热辐射后,视物体本身的性质,能将其吸收、 透过或反射。而受热物体放出的辐射能的多少,与它的温度有一定的关系热辐射式 高温计就是根据这种热辐射原理制成的。 (4)正在研究的温度检测技术 近年来,在温度检测技术领域,多种新的检测原理与技术的开发应用,己取得了 重大进展。新一代温度检测元件正在不断出现和完善化。 a)晶体管温度检测元件 半导体温度检测元件是具有代表性的温度检测元件。半导体的电阻温度系数比金 属大 1-2 个数量级,二极管和三极管的 PN 结电压、电容对温度灵敏度很高。基于上 述测温原理已研制了各种温度检测元件。 b)集成电路温度检测元件 利用硅晶体管基极-发射极间电压与温度关系(即半导体 PN 结的温度特性)进行 温度检测,并把测温、激励、信号处理电路和放大电路集成一体,封装于小型管壳内, 即构成了集成电路温度检测元件。目前,国内外也进行了生产。 c)核磁共振温度检测器 所谓核磁共振现象是指具有核自旋的物质置于静磁场中时,当与静磁场垂直方向 加以电磁波,会发生对某频率电磁的吸收现象。利用共振吸收频率随温度上升而减少 的原理研制成的温度检测器,称为核磁共振温度检测器。这种检测器精度极高,可以 测盘出千分之一开尔文,而且输出的频率信号适于数字化运算处理,故是一种性能十 分良好的温度检测器。在常温下,可作理想的标准温度计之用。 d)石英晶体温度检测器 石英晶体温度检测器采用 LC 或 Y 型切割的石英晶片的共振频率随温度变化的 特性来制作的它利用 uP 技术,自动补偿石英晶片的非线性,测量精度较高,一般 可检测到 0.001 ,所以可作标准检测之用。 e)光纤温度检测器 光纤温度检测器是目前光纤传感器中发展较快的一种,已开发了开关式温度检测 器、辐射式温度检测器等多种实用型的品种。它是利用双折射光纤的传输光信号滞后 量随温度变化的原理制成的双折射光纤温度检测器,检测精度在上 1 以内,测温范 智能温度检测系统的设计3 围可以从绝对 02000 。 f)激光温度检测器 激光测温特别适于远程测量和特殊环境下的温度侧量用氮氖激光源的激光作反 射计可测得很高的温度,精度达 l % ;用光干涉和散射原理制作的温度检测器可测全 更高的温度,上限可达 3000 ,专门用于核聚变研究,但在工业上应用还需进一步 开发和实验。 g)微波温度检测器 采用微波测温可以达到快速测最高温的目的。它是利用在不同温度下,温度与控 制电压成线性关系的原理制成的。这种检测器的灵敏度为 250 KHZ/ ,精度为1 左右,检测范围为 201400 。 美国 Dallas 半导体公司推出了 1-Wire(单总线)接口协议,单总线技术与其它总 线不同,它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的, 因此单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。 该公司所提供的单总线器件具有无需另附电源、在测试点直接将模拟信号数字化等特 点,一方面减少了系统环节,另一方面保证了系统的精度。同时各软件公司开发的可 视化软件开发工具,更是向着效率高、功能强大的方向努力,从而为获得良好的用户 界面奠定了基础。 1.3 主要研究工作内容 本课题主要研究的内容是以单片机和 DS18B20 传感器为核心的智能温度检测系统, 该系统以单片机作主 CPU 实现温度检测、温度显示、声音报警等相关功能。运用所学 的 MCS-51 单片机实用接口和硬件设计、温度传感器技术、Protel 软件制图等课程所学 知识和对单片机 AT89S52、数码管驱动及键盘控制芯片 CH452、数字式温度传感器 DS18B20、涓流充电时钟芯片 DS1302 的资料的学习,设计一种智能温度检测系统的软 件和一套完整的温度检测系统的硬件电路,并利用画出的完整的系统电路图,安装调 试,以满足实际需求。学会以 C 语言为主要编程工具设计温度检测系统的软件,掌握 程序流程图的编写,逐步掌握软硬件的开发、调试方法。 陕西科技大学毕业论文(设计说明书)4 2 系统总体方案及硬件电路设计 2.1 系统总体构成 该系统大体上可以由六部分构成:一是中央处理单元,二是温度数据采集模块, 三是时钟模块,四是人机接口模块,五是串行通讯模块,六是报警模块。系统的结构 如图 2-1 所示。 图 2-1 系统结构图 2.1.1 各模块介绍 (1)中央处理单元 该部分为系统的核心部分,其余各个部分或者是数据要送入本部分处理,或者受 本部分的控制。其核心部件为一片 8 位的单片机,数据采集模块获得的数据需要送入 控制器分析处理,根据处理结果控制器给出相应的控制信号到其余各部分,实现温度、 日期时间显示、参数设定与通讯。 单片机经过几十年的发展历程,目前的种类很多,根据运算的最高位数可分为 4 位机、8 位机和 16 位机等,根据指令的多少可以分为普通型和 RISC 型。目前通用的 单片机型号有通用的 51 系列单片及基于 RISC 的 PIC 系列单片机。 AT89S52 是一种低功耗、高性能 CMOS 的 8 位微控制器,具有 8K 在系统可编程 Flash 存储器,使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品 指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。 中央处理单 元 时钟 模块 温度采 集模块 人机接口 模块 串行 通讯 模块 报警 模块 智能温度检测系统的设计5 在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入 控制应用系统提供高灵活、超高效的解决方案。 (2)温度采集模块 该部分是系统的重要环节之一,温度采集模块的功能是完成温度数据的获取并将 其送入单片机加以处理。 温度传感器的种类很多,根据其输出方式及接口方式的不同,大体可以分为模拟 温度传感器和数字温度传感器。模拟温度传感器输出的模拟信号,必须经过专门的接 口电路(A/D 转换)转换成数字信号后才能由微处理器进行处理。数字温度传感器直 接输出数字信号,一般只需少量外部元器件就可直接送至微处理器进行处理。 美国 Dallas 半导体公司的数字化温度传感器 DS1820 是世界上第一片支持单总线 接口的温度传感器。单总线独特而且经济的特点,使用户可轻松地组建传感器网络, 为测量系统的构建引入全新概念。新一代的 DS18B20 体积更小、更经济、更灵活, 而且由于芯片送出的温度信号是数字信号,因此省去了外部 A/D 转换,简化了硬件电 路。 (3)时钟模块 该部分为系统提供实时日期时间显示。美国 Dallas 公司推出的串行接口实时时钟 芯片 DS1302 可对时钟芯片备份电池进行涓流充电。由于该芯片具有体积小、功耗低、 接口容易、占用 CPU 的 I/O 口少等主要特点,故该芯片可作为实时时钟广泛应用于智 能化仪器仪表中,本次设计将用它来完成时钟日历电路部分。通过按键可以对当前日 期时间进行设置。 (4)串行通讯模块 因为由 PC 出来的是 RS-232 电平,而单片机是典型的 TTL 电平。为了 PC 机与 MCS-51 单片机之间能可靠地进行串行通讯,需要用电平转换芯片,我们采用 MAXIM 公 司生产的专用芯片 MAX232。MAX232 是一种把电脑的串行口 RS-232 信号电平(-10v ,+10v)转换为单片机所用到的 TTL 信号点平(0v ,+5v)的芯片。RXD 和 TXD 通 过 RS-232 收发器(MAX232)连接到 9 线 D 型连接器上,收发器能够产生串行接口通 讯所需电平,从而允许 D 型连接器直接与 PC 机串口相连。由于在此电路上所采用的 收发器是 MAX232,它的内部没有集成 ESD 保护电路,所以需要外接 0.1uF 的电容构 成外部保护电路。 (5)人机接口模块 为了开发友好的用户界面,数据和参数的显示、按键设置显得尤其重要。数据和 参数的显示部分接受控制器送来的待显示的数据,经过处理,按照要求显示在相应的 设备上,按键部分通过控制器对参数进行设置。 显示设备的种类有很多,一般包括发光二极管、LED 数码管、液晶显示屏等。单 个发光二极管只能指示一种状态,多位 LED 数码管可以显示简单的字符串和数字型参 陕西科技大学毕业论文(设计说明书)6 数,液晶显示屏能够显示的内容最丰富,可以同时显示字符和图形,但价格相对较高。 对本系统来说,LED 数码管具有较高的性价比。 数码管驱动及按键控制采用 CH452。CH452 内置时钟振荡电路,可以动态驱动 8 位数码管或者 64 位 LED,具有 BCD 译码、闪烁、移位、段位寻址、光柱译码等功能, 同时还可以进行 64 键的键盘扫描,CH452 通过可以级联的 4 线串行接口或者 2 线串行 接口与单片机等交换数据,并且可以对单片机提供上电位复位信号。 (6)报警模块 当温度超过所设定的上限时,报警装置开始报警。常用的报警方式有声报警和光 报警等。本设计采用声音报警,即当温度超过所设定的极限时,蜂鸣器开始报警。 2.1.2 系统硬件设计总图 根据以上各模块的功能及硬件描述,作出系统硬件设计总图。如图 2-2 所示。 图 2-2 系统硬件设计总图 2.2 AT89S52 单片机的介绍 智能温度检测系统的设计7 2.2.1 基本组成 AT89S52内部可分为以下几部分: 8K字节Flash,256字节RAM,32位I/O口线, 看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全 双工串行口,片内晶振及时钟电路,以上各部分电路通过内部总线相连接。另外, AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下, CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下, RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位 为止。 AT89S52单片机的内部结构图如图2-3所示。 P0驱动器 ALU 时间控制 暂存器 1 P2锁存 器 P2驱动器 P0锁存 器 PSW FLASH SP 程序寄 存器 ACC 暂存器2 B寄存器 RAM地址 寄存器 RAM 指令寄存 器 看门狗 OSC 中断、串行 口及寄存器 缓冲器 PC增1 PC DPTR 程序逻 辑 P1锁 存器 ISP口 P3锁 存器 P3驱动器P1驱动器 PSEN EA/VPP RST P0.0P0.7 P1.0P1.7 P2.0P2.7 P3.0P3.7 ALE/PROG 陕西科技大学毕业论文(设计说明书)8 图2-3 AT89S52内部结构图16 2.2.2 引脚功能描述 AT89S52采用40引脚的双列直插封装(DIP方式),引脚配置如图2-4所示。 图2-4 AT89S52引脚配置图 (1)40引脚功能 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”时,内部上拉电阻把端口拉高,此时可以作为输入口 使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.2分别作定时器计数器2的外部计数输入(P1.0T2)和定时器计 数器2的触发输入(P1.1T2EX)。 P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个 智能温度检测系统的设计9 TTL 逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流 (IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器,P2口送出高八位 地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址访问外部数据 存储器时,P2口输出P2锁存器的内容。在Flash编程和校验时,P2口也接收高8位地址 字节和一些控制信号。 P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个 TTL 逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流 (IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如表2-1所示。在Flash编程 和校验时,P3口也接收一些控制信号。 表2-1 P3口各引脚的第二功能 引脚号第二功能 P3.0RXD(串行输入) P3.1TXD(串行输出) P3.2(外部中断0)0INT P3.3(外部中断1)1INT P3.4T0(定时器0外部输入) P3.5T1(定时器1外部输入) P3.6(外部数据存储器写选通)WR P3.7(外部数据存储器读选通)RD :复位输入。晶振工作时, 脚持续2个机器周期高电平将使单片机复位。RSTRST 看门狗计时完成后,脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)RST 上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 ALE/ :地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位PROG 地址的输出脉冲。在Flash编程时,此引脚()也用作编程输入脉冲。在一般情PROG 况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。 然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通 过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE 仅 在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志 位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。 :外部程序存储器选通讯号()是外部程序存储器选通讯号。当PSENPSEN 陕西科技大学毕业论文(设计说明书)10 AT89S52从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而在PSEN 访问外部数据存储器时,将不被激活。PSEN /VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存EA 储器读取指令,必须接GND。为了执行内部程序指令,应该接VCC。在flash编EAEA 程期间,也接收12伏VPP电压。EA XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 (2)特殊功能寄存器 定时器2寄存器:寄存器T2CON和T2MOD包含定时器2的控制位和状态位,寄存器 对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。 中断寄存器:各中断允许在IE寄存器中,六个中断源的两个优先级也可以在IE中设 置。 双数据指针寄存器:为了更有利于访问内部和外部数据存储器,系统提供了两路 16位数据指针寄存器分别是位于SFR中82H83H的DP0和位于84H85H的DP1。特殊寄 存器 AUXR1中DPS0选择DP0;DPS=1选择DP1。在访问数据指针寄存器前先初始化 DPS至合理的值。 掉电标志位:掉电标志位(POF)位于特殊寄存器PCON的第四位(PCON.4)。 上电期间POF置“1” 。POF可以软件控制使用与否,但不受复位影响。 (3)看门狗定时器 看门狗定时器:WDT是一种需要软件控制的复位方式。WDT由13位计数器和特殊 功能寄存器中的看门狗定时器复位存储器(WDTRST)构成。WDT在默认情况下无法 工作;为了激活WDT,户用必须往WDTRST寄存器(地址:0A6H)中依次写入 01EH 和 0E1H。当WDT激活后,晶振工作,WDT在每个机器周期都会增加。WDT计时周期 依赖于外部时钟频率。 除了复位 (硬件复位或WDT溢出复位),没有办法停止WDT 工作。当 WDT溢出,它将驱动RSR引脚一个高个电平输出。 WDT 的使用:为了激活 WDT,用户必须向 WDTRST寄存器(地址为0A6H的 SFR)依次写入0E1H和0E1H。 当 WDT激活后,用户必须向 WDTRST写入01EH和 0E1H喂狗来避免 WDT溢出。当计数达到 8191(1FFFH)时,13 位计数器将会溢出,这 将会复位器件。晶振正常工作、WDT激活后,每一个机器周期 WDT 都会增加。为了 复位 WDT,用户必须向WDTRST 写入 01EH 和 0E1H(WDTRST 是只读寄存器)。 WDT 计数器不能读或写。当 WDT 计数器溢出时,将给 RST 引脚产生一个复位脉 冲输出,这个复位脉冲持续 96个晶振周期(TOSC) ,其中 TOSC=1/FOSC。为了很 好地使用 WDT,应该在一定时间内周期性写入那部分代码,以避免WDT复位。 掉电和空闲方式下的 WDT:在掉电模式下,晶振停止工作,这意味这WDT也停 止了工作。在这种方式下,用户不必喂狗。有两种方式可以离开掉电模式:硬件复位 智能温度检测系统的设计11 或通过一个激活的外部中断。通过硬件复位退出掉电模式后,用户就应该给WDT喂狗, 就如同通常AT89S52复位一样。通过中断退出掉电模式的情形有很大的不同。中断应 持续拉低很长一段时间,使得晶振稳定。当中断拉高后,执行中断服务程序。为了防 止 WDT在中断保持低电平的时候复位器件,WDT 直到中断拉低后才开始工作。这就 意味着 WDT 应该在中断服务程序中复位。为了确保在离开掉电模式最初的几个状态 WDT不被溢出, 最好在进入掉电模式前就复位WDT。 在进入待机模式前,特殊寄存 器AUXR的 WDIDLE位用来决定WDT是否继续计数。默认状态下,在待机模式下, WDIDLE0,WDT继续计数。为了防止WDT在待机模式下复位AT89S52,用户应该 建立一个定时器,定时离开待机模式,喂狗,再重新进入待机模式。 (4)中断 AT89S52有6个中断源:两个外部中断(和) ,三个定时中断(定时器0INT1INT 0、1、2)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器 IE 中的相 关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA, 它能一次禁止所有中断。如表2-2所示,IE.6位是不可用的。对于AT89S52,IE.5位也是 不能用的。 定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后, 这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2 或EXF2激 活中断,标志位也必须由软件清0。 定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。它们的 值一直到下一个周期被电路捕捉下来。然而,定时器2的标志位TF2在计数溢出的那个 周期的S2P2被置位,在同一个周期被电路捕捉下来。 表2-2 中断允许控制寄存器(IE) 符号位地址功能 EAIE.7中断总允许控制位。EA=0,中断总禁止; EA=1,各中断由各自的控制位设定 -IE.6预留 ET2IE.5定时器2中断允许控制位 ESIE.4串行口中断允许控制位 ET1IE.3定时器1中断允许控制位 EX1IE.2外部中断1允许控制位 ET0IE.1定时器0中断允许控制位 EX0IE.0外部中断0允许控制位 2.3 数码管驱动及键盘控制芯片 2.3.1 CH452 芯片概述 陕西科技大学毕业论文(设计说明书)12 CH452 是数码管显示驱动和键盘扫描控制芯片。CH452 内置时钟振荡电路,可以 动态驱动 8 位数码管或者 64 位 LED,具有 BCD 译码、闪烁、移位、段位寻址、光柱 译码等功能;同时还可以进行 64 键的键盘扫描;CH452 通过可以级联的 4 线串行接口 与单片机等交换数据;并且可以对单片机提供上电位复位信号。 图 2-5 CH452 连线框图 2.3.2 CH452 的特点 (1)显示驱动 内置大电流驱动级,段电流不小于 15mA,字电流不小于 80mA. 动态显示扫描控制,直接驱动 8 位数码管或者 64 位放光管 LED。 可选数码管的段与数据位相对应的不译码方式或者 BCD 译码方式。 BCD 译码支持一个自定义的 BCD 码,用于显示一个特殊字符。 数码管的字数据左移、右移、左循环、右循环。 各数码管数字独立闪烁控制,可选择快慢两种闪烁速度。 任意段位寻址,独立控制各个 LED 或者各个数码管的各个段的亮与灭。 64 级光柱译码,通过 64 个 LED 组成的光柱显示光柱值。 扫描极限控制,支持 1 到 8 个数码管,只为有效数码管分配扫描时间。 可以选择字驱动输出极性,便于外部扩展驱动电压和电流。 (2)键盘控制 内置 64 键键盘控制器,基于 88 矩阵键盘扫描。 内置按键状态输入的下拉电阻,内置去抖电路。 键盘中断,低电平有效输出。 提供按键释放标志位,可供查询按键按下与释放。 单片机 MCU等 CH452芯片 四线接口 (虚线可选) 8位数码管 或 64个发光管 或 64级光柱 SEG7SEG0 DIG7DIG0 88矩阵 64键盘 DCLK DIN LOAD DOUT RST RST# 智能温度检测系统的设计13 支持按键唤醒,处于低功耗节电状态中的 CH452 可以被部分按键唤醒。 2.3.3 封装及引脚 CH452 有 28 脚和 24 脚两种封装形式,本课题采用 28 引脚封装形式的 CH452, 其引脚配置如图 2-6 所示。 图 2-6 CH452 引脚图 CH452 的 28 个引脚可以分为两类:标准公共引脚和 4 线串行接口引脚。4 线串行 接口引脚分别为:LOAD、DIN、DCLK 和 DOUT,其余的 24 脚位标准公共引脚。各 引脚功能如表 2-3,2-4 所示。4 线串行接口引脚支持多个芯片级联,时钟速度从 0 到 2MHz。DIN 和 DCLK 信号引脚可以与其他接口电路共用,节约引脚。 表 2-3 4 线串行接口引脚功能 引脚号引脚名称类型引脚说明 25LOAD输入4 线串行接口的数据加载,内置上拉电阻, 高电平有效 26DIN输入4 线串行接口的数据输入,内置上拉电阻, 高电平有效 27DCLK输入4 线串行接口的数据时钟,内置上拉电阻, 高电平有效 24DOUT输出4 线串行接口的数据输出,键盘中断输出, 低电平有效 表 2-4 CH452 标准的公共引脚 引脚号引脚名称类型引脚说明 23VCC电源正电源,持续电流不小于 120 9、10GND电源公共接地,持续电流不小于 120 陕西科技大学毕业论文(设计说明书)14 2225SEG7SEG0三态输出及输 入 数码管的段驱动,高电平有效,键盘扫描 输入,高电平有效,内置下拉 18DIG7DIG0输出数码管的字段驱动,低高电平有效,键盘 扫描输出入,高电平有效 1417输入串行接口方式选择,内置上拉电阻, 1216输出上电复位输出,高电平有效 13不支持输出上电复位输出,低高电平有效 28不支持输入手工复位输入,高电平有效,内置下拉 11不支持不连接,禁止使用 2.3.4 CH452 功能说明 (1)显示驱动 CH452 对数码管和发光管采用动态扫描驱动,顺序为 DIG0 至 DIG7,当其中一个 引脚吸入电流时,其他引脚则不吸入电流。CH452 内部具有大电流驱动级,可以直接 驱动 0.5 英寸至 2 英寸的共阴极数码管,段驱动引脚 SEG6SEG0 分别对应数码管的 段 G-段 A,段驱动引脚 SEG7 对应数码管的小数点,字驱动引脚 DIG7DIG0 分别连 接 8 个数码管的阴极;CH452 也可以连接 88 矩阵的发光二极管 LED 阵列或者 64 各 独立发光管;CH452 可以改变字驱动输出极性以便直接驱动共阳数码管(不译码方式) , 或者通过外接反向驱动器支持共阳极数码管,或者外接大功率管支持大尺寸的数码管。 CH452 支持扫描极限控制,并且只为有效数码管分配扫描时间。当扫描极限设定 为 1 时,唯一的数码管 DIG0 将得到所有的动态驱动时间,从而等同于静态驱动;当扫 极限设定为 8 时,8 个数码管 DIG7DIG0 各得到 1/8 的动态扫描时间,当扫描极限设 定为 4 时,4 个数码管 DIG3DIG0 各得到 1/4 的动态驱动时间,此时各数码管的平均 驱动电流将比扫描极限为 8 时增加一倍,所以降低扫描极限可以提高数码管的显示亮 度。 CH452 内部具有 8 个 8 位的数据寄存器,用于保存 8 个字数据,分别对应于 CH452 所驱动的 8 个数码管或者 8 组每组 8 个的发光二极管。CH452 支持数据寄存器 中的字数据左移、右移、左循环、右循环,并且支持各数码管的独立闪烁控制,在数 据左右移动或者左右循环的过程中,闪烁控制的属性不会随数据移动。 CH452 支持任意段位寻址,可以用于独立控制 64 个放光管 LED 中的任意一个或 者数码管中的特定段,段位编制顺序与键盘编址一致,编址从 00H3FH。当用“段位 寻址置 1”命令将某个地址的段位置 1 后,该地址对应的发光管 LED 或者数码管的段就 会点亮,该操作不影响任何其他 LED 或者数码管其他段的状态。 CH452 默认情况下工作于不译码方式,此时 8 个数据寄存器中子数据的位 7-位 0 智能温度检测系统的设计15 分别对应 8 个数码管的小数点和段 D段 A,对于发光二极管阵列,则每个字数据的 数据位唯一地对应一个发光二极管。当数据位位 1 时,对应的数据管的段或者发光管 就会点亮当数据为 0 时,则对应的数据管的段或者发光管就会熄灭。通过设定, CH452 还可以工作于 BCD 译码方式,该方式主要运用于数码管驱动,单片机只要给出 二进制 BCD 码,由 CH452 将其译码后直接驱动数码管显示对应是字符。BCD 译码方 式是指对数据寄存器中字数据的位 4位 0 进行 BCD 译码,控制段驱动引脚 SEG6SEG0 的输出,对应于数码管的段 G段 A,同时用字数据是位 7 控制段驱动 引脚 SEG7 的输出面对英语数码管的小数点,字数据的位 6 和位 5 不影响 BCD 译码。 表 2-5 为数据寄存器中字数据的位 4位 0 进行 BCD 译码后,所对应的段 G段 A 以 及数码管显示的字符。参考下表 2-5,如果需要在数码管上显示字符 0,只需置入数据 0xx00000B 或者 00H,需要显示字符 0.(0 带小数点) ,只需置入数据 1xx00000B 或者 80H。类似地,数据 1xx01000B 或者 1AH 对应于字符 8.(8 带小数点) ,数据 0xx10000 或者 10H 对应于字符 (空格,数码管没有显示),数据 0xx11110H 或者 1EH 对应于自定义的特殊字符,由“自定义 BC D 码”命令定义。 表 2-5 BCD 译码表 位 4位 0段 G段 A显示的字符位 4位 0段 G段 A显示的字符 00000B0111111B010000B0000000B 空格 00001B0000110B110001B1000110B-1 或加号 00010B1011011B210010B1000000B-负号减号 00011B1001111B310011B1000001B=等于号 00100B1100110B410100B0111001B左方括号 00101B1101101B510101B0001111B右方括号 00110B1111101B610110B0001000B_下划线 00111B0000111B710111B1110110BH 字母 H 01000B1111111B811000B0111000BL 字母 L 01001B1101111B911001B1110011BP 字母 P 01010B1110111BA11010B0000000B小数点 01011B1111100Bb11110BSELF_BCD自定义字符 01100B1011000Bc其余值0000000B 空格 01101B1011110Bd 01110B1111001BE 01111B1110001BF SELF_BCD 是由“自定义 BCD”命令 定义的新字符,复位后默认值为空格 (2)键盘扫描 陕西科技大学毕业论文(设计说明书)16 CH452 的键盘扫描功能支持 88 矩阵的 64 键键盘。在键盘扫描期间, DIG7DIG0 引脚用于列扫描输出,SEG7SEG0 引脚都带有内部下拉电阻,用于行 扫描输入。当启用键盘扫描功能后,4 线串行接口中的 DOUT 引脚的功能由串行接口 的数据输出变为键盘中断输出以及按键数据输出。 CH452 定期在显示驱动扫描过程中插入键盘扫描。在键盘扫描期间,DIG7DIG0 引脚按照 DIG0 至 DIG7 的顺序依次输出高电平,其余 7 个引脚输出低电平; SEG7SEG0 引脚的输出被禁止,当没有键被按下时,SEG7SEG0 都被下拉为低电 平;当有键按下时,例如连接 DIG3 与 SEG4 的按键被按下,则当 DIG3 输出高电平时 SEG4 检测到高电平;为了防止因为按键抖动或者外界干扰而产生误码,CH452 实行两 次扫描,只有当两次按键扫描的结果相同时,按键才会被确认有效。如果 CH452 检测 到有效的按,则记录下该按键代码,并通过 4 线串行接口中的 DOUT 引脚产生低电平 有效的键盘中断,此时单片机可以通过串行接口读取按键代码;在没有检测到新的有 效按键之前,CH452 不再产生任何键盘中断。CH452 不支持组合键,也就是说,同一 时刻,不能有两个或者更多的键被按下;如果多个键同时按下,那么按键代码小的键 优先。 CH452 所提供的按键代码为 7 位,位 2位 0 是列扫描码,位 5位 3 是行扫描码, 位 6 是状态码(键按下为 1,键释放为 0) 。单片机可以在任何时候读取按键代码,但 一般在 CH452 检测到按键有效而产生键盘中断时读取按键代码,此时按键代码的位 6 总是 1,另外,如果需要了解按键何时释放,单片机可以通过查询方式定期读取按键代 码,直到按键代码的位 6 为 0。 表 2-6 按键编址 表 2-6 是 DIG7DIG0 与 SEG7SEG0 之间 88 矩阵的顺序编址,既是按键编址, 也是数码管段位、发光管 LED 阵列以及光柱的编址。由于按键代码是 7 位,键按下时 位 6 总是 1,所以当键释放时 CH452 提供的实际按键代码是表中的按键编址减去 40H,也就是说,此时按键代码应该在 00H 到 3FH 之间。 编址DIG7DIG6DIG5DIG4DIG3DIG2DIG1DIG0 SEG047H46H 45H 44H 43H 42H 41H 40H SEG1 4FH4EH4DH4CH7BH4AH 49H 48H SEG2 57H56H 55H 54H 53H 52H 51H 50H SEG3 5FH5EH5DH5CH5BH 5AH 59H 58H SEG4 67H 66H 65H 64H 63H 62H 61H 60H SEG5 6FH6EH6DH6CH6BH6AH 69H 68H SEG6 77H 76H 75H 74H 73H 72H 71H 70H SEG7 7FH7EH7DH7CH7BH7AH79H78H 智能温度检测系统的设计17 2.3.5 操作命令 CH452 的操作命令均为 12 位,表 2-7 列出了 CH452 的各个操作命令所对应的 12 位串行数据。其中标注为 x 的表示该位可以是任意值,标有名称的位表示该位在 CH452 芯片内部具有相应的寄存器,其数据根据操作命令的不同而变化。 表 2-7 CH452 的操作命令 操作命 令 位 11 位 10 位 9 位 8 位 7位 6位 5位 4位 3位 2位 1位 0 空操作0000xxxxxxxx 加载光 柱值 00010LEVEL 段位寻 址清 0 000110 BIT_ADDR 段位寻 址置 1 00011

温馨提示

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

评论

0/150

提交评论