基于MCS51的多路温度检测终端设计与实现_第1页
基于MCS51的多路温度检测终端设计与实现_第2页
基于MCS51的多路温度检测终端设计与实现_第3页
基于MCS51的多路温度检测终端设计与实现_第4页
基于MCS51的多路温度检测终端设计与实现_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、 PAGE - 41 - PAGE 1论文题目:基于MCS51的多路温度检测终端设计与实现专 业:电子与信息工程学 生: 张泽鑫 签名: 指导教师: 倪云峰 签名: 摘 要 温度是工业生产过程中保证产品质量的重要可控参数。因此,在工农业生产和科学研究中温度的检测与控制在现代经济与社会中越来越受到重视。传统的监测方法都是单点测量,同时有温度传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定,因此多路温度检测终端的设计成了一项重要的研究课题。 本文设计了一种基于单片机的具有多路采集通道的高精度的数字温度检测系统。 硬件上,CPU采用STC89C52为主控芯片,配置DS18B20温

2、度传感器作为信号采集装置,利用LCD1602对四路采集的温度信号进行显示。 软件上运用C语言的编程,用protues仿真和硬件电路的设计,实现了实时温度检测,并能够方便设置温度上下限,实现报警功能,另外还配备了单片机与PC机的通信功能。 文中,终了进行了测试与实验,实验达到了预期的结果。【关键词】温度测量;单总线;数字温度传感器;单片机【论文类型】设计型Title:The Terminal design and implementation of multi-channel temperature detection based on MCS-51Major:Electronic inform

3、ation engineering Name:Zhang Zexin Signature: Supervisor:Ni Yunfeng Signature: ABSTRACTDuring the industry production process, the temperature is the important parameter of ensuring the quality of the products. Therefore, the detection and control of temperature in industrial and agricultural produc

4、tion and scientific research have playing a more and more important role. Traditional monitoring methods are single point measurement, meanwhile the temperature transfer is not timely and accurate enough .These are not conducive to industrial control according to the temperature change in a timely d

5、ecision. So it has become an important research topic in the design of multi-channel temperature detection terminal.This paper has designed a multi-channel acquisition channel digital high precision temperature detection system based on single chip microcomputer.On the aspect of hardware, the STC89c

6、52 is used as the main control chip. It equipped with the DS18B20 temperature sensor, which acts as signal acquisition device. The temperature signal of four ways acquisitions are displayed by the LCD1602.On the aspect of software, C-programming language used by Protues simulation and hardware circu

7、it design to achieve a real-time temperature detection. There is a ability to easily set the temperature limit, and the alarm function. Meanwhile it can also communicate with the PC.In this paper, the result of tested has achieved the goal as expected.【Key words】 temperature measure;single bus;digit

8、al thermometer;single chip processor【Type of Thesis】 Design mode目 录 TOC o 1-3 h z u HYPERLINK l _Toc390673726 1 基础理论 PAGEREF _Toc390673726 h - 1 - HYPERLINK l _Toc390673727 1.1 概述 PAGEREF _Toc390673727 h - 1 - HYPERLINK l _Toc390673728 2.1 单总线简介 PAGEREF _Toc390673728 h - 3 - HYPERLINK l _Toc39067372

9、9 2.1.1 概述 PAGEREF _Toc390673729 h - 3 - HYPERLINK l _Toc390673730 2.1.2单总线的工作原理 PAGEREF _Toc390673730 h - 3 - HYPERLINK l _Toc390673731 2.1.3 单总线器件信号传递方式 PAGEREF _Toc390673731 h - 4 - HYPERLINK l _Toc390673732 1.3 MCS51单片机 PAGEREF _Toc390673732 h - 7 - HYPERLINK l _Toc390673733 1.3.1 MCS51单片机概述 PAG

10、EREF _Toc390673733 h - 7 - HYPERLINK l _Toc390673734 1.3.2 MCS-51单片机的结构 PAGEREF _Toc390673734 h - 7 - HYPERLINK l _Toc390673735 1.3.3 指令系统 PAGEREF _Toc390673735 h - 9 - HYPERLINK l _Toc390673736 1.3.4 中断 PAGEREF _Toc390673736 h - 10 - HYPERLINK l _Toc390673737 1.3.5定时器 PAGEREF _Toc390673737 h - 10 -

