多路温度采集系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2系统方案
图1 系统框图
第2章 硬件电路的设计
2.1 硬件电路整体设计
硬件电路是实现各项功能的基础,如果硬件电路设计不好,即使程序编的再好,方案再合理也不可能实现,所以硬件电路设计是至关重要的。本系统用到的硬件主要有STC12C5A60S2单片机,LCD1602液晶显示器,DS12C887时钟芯片以及两个DS18B20温度传感器。将它们通过导线按照原理连接好线,这样基本的硬件电路就完成了,硬件电路如附录二图所示。
技术性能描述
①、 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
② 、测温范围 -55℃~+125℃,固有测温误差(注意,不是分辨率,这里之前是错误的)1℃。
③、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。
延时子程序模块:
/*********************************************************
*延时n微秒程序
**********************************************************/
void DelayXus(WORD n)
2.2 单片机的介绍
2.2.1单片机的功能
(1)8位CPU·4kbytes程序存储器(ROM) (52为8K)
(2)128bytes的数据存储器(RAM) (52有256bytes的RAM)
(3)32条I/O口线·111条指令,大部分为单字节指令
(4)21个专用寄存器
(5)2个可编程定时/计数器·5个中断源,2个优先级(52有6个)
学号11780128
天津城建大学
信息处理系统综合设计
设计说明书
多路温度采集系统设计
起止日期:2014年12月29日至2015年1月23日
学生姓名
卫瑞鑫
班级
11信科1班
成绩
指导教师(签字)
计算机与信息工程学院
2015年1月23日
天津城建大学
课程设计任务书
2014—2015学年第一学期
计算机与信息工程学院电子信息科学与技术专业1班级
课程设计名称:信息处理系统综合设计
设计题目:多路温度采集系统设计
完成期限:自2014年12月29日至2015年1月23日共4周
设计依据、要求及主要内容(可另加附页):
一、课程设计的目的
通过对课程设计任务的完成,使学生掌握单片机控制系统硬件设计和基本的编程方法,了解温度测量的工作原理,既巩固所学的基础理论知识,又为学生日后从事开发设计奠定基础。
{
read_wendu();
ah=temperature[1]<<4;
ah&=0xf0;
al=temperature[0]>>4;
al&=0x0f;
ah=ah|al;
al=temperature[0]&0x0f;
if ((ah&0x80)!=0)
{
if (al==0)
{
ah=~ah;ah=ah+1;
}
else
{
ah=~ah;al=~al;al=al+1;al&=0x0f;
}
wen_val=ah*(-1.0)+al*(-0.0625);
}
else
{
wen_val=ah*1.0+al*0.0625;
}
set_display_place(line,column);
crt_r(wen_val,1);
write_data(0x20);
3、赵新民.智能仪器设计基础[M]哈尔滨工业大学出版社
指导教师(签字):
系主任(签字):
批准日期:2014年12月18日
第1章 设计原理
1.1 设计原理
本次课程设计是以STC12C5A60S2作为主控芯片,设计利用LCD1602实现时间和多路(8路)温度信息显示。主要是实现两部分的功能:一是利用多个DS18B20温度传感器提供温度信息,单片机分别读取各传感器温度信息并显示;二是扩展DS12C887外围电路,实现时间信息显示。
(6)一个全双工串行通信口
(7)外部数据存储器寻址空间为64kB
(8)外部程序存储器Βιβλιοθήκη Baidu址空间为64kB
(9)逻辑操作位寻址功能·双列直插40PinDIP封装
(10)单一+5V电源供电
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最佳振荡频率为6M—12M。
本系统采用的是八个温度传感器DS18B20,在出厂时,每一个DS18B20都有它自身的编号并且是每一个都是不同的,这就为这个系统的成功实现提供了可能。由于DS18B20是单总线结构,只有一条数据线与单片机相连,它的数据传输只能是一位一位的,唯一序列号的存在就使单片机能够通过这组序列号识别是哪个传输的温度,这样就相当于把八个温度传感器编号为1和2,3,4,5,6,7,8,通过多路开关CD4051,接入单片机,单片机就能识辨出来是哪个传出来的温度,然后经运算处理后在LCD1602上显示出来,根据屏幕显示时间的不同,我们就能识别不同地方的温度,这就是总体的设计思路。
二、课程设计的内容及要求
选择合适的器件,了解温度测量的工作原理,进行温度测量系统的软、硬件设计,要完成
1、单片机最小系统设计。
2、多路温度采集、显示电路设计。
3、编写温度测量程序。
4、书写设计说明书。
三、参考资料:
1、何立民. MCS-51单片机应用系统设计. [M]北京航天航空大学出版社
2、张开如.自动控制原理. [M]北京大学出版社.
}
本程序是根据一个8位可以存储两个数字的特点,通过留取高四位的数据,并将其右移四位,这样就取出高四位的数,然后再将原数的低四位取出,这样存在一个8位存储器中的两个数就被取出来,然后依次取出后面的数,这样序列码就会被全部取出来。
3.6读温度程序设计
/*********************************************************
图4 LCD-1602连线图
2.5 传感器接口电路
DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
*读取温度程序
**********************************************************/
void read_wendu()
{
BYTE i;
DS1820_Reset(); //复位
DS1820_WriteData(0xcc); //跳过ROM命令
⑦.2/3个16位 定时器/计数器(TIMER/COUNTER)
⑧.可处理 5个中断源,两级可程序优先级的中断系统
图2单片机的内部结构图
2.3最小系统设计
最小的单片机系统如图所示,由复位电路,振荡电路和单片机3个部分组成。复位电路给单片机提供完整可靠的复位信号,用以保证单片机在复位后能够进入完全的复位状态。
2.2.2 单片机内部结构
①.一个8 位的中央处理器 CPU(又称为微处理器)
②有 128字节 的片内数据存储器RAM。
③.4KB片内 程序存储器ROM或EPROM
④.片内 18个 特殊功能寄存器(SFR)
⑤.4个8位 的并行输入输出I/O口(PIO)
⑥.1个 串行口I/O(SIO/UART)完成单片机与其他微机的之间的串行通信
{
while(--n);
}
3.5 显示温度程序设计
/*********************************************************
*显示温度程序
**********************************************************/
void crt_wendu(BYTE line,column)
⑩ 、PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。
图5 DS18B20连线图
2.6 多路开关
CD4051相当于一个单刀八掷开关,开关接通哪一通道,由输入的3位地址码ABC来决定。INH”是禁止端,当 “INH”=1时,各通道均不接通。此外,CD4051还设有另外一个电源端VEE,以作为电平位移时使用,从而使得通常在单组电源供电条件下工作的 CMOS电路所提供的数字信号能直接控制这种多路开关,并使这种多路开关可传输峰-峰值达15V的交流信号。例如,若模拟开关的供电电源VDD=+5V,VSS=0V,当VEE=-5V时,只要对此模拟开关施加0~5V的数字控制信号,就可控制幅度范围为-5V~+5V的模拟信号。 . 使用十六进制代码就可以对CD4051进行操作了。比如说P1=0X07,这样CD4051就选择的是7号(二进制111)通道了。如果在八个通道输入一模拟量,在输出端将输出什么,输入什么是自己设定。
图3最小系统电路图
2.4显示电路
工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)。 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
3.2设计总流程
图 6 流程图
3.3读取温度流程
图7 读取温度流程图
3.4系统延时设计
MCS-51的工作频率为12MHZ,机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12MHZ)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间,但同时由于单片机的运行速度很快其他的指令执行时间可以忽略不计。
第3章系统程序设计
3.1 程序整体设计思路
全部控制程序实际上分为若干模块:LCD-1602显示程序,DS18B20温度传感器读序列码程序,DS18B20读取温度程序以及DS12C887时钟显示程序。在已有程序的基础上添加的主要由两部分:DS18B20读序列码程序和两个DS18B20温度显示程序。
B设计说明:该系统是依据DS18B20的单总线结构,对它初始化后发送读序列码指令(0x33h),然后DS18B20会一位一位的将其内部ROM中的64位序列码发送到单片机接收口,然后单片机将序列码储存在数组中,发向LCD-1602的数据控制口,经过代码转换,在屏幕上显示出一个温度传感器的序列码,这样读序列码的程序就算完成了。接下来就进行两个温度的显示,首先将用读序列码程序读出的两组序列码存入两个数组中,然后现将温度传感器复位,接着发送匹配指令(0x55),把上面的序列码发送到ROM进行匹配,这相当于给两个温度传感器编号,等编完号后再次匹配命令和序列码,这样就确定温度传感器,紧接着读取各个温度传感器的温度值,并让其先是在指定位置,这样温度显示程序基本就算完成了。
④、工作电源: 3.0~5.5V/DC (可以数据线寄生电源)
⑤ 、在使用中不需要任何外围元件
⑥、 测量结果以9~12位数字量方式串行传送
⑦ 、不锈钢保护管直径 Φ6
⑧ 、适用于DN15~25, DN40~DN250各种介质工业管道和狭小空间设备测温
⑨、 标准安装螺纹 M10X1, M12X1.5, G1/2”任选
相关文档
最新文档