多费率电能表中单片机串行口红外通信设计与原理分析.doc

多费率电能表中单片机串行口红外通信设计与原理分析.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多费率电能表中单片机串行口红外通信设计与原理分析

多费率电能表中基于单片机串行口红外通信的设计与原理分析 ?来源:/Code/51DPJ/115325.html 摘要:利用单片机的串行口、定时器/计数器T0、定时器/计数器T1、红外发射管和红外接收管等简单的软硬件就可靠地实现了多费率电能表的红外通信功能。本设计详细介绍了串行口红外通信的软硬件设计方法,并给出了具体的电路原理图、波形图和51单片机程序。 关键词: 红外通信 串行接口 电能表 SSU7301单片机 0 引言 ??? 多费率电能表是我国目前节约用电和计划用电政策下不可缺少的电能计量产品,多费率电能表的通信接口一般兼有红外接口和RS485接口。红外通信具有直观、操作简便、可靠性高等优点,是电能表中使用最为普遍的一种通信方式,是电能表和掌机之间实现抄表、编程、校时、数据管理等功能的有效手段。采用新茂单片机SSU7301(51系列)、***光电子公司的红外发射管SE303和红外接收管PIC12043,以及单片机串行口、2个定时器/计数器可以有效地实现红外通信功能。 1 红外通信原理 红外通信是利用波长为900nm~1000nm的红外波作为信息的载体,发射装置把二进制信号经过高频调制后发送出去,接收装置把接收的红外高频信号进行解调为原来信息的一种通信传输方式。其中调制方式有脉宽调制(通过改变脉冲宽度调制信号PWM)和脉时调制(通过改变脉冲串之间时间间隔调制信号PPM)两种,本文采用PPM脉时调制方式。 2 串行口红外通信硬件设计 ?? 多费率电能表的红外发射和红外接收电路主要包括新茂单片机SSU7301、***光电子公司的红外发射管SE303和红外接收管PIC12043,以及驱动三极管8550、电阻和电容,红外通信硬件原理图见图1。 ? 2.1 红外发射硬件设计 红外发射是利用单片机SSU7301的串行数据发送口TXD(P3.1)控制驱动三极管BG1进行二进制数据“0”和“1”的传输(数据由串行发送缓冲器SBUF中送出),以及利用P3.4口控制驱动三极管BG2进行高频38.4kHz调制(高频驱动信号由定时器/计数器T0的方式2自动重装模式产生),从而可靠地实现了红外发射管D1在传输数据“0”时进行高频红外发射和数据“1”时被截止的发射功能。状态关系见表1,波形见图2。 ? 2.2 红外接收硬件设计 红外接收是利用红接收管PIC12034收到高频信号输出低电平确定为数据“0”,而没收到高频信号输出高电平确定为数据“1”的方式经过解调,把数据通过单片机SSU7301的串行数据接收口RXD(P3.0)进行串行方式接收(接收数据存储在串行口缓冲器SBUF中)。 3 红外通信软件设计 DL/T645-1997《多功能电能表通信》中规定电能表的红外载波频率为38kHz±1kHz;初始速率为1200 bps;通信的字节格式为8位二进制码D0~D7,传输时加上一个起始位(0),一个偶校验位P和一个停止位(1),共11位,传输时先传低位,后传高位,传输序列见图3。根据以上要求,本设计中红外载波频率采用38.4kHz,波特率为1200bps,串行口采用模式3为9位异步通信方式,加1位起始位和1位结束位,传送一个字节数据为11位。 ? 3.1 红外载波和定时器/计数器T0设置 红外载波频率f2为38.4kHz,当定时器/计数器T0模式控制器TMOD中C/T=0和M1M0=10时,SSU7301的定时器/计数器T0设置成模式2方式。此时,TL0和TH0预置成1个可以自动重装的8位的定时器/计数器。用软件将TL0和TH0预置相同的初值后,当TL0计数值增1溢出时,一方面使TF0置1,申请中断;另一方面产生的溢出脉冲将TH0的数据值自动打入到TL0中去,不需要用软件对TL0重新置初值。系统的晶振f1为11.0592MHz,则TL0和TH0的初值计算如下: f2=38.4kHz 得T=1/f2=1/38.4k≈26×10-6=26 μs 所以高频调制反转的周期TC=T/2=26/2=13μs 即定时器/计数器T0的初值TL0=TH0=28-(TC×f1)/12=256-(13×10-6×11.0592×106)/12=256-11.9808≈244=0F4H 在定时器/计数器T0的中断服务程序中只用两条指令即可实现高频调制,即 CPL P3.4和RETI。 3.2 串行口和定时器/计数器T1波特率发生器设置 串行口采用模式3为9位异步通信方式,波特率为1200bps。由串行口控制寄存器SCON的操作模式选择位SM0、SM1都置1设置为模式3,当定时器/计数器T1模式控制器TMOD中C/T=0和M1M0=10时,SSU7301的定时器/计数器T1设置成模式2方式作为波特率发生器,其波特率表示为: 波特率=(T1的溢出率)/ n 当SMOD=0时,n

文档评论(0)

ipad0b + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档