11、 HYPERLINK l _Toc390673738 2 硬件设计方案 PAGEREF _Toc390673738 h - 11 - HYPERLINK l _Toc390673739 2.1系统综述 PAGEREF _Toc390673739 h - 11 - HYPERLINK l _Toc390673740 2.2 温度采集与测量系统 PAGEREF _Toc390673740 h - 12 - HYPERLINK l _Toc390673741 2.2.1 DS18B20的特性 PAGEREF _Toc390673741 h - 12 - HYPERLINK l _Toc3906737

12、42 2.1.2 DS18B20引脚排列 PAGEREF _Toc390673742 h - 13 - HYPERLINK l _Toc390673743 2.2.3 DS18B20 的硬件结构 PAGEREF _Toc390673743 h - 13 - HYPERLINK l _Toc390673744 2.2.4 DS18B20的供电方式 PAGEREF _Toc390673744 h - 14 - HYPERLINK l _Toc390673745 2.2.5 DS18B20的ROM指令 PAGEREF _Toc390673745 h - 16 - HYPERLINK l _Toc39

13、0673746 2.2.6 DS18B20的测温原理 PAGEREF _Toc390673746 h - 18 - HYPERLINK l _Toc390673747 2.3 显示系统 PAGEREF _Toc390673747 h - 19 - HYPERLINK l _Toc390673748 2.3.1 LCM1602显示模块 PAGEREF _Toc390673748 h - 19 - HYPERLINK l _Toc390673749 2.2.3 LCM1602管脚分布 PAGEREF _Toc390673749 h - 20 - HYPERLINK l _Toc390673750

14、2.4 报警系统及输入设备 PAGEREF _Toc390673750 h - 21 - HYPERLINK l _Toc390673751 2.5 最小系统外围电路 PAGEREF _Toc390673751 h - 22 - HYPERLINK l _Toc390673752 2.5.1 PC机与单片机的串行通信接口电路 PAGEREF _Toc390673752 h - 22 - HYPERLINK l _Toc390673753 2.5.2 晶振电路以及复位电路 PAGEREF _Toc390673753 h - 22 - HYPERLINK l _Toc390673754 3 软件系

15、统的设计 PAGEREF _Toc390673754 h - 24 - HYPERLINK l _Toc390673755 3.1 主程序 PAGEREF _Toc390673755 h - 24 - HYPERLINK l _Toc390673756 3. 2 DS18B20 相关程序 PAGEREF _Toc390673756 h - 25 - HYPERLINK l _Toc390673757 3.2.1 查询DS18B20的ROM PAGEREF _Toc390673757 h - 26 - HYPERLINK l _Toc390673758 3.2.2 DS18B20 初始化程序 P

16、AGEREF _Toc390673758 h - 27 - HYPERLINK l _Toc390673759 3.2.3 温度采集 PAGEREF _Toc390673759 h - 27 - HYPERLINK l _Toc390673760 3.3 LCM1602 相关程序 PAGEREF _Toc390673760 h - 29 - HYPERLINK l _Toc390673761 3.3.1 LCM1602 初始化程序 PAGEREF _Toc390673761 h - 29 - HYPERLINK l _Toc390673762 3.3.2 显示子程序 PAGEREF _Toc3

17、90673762 h - 31 - HYPERLINK l _Toc390673763 3.4 报警系统和键盘输入系统相关程序 PAGEREF _Toc390673763 h - 32 - HYPERLINK l _Toc390673764 3.4.1 报警系统 PAGEREF _Toc390673764 h - 32 - HYPERLINK l _Toc390673765 3.4.2 键盘输入 PAGEREF _Toc390673765 h - 32 - HYPERLINK l _Toc390673766 4 实验结果总结 PAGEREF _Toc390673766 h - 34 - HYP

18、ERLINK l _Toc390673767 5总结与展望 PAGEREF _Toc390673767 h - 37 - HYPERLINK l _Toc390673768 5.1 总结 PAGEREF _Toc390673768 h - 37 - HYPERLINK l _Toc390673769 5.2 展望 PAGEREF _Toc390673769 h - 37 - HYPERLINK l _Toc390673770 致谢 PAGEREF _Toc390673770 h - 39 - HYPERLINK l _Toc390673771 参考文献 PAGEREF _Toc39067377

19、1 h - 40 -1 基础理论1.1 概述温度是表征物体冷热程度的物理量,是工业生产和科学实验中一个非常重要的参数。温度一直与人类的活动息息相关。无论是日常生活中,还是工农业控制过程中,温度都是重要的测控对象之一,准确的温度测量和实时的温度控制对人类的生存发展有着只管重要的作用。随着社会经济迅猛发展,电子技术在国民经济的建设中占据了相当重要的地位。无论是人民生活,经济建设,还是国防建设,科学研究都有紧密的关系。加强电子科学技术的研究,对于提高产品质量,改进工艺,实现标准化、系列化、自动化;对于保障安全生产、提高生产效率,降低能源消耗;对于企业生产自动化、科学化、提高科研水平,增加经济效益都具

