毕设分享|用单片机实现温度远程显示

本文介绍了使用AT89S8252单片机设计的远程温度监测系统,包括硬件电路设计(如温度传感器、按键、显示电路和RS-485通信),以及模块化的软件设计,包括主模块、命令发送与接收控制子模块和串行接收子模块,以实现在远程位置的温度实时监控和控制。
摘要由CSDN通过智能技术生成

目前检测温度一般采用热电偶或热敏电阻作为传感器,这种传感器至仪表之间一般都要用专用的温度补偿导线,而温度补偿导线价格很贵,并且线路太长也会影响测量精度。在实际应用中往往需要对较远处(1KM左右)的温度信号进行监视。

第一章   单片机选择及硬件电路设计

1.选用ATMEL公司生产的AT89S8252-24PC单片机,其主要参数及特点如下:

与MCS-51产品兼容(其引脚图见原理图)

.具有8K字节可擦写的FLASH内部程序存储器,可擦写1000次;2K字节EEPROM,可擦写100,000次,SPI口(用PC机的并口连接5条线即可通过SPI口下载程序,下载软件可从网上下载,这样可节省购买编程器的费用;)。

注:笔者现已制作成了ISP2000三合一烧写器,详情见http://www.mcudiy.com

256字节RAM,32根可编程I/O线,可编程串行口,内置看门狗。

与看门狗有关的特殊功能寄存器WMCON 地址= 96H,与看门狗有关的控制位为96h第0、1、5、6、7位,第5、6、7位用于设置看门狗定时时间(具体见第5页表格),本应用中第5、6、7位均置1,设置看门狗溢出时间为2048ms,第0位为看门狗使能控制位,该位置1将使能看门狗,其第1位为复用位,向第1位写1将复位看门狗定时器,具体操作如下:

a,使能看门狗,并将其溢出时间设定为2048ms:ORL  96H, #0E1H;

b,看门狗定时器清0:ORL  96H, #2

2、按键设计:

为方便使用,设计了三个按键,分别为巡回/定点切换键、键、键。切换键用于巡检与定点模式的切换,上键向上切换通道,下键向下切换通道;其中巡检/定点切换键通过外部中断1以中断方式工作,中断程序将巡回/定点标志取反后直接跳到主程序中巡回/定点标志判断程序前运行,由判断程序完成巡回/定点的切换。按键信号由单片机P3.3,P3.4,P3.5引脚输入。

3、显示电路设计

为方便观察,选用三个二位共阳级8段数码显示管(TOD5201AE)动态显示,一位显示仪表地址(从A至F),一位显示通道号(从0至7通道),其余四位用来显示实时温度值;用单片机P1口驱动一片74HC244以吸收电流的方式控制段码,用单片机P0.0至P0.5引脚驱动六个PNP三极管(9012)控制位选。

4、电源选用5V/1A市售成品开关电源。

5、 根据智能仪表通讯协议的要求,串行口定义为方式1工作,一帧10位:1个起始位、8个数据位、一个停止位;用一片75176完成数据的发送与接收,由于RS-485为半双工,故用单片机P3.2引脚控制发送与接收的切换;两个智能仪表处于RS-485总线的两个端点,为提高可靠性,在RS-485总线的两个端点上分别并联一个120Ω、1/4W终端电阻。

l系统方框图如右示:

l单片机装置电原理图见

第二章   单片机软件设计说明及程序流程图

为方便调试,采用模块化编程,共分1个主模块及5个子模块,各模块功能说明及流程图如下(源程序见附录):

  1. 主模块(rand_main.a51)

上电后程序显示初始化标志并等待3秒,然后进入巡回模式,自动检测地址为A(10)至F(15)的智能仪表,对在线的仪表及已使用通道以3秒为周期自动巡回读取实时温度并送数码管显示,仪表未在线或未用通道则自动跳过;定点模式时根据上、下按键情况自动向前或向后移动一个通道后等待下一次按键(向上至最高通道号时跳到上一个仪表的最低在用通道,向下至最低通道号时跳到下一个仪表的最高在用通道);等待期间以3秒为周期读取当前仪表当前通道实时温度并送数码管显示,另外,为了区分巡回、定点工作模式,定点工作模式时最低位数码管以约0.5Hz的频率闪烁显示。当检测到巡回/定点切换键按下时自动在巡回及定点模式间转换,当检测到温度值低于-199.9度时显示-199.9度。

2、命令发送及接收控制子模块(rand_send.a51)

功能: 发送命令缓冲区中命令并等待接收完毕,然后检查接收到的数据,接收错误则重发命令,达到设定的次数仍错则存入错误码后退出.

入口: A=仪表地址

出口: A=0 表示接收正确  1 表示校验错 '*'表示命令错 'N'表示无回应

模块流程图如下:

 

3、串行接收子模块(rand_rec.a51)

功能: 串行接收模块通过中断自动执行,程序检测到@时置ri_f标志并开始接收,检测到回车符时清ri_f后退出,接收到的数据存放在以rec_buf为首地址的缓冲区中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值