




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科生毕业论文(设计)题目: 基于温度传感器的单片机温控电路设计基于温度传感器的单片机温控电路设计 合肥师范学院 2012 届本科生毕业论文(设计)I基于温度传感器的单片机温控电路设计摘 要随着微处理器和大规模集成电路的发展,及其在测试控制技术方面的广泛应用,仪器设备的智能化已成为自动化技术发展方向,数据采集与温度检测的自动化将取代传统的方法。本设计采用 STC89C52 型号的单片机,数字温度传感器采用美国 DALASS 公司的 1Wire 器件 DS18B20,即单总线器件 DS18B20,与单片机组成一个测温系统,当系统上电时,温度传感器就会读出当前环境的温度,并在 LED 数码显示管上
2、显示出当前的温度,该测温系统的测温范围为-40110,按此要求设计硬件和软件以实现这一功能。关键词:单片机 温度传感器 DS18B20 测量电子线路 温度合肥师范学院 2012 届本科生毕业论文(设计)IIABSTRACTAlong with the microprocessor and large scale integrated circuit, and in the test control technology is widely used, and the intelligent instrument and equipment has become automation techn
3、ology development direction, data acquisition and temperature automatic testing would replace the traditional method.This design uses the STC89C52 type of single chip microcomputer, digital temperature sensor using the American DALASS company 1-Wire device DS18B20, namely single bus device DS18B20,
4、and consists of a single chip microcomputer temperature measurement system, when the system is powered on, temperature sensors will read the current environment temperature, and in display tube LED digital showed on the current temperature, the temperature measurement system of measuring temperature
5、 range for 40 110 -according to this design requirement for hardware and software to achieve this function.Keywords: single chip microcomputer temperature sensor DS18B20 measurement circuit temperature合肥师范学院 2012 届本科生毕业论文(设计)III目 录一 绪论 .11.1 课题研究背景及意义.11.2 国内外研究现状.21.3 研究内容.2二 系统硬件设计 .32.1 总体设计方案.32
6、.1.1 设计思路.32.1.2 设计方框图.32.2 单片机介绍.32.2.1 STC 单片机结构介绍 .42.2.2 STC 单片机引脚介绍 .62.3 DS18B20 数字温度传感器介绍.92.3.1 功能介绍.92.3.2 内部存储器介绍.102.4 显示模块设计.132.4.1 LED 数码管结构 .142.4.2 共阳数码管数字编码.142.5 按键电路的设计.142.5.1 判键及其接口电路设计.152.5.2 键盘的工作方式.16合肥师范学院 2012 届本科生毕业论文(设计)IV2.6 报警装置电路设计.162.7 系统整体硬件电路 .16三 系统软件设计 .183.1 温度
7、控制系统原理框图.183.1.1 读温度子程序.183.1.2 温度转换子程序.193.1.3 计算温度子程序.203.1.4 温度显示子程序.21四 总结与展望 .22参考文献 .23附 录 .24合肥师范学院 2012 届本科生毕业论文(设计)1一 绪论1.1 课题研究背景及意义目前温度控制系统在很多场合都得到广泛的应用,因此在国内外发展非常迅速,并在智能化、环境自适应、参数自动调整等方面取得显著成果。当前在工业上温度控制系统一般采用智能调节,国产调节器温度控制效果不是很理想,分辨率和精度都不高,但性价比高。国外调节器虽然价格较贵,但是分辨率和精度较高。 在各行业中广泛应用的温度控制器及仪
8、器仪表,都是由美国、德国等国家生产出来的,性能优异。它们主要具有如下的特点:一是在复杂的温度控制系统中能够适应于大惯性、大滞后的控制;二是在受控系统数学模型难以建立的情况下,得到控制;三是在受控系统中,能够被控制过程很复杂且参数时变的温度控制系统控制;五是温度控制系统普遍具有参数自检功能,借助计算机技术,能控制对象和参数,并且具有特性进行自动调整的功能等特点1。温度测控包括两个方面:温度测量和温度控制。近年来,在理论上温度的测量技术发展比较完善,但目前仍然有许多问题需要去解决,比如在实际测控中,如何能实时地对温度进行快速采样,同时确保采集来的数据进行正确的传输,并能精确控制所测的温度场。在温度
9、的测量技术中,有一种简单、可靠、低廉、测量精度较高的测量方法叫做接触式测温,它在早期就发展起来,一般能将环境的真实温度测量出来。但是难以对运动的物体和热容量小的物体进行精确测量,主要是因为检测元件热惯性的影响,响应的时间长。在腐蚀性介质中,超高温度环境下也不适用。另外还有一种能够对运动的物体和热容量小的物体进行测量的方法叫非接触式测温,它通过温度场辐射出来的能量,进行测量。响应速度快,对测量的温度场不产生破坏。但是也存在一些缺点,仪表所显示的值一般只能代表物体表面的温度,测温仪器结构复杂,价格昂贵等2。因此,在温度测控中,要根据所需对象选择恰到好处的测控方法。 传感器技术是现代信息技术的三大基
10、础,属于现代信息技术前沿的尖端技术,温度传感器使用的数量高居各类传感器之首,被应用于各种领域中,如工业生产、高科技研究和日常生活等。温度传感器技术的应用与研究,其发展历程大致经过了以下三个阶段:(1)常见的分布式温度传感器;(2)模拟集成温度传感器;(3)智能温度传感器。从 20 世纪末以来,国际上推出的智能温度传感器精度高、分辨力高,采用的都是912 位 A/D 转换器,分辨力一般可高达 0.50.06253。目前新型的温度传感器正由模拟式走向数字式、分立式走向高集成、智能化、网络化。当前被广泛应用的 DS18B20型智能温度传感器由美国 DALLAS 半导体公司研制,它能输出 12 位二进
11、制数据,分辨力高,达到 0.0625,测量温度的精度已经达到0.2。1.2 国内外研究现状在上个世纪 70 年代,国外的一些国家已经开始对温度测控技术进行研究了。最早采用的是模拟式组合仪表,将现场采集到的信息进行显示、加工和控制。直到 80 年代末才合肥师范学院 2012 届本科生毕业论文(设计)2出现分立式控制系统。目前温度测控技术在一些发达国家发展非常迅猛,由半自动化向着完全自动化、无人化的方向发展。在上个世纪 80 年代,我国才开始对温度测控技术进行研究,起步晚。跟那些发达国家相比较,技术上还有着很大差距。我国的科技人员吸收发达国家的温度测控技术,仅限于控制温度的单项环境因子,对一些复杂
12、的环境因子控制,还难以实现。多参数综合控制系统目前还不成熟,单参数单回路的系统只能使用单片机来控制。在实际生产中配套能力差,产业化程度不高,对环境水平控制的严重滞后等问题仍然在困扰着我们,温度测控现状要想达到工厂化的水平,还任重道远。1.3 研究内容本文设计是以单片机为核心,实现温度实时测控和显示。确定电路中的一些主要参数,了解温度控制电路的结构,工作原理,对该控制电路性能进行测试。主要内容:(1)硬件部分设计以 STC89C52 单片机作为处理器来处理数据,DS18B20 温度传感器进行温度采集,八段数码管作为显示模块,利用键盘完成对温度测控。(2)软件部分设计软件部分的设计采用模块化思想,
13、主要有五个大的模块:主控制程序,温度显示子程序,读温度子程序,温度转换子程序,计算温度子程序。合肥师范学院 2012 届本科生毕业论文(设计)3 二 系统硬件设计2.1 总体设计方案2.1.1 设计思路(1)本设计是用来测控温度的,可以利用热敏电阻的感温效应,将被测温度变化的模拟信号,电压或电流的采集过来,首先进行放大和滤波后,再通过 A/D 转换,将得到的数字量送往单片机中去处理,用数码管将被测得的温度值显示出来。但是这种电路的设计需要用到放大滤波电路,A/D 转换电路,感温电路等一系列模拟电路,设计起来较麻烦。(2)本设计采用单片机做处理器,可以考虑使用温度传感器,采用由达拉斯公司研制的
14、DS18B20 型温度传感器,此传感器可以将被测的温度直接读取出来,并进行转换,这样就很容易满足设计要求。从上面的两种方案,可以很容易看出来,虽然方案(2)软件部分设计复杂点,但是电路比较简单且精度高,故采用方案(2)。图 2-1 总体方框图2.1.2 设计方框图据设计的需求,分析单片机的工作原理,可以大体得出来温度控制电路设计的总体方框图如图 2-1 所示,主处理器采用 STC89C52 单片机,温度采集部分采用 DS18B20 型温度传感器,用 4 位 LED 显示数码管作为显示部分,用来将温度显示出来。系统硬件电路部分由四大模块组成:温度采集模块、温度显示模块、设置模块和单片机最小系统模
15、块。单片机最小系统显示模块采集模块设置模块合肥师范学院 2012 届本科生毕业论文(设计)42.2 单片机介绍单片机是计算机制造技术发展的产物,其应用于很多场合,发展迅猛。1971 年 Intel公司研制出来 4004 的 4 位微处理器不久,在 1974 年 12 月 Fairchild(仙童)公司立即研制出了 8 位的单片机,即 F8,单片机的门户就这样被打开了。直到上世纪 70 年代末,单片机应用技术才被引入中国,开始被我国的科学研究人员探索,到 80 年代,单片机终于广泛应用于各种行业。在 1978 年 Zilog 公司推出了 Z8 单片机,不久我国工业界的主流就是这种单片机。直到 9
16、0 年代初,我国在某些领域使用的单片机开始向 Intel 生产的 MCS-51 系列单片机靠拢,如工业领域。在短短至今二十几年的时间里,单片机经过了 4 位机、8 位机、16 位机、32 位机几个大的发展阶段,虽然没有像微处理器那样不断突破,但是目前 8 位机仍然是工业控制领域的主流机型。近几年单片机的内部结构变的是愈加完美了,在原有的集成结构上不断创新,越来越多的外围电路和外设接口被集成于单片机内部结构中。硬件电路的设计变得更加简单了,微控制器(MicroController)体系结构的设计已逐渐被建立起来,其发展过程大致分为下面的几个阶段:第一阶段:单片机的探索阶段第二阶段:单片机的完善阶
17、段第三阶段:单片机的高性能阶段第四阶段:单片机的全面发展阶段单片机就是将微处理器、存储器和各种输入输出接口,放在一块芯片上集成得来。自问世以来,广泛应用于自动检测与控制、智能仪表、机电一体化、工业控制等各个方面。单片机本身就是一种计算机系统,如果在外围加上一些接口电路,就可以构成某些特定的应用系统。单片机的几种主要应用系统分为:(1)最小系统,外围电路只配有晶振,复位电路,电源,只能运用于简单的一些控制。(2)最小功耗系统,在系统正常运行的情况下,使得系统消耗的功耗达到最小。(3)典型应用系统,为了使各种系统能够正常运行,所设计的必要硬件结构系统45。以单片机为核心处理器件构成的应用系统有着许
18、多优点:(1)功能齐全,可靠性好,抗干扰的能力较强。(2)使用起来简单方便,可以被普及使用。(3)发展迅猛,有着广阔的前景。(4)比较容易就能嵌入到各种应用系统中。2.2.1 STC 单片机结构介绍STC89C52 单片机是一种 8 位微控制器,特点是低功耗、有高性能 CMOS,同时内置8K 字节可编程 Flash 存储器。芯片内拥有十分灵巧的 8 位微处理器和在系统可编程Flash,使得 STC89C52 单片机提供为许多较灵活、十分有效的解决方案,主要在工农业控制系统中。STC89C52 的标准功能如下:8k 字节 Flash,256 字节 RAM,32 位 I/O 接口线,看门狗定时器,
19、2 个数据指针,三个 16 位定时器/计数器,一个 6 向量的中断结构,全双工串行口。另外,STC89C52 可降至 0Hz 静态逻辑操作,支持 2 种工作软件,用来选合肥师范学院 2012 届本科生毕业论文(设计)5择节电模式。当工作在空闲模式下,微处理器就会停止工作,允许随机存储器、定时器/计数器、串口、中断继续工作。在掉电的时候,随机存储器中的内容会被保存起来,振荡器被冻结,单片机停止一切内外部工作,直到下一个中断或硬件复位为止。最高运作频率 35Mhz,6T/12T 可选。1引脚结构,见图 2-2。图 2-2 单片机引脚结构2内部结构,见图 2-3。合肥师范学院 2012 届本科生毕业
20、论文(设计)6时钟电路ROM EPROM Flash 4KBRAM 128BSFR 21 个定时器计数器CPU总线控制中断系统5 个中断源2 个优先级串行口全双工 1 个4 个并行口VssVcc P0 P1 P2 P3RSTEA ALE PSENXTAL1XTAL2图 2-3 内部结构2.2.2 STC 单片机引脚介绍RST:复位输入,在高电平状态时有效。当单片机有脉冲信号时,在这个引脚加上持续时间超过2个机器周期的高电平状态时,就可以完成复位操作。一般在正常运行状态时,此引脚应该是低电平状态。PSEN:片外程序存储器的读选通信号。当单片机在读片外程序存储器时,这个引脚的读片外部程序存储器选通
21、信号应该是负跳沿脉冲。此引脚接外部程序存储的OE端时,访问外部RAM,PSEN信号是处在无效状态。EA/VPP:为访问外部程序存储器允许控制端。当EA的引脚接入低电平时,对程序存储器的操作,只能是读取外部程序存储器中的数据,所寻地址的范围是为0000H到FFFFH。如果需要执行内部程序指令,EA应该接入高电平。 P0口:8位,漏极开路的双向I/O口。当89C52扩展外部存储器及I/O接口芯片时,P0口作为地址总线及数据总线的分时复用端口。P0口也可以作为通用的I/O口使用,但需加上拉电阻,这时为准双向口。当P0口用来做普通的I/O接口输入时,应该先向该端口的输出锁存器写1。P0口可以用来驱动8
22、个LS型的TTL负载。P1口:8位,准双向的输入输出接口,它的内部中有上拉电阻。P1口是专门为用户使用的准双向I/O口,当用来做普通的I/O口输入时,应该首先向端口的输出锁存器写入1。P1口可以用来驱动4个LS型的TTL负载。此外,P1.0和P1.2分别作定时器/计数器2的外合肥师范学院 2012 届本科生毕业论文(设计)7部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表2-1所示。当单片机进行Flash固化编程时,P1口同时接收低8位地址。P2口:8位,准双向的输入输出接口,它的内部中有上拉电阻。当89C52扩展外部存储器及I/O接口时,P2口可输出高
23、8位地址。P2口也可作为普通的I/O口使用,当用来做普通的I/O口输入时,应该首先向端口的输出锁存器写入1。P2口也可以用来驱动4个LS型的TTL负载。表2-1 P1口功能引脚号第二功能说明P1.0T2定时器计速器 T2 的外部计数输入,时钟输出P1.1T2EX定时器计速器 T2 的捕捉重载触发信号和方向控制P1.5MOSI在系统编程用P1.6MISO在系统编程用P1.7SCK在系统编程用P3口:8位,准双向的输入输出接口,它的内部中也有上拉电阻。P3口可以用来做为常用的I/O口,当作为通用的I/O口输入时,应该首先向端口的输出锁存器写入1。P3口也可以用来驱动4个LS型的TTL负载。P3口还
24、能向用户提供一些第二功能。P3口也可以用来作为STC89C52的一些特殊功能的接口,如下表2-2所示。当单片机进行Flash固化编程时,P3口同时也接收一些外部控制信号4。表2-2 P3口功能引脚号第二功能说明P3.0RXD串行数据输入口P3.1TXD串行数据输出口P3.2INT0外部中断 0 输入P3.3INT1外部中断 1 输入P3.4T0定时器 0 外部计数输入P3.5T1定时器 1 外部计数输入P3.6WR外部数据存储器写选通输出P3.7RD外部数据存储器读选通输出ALE/PROG:在芯片访问外部存储器时,有时候需要对地址或者数据进行所存操作,该引脚的功能正是与锁存相对应,在软件编程方
25、面也可以利用该功能进行便捷的操作。当单片机进行Flash固化编程时,此引脚对于输入编程脉冲有作用。合肥师范学院 2012 届本科生毕业论文(设计)8时钟引脚XTAL1:反向振荡放大器的输入。XTAL2:来自反向振荡器的输出。如图2-4所示,STC89C52单片机有一个反相放大器,用来构成内部振荡器,一般会选石英晶体振荡器作为外接振荡源。此电路在加电过后会在XTAL2引脚上产生一个正弦波时钟信号,其振荡频率主要由外接的石英晶振的频率决定。电路中的两个电容C1、C2的作用有两个:一是用来帮助振荡器起振,二是用来微调晶体振荡器的频率。电容C1、C2的典型值为30pF。图2-4 自激振荡器原理图定时器
26、0和定时器1在STC89C52单片机中,定时器0和定时器1的定时方式与89C51一样。定时器2:是一个自动恢复初始值的18位定时/计数器,既能做定时器,又可以做计数器。定时器2有2个8位寄存器:TH2和TL2。TL2为常数缓冲器,当TL2计数发生溢出时,在溢出标志位TF2置“1”的同时,自动将TH2的初始值送到TL2中,使得TL2得以从初始值处重新计数。中断STC89C52有5个中断源:两个外部中断(INT0和INT1),两个定时中断和一个串行口中断。如果外部中断请求0时,请求信号由引脚INT0输入,IE0为它的中断请求标志位。如果外部中断请求1,请求信号引脚由INT1输入,IE1为它的中断请
27、求标志位。定时器计数器T0计数溢出中断请求,中断请求标志位为TF0。定时器计数器T1计数溢出中断请求,中断请求标志位为TF1。串行口中断请求是用来发送中断或接受中断,标志位为TI或RI。上述的中断请求标志位分别由特殊功能寄存器TCON和SCON相应的位锁存,如下表2-3为中断允许控制寄存器功能5。VCC:接+5V电源。GND:接地。表2-3 中断允许控制寄存器合肥师范学院 2012 届本科生毕业论文(设计)9符号位地址功能EAIE.7中断总允许控制位。EA=0,中断总禁止:EA=1,各中断有各自的控制位设定-IE.6预留ET2IE.5定时器 2 中断允许控制位ESIE.4串行口中断允许控制位E
28、T1IE.3定时器 1 中断允许控制位EX1IE.2外部中断 1 允许控制位ET0IE.1定时器 0 中断允许控制位EX0IE.0外部中断 0 允许控制位2.3 DS18B20 数字温度传感器介绍2.3.1 功能介绍DS18B20 这款型号的温度传感器是由 DALLAS 半导体公司研制出来的,它是一种在旧的结构基础上改进而来的智能温度传感器,传统的温度传感器是由热敏电阻作为主要元件的器件,改进后的传感器能够直接读出被测物体的温度,并且在实际的的操作中可通过软件编程来实现其他相对复杂的功能。DS18B20 提供 9 位温度读数,用来显示器件的温度数值6。特性:与单片机相互通讯时只要一根接口线就行
29、了,实现双工通讯功能用来测量温度的范围是-55+125,分辨率为0.5 几个DS18B20可以挂在一条的总线上,但是数量不能超过8个工作电源35V/DC 在测量温度时,不要任何多余的元件,直接测出温度可以一次读出9位温度数字值 把温度转化成为数字量,只需要1秒左右的时间用户可以自己设置温度上下限的告警值2.3.2 内部存储器介绍图2-5的方框图表示DS18B20的内部结构:1)64位激光lasered ROM;2)温度灵敏元件;3)非易失性温度告警触发器TH和TL。合肥师范学院 2012 届本科生毕业论文(设计)1064位 ROM和单线接口存储器与控制逻辑高速缓存高温触发器 TH配置寄存器低温
30、触发器 TL温度传感器8 位 CRC 发生器CVdd图 2-5 DS18B20 内部结构如果一根总线上有多个DS18B20器件,那么可以只选出一个DS18B20指定,还可以给连接在总线上的处理器指出存在多少个器件及其类型。在接单个总线的时候,ROM操作在未开始之前,还不可以使用器件内部的操作系统,处理器首先必须提供五种ROM操作命令之一:1)Read ROM(读ROM),2)Match ROM(符合ROM),3)Search ROM(搜索ROM),4)Skip ROM(跳过ROM),或5)Alarm Search(告警搜索)。上述的命令都是对每一个温度传感器器件进行操作,操作的部分是64位激光
31、ROM部分。DS18B20中的温度传感部分是用来测量被测物体的温度,下面用一个测得的12位温度值转化为例:用2个字节16位有符号的二进制补码形式来提供数值,以0.0625/LSB的形式表达出来,S是用来表示符号位,如下表2-4。表2-4 DS18B2012位温度数据bit7bit6bit5bit4bit3bit2bit1bit0LS Byte232221202-12-22-32-4bit15bit14bit13bit12bit11bit10bit9bit8MS ByteSSSSS262524表2-4是将12位温度值经过转换后得到的数据,是12位,将转换后得到的数据存储在DS18B20的两个数据
32、存储器中。字节的前面5位是符号位,用来判断测到的温度的正负。如果测到被测物体的温度值大于0,那么高字节前面的5位都是0,只要将测来的数值用来与0.0625相乘,就能得到实际的温度;如果测到被测物体的温度值小于0,那么高字节前面的5位都是1,将测到的数值来取反加1,再与0.0625相乘,就可以能够得到实际的温度。如下表2-5为DS18B20的温度/数据转换关系。合肥师范学院 2012 届本科生毕业论文(设计)11表 2-5 DS18B20 的温度/数据关系TEMPERATUREDIGITAL OUTPUT(BINARY)DIGITAL OUTPUT(HEX)+1250000 0111 1101
33、000007D0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00010191h+10.1250000 0000 1010 001000A2h+0.50000 0000 0000 10000008h+00000 0000 0000 00000000 h-0.51111 1111 1111 1000FFF8h-10.1251111 1111 0101 1110FF5Eh-25.06251111 1110 0110 1111FE6Fh-551111 1100 1001 0000FC90h温度传感部分采集转化后得来的数据,一般是放到 DS18B
34、20 的暂存存储器中。DS18B20 的暂存存储器有 8 个字节,字节的区域是连续的。前面两个字节是用来保存测来的温度信息,第一个字节放入的是 DS18B20 测来的温度值的低八位内容,第二个字节放入的是 DS18B20 测得的温度值的高八位部分。第三个和第四个字节是设置温度告警的上限与下限的易失性保存,第五个字节是结构寄存器的易失性保存,当这三个字节在上电复位状态时,字节中的内容都会被刷新。第六、七、八个字节用于内部温度数值的计算,第九字节是用来检查冗余字节,如下表 2-6 为暂存寄存器的分布。表 2-6 DS18B20 暂存寄存器分布寄存器内容字节地址温度最低数字位温度最低数字位高温限值低
35、温限值保留保留计数剩余值每度计数值CRC 校验01234567 8 ROM操作命令如果处理器检测到总线挂有温度传感器,便发出传感器ROM中的的五种操作命令之合肥师范学院 2012 届本科生毕业论文(设计)12一,所有的操作命令都是一个字节。Read ROM(读ROM) 33h此命令是允许连接总线上的处理器读取DS18B20的8位产品系列编号,唯一的48位产品序列号以及8位的冗余校验码。Match ROM(符合ROM) 55h在与ROM中的命令匹配后,继续以64位的ROM数据序列,允许连接在总线上的处理器对多个DS18B20中某个特定的传感器,进行读写。Skip ROM(跳过ROM) CCh此命
36、令是用来寻找与64位ROM中的序列号相匹配的DS18B20地址,这样才能响应后面的操作命令。所有的与64位ROM序列号不匹配的外挂传感器,都将等待复位脉冲的到来。earch ROM(搜索ROM) F0h此命令允许总线上的处理器使用一种消去elimination处理命令,来识别总线上所有外挂器件的64位序列号7。2.4 显示模块设计LED 显示数码管一般正向压降的都是 1.52V,额定电流为 10mA,通过最大的电流为 40mA8。根据各种不同管接线的方式,可将数码管分成共阴极型和共阳极型。根据要求,本设计采用 4 位共阳 LED 数码管,从 P0 口输出段码,列扫描用 P0 口来实现。下图2-
37、6 中数码管采用的是 8 位七段共阳数码管,其中 ADP 段分别接到单片机的 P0 口,由单片机输出的 P0 口数据来决定段码值,位选码 1、2、3、4 分别接到单片机的P2.4、P2.5、P2.6、P2.7,由单片机来决定当前该显示的是哪一位。在图中还有 8 个电阻,连接在 P0 口上,用作 P0 口的上拉电阻,保证 P0 口没有数据输出时候处于高电平状态。2.4.1 LED 数码管结构合肥师范学院 2012 届本科生毕业论文(设计)13图 2-6 LED 共阳数码管结构2.4.2 共阳数码管数字编码共阳数码管数字编码见下表 2-7。 表 2-7 共阳数码管数字编码显示数字共阳极字段码0C0
38、H1F9H2A4H3B0H499H592H682H7F8H880H990H2.5 按键电路的设计 键盘实际是就是很多案件的一种组合,按键的按下与否形成一个高低电平,主控芯片 CPU 通过高低电平来识别所需信号,进而使程序进行下一步的操作。键盘操作的软硬件的设计有以下几个方面的问题: 对于此设计来说我们要准确的显示我们所要对应的信息,每按一次按键要显示所要显示的信息。这按键是主要用来控制温度而设计的。这样比键盘操作方便,也比较实惠。按键电路采用中断模式。当有按键按下时,系统产生中断,CPU 响应中断后,开始计数,即查询键号,通过软件来实现该键号所对应键的功能键盘的大体设置为:K1 为温度控制的上
39、下限,K2,K3 用来控制温度的加减。如果 K1 没按下,则温度在上限控制状态,如果 K1 按下,则温度在下限控制状态。其电路图如下图 2-7 所示。合肥师范学院 2012 届本科生毕业论文(设计)14图 2-7 按键电路2.5.1 判键及其接口电路设计键盘之所以能够对系统进行操作是因为键盘的按下会产生一个电平上的变化,电平的变化进而影响整个系统的操作。如果系统规定高电平表示断开,反之低电平则表示闭合,通过芯片对电平的高低状态监测以及软件编写的配合可确认键按下与否。 由于按键是认为操作,对按键的按下与否把我并不是非常准确,有时按键信号的传递也会受到其他操作的影响使得信号之间产生串扰,所以为了确
40、保按键是按下与否的识别情况,我要考虑进行按键防抖的操作,对于防抖操作有两种方式,一种是硬件的防抖,一种是软件的防抖,硬件消除抖动可采取双稳态电路或滤波消抖电路;软件消抖是是指当程序在运行中检测到按键是低电平的时候并不急于向下继续运行,而是在软件延时一定程序后对该引脚的电平再次进行检测,看是否还处在低电平状态,若还是,则判断为有按键按下。软件消抖的方法效果可以接受,同时也节省了硬件消抖的开销。此设计中由于按键较少,我选择的是软件消抖。当按键较多时,按键之间容易产生串扰,采用硬件消抖法会更好一点。 按键是要连接到硬件电路上的,其接口设计也有两种方法,独立式按键和矩阵式键盘。独立式按键顾名思义就是每
41、个按键式相互独立,每个按键都通过一根线与主控芯片或者硬件电路中的相对应引脚进行连接。这种方法在操作上更加简便,不需要考虑太多的电路设计因素,对于简单的电路设计适用,任何事物有利有弊,弊端就是该方案对I/O 资源比较浪费。对于大的系统来说,往往会导致引脚的不够用。矩阵键盘就是通过行线与列线的交叉点来安排按键的位置,这种方法适用于按键数量较多的电路。通过对行线与列线的分布扫描来判断是哪一个按键按下,根据扫描的结果以及之前准备的组合表来判断具体按下的按键8。2.5.2 键盘的工作方式 键盘的工作方式主要有三种:编程扫描、定时扫描和中断扫描。当 CPU 在忙于各种各样工作时,如何怎样去处理键盘的输入,
42、这主要取决于键盘的工作方式。键盘扫描只是 CPU 的各种工作任务的一种而已。编程扫描时,CPU 会去反复扫描键盘,当用户有命令或者数据输入时,响应键盘的输入请求。这种扫描方式一般当单片机不工作时,才调用子程序,直到 CPU 返回重新扫描键盘为止。定时扫描工作方式通常是利用单片机内的定时器产生 10ms 定时中断,单片机响应定时器溢出中断后,对键盘反复进行扫描,如果发现有按键按下时,并且能够合肥师范学院 2012 届本科生毕业论文(设计)15识别出这个按下的键,就会执行与之相对应处理程序9。中断扫描在没有按键按下时,如果有键按下时就会产生中断,由中断程序识别并执行。2.6 报警装置电路设计本设计
43、中的报警装置电路用到了发光二级管、三极管、100 欧姆的电阻。将发光二级管的一端接地,另一端接三极管的发射极,三极管的基极通过 100 欧姆的电阻接在三极管的 P3.7 引脚,三极管的集电极接+5V 的电源。其电路图如图 2-8 所示。 图 2-8 报警装置电路图2.7 系统整体硬件电路系统整体硬件电路包括,传感器数据采集电路,温度显示电路,单片机主控电路等,通过 Protel99se 可画出如图 2-9 所示的电路图91011合肥师范学院 2012 届本科生毕业论文(设计)16三 系统软件设计3.1 温度控制系统原理框图主控制程序的主要是用来实时控制当前所要测控的环境温度,并读出由 DS18
44、B20 测量的经过处理的当前环境的温度值,同时检查温度是否在限度之内,否则报警,同时调整温度值。其主控制程序流程图如 3-1 所示。 Y发温度转换命令发 DS18B20 复位命令发跳过读序列号命令读取操作,CRC 校验9 字节完?CRC 校验正?确?移入温度暂存器结束NNY图 2-9 温度控制电路原理开始STC89C52 初始化DS18B20 初始化温度是否到达设定限度温度显示结束红灯亮温度在显示范围内YNYN合肥师范学院 2012 届本科生毕业论文(设计)17发 DS18B20 复位命令发跳过读序列号命令发温度转换开始命令结束图3-1 主程序流程图 图3-2 读温度流程图3.1.1 读温度子
45、程序读温度子程序的功能主要是用来将随机存储器中的 9 个字节读出,在读出字节时侯,需要进行冗余码校验。在校验到有错误的时侯,所测得的温度数据就会不进行改写。其读温度子程序流程图如 3-2 所示。3.1.2 温度转换子程序温度转换命令子程序的功能主要是用来发送温度开始转换命令,让温度转换自动进行,其温度转换命令子程序流程图如 3-3 所示。合肥师范学院 2012 届本科生毕业论文(设计)18 图 3-3 温度转换流程图3.1.3 计算温度子程序计算温度子程序的功能主要将随机存储器中的温度数值读取出来,将取得的温度数值的每一位经过计算分别取出来,放入指定的字节中,并进行温度值数正负的判定。计算温度
46、子程序流程图如 3-4 所示。开始温度零下?温度值取补码置“”标志取出小数位的温度值取出整数位的温度值结束置“+”标志NY合肥师范学院 2012 届本科生毕业论文(设计)193.1.4 温度显示子程序温度显示子程序的功能主要是对显示数据寄存器中的数据反复进行刷新操作。如果最高位显示是 0 时的时候,就将符号显示位立即移入下一位字节中。温度显示子程序流程图如 3-5 所示。图 3-4 计算温度流程图 图 3-4 计算温度流程图温度数据移入显示寄存器十位数 0?百位数 0?十位数显示符号百位数不显示百位数显示数据(不显示符号) 结束NNYY合肥师范学院 2012 届本科生毕业论文(设计)20四 总
47、结与展望(1)本次基于单片机温控电路的温度传感器的设计经过了整体分析、模块化分析、整体与模块的仿真分析这样三个步骤,实现了温度的显示以及报警显示功能。(2)在写温度传感器的驱动时一定要处理好时序问题。(3)本次设计可以说达到了预期的要求,但尚有需要改进的地方。随着温度采集现场的复杂程度加大,如果依然用一个传感器来采集温度,必然反映不了真实的现场情况,这时一个很好的解决办法就是在总线上挂多个传感器,实行多路采集并且还可以加上时钟控制电路,实现实时温度控制。(4)通过本次论文设计,让我进一步了解了使用单片机控制温度的工作原理和作用,也更深一层地懂得了程序模块化设计的重要性,同时对单片机学习板的操作
48、有了进一步的了解,熟悉掌握了 Keil 的文本编程设计方法和 Protues 的仿真。图 3-5 温度显示数据刷新流程图合肥师范学院 2012 届本科生毕业论文(设计)21目前,国内外温度控制系统及仪表正朝着高精度、智能化、小型化等方面快速发展。现如今计算机的高速数据处理能力,和它丰富的利用资源,以及强大的逻辑功能,能够根据自己设计的实际需求进行灵活的资源采集分配,适当的增加或者减少其控制信号,输出的路数,这样就能够合理的设置温度控制的范围与路数,给以后的实际应用提供了可靠的、有力的控制系统解决方案。参考文献1 刘娟,梁卫文,程莉等单片机 C 语言与 Protues 仿真技能实训北京:中国电力
49、出版社,2010,119-1762 李平,杜涛,罗和平等单片机应用开发与实践北京:机械工程出版社,2008,178-1883 郑阿奇,王绮红,张春良等Protel 实用教程北京:电子工业出版社,2010,72-1214 常敏,王涵,范红波等51 单片机应用程序开发与实践. 北京:电子工业出版社,2009,235-2525 张培仁,孙占辉,张欣等基于 C 语言编程 MCS-51 单片机原理与应用北京:清华大学出版社,2002,268-277,296-2996 刘春恰数字温度传感器 DS18B20 测温的应用电器时代,2010,10:116-1177 Morrison D.Single Compo
50、nent Isolates Data And PowerJ.Power Electronics Technology,2006,32(3):54-54.合肥师范学院 2012 届本科生毕业论文(设计)228 Takahashi K,etc. Full color LEDdisplay panel fabricated on 8 silicon microreflectorJ.IEEE (Cat. No. 97CH36021).1997:7-8.9 赵福按电子电路设计与实践M山东:山东科学出版社,2001,110-11810 陈金平电子系统设计M北京:国防工业出版社,2007,18-3011 康
51、华光电子技术基础(数字部分) 北京:高等教育出版社,1998,140-160 合肥师范学院 2012 届本科生毕业论文(设计)23附 录仿真结果设置温度上限为 38 度,温度下限为 6 度。1如下仿真图 1 所示,此时温度为 4 度,低于下限温度,报警灯亮,实现报警。仿真图 1 下限报警合肥师范学院 2012 届本科生毕业论文(设计)242如下仿真图 2 所示。此时温度为 40 度,超过上限温度,报警灯亮,实现报警。仿真图 2 上下报警合肥师范学院 2012 届本科生毕业论文(设计)253如下仿真图 3 所示。此时温度为 29 度,在所设范围内,报警灯没亮,说明温度正常。仿真图 3 正常工作合
52、肥师范学院 2012 届本科生毕业论文(设计)26温度控制系统C语言程序#include #define uint unsigned int#define uchar unsigned char sbit p34=P24;sbit p35=P25;sbit p36=P26;sbit dp=P07;sbit p37=P27;sbit DQ=P22; /定义 DS18B20 总线 I/Osbit SET=P31; /定义选择报调整警温度上限和下限(1 为上限,0 为下限)sbit LING=P20; /定义闪烁signed char m; /温度值全局变量bit sign=0; /外部中断状态标志
53、signed char shangxian=38; /上限报警温度,默认值为 38signed char xiaxian=5; /下限报警温度,默认值为 5uchar code LEDData=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xff,0 xbf;/*延时子程序*/void Delay(uint i) while( i- );/*初始化 DS18B20*/void Init_DS18B20(void) unsigned char x=0; DQ=1; Delay(8); /稍做延时 DQ=0; /单片机将
54、 DQ 拉低 Delay(80); /精确延时,大于 480us DQ=1; /拉高总线 Delay(14); x=DQ; /稍做延时后,如果 x=0 则初始化成功,x=1 则初始化失败 Delay(20);合肥师范学院 2012 届本科生毕业论文(设计)27/*读一个字节*/unsigned char ReadOneChar(void) unsigned char i=0; unsigned char dat=0; for (i=8;i0;i-) DQ=0; / 给脉冲信号 dat=1; DQ=1; / 给脉冲信号 if(DQ) dat|=0 x80; Delay(4); return(dat);/*写一个字节*/void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ=0; DQ=dat&0 x01; Delay(5); DQ=1; dat=1; void Tmpchange(void) /发送温度转换命令 Init_DS18B20(); WriteOneChar(0 xCC); /跳过读序号列号的操作 WriteO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度软件开发与维护技术支持合同书
- 2025版智能家居安防系统定制安装合同
- 二零二五年度办公室文员岗位离职交接合同范本
- 2025版节能办公大楼租赁合同样本
- 二零二五年金属矿采矿权抵押贷款合同21
- 2025版高端酒店玻璃门窗采购合同范本
- 2025版文化教育用品批量采购与推广服务合同
- 2025版新能源产业保密竞业限制合同范本
- 二零二五年度叉车维修保养与配件供应合同
- 2025版叉车操作员职业资格认证服务合同
- 生物膜技术革新:MBBR与IFAS工艺中功能性生物膜挂膜驯化的深入探讨
- 全国工会系统经审业务技能大赛知识题(附答案)
- 2023年国家烟草专卖局笔试真题
- 心肺复苏课件
- 药厂物料编码管理制度
- Q-GDW10250-2025 输变电工程建设安全文明施工规程
- 危重病人护理文书书写
- 脊髓型颈椎病中西医结合诊疗指南
- 2025天津经济技术开发区管理委员会招聘雇员(30人)笔试参考题库附带答案详解析
- 直播合同竞业协议书
- 电子技术基础模拟与数字题库
评论
0/150
提交评论