20、有非常重要的作用。利用电子技术中对温度进行测量,在社会经济发展的各个领域中都十分重要。现如今,用温度传感器来测量实际设备中的温度也变得越来越常见。它大体经过了三个发展的阶段:模拟集成温度传感器阶段、模拟集成温度控制器阶段和智能温度传感器阶段。模拟集成温度传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。这种传感器具有功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等;模拟集成温

21、度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105和MAX6509。某些增强型集成温度控制器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。但它自成系统,工作时并不受微处理器的控制。智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输

22、出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。1.2 国内外现状进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。目前市场主要存在单点和多点两种温度测量仪表。对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。此种产品测温范围大都在-200800之间,分辨率12位,最小分辨温度在0.0010.01之间。自带LED显示模块,显示4位

23、到16位不等。有的仪表还具有存储功能,可存储几百到几千组数据。该类仪表可很好的满足单个用户单点测量的需要。多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。针对目前市场的现状,本课题提出了一种可满足要求、可扩展的并且性价比高的基于51单片机的多路温度测控系统。该系统采用DS18B20数字温度传感器作为温度采集器件,用STC89C52单片机作为主控芯片,通过1-wire总线外挂多个(至少三个)DS18B20实现多路温度采集,最后通过LCD1602液晶屏显示出来。功能以及技术指标:用1-wire总线协议实现最基本的4路温度采集功能;温度测量范围:-55+12

24、5 ;各路温度的精度要求在1;采用LCD显示,同时显示四路DS18B20的温度;用户可以通过按键输入各路温度的报警上限和下限;当系统检测到实际温度超过用户设置的上限或者下限之后报警;应用1-wire通信协议来完成对四路DS18b20的控制;2.1 单总线简介2.1.1 概述 目前常用的PC机与外设之间进行数据传输的串行总线主要有I2C总线、SPI总线和SCI总线。其中I2C总线以同步串行2线方式进行通信(一条时钟线,一条数据线),SPI总线则以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线),而SCI总线是以异步方式进行通信(一条数据输入线,一条数据输出线)。这些总线至少

25、需要两条或两条以上的信号线。近年来,美国的达拉斯半导体公司(DALLAS SEMICONDUCTOR)推出了一项特有的单总线(1-Wire Bus)技术。该技术与上述总线不同,它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的,因而这种单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。单总线适用于单主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机可以是单总线器件,它们之间的数据交换只通过一条信号线。当只有一个从机设备时,系统可按单节点系统操作;当有多个从设备时,系统则按多节点系统操作。图1-1所示是单总线多节点系统的示意图。图1-1 单主机多

26、节点系统示意图2.1.2单总线的工作原理单总线即只有一根数据线,系统中的数据交换、控制都由这根线完成。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线,其内部等效电路如图1-2所示。图1-2 单总线的硬件接口示意图单总线通常要求外接一个约为4.7k的上拉电阻,这样,当总线闲置时,其状态为高电平。主机和从机之间的通信可通过3个步骤完成:分别为初始化1-wire器件、识别1-wire器件和交换数据。由于它们是主从结构,只有主机呼叫从机时,从机才能应答,因此主机访问1-wire器件都必须严格遵循单总线命令序列,即初始化、ROM命令、

27、功能命令。如果出现序列混乱,1-wire器件将不响应主机(搜索ROM命令,报警搜索命令除外)。表1-1为ROM命令的说明,而功能命令则根据具体1-wire器件所支持的功能来确定。表1-1 ROM命令说明ROM命令说明搜索ROM(F0h)识别单总线上所有的1-wire器件的ROM编码读ROM(33h)(仅适合单节点)直接读1-wire器件的序列号匹配ROM(55h)寻找与指定序列号相匹配的1-wire器件跳跃ROM(CCh)(仅适合单节点)使用该命令可直接访问总线上的从机设备报警搜索ROM(Ech)(仅少数器件支持)搜索有报警的从机设备2.1.3 单总线器件信号传递方式 单总线通信协议定义了如下

