完整版基于单片机的温度采集系统的毕业设计论文.docx
- 文档编号:6884993
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:28
- 大小:36.72KB
完整版基于单片机的温度采集系统的毕业设计论文.docx
《完整版基于单片机的温度采集系统的毕业设计论文.docx》由会员分享,可在线阅读,更多相关《完整版基于单片机的温度采集系统的毕业设计论文.docx(28页珍藏版)》请在冰豆网上搜索。
完整版基于单片机的温度采集系统的毕业设计论文
图书分类号:
密级:
毕业设计(论文)
基于STC8952单片机的温度采集系统设计
STC8952-basedMCUdesignofthetemperatureacquisitionsystem
学生姓名
Qq:
学院名称
信电工程学院
专业名称
电子信息工程
指导教师
2009年
4月
1日
徐州工程学院学位论文原创性声明
本人郑重声明:
所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。
除文中已经注明引用或参考的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标注。
本人完全意识到本声明的法律结果由本人承担。
论文作者签名:
日期:
年 月 日
徐州工程学院学位论文版权协议书
本人完全了解徐州工程学院关于收集、保存、使用学位论文的规定,即:
本校学生在学习期间所完成的学位论文的知识产权归徐州工程学院所拥有。
徐州工程学院有权保留并向国家有关部门或机构送交学位论文的纸本复印件和电子文档拷贝,允许论文被查阅和借阅。
徐州工程学院可以公布学位论文的全部或部分内容,可以将本学位论文的全部或部分内容提交至各类数据库进行发布和检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
论文作者签名:
导师签名:
日期:
年 月 日日期:
年 月 日
摘要
单片机已在各行业得到广泛应用,为适应更多的应用领域,厂家采取了在一块单片机芯片上集成多种功能部件和大容量存储器的方法。
因而,整个应用系统不需要扩展,而体积变小、可靠性增高,使单片机成为真正意义上的单片机系统。
本设计是基于STC89C52单片机和DS185B20实现温度的测量系统,单片机在本系统中作为温度输入和显示控制器件,DS18B20被用作温度数据的采集和温度输出器件。
本系统采用单总线操作,线路简单,测量值精确,可实现多点测量,并对温度超过限制值,产生报警和数据采集。
本系统被广泛应用于温度控制、温度检测、温度采、消防等系统中。
关键词单片机;数据转换;温度显示;
1绪论1
1.1本系统功能1
1.1.1温度测量功能1
1.1.2温度采集功能1
1.1.3系统工作流程1
1.2本系统优点2
1.2.1线路简单2
1.2.2温度精确2
2系统硬件介绍2
2.1本系统硬件和软件组成2
2.1.1硬件组成2
2.1.2软件组成2
2.2STC单片机介绍3
2.2.1STC单片机功能介绍3
2.3DS18B20数字温度传感器介绍6
2.3.1功能介绍6
2.3.2DS18B20温度传感器是存储器8
2.3.3DS18B20内部逻辑图10
2.3.4DS18B20温度传感器读写时序10
2.3.5DS18B20存储器操作命令12
2.474HC573锁存器说明13
2.4.174HC573管脚功能图13
2.4.274HC573管脚功能13
2.5显示模块说明14
2.5.171LED数码管内部结构14
2.5.2共阳数码管数字编码15
3程序的编写与调试15
3.1程序的编写15
3.1.1新建工程16
3.1.2编写程序16
3.2程序的调试17
4系统原理图的绘制18
4.1绘制原理图库18
4.1.1软件启动18
4.1.2绘制原理图元件19
4.2绘制PCB库19
4.2.1绘制PCB元件20
4.3系统完整原理图20
5系统PCB图21
5.1为覆铜PCB图21
5.2覆铜PCB图21
6系统工作过程22
6.1温度的测量22
6.2温度的采集23
7程序框图及C语言程序24
7.1温度采集系统原理框图24
7.1.1温度显示模块24
7.1.2读温度子程序25
7.1.3温度转换子程序25
7.1.4计算温度子程序26
7.2温度采集系统C语言程序26
结论35
致谢36
参考文献37
1绪论
1.1系统功能
1.1.1温度测量功能
利用DS18B20数字温度传感器实现对温度进行准确的测量,使温度值显示到数码管上。
1.1.2温度采集功能
利用DS18B20数字温度传感器进行温度的采集,单片机作为控制器件,数据通过串口(RS232)传至计算机,进行温度的采集。
1.1.3系统工作流程,见图1-1
图1-1系统工作流程
1.2本系统优点
1.2.1线路简单
DS18B20与单片机之间一根导线进行数据传输,不需要对数据进行转换,接线简单。
1.2.2温度测量准确
DS18B20的温度分辨率为0.0625,所以对温度值可以进行准确的温度转换。
2系统硬件介绍
2.1系统硬件及软件组成
2.1.1硬件组成
本系统所用的硬件有:
见表2-1。
表2-1系统硬件清单
器件名称
数量
STC89C52单片机
1个
74HC573锁存器
2个
LED发光二级管
8个
蜂鸣器
1个
独立键盘
5个
数码管(两个一组)
2个
三极管
1个
DS18B20
1个
MAX233串口芯片
1个
电容
若干
电阻
若干
导线
若干
2.1.2软件组成
软件有:
keil软件、windows操作系统和串口调试助手等软件组成。
2.2STC单片机介绍
单片机作为微型计算机的一个重要分支,其应用范围很广,发展也很快。
1971年Intel公司首次宣布4004的4位微处理器,1974年12月Fairchild(仙童)公司即推出了8位单片机F8,开创了单片机的门户。
单片机在我国的应用始于20世纪70年代末,那时我国的科研工作者开始对单片机的应用进行了初期探索,20世纪80年代,单片机在我国得以广泛的应用,各理工科院校陆续开设了有关应用课程。
在教学及应用上,Zilog公司生产的Z80CPU成为我国工业控制的主流,以Z80为CPU组成的TP801单板机在教学上及应用领域发挥过巨大作用。
20世纪80年代末至90年代初,我国在工业控制领域开始转向使用Intel公司生产的MCS-51。
单片机从1976年公布8位机至今不到30年的时间,它没有像微处理器那样从8位、16位,一直发展到32位、64位,8位机目前依然是单片机的主流机型。
但是,它突破了原有的集成结构,在内部继承了越来越多的外围电路和外设接口,从而发展成为控制器(MicroController)的体系结构,其发展历程大致分为以下几步:
第一阶段:
单片机的控索阶段
第二阶段:
单片机的完善阶段
第三阶段:
8位单片机的巩固发展及16位单片机的推出阶段
第四阶段:
微控制器的全面发展阶段
单片机已在各行业得到广泛应用,为适应更多的应用领域,厂家采取了在一块单片机芯片上集成多种功能部件和大容量存储器的方法。
因而,整个应用系统不需要扩展,而体积变小、可靠性增高,使单片机成为真正意义上的单片机系统
2.2.1STC单片机功能介绍
单片机是随着大规模集成电路的出现极其发展,将计算机的CPU,RAM,ROM,定时计数器和多种IO接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机(singlechipmicrocomputer).它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果.单片机应用系统可以分为:
(1)最小应用系统是指能维持单片机运行的最简单配置的系统。
这种系统成本低廉,结构简单,常构成一些简单的控制系统,如开关状态的输入输出控制等。
片内有ROMEPROM的单片机,其最小应用系统即为配有晶振,复位电路,电源的单个单片机.片内无ROMEPROM的单片机,其最小应用系统除了外部配置晶振,复位电路,电源外,还应外接EPROM或EEPROM作为程序存储器用.
(2)最小功耗应用系统是指为了保证正常运行,系统的功耗最小.(3)典型应用系统是指单片机要完成工业测控功能所必须的硬件结构系统。
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有
8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能:
8k字节Flash,256字节RAM,32位IO口线,看门狗定时器,2个数据指针,三个16位定时器计数器一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2.2.1.1引脚结构,见图2-1
图2-1单片机封装及引脚结构
2.2.1.2内部逻辑图,见图2-2
图2-2内部逻辑图
2.2.1.3引脚功能描述
VCC:
电源
GND:
地
P0口:
P0口是一个8位漏极开路的双向IO口。
作为输出口,每位能驱动8个TTL逻
辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向IO口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器计数器2的外部计数输入(P1.0T2)和时器计数器2的触发输入(P1.1T2EX),具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字。
P2口:
P2口是一个具有内部上拉电阻的8位双向IO口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向IO口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALEPROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN:
外部程序存储器选通信号PSEN是外部程序存储器选通信号。
当STC89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
2.3DS18B20数字温度传感器介绍
2.3.1功能介绍
DALLAS最新单线数字温度传感器DS18B20的“一线器件”体积更小、适用电压更宽、更经济Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
DS18B20、DS1822“一线总线”字化温度传感器同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,-10~+85°C范围内,精度为±0.5°C。
DS1822的精度较差为±2°C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
DS18B20、DS1822的特性DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。
可选更小的方式,更宽的电压适用范围。
分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电依然保存。
DS18B20的性能是新一代产品中最好的!
性能价格比也非常出色!
DS1822DS18B20软件兼容,是DS18B20的简化版本。
省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。
继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。
DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
DS18B20的内部结构DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如下:
DQ为数字信号输入输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。
64位光刻ROM的排列是:
开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:
用16位符号扩展的二进制补码读数形式提供,以0.0625℃LSB形式表达,其中S为符号位,见表2-1。
表2-1DS18B20内部温度表示形式
这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
见表2-2
表2-2DS18B20转化温度形式
实际温度值
数字输出(二进制)
数字输出(十六进制)
+125℃
0000011111010000
07D0H
+85℃
0000010101010000
0550H
+25.0625℃
0000000110010001
0191H
+10.125℃
0000000010100010
00A2H
+0.5℃
0000000000001000
0008H
0℃
0000000000000000
0000H
-0.5℃
1111111111111000
FFF8H
-10.125℃
1111111101011110
FF5EH
-25.0625℃
1111111001101111
FE6EH
-55℃
1111110010010000
FC90H
2.3.2DS18B20温度传感器的存储器
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2PPRAM,后者存放高温度和低温度触发器TH、T和结构寄存器。
暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。
第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。
第六、七、八个字节用于内部计算。
第九个字节是冗余检验字节,见表2-3。
表2-3DS18B20暂存存储器的8个连续字节
寄存器内容
字节地址
温度最低数字位
0
温度最高数字位
1
高温限值
2
低温限值
3
保留
4
保留
5
计数剩余值
6
每度计数值
7
CTR校验
8
该字节各位的意义如下:
TMR1R011111
低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如下表所示:
(DS18B20出厂时被设置为12位),见表2-4
表2-4分辨率设置表
根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
DS1820使用中注意事项DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:
(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。
在使用PLM、C等高级语言进行系统程序计时,对DS1820操作部分最好采用汇编语实现。
(2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。
当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。
(3)连接DS1820的总线电缆是有长度限制的。
试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。
当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。
这种情况主要是由总线分布电容使信号波形产生畸变造成的。
因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。
(4)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。
这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。
测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。
2.3.3DS18B20的内部逻辑图,见图2-3。
图2-3DS18B20内部内部逻辑图
2.3.4DS18B20读写时序
主机使用时间隙(timeslots)来读写DSl820的数据位和写命令字的位
2.3.4.1初始化
时序见图2-4主机总线to时刻发送一复位脉冲(最短为480us的低电平信号)接着在tl时刻释放总线并进入接收状态DSl820在检测到总线的上升沿之后等待15-60接着DS1820在t2时刻发出存在脉冲(低电平持续60-240us)如图中虚线所示
图2-4DS18B20初始化时序图
程序:
Init_DS18B20(void)初始化ds1820
{
DQ=1;DQ复位
_nop_();
_nop_();稍做延时2ms
DQ=0;单片机将DQ拉低,发出复位脉冲(要求480us~960us)
Delay(70);精确延时566us
DQ=1;拉高总线(要求16~60us)
Delay(5);延时46us
presence=DQ;如果=0则初始化成功=1则初始化失败
Delay(25);
DQ=1;
return(presence);返回信号,0=presence,1=nopresence
}
2.3.4.2写时间隙
当主机总线to时刻从高拉至低电平时就产生写时间隙从to时刻开始15us之内应将所需写的位送到总线DSl820在t1为15-60us间对总线采样若低电平写入的位是0见若高电平写入的位是连续写2位间的间隙应大于1us,见图2-5。
图2-5写时间隙
程序:
WriteOneChar(unsignedchardat)
{
unsignedchari=0;
for(i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;
delay(5);
DQ=1;
dat>>=1;
}
}
2.3.4.3读时间隙
见图2-6主机总线to时刻从高拉至低电平时总线只须保持低电平l7ts之后15捍s也就是说tz时刻前主机必须完成读位并在to后的60尸s一120fzs内释放总线
读位子程序(读得的位到C中)
图2-6读时序
程序:
ReadOneC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 基于 单片机 温度 采集 系统 毕业设计 论文