092基于ATC单片机的测温系统W.docx
- 文档编号:1760548
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:25
- 大小:359.16KB
092基于ATC单片机的测温系统W.docx
《092基于ATC单片机的测温系统W.docx》由会员分享,可在线阅读,更多相关《092基于ATC单片机的测温系统W.docx(25页珍藏版)》请在冰点文库上搜索。
092基于ATC单片机的测温系统W
引言
本文主要推荐了一个基于单片机的测温系统,详细描述了利用数字温度传感器开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统进程安排进行了详尽分析,特别是数字温度传感器的数据采集过程,并推荐了利用语言编程对的访问,该系统可以方便的实现实现温度采集和显示,使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点。
与结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量。
数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温精确、功能多样话等优点。
其主要用于对测温要求准确度比较高的场所,或科研实验室使用,该设计使用单片机作控制器,数字温度传感器测量温度,单片机接受传感器输出,经处理用数码管实现温度值显示。
一、设计要求
通过基于系列单片机和温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,语言的设计。
并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生十足发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。
以系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器为检测器件,进行单点温度检测,检测精度为摄氏度。
温度显示采用位数码管显示,两位整数,一位小数。
具有键盘输入上下限功能,超过上下限温度时,进行声音报警。
二、基本原理
原理简述:
数字温度传感器把温度信息转换为数字格式。
通过“-线协议”,单片机获取指定传感器的数字温度信息,并显示到显示设备上。
通过键盘,单片机可根据程序指令实现更灵活的功能,如单点检测、轮转检测、越限检测等。
基于数字温度传感器的温度检测及显示的系统原理图如图
图基于的温度检测系统框图
三:
主要器件推荐(时序图及各命令序列,温度如何计算等)
系统总体设计框图
由于数字温度传感器具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠,所以在该设计中采用数字温度传感器测量温度。
测温电路设计总体设计框图如图所示,控制器采用单片机,温度传感器采用,显示采用位数码管,报警采用蜂鸣器、灯实现,键盘用来设定报警上下限温度。
图测温电路设计总体设计框图
.控制模块
单片机是美国公司生产的低功耗,高性能位单片机,片内含有的可系统编程的只读程序存储器,器件采用公司的高密度、非易失性存储技术生产,兼容标准指令系统及引脚。
在单芯片上,拥有灵巧的位和在系统可编程的,使得为众多嵌入式控制应用系统提供高灵活、超有效的解决技术指导文件。
具有以下标准功能:
字节,字节,位口线,看门狗定时器,个数据指针,三个位定时器计数器,一个向量级中断结构,全双工串行口,片内晶振及时钟电路。
另外,可降至静态逻辑制作,支持种软件可选择节电模式。
空闲模式下,停止工作,允许、定时器计数器、串口、中断继续工作。
掉电保护方式下,内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
.显示模块
显示电路采用位共阴数码管,从口输出段码,口的高四位为位选端。
用动态扫描的方式进行显示,这样能有效节省口。
.温度传感器
温度传感器是美国半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现~位的数字值读数方式。
的性能特点如下:
.独特的单线接口方式仅需要一个端口引脚进行通信
.多个可以并联在唯一的三线上,实现多点组网功能
.无需外部器件
.可通过数据线供电,电压范围:
~
.测温范围-℃~+℃,在~℃时精度为±℃
.零待机功耗
.温度以或位数字量读出
.报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件
.负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作
四:
硬件电路原理框图
由于本次实验是在学习板上做的,所以没有硬件接线图,原理主要讲解的工作原理。
·硬件设计
1.单片机系统电路原理图
图系统电路原理图
温度传感器电路设计
电源供电方式如图,此时的脚接地,脚作为信号线,脚接电源。
图温度传感器电路
.报警电路设计
报警电路是在测量温度大于上限或小于下限时提供报警功能的电路。
该电路是由一个蜂鸣器组成,具体的电路如图所示
图报警电路
.显示电路设计
显示电路是由四位一体的共阴数码管进行显示的
·软件设计
()内部结构
如图所示
主要由部分组成:
位、温度传感器、非挥发的温度报警触发器和、配置寄存器。
中的位序列号是出厂前被光刻好的,它可以看作是该的地址序列码,每个的位序列号均不相同。
位的排的循环冗余校验码(^+^+^+)。
的作用是使每一个都各不相同,这样就可以实现一根总线上挂接多个的追求。
中的温度传感器完成对温度的测量,用位二进制形式提供,形式表达,其中为符号位。
温度传感器主要用于对温度进行测量,数据可用位符号扩展的二进制补码读数形式提供,并以℃/形式表示。
表是部分温度值对应的二进制温度表示数据。
()的工作时序
的一线工作协议进程安排是:
初始化→制作指令→存储器制作指令→数据传输
初始化时序
主机第一步发出一个-微秒的低电平脉冲,然后释放总线变为高电平,并在随后的微秒进度内对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。
若无低电平出现一直都是高电平说明总线上无器件应答。
做为从器件的在一上电后就一直在检测总线上是否有-微秒的低电平出现,如果有,在总线转为高电平后等待-微秒后将总线电平拉低-微秒做出响应存在脉冲,告诉主机本器件已做好准备。
若没有检测到就一直在检测等待。
接下来就是主机发出各种制作命令,但各种制作命令都是向写和写组成的命令字节,接收数据时也是从读取或的过程。
因此第一步要搞清主机是如何进行写、写、读和读的。
写周期最少为微秒,最长不超过微秒。
写周期一开始做为主机先把总线拉低微秒表示写周期开始。
随后若主机想写,则继续拉低电平最少微秒直至写周期结束,然后释放总线为高电平。
若主机想写,在一开始拉低总线电平微秒后就释放总线为高电平,一直到写周期结束。
而做为从机的则在检测到总线被拉底后等待微秒然后从到开始对总线采样,在采样期内总线为高电平则为,若采样期内总线为低电平则为。
对于读数据制作时序也分为读时序和读时序两个过程。
读时隙是从主机把单总线拉低之后,在微秒之后就得释放单总线为高电平,以让把数据传输到单总线上。
在检测到总线被拉低微秒后,便开始送出数据,若是要送出就把总线拉为低电平直到读周期结束。
若要送出则释放总线为高电平。
主机在一开始拉低总线微秒后释放总线,然后在包括前面的拉低总线电平微秒在内的微秒进度内完成对总线进行采样检测,采样期内总线为低电平则确认为。
采样期内总线为高电平则确认为。
完成一个读时序过程,至少需要才能完成
让进行一次温度的转换,那具体的制作就是:
().主机先作个复位制作,
().主机再写跳过的制作()命令,
().然后主机接着写个转换温度的制作命令,后面释放总线至少一秒,让完成转换的制作。
在这里要注意的是每个命令字节在写的时候都是低字节先写,例如的二进制为,在写到总线上时要从低位开始写,写的顺序是“零、零、壹、壹、零、零、壹、壹”。
整个制作的总线状态如下图。
()初始化时序程序
()
{
;储存是否存在的标志,,存在。
,不存在
;先将数据线拉高
(<);略微延时约微秒再将数据线从高拉低,要求保持
;
(<);略微延时约微秒以向发出一持续的低电平复位脉冲
;释放数据线(将数据线拉高)
(<);延时约(释放总线后需等待让输出存在脉冲)
;让单片机检测是否输出了存在脉冲(表示存在)
(<);延时足够长进度,等待存在脉冲输出完毕
();返回检测成功标志
()
{
;
;储存读出的一个字节数据
(<)
{
;先将数据线拉高
();等待一个机器周期
;单片机从读书据时,将数据线从高拉低即启动读时序
();等待一个机器周期
;将数据线"人为"拉高,为单片机检测的输出电平作准备
(<);延时约,使主机在内采样
>>;
()
;如果读到的数据是,则将存入
;如果读到的数据是,则将存入
(<);延时,两个读时序之间必须有大于的恢复期
}
();返回读出的十六进制数据
()
{
;
(;<;)
{
;先将数据线拉高
();等待一个机器周期
;将数据线从高拉低时即启动写时序
;利用与运算取出要写的某位二进制数据,
(<);延时约,在拉低后的约期间从数据线上采样
;释放数据线
(<);延时,两个写时序间至少需要的恢复期
>>;将中的各二进制位数据右移位
}
(<);稍作延时,给硬件一点反应进度
五、程序进程安排图(主程序,各子程序)
.主程序
实时温度显示子程序:
驱动数码管把实时温度值送出在数码管显示
主程序进程安排图:
定时器初始化、启动
显示实时温度
温度设定
超过温度报警
图主程序进程安排图
.读温度值模块
读温度值模块需要调用个子程序,分别为:
初始化子程序:
让单片机知道在总线上且已准备好制作
写字节子程序:
对发出命令
读字节子程序:
读取存储器的数据
.延时子程序:
对制作时的时序控制
读温度值模块进程安排图:
数据转换处理
读取温度值高低位
跳过读序列号
初始化
延时
启动温度转换
跳过读序列号
初始化
返回
图读温度值子程序进程安排图
初始化子程序进程安排图:
复位
稍延时
置高电平
延时>
拉高电平
延时
为低电平?
返回
图初始化子程序进程安排图
写字节和读字节子程序进程安排图:
图写字节子程序进程安排图图读字节子程序进程安排图
六:
调试(步骤,心得,结论)
优点:
.线性好,精度适中,体积小,实用方便。
.实时显示当前温度。
缺点:
温度传感器会有一定的进度延时,从而间接地影响了整个报警系统的灵敏性和准确性。
()心得思想到:
在本次设计的过程中,我们发现了很多的问题,虽然以前也做过类似的课程设计,但是这次确实让我们认识到到了很多。
我们不仅要选好元件,还要把这些元件合理地组织起来,所以我们要学会如何寻找和搜索自己需要的资料。
这一次,我们用了老师给的参考电路图,然后修改了一些地方,比如去掉了一个,再加入了几个电阻。
虽然有些困难,但是经过努力,我们还是完成了电路的设计。
经过本次的设计,我们认识到到了很多的知识,了解到了传感器能够把自然界的各种非电量转换为电信号的能量物理理念。
从本次的实习设计中,我们思想到,在以后的学习中,要理论联系实际,把我们所学的理论知识运用到实际当中,实践是检验真理的唯一标准。
培养了一定的独立思考能力、解决问题的能力。
同时也认识到到了和他人愉快合作的技巧。
每当我们遇到问题时,我们学会了理性的分析,最终解决问题。
同时在讨论问题时认真聆听别人的思想和意见也很重要,在聆听的同时也会认识到到很多东西。
所以这次实习让我们认识到到了很多的东西。
七:
附录(电路图,程序)
""
""();延时函数用
段码输出口
扫描口
^;温度输入口
^;小数点控制
^;
;
;
;
;
;
**************温度小数部分用查表法***********
[]
{};
[]{};
共阳段码表"""""""""""""""""""""不亮"""
[]{};列扫描控制字
[]{};读出温度暂放
[];显示单元数据,共个数据和一个运算暂用
***********微秒延时函数**********
()
{
;
;
;
;
;
}
()
{
(>);
}
***********显示扫描函数**********
()
{
;
(<)四位扫描控制
{
;
[[]];
(){;}
[]();
;
}
}
()延时函数,延时
{
;
(;<;)
(;<;);
}
()
{;
(>)温度报警限设置
(<)
{
;
();
;
();
}
}
***********复位函数**********
()
{
;
()
{
()
{
()();
;
();
;
();
;继续下一步
}
();延时
;
}
;
}
**********写命令函数*********
向总线上写一个字节
()
{
;
(;>;)
{
()();
()()()()()
;最低位移出
();
;右移一位
}
;
();
}
*********读个字节函数********
从总线上读取一个字节
()
{
;
;
(>)
{
()();
>>;
;
()()()();
()()()();
();
();
}
;
();
}
***********读出温度函数**********
()
{
();总线复位
();发命令
();发读命令
[]();温度低位
[]();温度高位
();
();
();发转换命令
}
***********温度数据处理函数**********
()
{
;
;
;数字显示修正标记
([]>)
{
[];
}
[];
[];
([]);
([]);
([]);
([]);
[];
[]();
[]();
[];
[](([])>>)(([])<<);
[][];
[][];
[][];
([])
{
[];
;
([])
{
[];
;
}
}最高位为时都不显示
}
**************主函数****************
()
{;
();
;初始化端口
;
(<){[];}开机显示
();开机先转换一次
();
();
();
();
();
();发转换命令
(<)
{();}开机显示""秒
()
{
();读出温度数据
();处理温度数据
([]*[])*;
();
();显示温度值秒
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 092 基于 ATC 单片机 测温 系统