28、几种类型,即复位脉冲、应答脉冲、写0、写1、读0和读1,除了应答脉冲外,所有的信号都由主机发出同步信号,并且发送的所有的命令和数据都是字节的低位在前。 单总线通信协议中不同类型的信号都采用一种类似脉宽调制的波形表示,逻辑0用较长的低电平持续周期表示,逻辑1用较长的高电平持续周期表示。在单总线通信协议中,读写时隙的概念十分重要。当系统主机向从设备输出数据时产生写时隙,当主机设备读取数据时产生读时隙,每一个时隙总线只能传输一位数据。无论是在读时隙还是写时隙,它们都以主机驱动数据线位低电平开始,数据线的下降沿是从设备触发其内部的延时电路,使之与主机同步。在写时隙内,该延迟电路决定从设备采样数据线的时

29、间窗口。单总线通信协议中存在两种写时隙:写1和写0。主机采用写1时隙向从机写入1,而采用写0时隙向从机写入0。所有写时隙至少要60us,且在两次独立的写时隙之间至少需要1us的恢复时间。两种写时隙均起始于主机拉低数据总线。产生写1时隙的方式:主机拉低总线后,接着必须在15us之内释放总线,由上拉电阻将总线拉至高电平;产生写0时隙的方式:为在主机拉低后,只需要在整个时隙间保持低电平即可(至少60us)。在写时隙开始后15us60us期间,单总线器件采样总电平状态。如果在此期间采样值为高电平,则逻辑1被写入器件;如果为0,写入逻辑0。 图1-3给出了写时隙(包括1和0)时序的图形解释。图1-3 单

30、总线时序中写时隙时序图 在图1-3中,黑色实线代表系统主机拉低总线,黑色虚线代表上拉电阻将总线拉高。对于读时隙,单总线器件仅在主机发出读时隙时,才向主机传输数据。所有主机发出读数据命令后,必须马上产生读时隙,以便从机能够传输数据。所有读时隙至少需要60us,且在两次独立的读时隙之间至少需要1us的恢复时间。每个读时隙都由主机发起,至少拉低总线1us。在主机发出读时隙之后,单总线器件才开始在总线上发送0或1。若从机发送1,则保持总线为高电平;若发出0,则拉低总线。 当发送0时,从机在读时隙结束后释放总线,由上拉电阻将总线拉回至空闲高电平状态。从机发出的数据在起始时隙之后,保持有效时间15us,因

31、此主机在读时隙期间必须释放总线,并且在时隙起始后的15us之内进入采样总线状态。 图1-4所示给出了读时隙(包括读0或读1)时序的图形解释。图1-4 单总线协议中写时序时隙图在图1-4所示中,黑色实线代表系统主机拉低总线,灰色实线代表总局拉低总线,而黑色的虚线则代表上拉电阻总线拉高。单总线上的所有通信都是以初始化序列开始,初始化序列包括主机发出的复位脉冲及从机的应答脉冲,这一过程如图1-5所示。图1-5 单总线协议中写时序时隙图在图1-5中,黑色实线代表系统主机拉低总线,灰色实线代表从机拉低总线,而黑色的虚线则代表上拉电阻极被那个总线拉高。 系统主设备发送端发出的复位脉冲式一个480us960

32、us的低电平,然后释放总线进入接受状态。此时系统总线通过4.7K的上拉电阻接至VCC高电平,时间约为15us60us,这种在接收端的设备就开始检测I/O引脚上的下降沿以及监视在脉冲的到来。主设备处于这种状态下的时间至少为480us。 从设备在接收到系统主设备发出的复位脉冲之后,向总线发出一个应答脉冲,表示从设备已准备好,可根据各种命令发送或接受数据。通常情况下,器件等待15us60us即可发送应答脉冲(该脉冲是一个60us240us的低电平信号,它由从机强迫将总线拉低)。复位脉冲是设备以广播方式发出的,因而总线上所有的从设备同时发出应答脉冲。一旦器件检测到应答脉冲后,主设备就认为总线上已连接了

33、从设备,接着主设备将发送有关的ROM功能命令。如果主设备未能检测到应答脉冲,则认为总线上没有挂接单总线从设备。1.3 MCS51单片机 1.3.1 MCS51单片机概述MCS-51单片机是一个40引脚的双列直插式集成电路。主要包含以下资源:1)8位CPU,片内振荡器;2)4KB/8KB片内程序存储器(51系列有4KB,52系列有8KB);3)128B/256B片内数据存储器(51系列有128B,52系列有256B);4)2/3个16位定时/计数器(51系列有2个,52系列有3个);5)32个可编程的I/O口线(4个8位并行I/O端口);6)1个可编程全双工串行端口7)5/6个中断源,2级中断优

