基于单片机的湿度采集系统设计3.docx
- 文档编号:25807095
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:36
- 大小:1.77MB
基于单片机的湿度采集系统设计3.docx
《基于单片机的湿度采集系统设计3.docx》由会员分享,可在线阅读,更多相关《基于单片机的湿度采集系统设计3.docx(36页珍藏版)》请在冰豆网上搜索。
基于单片机的湿度采集系统设计3
XXXX学院
单片机课程设计报告
题目:
基于单片机的温度采集系统设计
学生姓名
XXX
学号
0910XXX
专业
计算机科学与技术
班级
2009级1班
指导教师
张X
学部
计算机科学与电气工程
课程设计时间
2012年5月19日
基于单片机的温度采集系统设计
摘 要
随着微机测量和控制技术的迅速发展与广泛应用,以单片基为核心的温度采集系统与控制系统的雅法与应用在很大程度上提高了生产生活的对温度的控制水平。
本设计论述了一种以STC89C52单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。
该控制系统可以实时储存相关的温度数据并记录当前的时间。
系统设计了相关的硬件电路和相关的应用程序。
硬件电路主要高空STC89C52单片机最小系统18B20测温电路,温度显示电路,报警电路等。
系统程序主要包括主程序,读温度子程序,计算温度子程序,按键处理子程序,LCD显示子程序等。
关键词:
STC89C52单片机;DS18B20;显示电路
[关键词与摘要内容隔行书写,词条用小四号宋体字,词条间用分号(;)隔开,3-5个关键词]
小提示:
当需要从网站或者文档复制到本文档时,先将文字复制到文本文档,然后再从文本文档复制到本文档的相应位置,这样就能够保证格式是正确的!
此行不会被打印
千万不要删除行尾的分节符,此行不会被打印。
(在word菜单-工具-选项-视图标签中,格式标记部分请全部打对号,这样就可以看到隐藏的分节符和空格等信息了)
目 录
千万不要删除行尾的分节符,此行不会被打印。
在目录上点右键“更新域”,然后“更新整个目录”
基于单片机的温度采集系统设计
第1章
1.1课题设计背景
随着社会的进步和工业技术的发展,人们越来越重视温度因素,许多产品对温度范围要求严格,而且目前市场上普遍存在的温度检测仪器大都是单点测量,同时还有温度信息传递不及时、精度不够的优点,不利于工业控制者根据温度变化时做出决定。
在这样的形式下,开发一种能狗同时测量多点,并且实时性高、精度高、能够综合处理多点温度信息的测量系统就很有必要。
1.2课题设计的目的和意义
温度是工业生产过程中重要的被控参数之一,在冶金、机械、食品、化工等各类工业生产过程中广泛使用的各种加热炉、热处理炉、反应炉,对工件的处理温度等均需要对温度严格控制。
随着现代信息技术的飞速发展和传统工业的逐步实现,由微机构成的温度测控系统已在众多领域被采用。
该课题就是解决对工业现场温度信号的采集控制和传输问题。
伴随着计算机技术和网络技术的发展,工业参数的数字采集促进了现场总线(Fieldbus)技术的发展,目前现场总线已经从当初的4~20mA电流信号加载数字信号,发展成为全数字通讯,解决了现场信号远距离高速传送问题,而且提高了抗干扰性能,增加了系统配置的灵活性,节省了硬件投资,是未来生产自动化和过程控制的发展方向。
较有影响的总线有:
CAN.LONWORKS.PROFIBUS.FF等。
虽然这些总线无主从方式工作,速度较快、网络支持较完善,但系统造价高,应用受到限制。
而RS-485总线主机调度网以其制造容易、造价低、软硬件丰富、配置灵活等特点,得到了广泛的应用。
它不仅具有良好的抗噪声干扰性,较远的传输距离,而且它可以实现多点互联,还可以实现全双工通信,因此对远程温度采集控制系统的研究具有现实的意义和实际的价值。
1.3主要研究内容
本文主要介绍了一个基于STC89C52单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件变成一节个模块系统流程进行了详尽分析,特别是数字温度传感器DS18B20的数据采集过程。
对各部分的电路也一一进行了介绍,该系统可以方便DS18B20的数据采集过程。
对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设计上下限报警温度,他使用起来相当方便、具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
DS18B20与STC89C52结合实现最简单检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,和广泛的应用前景。
第2章系统设计的方案
2.1数字温度计的设计方案
2.1.1方案一
由于本设计是测温电路,可以使用热敏电阻之类的期间利用其敏感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值得计算感温电路比较麻烦。
而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。
2.1.2方案二
考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一直温度传感器DS18B20,此传感器,可以很容易直接读取被测量温度,进行转换,电路简单,精度高,软硬件都可以实现,而且使用单片机的借口便于系统的在扩展,满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设计也比较简单,故采用了方案二。
2.2系统总体框图
2.3系统的功能
温度测量功能:
利用DS18B20数字温度传感器实现对温度进行准确的测量,使温度值显示到数码管上。
2.4系统优点
2.4.1线路简单
DS18B20与单片机之间一根导线进行数据传输,不需要对数据进行转换,接线简单。
2.4.2温度测量准确
DS18B20的温度分辨率为0.0625,所以对温度值可以进行准确的温度转换。
注意:
除第一章绪论外,其他每一章都应该有一个本章小结
第3章主要硬件模块
3.1STC单片机
3.1.1STC单片机功率介绍
单片机是随着大量继承电路的出现及其发展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机。
因此单片机早期的含义称为单片微型计算,它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能高、低电压、低功耗的显著优点。
主要应用与只能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果。
单片机应用系统可以分为:
(1)最小应用系统是指能维持单片机运行的最简单配置的系统。
这种系统成本低廉,结构简单,常构成一些简单的控制系统,如开关状态的输入、输出控制系统等。
片内ROM/EPROM的单片机,其最小应用系统即为配有晶振,复位电路,电源的单个单片机。
片内无ROM/EPROM的单片机,其最小应用系统除了外部位置晶振,复位电路,电源外,还应外接EPROM或EEPROM最为程序储存器用。
(2)最小功耗应用系统是指为了保证正常运行,系统的功耗最小。
(3)典型应用系统是指单片机要完成工业测控功能所必须的硬件结构系统。
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash储存器。
使用Atmel公司高密度非易失性除汛期技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序储存器在系统可编程,亦遁于常规编程器。
在单芯片上,拥有灵巧的8为CPU和在系统可编程Flash,使得STC89C52具以下标准的功能:
8k字节Flash,256字节RAM,32为I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器一个6向量2级中断结构,全双工串行口,片内晶振及时种电路,另外STC89C52可降至0Hz静态逻辑操作,支持两种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,知道下一个中断或硬件复位为止。
3.1.2STC89C52单片机引脚结构
3.1.3STC89C52单片机引脚功能
WCC:
电源
GND:
地
PO口:
PO口一个8为漏级开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对PO端口写“1”是时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,PO口也被作为低8位地址/数据服用。
在这种模式下,PO具有内部上拉电阻。
在Flash编程时,PO口也用来接受指令字节:
在程序校验时,需要外部上拉电阻。
P1口:
PI口是一个具有内部上拉电阻的8为双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高此时可以作为输入口的使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL).此外,P1.0和1.2分别做定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。
在Flash编程和校验时,P1口接受低8位地址字。
P2口:
P2口是一个具有内部上蜡点距的双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时内部上拉电阻把端口拉高,此时可以作为输入口和使用,作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电邮(IIL)。
在访问外部程序储存器或用16位地址读取外部数据存储器时,P2口送出高八位地址,在这种应用中,P2口使用很强的内部上拉发送1.在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容,在flash编程的校验时,P2口也接受高8位地址字节和一些控制信息。
P3口:
P3口是一个具有内部上拉电阻的8为双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平,对P3端口写“1”时内部上蜡电阻把窗口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉蒂的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接受一些控制信号。
RST:
复位输入,晶振工作时,RST脚持续2个及其周期高电平将使单片机复位。
看门狗机计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR上的DISRT0位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG:
地址锁存器控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PGOG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次方位外部数据存储器时,ALE脉冲将会跳过,如果需要,它能够过将抵制为9EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位地址为8EH的SFR的第0位)的设置对控制器处于外部执行模式下无效。
PSEN:
外部程序储存器选通信号PSEN是外部程序存储器选通信号。
当STC89C52从外部程序存储器执行外部代码时,PSEN在每个及其周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端
3.2系统模块
系统由单片机最小系统、显示电路、按键、18B20温度传感器、蜂鸣器报警电路组成。
3.2.1系统原理图
3.2.2芯片引脚功能介绍
晶振电路采用11.0592MHZ,
复位电路采用上电加按钮复位
内部方式:
在XTAL1和XTAL2端外接石英晶体作定时单元,内部方向放大器自激振荡,产生时钟。
时钟发生器对振荡脉冲二分频,即若石英频率fosc=6MHz,则时钟频率=3MHz.因此,时钟是一个双向信号,由p1相和P2相构成。
Fosc可在1.2~12MHz之间选择,小电容可以取30uf左右。
晶振电路
复位电路、
RST引脚是复位信号的输入端。
复位信号是高电平有效。
高电平有效的持续时间应为24个振荡周期以上。
若是时钟频率为6MHz,则复位信号至少应持续4us以上,才可以使单片机复位。
复位以后,07H写入栈指针SP,P0口~P3口均置1(允许输入),程序计数器PC和其他特殊功能寄存器SFR全部清零。
只要该脚保持高电平,89C52便循环复位。
当RST端由高变低后,89C52由ROM的0001H开始执行程序。
89C52的复位不影响内部RAM的内容。
当Vcc加电后,RAM的内容是随机的。
3.3液晶显示电路介绍
3.3.1主要芯片功能介绍
LCD1602液晶显示模块为工业字符型液晶,能够同时显示16x02即32个字符。
(16列2行)
3.3.2芯片内部结构介绍
LCD1602液晶显示模块的内部结构如下图所示分为三部分:
一为LCD控制器,二为LCD驱动器,三为LCD显示装置。
3.3.2.1引脚介绍
第1脚:
VSS为电源地
第2脚:
VDD接5V电源正极
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
3.3.3报警温度调整按键电路
3.3.4温度传感电路
3.3.5报警电路
3.4DS18B20数字温度传感器介绍
3.4.1特性介绍
◆独特的单线接口仅需一个端口引脚进行通讯
◆简单的多点分布应用
◆无需外部器件
◆可通过数据线通电零待机功耗测温范围-55v℃~+125℃,以0.5℃递增。
华氏器件—67~+2570F,以0.90F递增
◆温度以9或12位数字量读出
◆温度数字量转换时间200ms(典型值)
◆用户可定义的非易失性温度报警设置
◆报警搜索命令之别并标志超过程序限定温度(温度报警条件)的器件
◆应用包括温度控制、工业系统、消费品、温度计或任何传感测系统
说明:
DS1820数字温度计以9位或12位数字量的形式反映那个器件的温度值
DS1820通过一个单线接口发送或接受信息,因此在中央微处理器和DS1820之间仅需一个连接线(加上地线)。
用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。
因为每个DS1820都有一个独特的片序列号,所以多只DS1820可以同时连载一根单线总线上,
这样就可以把温度传感器放在许多不同的地方。
这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程检测和控制等方面非常有用。
3.4.2引脚介绍
引脚说明
GND-地
DQ-数据I/Q
VDD-可选VDD
NC-空脚
16脚SSOP
PR35
符号
说明
9
1
GND
接地
8
2
DQ
数据输入/输出脚。
对于单线操作:
漏极开路
7
2
VDD
可选的VDD引脚
3.4.3访问18B20协议
通过单线总线端口访问DS1820的协议如下:
●初始化
●FOM操作命令
●存储器操作命令
●执行/数据
1初始化
通过单线总线的所有执行(处理)都从一个初始化序列开始,初始化序列包括一个由总线控制器发出的复位脉冲和跟有其后由从即发出的存在脉冲。
存在脉冲让总线控制器知道DS1820在总线上且已准备好操作。
2ROM操作命令
一旦总线控制器探测在到一个存在脉冲,它就可以发出5个ROM命令中的任一个。
所有ROM操作命令都8位长度。
下面是这些命令
ReadROM[33h]
这个命令允许总线控制器读到DS1820的8位序列编码、唯一的序列号和8位CRC码。
只有在总线上存在单只DS1820的时候才能使用这个命令。
如果总上有不之止一个从机,当所有从机试图同时传送信号时就会发生数据冲突。
MarchROM[55h]
符合报警条件的情况,DS1820才会响应这条命令。
报警条件定义为温度高于TH或低于TL。
只要DS1820不掉电,报警状态将一直保持,直到再一次测得的温度达不到报警条件。
3.5本章小结
注意:
除第一章绪论外,其他每一章都应该有一个本章小结
本章主要是关于本系统用到的硬件设计的介绍。
文中对MCS-51单片机进行了介绍,系统阐述了本设计用到的89C52芯片各管脚功能,并且对时钟脉冲电路、复位电路、温度采集和液晶显示电路进行了一一解释。
重点介绍了本系统的硬件原理图,对其进行了较为细致的说明。
第4章系统软件调试环境介绍
4.1编程软件介绍
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
4.1.1软件功能
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
C51工具包的整体结构,其中Vision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
Keil51的编译环境如图4-1所示。
图中:
标题栏:
显示当前编译的文件
菜单条:
有十项菜单可供选择,相应的所有操作命令均可在此菜单中查找;
工具栏:
常用命令的快捷图标按钮;
管理窗口:
显示工程文件的项目、各个寄存器值的变化、参考资料等;
信息窗口:
显示当前文件编译、运行等相关信息;
工作窗口:
各种文件的显示窗口。
图4-1Keil51的编译环境
4.1.2软件应用流程
Keil51编译指南:
第1步:
打开Keil51软件,首先弹出一个开机启动画面。
第2步:
然后进入Keil51的开发界面。
下面简要介绍一下Keil51开发环境中各个区域的功能。
Keil51开发环境可以分为四个区域,分别为:
菜单条、项目文件管理窗口、代码编译窗口和代码编译信息窗口四个部分。
菜单条分为十项,所有的命令都可以在这里找到。
下面的命令是一些常用的菜单命令,如文件的打开、关闭及保存。
其中编译命令最为常用。
中间靠左是项目文件管理窗口,这里可以看到当前项目中所包含的所有带编译的文件。
项目文件管理窗口的右侧是代码编译窗口,这事我们最主要的工作区域。
最底层显示了代码编译的信息。
当代码有语法错误时,可以在这里轻松的找到问题的所在。
第3步:
下面以建立一个简单的项目为例,来说明Keil51开发项目的一般方法。
单击Project菜单项,选择NewProject项。
第4步:
此时弹出CreateNewProject对话框,选择合适的路径口,在文件名一栏中填入新工程的名字。
单击保存。
第5步:
根据所用的器件,选择CPU的型号,单击确定。
第6步:
Keil51询问是否生成默认的配置文件,这个可选可不选,这里选定。
单击Yes,观察项目文件管理窗口的变化。
第7步:
在File菜单下单击New选项,新建文件。
此时在代码窗口出现一“Text1”空白文档。
第8步:
在“Text1”中编辑完代码后,单击File菜单中的保存项,弹出保存对话框。
保存名写为text.c。
单击保存。
注意在对文件命名时必须加扩展名。
第9步:
在项目导航栏中SourceGroup上单击右键,选AddFiletoGroup‘SourceGroup1’。
第10步:
此时弹出AddFile对话框。
选中刚才保存的text.c文件。
单击Add。
此时在项目文件管理窗口中就会出现刚才所添加的文件text.c。
第11步:
单击快捷菜单栏中的编译按钮
,可以编译程序。
第12步:
单击Project菜单项,选择OptionforTarget‘Target1’选项。
在弹出的对话框中可以对Project进行总体配置。
第13步:
选择Output选项卡,单击CreateHEXFile,代码输出格式应为HEX-80。
第14步:
单击确定后,并重新编译。
可以看到编译成功之后,Build选项卡里又多了一项。
这是生成的HEX文件。
第15步:
单击Debug菜单项中的Start/StopDebugSession命令或工具栏中的
进入调试界面。
第16步:
单击调试界面Debug菜单项中的Go命令或工具栏中的
运行程序,单击StopRunning命令或
来结束程序。
观察运行结果,若结果正确,便可通过下载软件将它烧写到目标板上去。
这样,一个简单的Keil51下的项目就完成了。
注:
Keil51对汇编语言文件的编译调试步骤和对C语言的编译调试基本上是一样的,只是在第八步中用汇编语言进行代码的编写,并在保存文件时将扩展名加成.asm。
4.2程序下载软件介绍
1安装好PL2303USB232(COM)驱动程序.在stc-isp-v3.91文件夹中双击STC-ISPV391.exe打开下载窗口,开启软件后选则MCU,我们选择STC89C52RC,打开你要下载的.hex文档。
设置好你的COM口通道,如这里是COM4就选择COM4.然后点击Download/下载
当你看到:
Chinese:
正在尝试与MCU/单片机握手连接...请将板上的开关电源关闭在打开。
STC单片机需要内部复位
你看到下面的提示表示你成功下载了
4.2.1软件功能
STC_ISP_V4.80是由STC公司研发,可以向STC89C51、STC89C52等系列单片机内烧写
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 湿度 采集 系统 设计