武汉大学优秀毕业论文基于单线制的多点温度采集系统Word下载.docx
- 文档编号:21940350
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:28
- 大小:322.25KB
武汉大学优秀毕业论文基于单线制的多点温度采集系统Word下载.docx
《武汉大学优秀毕业论文基于单线制的多点温度采集系统Word下载.docx》由会员分享,可在线阅读,更多相关《武汉大学优秀毕业论文基于单线制的多点温度采集系统Word下载.docx(28页珍藏版)》请在冰豆网上搜索。
3.2温度采集模块…………………………………………………………13
3.3显示电路模块…………………………………………………………15
3.4键盘电路………………………………………………………………17
3.5报警电路………………………………………………………………18
第三章系统软件设计
4.1软件程序………………………………………………………………19
结论………………………………………………………………………………20
参考文献…………………………………………………………………………21
附录………………………………………………………………………………22
后记………………………………………………………………………………28
第一章
绪论
自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。
单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。
单片机在国内的三大领域中应用得十分广泛:
第一是家用电器业,例如全自动洗衣机、智能玩具;
第二是通讯业,包括电话、手机和BP机等等;
第三是仪器仪表和计算机外设制造,例如软盘、硬盘、收银机、电表。
除了上述传统领域外,汽车、电子工业在国外也是单片机应用十分广泛的一个领域。
它成本低、集成度高、功耗低、控制功能多能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪器中的误差的修正、线性处理等问题。
单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。
单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。
同时,单片机具有较强的管理功能。
采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。
温度作为作物生长一个非常重要的参数,温度的变化影响作物的发芽、幼苗的成长、作物的开花、果实的成熟等等。
对于不同的作物,其适宜的生长温度总是在一个范围。
超过这个范围,作物或许会活着,但是其生长的规律将发生明显的变化。
这对于我们所希望的要求作物能够优质、高产的愿望相距甚远,所以我们必须实时获取作物生长的环境温度。
对于,超过作物生长适宜范围的温度能够报警。
同时,我们也希望作物的适宜温度范围可以由检测人员根据实际情况加以改变。
同时,由于作物分布空间的狭小,各点的温度在同一时间上可能存在差异,所以对于温室必须采取多点采集,以保证能够更准确的获知作物生长的实时温度。
本设计就是基于单片机AT89C51设计的实时温度采集。
通过小键盘实现对
不同路温度数据的切换显示。
同时,也可利用小键盘实现温度最大最小值的设
定。
对于超过此限的温度数据将产生报警信号。
第二章
方案论证
温度检测可以使用低温热偶或铂电阻,数据采集部分则使用带有A/D通道的单片机。
考虑到一般的A/D输入通道都只能接收大信号,所以还要设计相应的放大电路。
而模拟信号在长距离传输过程中,抗电磁干扰是令人伤脑筋的问题。
此方案的软件简单,但硬件复杂,且检测点数追加时,各敏感元件参数的不一致性,都将会导致误差的产生,难以完全清除,而且成本会有较大增长幅度。
DALLAS公司的DS18B20单总线数字传感器工作温度范围是-55℃~125℃,在-30℃~85℃范围内温度测量精度为±
0.5℃;
具有温度报警功能,用户可设置最高和最低报警温度,且设置值掉电不丢失;
采用DALLAS公司特有的单总线通信协议,只用一条数据线就可实现与MCU的通信;
此外,这类温度传感器直接输出数字信号,且多路温度传感器可以挂在1条总线上,共同占用单片机的1个I/O口即可实现。
在提升单片机I/O口驱动能力的前提下,理论上可以任意扩充检测的温度点数。
DS18B20具有下列特点:
①具有高的测量精度和分辨率,测量范围大;
②抗干扰能力强,稳定性好;
③信号易于处理、传送和自动控制;
④便于动态及多路测量,读数直观;
⑤安装方便,维护简单,工作可靠性高;
6够直接从数据线获得电源,无需外部电池供电。
综上所述故选用DS18B20作为温度传感器
2.2为什么要选用AT89C51单片机?
单片机,专业名称—MicroControllerUnit(微控制器件),它是由INTEL公司发明的,最早的系列是MCS-48,后来有了MCS-51,现在还有MCS-96系列,我们经常说的51系列单片机就是MCS-51,它是一种8位的单片机,而MCS-96系列则是一种16位的单片机,,目前在我国比较流行的就是美国ATMEL公司的89C51,它是一种带FlashROM的单片机
AVR系列单片机也是ATMEL公司生产的一种8位单片机,它采用的是一种叫RISC(精简指令集单片机)的结构,所以它的技术和51系列有所不同,开发设备也和51系列是不通用的,它的一条指令的运行速度可以达到纳秒级(即每秒1000000000次),是8位单片机中的高端产品。
由于它的出色性能,目前应用范围越来越广,大有取代51系列的趋势,IC系列单片机,它是美国MICROCHIP公司,微芯公司的生产的另一种8位单片机,它采用的也是RISC的指令集,它的指令系统和开发工具与51系列更是不同,但由于它的低价格和出色性能,目前国内使用的人越来越多,国内也有很多的公司在推广它,不过它的影响力远没有51系列的大,所以作为初学者,51系列当然是首选。
且AT89C51单片机有以下特点:
与MCS-51兼容
4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24Hz
三级程序存储器锁定
128*8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
综上所述故选用AT89C51单片机
单片机系统所用的键盘有编码键盘和非编码键盘两种。
编码键盘本身除了按键之外,还包括产生键码的硬件电路。
只要按下编码键盘的某一个键,它就能产生这个键的代码,并称为键码,与此同时还产生一个脉冲信号,以通知CPU接收键码,编码键盘的优点是使用比较方便,亦不需要编写太复杂的程序。
其缺点是使用的硬件较复杂。
非编码键盘的按键是排列成行、列矩阵形式的。
按键的作用只是简单地实现接点的接通或断开,因此必须有一套相应的程序与之配合,才能产生相应的键码,非编码键盘几乎不需要附加什么硬件电路。
因此为了简洁电路,我使用非编码键盘。
但使用非编码键盘需要通过软件来解决按键的识别、防抖动以及如何产生键码的问题。
在这里我们使用非编码键盘电路,通过小键盘实现对不同温度数据的采集与切换显示。
综上所述故需设置键盘电路
第三章
系统硬件设计
3.1系统控制模块
图3.1系统控制模块
1.AT89C51功能简介:
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图3.2所示:
主要特性:
与MCS-51兼容
4K字节可编程闪烁存储器
0Hz-24MHz
128×
8位内部RAM
5个中断源
可编程串行通道
片内振荡器和时钟电路
管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P3口管脚备选功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止
2.复位电路
复位是单片机的初始化操作,其作用是使CPU中的各个部件都处于一个确定的初始状态,并从这个状态开始工作。
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种基本形式:
上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。
常用的按键复位电路如图3.2所示。
按键后:
电容器被短路放电、RST直接和VCC相连,就是高电平,此时进入“复位状态”。
松手后:
电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到RST,仍然是“复位状态”;
稍后,充电结束,电流降为0,电阻上的电压也将为0,RST降为低电平,开始正常工作。
单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。
图3.289c51单片机
图3.389c51单片机复位电路
3.时钟电路:
在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。
根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式,为保证系统的稳定性,我们这里采用内部时钟方式如图3.3所示。
图3.4
时钟电路
在内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz~12MHz之间。
对于外接时钟电路,要求XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12MHz即可。
晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。
时钟信号的周期称为状态时间S,它是振荡周期的2倍,P1信号在每个状态的前半周期有效,在每个状态的后半周期P2信号有效。
CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。
3.2温度采集模块
1.DS18B20传感器性能简介:
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型的一线式智能数字温度传感器,与传统的热敏电阻等测温元件相比,他能直接读出北侧温度,并且可根据实际要求通过简单的编程实现9---12位的数字值读书方式。
DS18B20有以下的性能特点:
独特的单线接口仅需要一个端口引脚进行通信。
多个DS18B20可以并联在唯一的三线是,实现多点组网功能。
无需外部器件。
可通过数据线供电,电压范围为3.0---5.5V。
零待机功耗。
温度测量范围为-55℃~+125℃。
温度以9或12位数字量读出,即可编程为9~12位A/D转换精度。
测温分辨率可达0.0625℃。
适用于远距离多点温度检测系统。
用户可定义的非易失性稳定报警设置。
报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件。
负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
DS18B20可以采用两种方式供电。
一种是采用电源供电方式,如图3.4所示,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。
另一种是寄生电源供电方式,如图3.5所示。
单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。
当DS18B20处于写存储器操作和温度A\D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。
处于寄生电源供电方式时Vdd和GND端均接地。
由于单线制只有一根线,因此发送接口必须是三态的。
DS18B20的内部结构
DS18B20主要由4部分组成:
64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如图3.6所示,DQ为数字信号输入/输出端;
GND为电源地;
VDD为外接供电电源输入端。
图3.6
DS18B20的管脚图
ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。
ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
2.DS18B20与单片机的典型接口设计:
图3.7以MCS-51系列单片机为例,画出了DS18B20与微处理器的典型连接。
DS18B20采用寄生电源方式,其VDD和GND端均接地。
单片机系统所用的晶振频率为12MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写了3个子程序:
INIT为初始化子程序,WRITE为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始。
主机控制DS18B20完成温度转换必须经过三个步骤:
初始化、ROM操作指令、存储器操作指令。
必须先启动DS18B20开始转换,再读出温度转换值。
如果一线上挂接多个DS18B20、采用寄生电源连接方式、需要进行转换精度配置、高低限报警等,则子程序GETWD的编写就要复杂一些。
3.3显示电路模块
1.74ls138译码器功能简介:
74ls138是一个3线-8线译码器,它有三个数据输入端,八个输出端,3个使能输入端(一个高电平有效和两个低电平有效)。
其功能表如下所示:
2.MC14495译码器功能简介:
MC14495是由4位锁存器、地址译码、笔段ROM阵列以及带有限流电阻的驱动电路部分电路组成。
图3.8中A、B、C、D为二进制码输入端;
LE为所存控制端,LE为低电平时可以输入数据,LE为高电平时锁存输入数据;
h为输入数据大于等于10指示位,若输入数据大于或等于10,则h输出高电平,否则输出为低电平。
在此处的作用是输入被显字符的二进制码,并把它自动转换成相应字型码,送给LED显示。
3.LED数码管接法比较:
LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
4.LED数码管驱动原理:
采用技术成熟的74LS138实现串并转换。
LED显示分为静态显示和动态显示。
这里采用静态显示,系统通过单片机的串行口来实现静态显示。
串行口为方式零状态,即工作在移位寄存器方式,波特率为振荡频率的1/12。
当器件执行任何一条将SBUF作为目的寄存器的命令时,数据便开始从RXD端发送。
在写信号有效时,相隔一个机器周期后发送控制端SEND有效,即允许RXD发送数据,同时本设计中用6个LED组成显示单元,采用静态显示方式。
如图3.9所示:
图3.9
显示电路
3.4键盘电路
组成键盘的按钮有触点式和非触点式两种,单片机中应用的一般是由机械触点组成的。
在下图中,开关S未被按下时,P1.0输入为高电平,S闭合后,P1.0输入为低电平。
由于按钮是机械触点,当机械触点断开、闭合时,会有抖动。
这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全能感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个“漫长”的时间了。
中断时按钮有时灵,有时不灵,其实就是这个原因,你只按了一次按钮,可是计算机却已执行了多次中断的过程。
为使CPU能正确地读出P1口的状态,对每一次按钮只作一次响应,就必须考虑如何去除抖动,常用的去抖动的办法有两种:
硬件办法和软件办法。
单片机中常用软件法。
软件法就是在单片机获得P1.0口为低的信息后,不是立即认定S1已被按下,而是延时10毫秒或更长一些时间后再次检测P1.0口,如果仍为低,说明S1的确按下了,这实际上是避开了按钮按下时的抖动时间。
而在检测到按钮释放后(P1.0为高)再延时5-10个毫秒,消除后沿的抖动,然后再对键值处理。
不过一般情况下,常常不对按钮释放的后沿进行处理。
图3.10为键盘与单片机的连接。
3.5报警电路
对于本设计只要超过我们设定的温度值的范围就会产生声光报警,所以我们要在系统中设计报警电路,对于超过此限的温度数据将产生报警信号。
第4章软件设计
4.1软件流程
结论
本设计用MCS-51单片机为主要硬件,设计了包括温度采集,温度显示,键盘电路和声光报警电路。
而且对所设计电路部分给出了相应的软件设计,在温度测量部分采用具有“单线多点”的数字传感器D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉大学 优秀 毕业论文 基于 单线 多点 温度 采集 系统