34、先级(51系列有5个,52系列有6个);8)可寻址64KB片外数据存储器,64KB片外程序存储器空间的控制电路;9)有强大的位处理功能。1.3.2 MCS-51单片机的结构图1-6 单片机的结构单片机内部结构如图1-6所示。由CPU、存储器、并行I/O接口、中断系统、定时/计数器及串行接口六部分组成。所有功能部件均与内部总线连接在一起。1)中央处理器(CPU)它由运算器、控制器及微处理器(又叫布尔处理器)组成,是整个单片机的核心,能处理8位二进制数据或代码。2)存储器MCS-51系列单片机的存储器包括数据存储器(RAM)和程序存储器(ROM)。数据存储器是通用存储器,用于存放运算中间结果或临时

35、数据。51/52片内有128/256B个8位数据存储单元和特殊功能寄存器(SFR,21/26个)。当片内数据存储器不够使用时,可片外扩展。对外有64KB数据存储器的寻址能力。程序存储器用于存放用户程序和常数。51/52片内有4KB/8KB个掩模ROM。当片内程序存储器不够使用时,可片外扩展。对外有64KB程序存储器的寻址能力。3)接口电路单片机输出的控制信号和外部采集的输入信号,同时通过接口电路进行传输的,MCS-51单片机共有4个8位并行输入/输出接口,称为P0,P1,P2,P3 口。共有32根I/O口线。4)时钟振荡电路51/52内置有一个振荡器和时钟电路,用于产生单片机运行的脉冲时序。M

36、CS-51的外部引脚及功能MCS-51单片机油40脚的DIP(双列直插式封装结构),还有44脚PLL封装。这里以40脚的DIP介绍单片机的引脚及功能。单片机的40个引脚可分为I/O口线、电源与地、时钟振荡电路引脚及控制信号四大部分。分别为I/O口线32根(4个8位I/O端口)、电源与地(2个)、时钟振荡电路引脚(2个)及控制信号(4个)。5)I/O端口4个I/O端口分别为P0、P1、P2和P3口。P0口:一是作为普通I/O端口使用,是漏极开路的8位准双向I/O口,每一位可驱动8个LSTTL负载。二是在访问片外存储器时,分时提供地址低8位和8位双向数据总线。P1口:仅作为I/O口使用,是自带上拉

37、电阻的8位准双向I/O端口,每一位可驱动4个LSTTL负载。P2口:一是可作为普通I/O端口使用,是自带上拉电阻的8位准双向I/O口,每一位可驱动4个LSTTL负载。二是在访问片外存储器时,作为高8位地址线使用。P3口:是自带上拉电阻的8位准双向I/O端口,每一位可驱动4个LSTTL负载。6)控制引脚ALE/PROG:地址锁存使能信号输出端。存取片外存储器时,用于锁存低8位地址。PROG是对于EPROM型单片机,在EPROM编程期间,此引脚用于输入编程脉冲。PSEN:地址锁存使能信号输出端,是片外程序存储器的读选通信号。EA/Vpp:片内程序存储器屏蔽控制端。当EA端保持低电平是,将屏蔽片内的

38、程序存储器,只访问片外的程序存储器。Vpp为编程电压端。对于EPROM型单片机,在EPROM编程期间,此引脚用于施加21V的编程电压。RST/Vpd:复位输入信号端,高电平有效。备用电源Vpd功能。电源引脚Vcc:主电源正端,接+5V。Vss:主电源负端,接地。晶振引脚XTAL1:片内高增益反向放大器的输入端。XTAL2:片内高增益反向放大器的输出端。1.3.3 指令系统计算机的指令系统是该计算机所能执行的全部指令的集合,指令系统中指令的数量及功能直接决定这计算机的功能,MCS-51系列单片机的指令系统十分丰富,它不但运行速度快,而且编程效率高,在完成同样的任务时,所编程序的字节数一般比其他单

39、片机用的要少,由于MCS-51系列单片机的指令系统具有独特的优点,这类单片机获得了广泛的应用。1)寻址方式寻址就是寻找指令所需的操作数,MCS-51系列单片机有七种寻址方式,分别为:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址方式。2)指令类型MCS-51系列单片机中包括数据传送指令 、算术运算、逻辑运算及移位、控制转移及位操作五类指令。(1)数据传送指令把“源操作数”中的数据传送到“目的操作数”中去,而“源操作数”中的内容部变。这类指令在程序中占有较大的比重,是一种最基本、最常用的指令。(2)算术和逻辑运算指令算术和逻辑运算指令中有加、减、乘、除四则运算和与、或

