多通道温度巡检系统设计课程设计说明书.doc
《多通道温度巡检系统设计课程设计说明书.doc》由会员分享,可在线阅读,更多相关《多通道温度巡检系统设计课程设计说明书.doc(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘 要设计一个八路温度巡检系统,用八路DS18B20温度传感器分别检测外界八个不同地点的温度信息,通过AT89C51单片机接收八路温度传感器所返回的信息,经过单片机处理后将温度值和通道数等信息传输到LCD液晶显示器进行显示。文中详细论述了温度传感器DS18B20的工作原理、温度信息处理过程、温度显示过程、系统的硬件设计方案以及软件程序设计。关键词:八路温度巡检;DS18B20;AT89C51;LCD目 录摘 要 I1 绪论 11.1 设计任务及意义.1 1.2 DS18B20温度检测原理.12 系统总体方案设计.52.1 系统总体方案框图.52.2 各模块的功能.53 硬件电路的设计.63.1
2、 温度检测电路.63.2 液晶显示电路.63.2.1 LM016L介绍.63.2.2 LM01与51单片机的连接.73.3 晶振电路.83.4 复位电路.83.5 电源电路.94 系统软件设计.104.1系统软件流程图.104.2程序设计.104.2.1DS18B20的程序设计.104.2.2LM017L液晶的程序设计.114.2.3主程序设计.125 系统仿真.135.1 仿真电路的设计.135.2仿真结果.13总 结.15参 考 文 献.16致 谢.17附录B 程序清单.191 绪论1.1 设计任务及意义本设计实现八路温度检测,要求检测温度范围为-55125摄氏度,用LCD液晶显示器同时显
3、示测量温度值和通道编号,每3秒钟显示一路温度信息。以摄氏度为单位,要求能够实现小数的显示。温度检测在现实生活、生产当中应用比较普遍,而且起着相当大的作用,特别是一些工业的应用当中,温度的检测更是重要的环节,温度的检测和控制直接和安全生产、产品质量、生产效率、节约能源等重大技术指标相联系。而多路温度的检测在一些范围比较大的施工场地或者监控现场的应用更是广泛,为应用者提供了现场多点的实时环境温度信息。1.2 DS18B20温度检测原理DS18B20是DALLAS公司生产的单总线式数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配处理器等优点,特别适用于构成多点温度测控系统,可直接将温
4、度转化成串行数字信号(提供9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片。它具有3引脚TO-92小体积封装形式(如图1.1),测温范围为-55+125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生,多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。DS18B20的内部结构:(1)ROM在DS18B20内部光刻了一个长度为64-bit的ROM,这个是编码器件的身份识别标
5、志,如下图所示: 图1.1 DS18B20 图1.2 DS18B20的ROM64-bit光刻ROM的排列顺序是:开始(最低)8位是产品类型标号,对于DS18B20来说就是(28H);接着的48位是器件自身的序列号;最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1).光刻ROM的作用是使每个DS18B20都不相同,这样可以实现一根总线上挂接多个DS18B20的目的。对ROM操作的几种指令:(2)RAM高速暂存存储器由9个字节组成,包含了8个连续字节,前面两个字节是测得的温度信息,第一个字节的内容是温度的低8位,第二个字节是温度的高8位。第三个和第四个字节是温度高限TH和温度底限
6、TL的暂存区,第五个字节是配置寄存器暂存区,第6、7、8、9字节是系统保留用,相当于DS18B20的运算内存,第9个字节是冗余校验字节。RAM内部字节分布如下表所示:表1-1 DS18B20 RAM字节分布对RAM操作的几种指令:(3)EPROMEEPROM只有三个字节,和RAM的第2、3、4字节的内容相对应,它的作用就是存储RAM第2、3、4字节的内容,以使这些数据在掉电后不丢失。可能通过几条命令将RAM的该3个字节内容复制到EEPROM或从EEPROM将该3个字节内容复制到RAM的第2、3、4字节去。因为我们从外部想改写报警值和器件的设置都是只对RAM进行操作的。要保存这些设置后的数据就还
7、要用相应的命令将RAM的数据复制到EEPROM去。DS18B20是单总线器件,通讯协议包括几种单线信号类型:复位脉冲、存在脉冲、写0、写1、读0、读1。所有这些信号,除存在脉冲外,其余都是由总线控制器(单片机)发出的。根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成一次操作经过三个步骤:要对DS18B20进行复位操作;复位成功后发送一条ROM指令;最后发送RAM指令,这样才能对DS18B20进行预定的操作。2 系统总体方案设计系统采用一片AT89C51芯片、八个DS18B20温度传感器和一个LCD液晶显示器,将八个DS18B20并联在单片机的同一个I/O口上,这样可以达到节约
8、I/O的目的,至于单片机怎样分别去读取每一个温度传感器的温度信息,则由软件部分考虑。2.1 系统总体方案框图八路温度巡检系统的总体设计框图如图2.1所示:图2.1八路温度巡检系统框图2.2 各模块的功能温度传感器DS18B20可实施对外界温度的检测,检测到的温度会保存在自身的ROM里。而对DS18B20的读写控制操作都是通过一根DQ信号线来完成的,对它的操作要严格按照时序进行,这使得对它的编程增加了难度。而同时正是DS18B20的一线性,使它可以轻松地在AT89C51的控制下组成八路检测系统。AT89C51检测到温度信息后对其进行处理,还原其真实温度,并将其显示在LCD上。LCD液晶显示器主要
9、负责显示从单片机处所传来的温度值和通道数等信息,并且将八路的信息进行循环显示。3 硬件电路的设计3.1 温度检测电路八个DS18B20与51单片机的电路连接入图3.1所示:图3.1 温度检测电路连线图八个DS18B20的DQ口都同时并联在单片机的P1.0口上。3.2 液晶显示电路3.2.1 LM017L介绍字符型LM017L是一款能显示两行且每行能显示32个字符的液晶显示屏。通常采用日立公司生产的控制器HD44780作为LCD的控制芯片。凡是是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以方便地应用于市面上大部分的字符型液晶。LM017的外形如图3.2所
10、示:图3.2 LM017LLM017L的引脚功能如下表所示:表3-1 LM017L的引脚功能表3.2.2 LM017L与51单片机的连接LM017L与51单片机的接口原理图如图3.3所示:图3.3 LM017L与单片机的连接图3.3 晶振电路晶振是给单片机提供工作信号脉冲的,这个脉冲就是单片机的工作速度,比如12M晶振,单片机工作速度就是每秒12M,和电脑的CPU概念一样。当然,单片机的工作频率是有范围的,不能太大,一般不能超过24M,不然就会不稳定了。 51系列单片机的时钟信号通常有两种电路形式:内部振荡方式和外部震荡方式。在引脚X1和X2外接晶体振荡器,就构成了内部振荡电路,如图3.4所示
11、。晶振与单片机的脚X1和脚X2构成的振荡电路中会产生偕波,这个波对电路的影响不大,但会降低电路的时钟振荡器的稳定性。为了电路的稳定性起见,ATMEL公司建议在晶振的两引脚处接入两个10pF50pF的瓷片电容接地来削减偕波对电路的稳定性的影响,所以晶振所配的电容在10Pf50pF之间都可以的,没有什么计算公式。这两个电容除了稳定振荡频率,还可以起到快速起振的作用。晶振常选用频率为6MHz、12MHz或24MHz的,采用串口时常使用频率为11.0592MHz的晶振。内部振荡方式所得到的时钟信号比较稳定,应用较多。图3.4 晶振电路3.4 复位电路单片机在启动时都需要复位,以使CPU及系统各部件处于
12、确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位,本设计中采用的是手动按钮复位方式。手动按钮复位需要人为在复位输入端RESET上加入高电平。一般采用的办法是在RESET端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RESET端,也可以直接在另一端接一个+5V电源。手动按钮复位的电路如3.5所示。由于人的动作再快也会使
13、按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。图3.5 复位电路3.5 电源电路在本系统中,有很多芯片都需要电源,所以需要设计一个电源模块。电源电路原理图如图3.6所示。220V的交流电经变压器T1降压后,得到+9V的交流电,再经过桥式整流和电容滤波的作用,最终得到+5V的直流电,为系统提供电源。三端稳压器7805在电路中起稳压作用,交流电经整流滤波后,由三端稳压器稳压后,输出稳定的直流电。图3.6 电源电路4 系统软件设计本次设计采用的编程语言是C51语言,开发工具是Keil Vision4版本。 4.1 系统软件流程图系统的软件流程图如下图所示:图4.1 系统软件流程图4.2
14、程序设计4.2.1 DS18B20的程序设计DS18B20的程序中主要包含以下函数:extern void ds18b20_init(void); /初始化extern unsigned char ds18b20_readdata(void); /读DS18b20的温度数据extern void ds18b20_writecommand(unsigned char command);/向DS18B20写命令字extern void temperature_process(unsigned char,unsigned char); /数值处理,把读回的温度分解成整数和小数部分,并转换成ASIC码
15、 /存放在xiaoshu_temp5,zhen_temp4; extern unsigned char *read_rom(void); /读DS18b20中ROMextern bit match_rom(unsigned char *rom); /匹配ROM具体程序内容见附录B中。4.2.2 LM017L液晶的程序设计LM017L的程序中主要包含以下函数:/*功能:写LCD函数 */void Lcd_Write(bit style,unsigned char input);/*功能:LCD初始化 */void Lcd_Init(void);/*功能:显示位置设置 *参数:x-行;y-列 */
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通道 温度 巡检 系统 设计 课程设计 说明书
限制150内