《毕业设计论文基于AT89S52单片机的智能温度检测系统的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于AT89S52单片机的智能温度检测系统的设计.doc(55页珍藏版)》请在三一办公上搜索。
1、III智能温度检测系统的设计摘 要温度测量是现代检测技术的重要组成部分,在保证产品质量、节约能源和安全生产等方面起着关键的作用。因此,能够确保快速、准确地测量温度的技术及装置普遍受到各国的重视。近年来,利用数字式温度传感器以实现温度信息的检测已成为温度检测技术的一种发展趋势。随着科学技术的发展,人们对温度检测的准确度和灵敏度要求越来越高,并且对温度测量系统的智能化有一定的要求,譬如在温度达到允许的最高限时实现报警。研制更灵敏、更可靠、更精确的温度检测系统越来越有必要。本课题即以上述任务为出发点,拟设计一种智能温度检测系统。本系统大致可分为中央处理单元、温度数据采集模块、时钟模块、人机接口模块、
2、串行通讯模块和报警模块六部分。该系统基于DS18B20数字温度传感器,以AT89S52单片机为核心,用数码管驱动及键盘控制芯片CH452驱动数码管。通过时钟芯片DS1302,该系统具有时钟功能。软件开发采用C51进行编程。该系统不仅能实时采集所测环境的温度值,将其实时显示在数码管上,并且在温度达到所设定的最高限时进行报警。上位机通过串行通讯与该系统相连,具有实时分析和存储数据的功能。关键词:AT89S52,DS18B02,CH452,温度检测Intelligent Design Temperature Detection SystemABSTRACTTemperature measuremen
3、t 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 t
4、emperature 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
5、 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 d
6、esign 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 tem
7、perature 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 env
8、ironment, 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目
9、 录摘 要IABSTRACTII1 绪论11.1 本课题研究的目的及意义11.2 温度测量的现状和发展历程11.3 主要研究工作内容32 系统总体方案及硬件电路设计42.1 系统总体构成42.1.1 各模块介绍42.1.2 系统硬件设计总图62.2 AT89S52单片机的介绍62.2.1 基本组成62.2.2 引脚功能描述82.3 数码管驱动及键盘控制芯片112.3.1 CH452芯片概述112.3.2 CH452的特点122.3.3封装及引脚122.3.4 CH452功能说明142.3.5 操作命令162.3.6 CH452驱动数码管及键盘硬件接口202.4 数字温度传感器212.4.1 D
10、S18B20 的性能特点212.4.2 DS18B20 的内部结构212.4.3 DS18B20与AT89S52硬件接口设计222.5 时钟芯片232.5.1 DS1302概述232.5.2 DS1302芯片特性232.5.3 DS1302的引脚和工作原理232.5.4 DS1302与单片机连接252.6 串行通讯252.6.1串行通讯基础252.6.2 MAX232与单片机的硬件接口263 系统软件设计283.1 系统软件的整体设计283.2 模块化程序的设计303.2.1 温度数据采集模块303.2.2 时钟模块323.2.3 数据参数显示模块334 系统测试354.1 初始界面测试354
11、.2 温度数据采集模块的测试364.3 时钟模块的测试364.4 报警模块测试375总 结38致 谢39参 考 文 献40附 录41 51智能温度检测系统的设计1 绪论1.1 本课题研究的目的及意义温度的测量是科研与生产中最常见的一类测量技术。有效地对温度进行测量可以提高生产效率,提高产品质量,节能,减轻工人劳动强度,使实际系统的工作品质得到极大的改善。智能温度测量系统因性价比高,研制周期短而得到广泛应用。采用微处理器构成的智能温度检测系统比使用分离元器件或集成电路器件构成的温度测量系统功能更强大、结构更灵活、性能更可靠、运行更稳定,已成为温度测量系统的首选。本课题以此为出发点,设计了一种智能
12、温度检测系统。该系统不仅能实时采集所测环境的温度值,将其显示在数码管上,而且在温度达到所设定的最高限时进行报警,同时能够切换显示实时日期时间,并能够通过串行通讯接口与上位机相连,在上位机上对数据进行分析和记录。1.2 温度测量的现状和发展历程随着国内外工业的日益发展,温度检测技术也不断进步,目前温度测量的方法种类繁多,应用范围也较广泛,大致包括以下几种方法。(1)利用物体热胀冷缩原理制成的温度计利用此原理制成的温度计大致分成三大类:a)玻璃温度计,它是利用玻璃感温包内的测温物质(水银、酒精、甲苯、煤油等)受热膨胀、遇冷收缩的原理进行温度测量的。b)双金属温度计,它是采用膨胀系数不同的两种金属牢
13、固粘合在一起制成的双金属片作为感温元件,当温度变化时,一端固定的双金属片,由于两种金属膨胀系数不同而产生弯曲,自由端的位移通过传动机构带动指针指示出相应温度。c)压力式温度计,它是由感温物质(氮气、水银、二甲苯、甲苯、甘油和低沸点液体如氯甲烷、氯乙烷等)随温度变化,压力发生相应变化,用弹簧管压力表测出它的压力值,经换算得出被测物质的温。(2)利用热电效应技术制成的温度检测元件利用此技术制成的温度检测元件主要是热电偶。热电偶发展较早,比较成熟,至今仍为应用最广泛的检测元件。热电偶具有结构简单、制作方便、测量范围宽、精度高、热惯性小等特点。常用的热电偶有以下几种: a)镍铬-镍硅,型号为WRN,分
14、度号为 K ,测温范围01000 ,短期可测1200 。 b)镍铬-康铜,型号WRK,分度号为 F ,测温范围0600 ,短期可测 800。c)铂锗-铂,型号为 WRP ,分度号为 S ,在 1300 以下的温度可长期使用,短期可测 1600 。d)铂锗30-铂锗6,型号为WRR,分度号为 B ,侧温范围 3001600 ,短期可测 1800 。其他还有非常用的热电偶。(3)利用热辐射原理制成的高温计热辐射高温计通常分为两种:一种是单色辐射高温计,一般称光学高温计:另一种是全辐射高温计,它的原理是物体受热辐射后,视物体本身的性质,能将其吸收、透过或反射。而受热物体放出的辐射能的多少,与它的温度
15、有一定的关系热辐射式高温计就是根据这种热辐射原理制成的。(4)正在研究的温度检测技术近年来,在温度检测技术领域,多种新的检测原理与技术的开发应用,己取得了重大进展。新一代温度检测元件正在不断出现和完善化。 a)晶体管温度检测元件 半导体温度检测元件是具有代表性的温度检测元件。半导体的电阻温度系数比金属大 1-2个数量级,二极管和三极管的 PN 结电压、电容对温度灵敏度很高。基于上述测温原理已研制了各种温度检测元件。b)集成电路温度检测元件 利用硅晶体管基极-发射极间电压与温度关系(即半导体 PN 结的温度特性)进行温度检测,并把测温、激励、信号处理电路和放大电路集成一体,封装于小型管壳内,即构
16、成了集成电路温度检测元件。目前,国内外也进行了生产。c)核磁共振温度检测器 所谓核磁共振现象是指具有核自旋的物质置于静磁场中时,当与静磁场垂直方向加以电磁波,会发生对某频率电磁的吸收现象。利用共振吸收频率随温度上升而减少的原理研制成的温度检测器,称为核磁共振温度检测器。这种检测器精度极高,可以测盘出千分之一开尔文,而且输出的频率信号适于数字化运算处理,故是一种性能十分良好的温度检测器。在常温下,可作理想的标准温度计之用。 d)石英晶体温度检测器石英晶体温度检测器采用 LC 或 Y 型切割的石英晶片的共振频率随温度变化的特性来制作的它利用uP 技术,自动补偿石英晶片的非线性,测量精度较高,一般可
17、检测到0.001 ,所以可作标准检测之用。e)光纤温度检测器 光纤温度检测器是目前光纤传感器中发展较快的一种,已开发了开关式温度检测器、辐射式温度检测器等多种实用型的品种。它是利用双折射光纤的传输光信号滞后量随温度变化的原理制成的双折射光纤温度检测器,检测精度在上 1 以内,测温范围可以从绝对02000 。f)激光温度检测器 激光测温特别适于远程测量和特殊环境下的温度侧量用氮氖激光源的激光作反射计可测得很高的温度,精度达 l % ;用光干涉和散射原理制作的温度检测器可测全更高的温度,上限可达 3000 ,专门用于核聚变研究,但在工业上应用还需进一步开发和实验。g)微波温度检测器 采用微波测温可
18、以达到快速测最高温的目的。它是利用在不同温度下,温度与控制电压成线性关系的原理制成的。这种检测器的灵敏度为 250 KHZ/ ,精度为1左右,检测范围为 201400 。美国Dallas半导体公司推出了 1-Wire(单总线)接口协议,单总线技术与其它总线不同,它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的,因此单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。该公司所提供的单总线器件具有无需另附电源、在测试点直接将模拟信号数字化等特点,一方面减少了系统环节,另一方面保证了系统的精度。同时各软件公司开发的可视化软件开发工具,更是向着效率高、功能强大的方
19、向努力,从而为获得良好的用户界面奠定了基础。1.3 主要研究工作内容本课题主要研究的内容是以单片机和DS18B20传感器为核心的智能温度检测系统,该系统以单片机作主CPU实现温度检测、温度显示、声音报警等相关功能。运用所学的MCS-51单片机实用接口和硬件设计、温度传感器技术、Protel软件制图等课程所学知识和对单片机AT89S52、数码管驱动及键盘控制芯片CH452、数字式温度传感器DS18B20、涓流充电时钟芯片DS1302的资料的学习,设计一种智能温度检测系统的软件和一套完整的温度检测系统的硬件电路,并利用画出的完整的系统电路图,安装调试,以满足实际需求。学会以C语言为主要编程工具设计
20、温度检测系统的软件,掌握程序流程图的编写,逐步掌握软硬件的开发、调试方法。2 系统总体方案及硬件电路设计2.1 系统总体构成该系统大体上可以由六部分构成:一是中央处理单元,二是温度数据采集模块,三是时钟模块,四是人机接口模块,五是串行通讯模块,六是报警模块。系统的结构如图2-1所示。图2-1 系统结构图2.1.1 各模块介绍(1)中央处理单元该部分为系统的核心部分,其余各个部分或者是数据要送入本部分处理,或者受本部分的控制。其核心部件为一片8位的单片机,数据采集模块获得的数据需要送入控制器分析处理,根据处理结果控制器给出相应的控制信号到其余各部分,实现温度、日期时间显示、参数设定与通讯。单片机
21、经过几十年的发展历程,目前的种类很多,根据运算的最高位数可分为4位机、8位机和16位机等,根据指令的多少可以分为普通型和RISC型。目前通用的单片机型号有通用的51系列单片及基于RISC的PIC系列单片机。AT89S52是一种低功耗、高性能CMOS的8位微控制器,具有 8K 在系统可编程Flash 存储器,使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入控制应用系统提供高灵活、超高效的解决方案。(2)温
22、度采集模块该部分是系统的重要环节之一,温度采集模块的功能是完成温度数据的获取并将其送入单片机加以处理。温度传感器的种类很多,根据其输出方式及接口方式的不同,大体可以分为模拟温度传感器和数字温度传感器。模拟温度传感器输出的模拟信号,必须经过专门的接口电路(A/D转换)转换成数字信号后才能由微处理器进行处理。数字温度传感器直接输出数字信号,一般只需少量外部元器件就可直接送至微处理器进行处理。美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持单总线接口的温度传感器。单总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。新一代的 DS18B20
23、体积更小、更经济、更灵活,而且由于芯片送出的温度信号是数字信号,因此省去了外部 A/D 转换,简化了硬件电路。(3)时钟模块该部分为系统提供实时日期时间显示。美国Dallas公司推出的串行接口实时时钟芯片DS1302可对时钟芯片备份电池进行涓流充电。由于该芯片具有体积小、功耗低、接口容易、占用CPU的I/O口少等主要特点,故该芯片可作为实时时钟广泛应用于智能化仪器仪表中,本次设计将用它来完成时钟日历电路部分。通过按键可以对当前日期时间进行设置。(4)串行通讯模块因为由PC出来的是RS-232电平,而单片机是典型的TTL电平。为了PC机与MCS-51单片机之间能可靠地进行串行通讯,需要用电平转换
24、芯片,我们采用MAXIM公司生产的专用芯片MAX232。MAX232是一种把电脑的串行口RS-232信号电平(-10v ,+10v)转换为单片机所用到的TTL信号点平(0v ,+5v)的芯片。RXD和TXD通过RS-232收发器(MAX232)连接到9线D型连接器上,收发器能够产生串行接口通讯所需电平,从而允许D型连接器直接与PC机串口相连。由于在此电路上所采用的收发器是MAX232,它的内部没有集成ESD保护电路,所以需要外接0.1uF的电容构成外部保护电路。(5)人机接口模块为了开发友好的用户界面,数据和参数的显示、按键设置显得尤其重要。数据和参数的显示部分接受控制器送来的待显示的数据,经
25、过处理,按照要求显示在相应的设备上,按键部分通过控制器对参数进行设置。显示设备的种类有很多,一般包括发光二极管、LED数码管、液晶显示屏等。单个发光二极管只能指示一种状态,多位LED数码管可以显示简单的字符串和数字型参数,液晶显示屏能够显示的内容最丰富,可以同时显示字符和图形,但价格相对较高。对本系统来说,LED数码管具有较高的性价比。数码管驱动及按键控制采用CH452。CH452内置时钟振荡电路,可以动态驱动8位数码管或者64位LED,具有BCD译码、闪烁、移位、段位寻址、光柱译码等功能,同时还可以进行64键的键盘扫描,CH452通过可以级联的4线串行接口或者2线串行接口与单片机等交换数据,
26、并且可以对单片机提供上电位复位信号。(6)报警模块当温度超过所设定的上限时,报警装置开始报警。常用的报警方式有声报警和光报警等。本设计采用声音报警,即当温度超过所设定的极限时,蜂鸣器开始报警。2.1.2 系统硬件设计总图根据以上各模块的功能及硬件描述,作出系统硬件设计总图。如图2-2所示。图2-2 系统硬件设计总图2.2 AT89S52单片机的介绍2.2.1 基本组成AT89S52内部可分为以下几部分: 8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路,以上各部分电路通过内
27、部总线相连接。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52单片机的内部结构图如图2-3所示。图2-3 AT89S52内部结构图162.2.2 引脚功能描述AT89S52采用40引脚的双列直插封装(DIP方式),引脚配置如图2-4所示。图2-4 AT89S52引脚配置图(1)40引脚功能VCC:电源 GND: 地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能
28、驱动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)和定时器计数
29、器2的触发输入(P1.1T2EX)。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL 逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。在Flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲
30、器能驱动4个TTL 逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如表2-1所示。在Flash编程和校验时,P3口也接收一些控制信号。表2-1 P3口各引脚的第二功能引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通):复位输入。晶振工作时, 脚持续2个
31、机器周期高电平将使单片机复位。看门狗计时完成后,脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/ :地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在Flash编程时,此引脚()也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE 仅在执行MOVX 或M
32、OVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。:外部程序存储器选通讯号()是外部程序存储器选通讯号。当AT89S52从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而在访问外部数据存储器时,将不被激活。/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,必须接GND。为了执行内部程序指令,应该接VCC。在flash编程期间,也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。 (2)
33、特殊功能寄存器定时器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
34、置“1” 。POF可以软件控制使用与否,但不受复位影响。(3)看门狗定时器看门狗定时器:WDT是一种需要软件控制的复位方式。WDT由13位计数器和特殊功能寄存器中的看门狗定时器复位存储器(WDTRST)构成。WDT在默认情况下无法工作;为了激活WDT,户用必须往WDTRST寄存器(地址:0A6H)中依次写入 01EH 和 0E1H。当WDT激活后,晶振工作,WDT在每个机器周期都会增加。WDT计时周期依赖于外部时钟频率。 除了复位 (硬件复位或WDT溢出复位),没有办法停止WDT工作。当 WDT溢出,它将驱动RSR引脚一个高个电平输出。 WDT 的使用:为了激活 WDT,用户必须向 WDTRS
35、T寄存器(地址为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,应该在一定时
36、间内周期性写入那部分代码,以避免WDT复位。 掉电和空闲方式下的 WDT:在掉电模式下,晶振停止工作,这意味这WDT也停止了工作。在这种方式下,用户不必喂狗。有两种方式可以离开掉电模式:硬件复位或通过一个激活的外部中断。通过硬件复位退出掉电模式后,用户就应该给WDT喂狗,就如同通常AT89S52复位一样。通过中断退出掉电模式的情形有很大的不同。中断应持续拉低很长一段时间,使得晶振稳定。当中断拉高后,执行中断服务程序。为了防止 WDT在中断保持低电平的时候复位器件,WDT 直到中断拉低后才开始工作。这就意味着 WDT 应该在中断服务程序中复位。为了确保在离开掉电模式最初的几个状态 WDT不被溢出
37、, 最好在进入掉电模式前就复位WDT。 在进入待机模式前,特殊寄存器AUXR的 WDIDLE位用来决定WDT是否继续计数。默认状态下,在待机模式下,WDIDLE0,WDT继续计数。为了防止WDT在待机模式下复位AT89S52,用户应该建立一个定时器,定时离开待机模式,喂狗,再重新进入待机模式。(4)中断AT89S52有6个中断源:两个外部中断(和) ,三个定时中断(定时器0、1、2)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器 IE 中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。如表2-2所示,IE.6位是不可用的。对于A
38、T89S52,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预
39、留ET2IE.5定时器2中断允许控制位ESIE.4串行口中断允许控制位ET1IE.3定时器1中断允许控制位EX1IE.2外部中断1允许控制位ET0IE.1定时器0中断允许控制位EX0IE.0外部中断0允许控制位2.3 数码管驱动及键盘控制芯片2.3.1 CH452芯片概述 CH452是数码管显示驱动和键盘扫描控制芯片。CH452内置时钟振荡电路,可以动态驱动8位数码管或者64位LED,具有BCD译码、闪烁、移位、段位寻址、光柱译码等功能;同时还可以进行64键的键盘扫描;CH452通过可以级联的4线串行接口与单片机等交换数据;并且可以对单片机提供上电位复位信号。图2-5 CH452连线框图2.3
40、.2 CH452的特点(1)显示驱动 内置大电流驱动级,段电流不小于15mA,字电流不小于80mA. 动态显示扫描控制,直接驱动8位数码管或者64位放光管LED。 可选数码管的段与数据位相对应的不译码方式或者BCD译码方式。 BCD译码支持一个自定义的BCD码,用于显示一个特殊字符。 数码管的字数据左移、右移、左循环、右循环。 各数码管数字独立闪烁控制,可选择快慢两种闪烁速度。 任意段位寻址,独立控制各个LED或者各个数码管的各个段的亮与灭。 64级光柱译码,通过64个LED组成的光柱显示光柱值。 扫描极限控制,支持1到8个数码管,只为有效数码管分配扫描时间。 可以选择字驱动输出极性,便于外部
41、扩展驱动电压和电流。(2)键盘控制 内置64键键盘控制器,基于88矩阵键盘扫描。 内置按键状态输入的下拉电阻,内置去抖电路。 键盘中断,低电平有效输出。 提供按键释放标志位,可供查询按键按下与释放。 支持按键唤醒,处于低功耗节电状态中的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,
42、2-4所示。4线串行接口引脚支持多个芯片级联,时钟速度从0到2MHz。DIN和DCLK信号引脚可以与其他接口电路共用,节约引脚。表2-3 4线串行接口引脚功能引脚号引脚名称类型引脚说明25LOAD输入4线串行接口的数据加载,内置上拉电阻,高电平有效26DIN输入4线串行接口的数据输入,内置上拉电阻,高电平有效27DCLK输入4线串行接口的数据时钟,内置上拉电阻,高电平有效24DOUT输出4线串行接口的数据输出,键盘中断输出,低电平有效表2-4 CH452标准的公共引脚引脚号引脚名称类型引脚说明23VCC电源正电源,持续电流不小于1209、10GND电源公共接地,持续电流不小于1202225SE
43、G7SEG0三态输出及输入数码管的段驱动,高电平有效,键盘扫描输入,高电平有效,内置下拉18DIG7DIG0输出数码管的字段驱动,低高电平有效,键盘扫描输出入,高电平有效 1417输入串行接口方式选择,内置上拉电阻,1216输出上电复位输出,高电平有效13不支持输出上电复位输出,低高电平有效28不支持输入手工复位输入,高电平有效,内置下拉11不支持不连接,禁止使用2.3.4 CH452功能说明(1)显示驱动CH452对数码管和发光管采用动态扫描驱动,顺序为DIG0至DIG7,当其中一个引脚吸入电流时,其他引脚则不吸入电流。CH452内部具有大电流驱动级,可以直接驱动0.5英寸至2英寸的共阴极数
44、码管,段驱动引脚SEG6SEG0分别对应数码管的段G-段A,段驱动引脚SEG7对应数码管的小数点,字驱动引脚DIG7DIG0分别连接8个数码管的阴极;CH452也可以连接88矩阵的发光二极管LED阵列或者64各独立发光管;CH452可以改变字驱动输出极性以便直接驱动共阳数码管(不译码方式),或者通过外接反向驱动器支持共阳极数码管,或者外接大功率管支持大尺寸的数码管。CH452支持扫描极限控制,并且只为有效数码管分配扫描时间。当扫描极限设定为1时,唯一的数码管DIG0将得到所有的动态驱动时间,从而等同于静态驱动;当扫极限设定为8时,8个数码管DIG7DIG0各得到1/8的动态扫描时间,当扫描极限
45、设定为4时,4个数码管DIG3DIG0各得到1/4的动态驱动时间,此时各数码管的平均驱动电流将比扫描极限为8时增加一倍,所以降低扫描极限可以提高数码管的显示亮度。CH452内部具有8个8位的数据寄存器,用于保存8个字数据,分别对应于CH452所驱动的8个数码管或者8组每组8个的发光二极管。CH452支持数据寄存器中的字数据左移、右移、左循环、右循环,并且支持各数码管的独立闪烁控制,在数据左右移动或者左右循环的过程中,闪烁控制的属性不会随数据移动。CH452支持任意段位寻址,可以用于独立控制64个放光管LED中的任意一个或者数码管中的特定段,段位编制顺序与键盘编址一致,编址从00H3FH。当用“
46、段位寻址置1”命令将某个地址的段位置1后,该地址对应的发光管LED或者数码管的段就会点亮,该操作不影响任何其他LED或者数码管其他段的状态。CH452默认情况下工作于不译码方式,此时8个数据寄存器中子数据的位7-位0分别对应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,需要