40、、异或逻辑等算术和逻辑运算指令,这些指令可分为8类,分别是:加法指令、减法指令、比较指令、乘法指令、除法指令、与运算指令、或运算指令、异或运算指令。这些指令中既有对字节进行操作的指令也有对字操作的指令。1.3.4 中断MCS-51系列单片机的中断系统中有5个中断源,两个外中断源由INT0、INT1输入,两个片内定时期/计数器溢出中断源,一个片内串行口中断源。提供两个优先级,能实现二级中断服务程序嵌套。每个中断源都可以设置为高优先级中断或低优先级的中断,允许向CPU请求中断。1.3.5定时器在MCS-51系列单片机中,有两个定时/计数器T1和T0,定时器T0由TH0和TL0构成,T1由TH1、T

41、L1构成,他们实质上似是两个独立的16位加法计数器,TH0和TL0构成T0的计数单元,TH1和TL1构成T1的计数单元。TMOD是定时器/计数器的工作方式寄存器,由它确定定时器/计数器的工作方式和功能;TCON是控制寄存器,用于控制T0、T1的启动、计数和停止以及设置溢出标志状态。2 硬件设计方案本章是在前一章的基础上对基于1-wire总线的多点采集温度系统进行了硬件的设计,主要分为51单片机的最小系统电路、温度采集电路、LCD显示电路、上下限设置电路和报警电路。2.1系统综述本设计用STC89C52为主控芯片,用1-wire总线协议将4个DS18B20通过一根总线连在单片机的I/O口(P2.

42、2)。LCD1602液晶屏的数据线接在单片机的P0口,在分别搭接报警电路和键盘电路。本系统的框图如图2-1所示。STC89C51单片机系统LCD1602显示器DS18B20DS18B20DS18B20DS18B20报警电路键盘电路 图2-1 系统框图 本系统具体模块接线如表2-1 所示。表2-1 本系统接线1602数据端口P0口报警系统LED引脚P1口1602-RSP2.4SETP3.21602-RWP2.5ADDP3.31602-REP2.6SUBP3.4蜂鸣器P3.6OKP3.5DQP2.2本设计总体电路图如下图2-2 所示:图2-2 硬件硬件连线图2.2 温度采集与测量系统DS18B20

43、数字温度计可以读出精度为9位的温度值。数据经过单线接口送入DS18B20或从DS18B20送出,因此从中央处理器到DS18B20可以存在于同一条线。读、写和完成温度变换所需的电源可以由数据线本身提供,而不需要外部电源。因为每一个DS18B20有唯一的系列号(silicon serial number),因此多个DS18B20可以存在于同一条单总线上。这允许在许多不同的地方放置温度灵敏器件。此特性的应用范围包括HVAC环境控制,建筑物、设备或机械内的温度检测,以及过程监视和控制中的温度检测。2.2.1 DS18B20的特性1)独特的单线接口,只需1个接口引脚即可通信;2)多点(multidrop

44、)能力使分布式温度检测应用得以简化;3)不需要外部器件,可用数据线供电;4)不需备份电源;5)测量范围从-55至+125,增量值为0.5;6)以9位数字值的方式读出温度,以1秒(典型值)内把温度变换为数字;7)用户可定义的,非易失性的温度告警设置;8)告警搜索命令识别和寻址温度在编定的极限之外的器件(温度告警情况);9)应用范围包括恒温控制,工业系统,消费类产品,温度计或者任何热敏系统。2.1.2 DS18B20引脚排列图2-3 DS18B20的引脚图引脚说明GND 地DQ 数字输入输出VDD 可选的VDDNC 空引脚DNC 不连接2.2.3 DS18B20 的硬件结构DS18B20 数字温度

45、传感器的内部结构如图2-4所示。图2-4 DS18B20 数字温度传感器的内部结构它由4个主要的数据部件组成:1)64位激光ROM。64位激光ROM从高位到低位依次由8位CRC,48位列号和8位家族代码(28H)组成;2)温度灵敏元件;3)非易失性温度报警触发器TH与TL。可通过软件写入用户报警上下限值;4)配置寄存器。配置寄存器为中间结果暂存器中的字节。配置寄存器可以设置DS18B20温度转换的精度。可以设置成精度为9位、10位、11位、12位。上电缺省的分辨率为12位精度。用户可根据需要改写配置寄存器以获得合适的分辨率。DS18B20温度传感器的内部存储器结构如图2-3所示。图2-5 便笺

