用单片机实现温度远程显示 第2页
重要的是,该仪表的说明书详细介绍了与该仪表进行数据交换的命令及格式,其通讯协议也相对较简单,这给我们用单片机实现温度远程显示 第2页降减低了难度(虽然有RS-485端口的仪表很多,但大多没有通讯命令的详细说明,给我们用单片机编程增加了难度)。
(二)XJ-08S巡回检测仪通讯协议
1、通讯口设置
l 通讯方式:RS-485标准电平
l 同步方式:起停同步方式
l 波特率:9600BPS
l 通讯距离:不大于
l 通讯线:二线
l 数据代码:ASCII码
l 数据格式:每字符10位,1个起始位,8个数据位,1个停止位
2、 数据传输格式
l 地址:2字节(高字节在前,低字节在后);
l 数据:按地址顺序,仪表数据传输格式为十辣进制2字节定点数;
2字节定点数=低字节高4位(ASCII码)+低字节低4位(ASCII码)
高字节高4位(ASCII码)+高字节低4位(ASCII码)
若数据为负数,则采用补码方式传输;
l 在传输实时测量值时,传输完2字节定点数后,紧接着又传输2字节定点数,其中高字节低4位为小数点位数。
例 :(50.0)10 表示为 46 34 30 31 30 30 30 31
低字节 高字节 小数位数
3、 仪表通讯格式:
@ DE 帧类型 帧数据 CRC CR
l @ :通讯起始符
l DE :仪表设备号(地址)
l 帧类型 :操作命令
l 帧数据 :各种操作命令所对应的命令及数据
l CRC :校验字节(除@外CRC之前的其他几个字节的异或值)
l CR :结束符(回车符)
4、应用中用到的命令及数据格式:
l 读仪表全部动态数据命令帧 @ DE RD CRC CR
l 命令回送帧 正确 @DE RD 帧数据 CRC CR
错误 @DE * * CRC CR
例:读28号仪表的全部动态数据
命令:’@1CRD
错误返回码 ‘@
正确返回数据’@
第0通道 第1通道 第2通道
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
第3通道 第4通道 第5通道 第6通道
XXXX XXXX XX’,0D
第7通道 校验
1、 选用ATMEL公司生产的AT89S8252-24PC单片机,其主要参数及特点如下:
l 与MCS-51产品兼容(其引脚图见原理图)
l 具有8K字节可擦写的FLASH内部程序存储器,可擦写1000次;2K字节EEPROM,可擦写100,000次,SPI口(用PC机的并口连接5条线即可通过SPI口下载程序,下载软件可从网上下载,这样可节省购买编程器的费用;)。
注:笔者现已制作成了ISP2000三合一烧写器,详情见http://www.mcudiy.com
l 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/
5、 根据智能仪表通讯协议的要求,串行口定义为方式1工作,一帧10位:1个起始位、8个数据位、一个停止位;用一片75176完成数据的发送与接收,由于RS-485为半双工,故用单片机P3.2引脚控制发送与接收的切换;两个智能仪表处于RS-485总线的两个端点,为提高可靠性,在RS-485总线的两个端点上分别并联一个120Ω、1/4W终端电阻。
l 系统方框图如右示:
l 单片机装置电原理图见下页:若图片无法显示请联系QQ752018766
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页