46、式存储器映象DS18B20温度传感器的内部存储器包括一个中间结果寄存器和一个非易失性的电可擦除E2PROM,后者存放高温报警TH、低温度报警TL和配置寄存器的值。暂存器包含了8个连续字节,前两个字节是测得的数字温度数值,第一个字节的温度是温度的低8位,第二个字节是温度的高8位。第三个和第四个字节是TH,TL,第五个字节是配置寄存器,这三个字节的值可以保存在电可擦除的只读寄存器(E2PROM)中,掉电后数据不丢失,上电复位时数据从E2PROM载入中间结果暂存器。第六,七,八字节内容保留。第九字节是循环冗余检验CRC字节。2.2.4 DS18B20的供电方式DS18B20的电源供电方式有2种:外部

47、供电方式和寄生电源方式。工作于寄生电源方式时,VDD和GND均接地,它在需要远程温度探测和空间受限的场合特别有用,原理是当1-Wire总线的信号线DQ为高电平时,窃取信号能量给DS18B20供电,同时一部分能量给内部电容充电,当DQ为低电平时释放能量为DS18B20供电。但寄生电源方式需要强上拉电阻,软件控制变得复杂(特别是在完成温度转换和拷贝数据到E2PROM时),同时芯片的性能也有所降低。因此,在条件允许的场合,尽量采用外供电方式。1)DS18B20寄生电源供电方式:在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低

48、电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。独特的寄生电源方式有三个好处:(1)进行远距离测温时,无需本地电源;(2)可以在没有常规电源的条件下读取ROM;(3)电路更加简洁,仅用一根I/O口实现测温。要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,该电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源VCC必须保证

49、在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。2)DS18B20寄生电源强上拉供电方式:为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到存储器或启动温度转换的指令后,必须在最多10S内把I/O线转换到强上拉状态。在强上拉方式下可以解决电流供应不足的题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。3)DS18B20的外部电源供电方式:如下面图1-4所示,在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,其V

50、DD端用35.5V电源供电,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85。 图2-6 DS18B20寄生电源供电方式图2-7 DS18B20温度转换期间的强上拉供电(寄生电源方式)图2-8 DS18B20外部电源供电方式2.2.5 DS18B20的ROM指令为了不引起逻辑的冲突,所有从器件的1-wire总线接口都是漏极开路的基本操作分为复位、读和写三种,其中所有的读写操作均为低位在前高位在后。复位、读

51、和写是1-wire总线通信的基础,由于操作时序已在前面介绍单总线协议的章节有所介绍,因此在此值介绍ROM功能指令。在DS18B20内部光刻了一个长度为64bit的ROM编码,这个编码是器件的身份识别标志。当总线上挂接这多个DS18B20时可以通过ROM编码对特定器件进行操作。ROM功能命令是针对器件的ROM编码进行操作的命令,共有10个,长度均为8bit(1byte)。(1)读ROM(33H)当挂接在总线上的1-wire总线器件接收到此命令时,会在主机读操作的配合下将自身的ROM编码按由低到高位的顺序依次发给主机。总线挂接有多个DS18B20时,此命令会使所有器件同时向主机传送自身的ROM编码

52、,这将导致数据冲突。(2)匹配ROM(55H)主机在发送完此指令后,必须紧接着发送一个64bit的ROM编码,与此ROM编码匹配的从器件会响应主机的后续命令,而其他从器件处于等待状态。该命令主要用于选择总线上的特定器件进行访问。(3)跳过ROM(CCH)发送这个命令后,主机不必提供ROM编码即可对从器件进行访问。与读ROM命令类似,该命令同样只适用于单节点的1-wire总线系统,当总线上有多个器件挂接时会引起数据冲突。(4)查找ROM(F0H)当主机不知道总线上器件的ROM编码时,可以使用此命令并配合特定的算法查找出来总线上的器件的数量和各个从器件的ROM编码。(5)报警查找(ECH)此命令用

53、于查找出总线上满足报警条件的DS18B20,通过报警查找命令并配合特定的算法,可以查找出总线上满足报警条件的器件数目和各个器件的ROM编码。(6)启动温度转换(44H)该命令发送完成后,主机可以通过调用ReadOneChar()函数盘算温度转换是否完成,若其返回值为0则表示转换正在进行,若返回为1则表示转换完成。(7)读RAM(BEH)给命令发送完成后,主机可以通过调用ReadOneChar ()函数将DS18B20中的内容从低位拉到高位一次读出。(8)写RAM(4EH)给命令发送出后,主机随后写入1-wire总线的3字符将依次被存储到DS18B20的报警上限、报警下限和配置寄存器中。(9)复

54、制RAM(48H)该命令会将DS18B20的报警上限和配置寄存器中的内容复制到EEPROM中。该命令发出去后,主机可以通过调用ReadOneChar()函数判断复制操作是否完成,ReadOneChar()的返回值为1,则表示复制操作完成。(10)回读EEPROM(B8H)该命令会将存储在EEPROM中的报警上限、报警下限和配置寄存器的内容回读到RAM中,主机可以通过调用ReadOneChar()函数判断回读操作是否完成,若返回值为1则表示回读操作完成。DS18B20在上电时会自动进行一次回读操作。为了方便查看,我将常用指令画作表格如表2-2: 表2-2 DS18B20常用指令指令约定代码 操作

55、说明温度转换 44H 启动DS18B20进行温度转换 读暂存器 BEH 读暂存器9个字节内容 写暂存器 4EH 将数据写入暂存器的TH、TL字节 复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中 重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节 读电源供电方式B4H启动DS18B20发送电源供电方式的信号给主CPU 2.2.6 DS18B20的测温原理DS18B20的测温原理如图2-7所示。图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2

56、的脉冲输入。图中还隐含着记数门,当记数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行记数,进而完成温度测量。记数门的开启时间由高温度系数振荡器来决定,每次测量前首先将-55所对应的一个基数分别置入减法计数器温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法记数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置值将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行记数,如此循环直到减法计数器2记数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值就是所测温度值。图2

57、-8中的斜率累加器用于补偿和修正测温过程中的非线性误差,其输出用于修正减法计数器的预置值,只要记数门仍未关闭就重复上述过程,直到温度寄存器值达到被测温度值。图2-8 DS18B20的测温原理2.3 显示系统2.3.1 LCM1602显示模块LCD1602液晶显示器由5V供电,可以显示2行,每行可显示16个字符。LCD1602共有16个端口,其中有5个端口与电源连接,8个端口与单片机直接进行数据通信,另有3个是LCD1602的控制端。单片机通过数据通信端可以向LCD1602执行读写操作。 LCD1602实物图如图2-9和图2-10所示:图2-9 LCM1602模块的背面实物图图2-10 LCM1

58、602模块的正面实物图LCM1602字符型液晶显示模块的基本特点: 液晶显示屏是以若干个5X8或5X11点阵块组成的显示字符群。每个点阵块为一个字符位,字符间距和行距都为一个点的宽度。 主控制驱动电路为HD44780(HITACHI)以及其他公司全兼容电。具有字符发生器ROM可显示192种字符(160个5X7点阵字符和32个5X10点字符)。 具有64个字节的自定义字符RAM,可自定义8个5X8点阵字符或4个5X11点阵字符。 具有80个字节的RAM。 标准的接口特性,适配M6800系列MPU的操作时序。 模块结构紧凑、轻巧、装配容易。 单+5V电源供电(宽温型需要一个-7V的驱动电源)。 低

59、功耗、长寿命、高可靠性。2.2.3 LCM1602管脚分布LCM1602 液晶显示模块的管脚分布资料如下表2-3所示:表2-3 LCM1602 引脚引脚号符号状态功能1Vss电源地2Vdd+5V逻辑电源3V0液晶驱动电源4RS输入寄存器选择 1:数据 0:选择5R/W输入 读写操作选择 1:读 0:写6E输入使能信号7DB0三态数据总线(LSB)8DB1三态数据总线9DB2三态数据总线10DB3三态数据总线11DB4三态数据总线12DB5三态数据总线13DB6三态数据总线14DB7三态数据总线(MSB)15BLA背光电源正极16BLK背光电源负极2.4 报警系统及输入设备本设计的报警系统分为声

60、音报警和灯光报警两部分组成,其中声音报警时又一个蜂鸣器焊接成的报警电路,而灯光报警是由4红(上限)4绿(下限)八个LED灯组成。输入部分有四个独立按键(button)组成,分别命名为“SET”、 “ADD”、 “SUB”、和“OK”。该部分电路是通过按键可以设置温度上限和温度下限,红色LED和黑色LED分别用于各路上限和下限的报警。蜂鸣器在其中有一路打到报警条件时候就开始报警。2.5 最小系统外围电路2.5.1 PC机与单片机的串行通信接口电路在设计硬件接口电路时,应充分考虑到电路的电气特性、逻辑电平以及驱动能力的匹配问题,若匹配得不好,将会导致通信失败。 本文采用MAX232作为PC机与单片

温馨提示

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

评论

0/150

提交评论