红外通信方式如何更好的服务于单片机应用领域

发布者:bettylove最新更新时间:2014-08-26 来源: cecb2b关键字:红外通信  单片机  应用领域 手机看文章 扫描二维码
随时随地手机看文章

  多费率电能表是我国目前节约用电和计划用电政策下不可缺少的开关电源模块电能计量产品,多费率电能表的通信接口一般兼有红外接口和RS485接口。MTD2002红外通信具有直观、操作简便、可靠性高等优点,是电能表中使用最为普遍的一种通信方式,是电能表和掌机之间实现抄表、编程、校时、数据管理等功能的有效手段。采用MTD2002新茂单片机开关电源模块SSU7301(51系列)、日本光电子公司的红外发射管SE303和红外接收管PIC12043,以及单片机串行口、2个定时器/计数器可以有效地实现红外通信功能。

  1 红外通信原理

  红外通信是利用波长为900nm~1000nm的红外波作为信息的载体,发射装置把二进制信号经过高频调制后发送出去,MTD2002接收装置把接收的红外高频信号进行解调为原来信息的一种通信传输方式。其中调制方式有脉宽调制(通过改变脉冲宽度调制信号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”的方式经过解调,把MTD2002数据通过单片机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,当MTD2002定时器/计数器T1模式控制器TMOD中C/T=0和M1M0=10时,SSU7301的定时器/计数器T1设置成模式2方式作为波特率发生器,其波特率表示为:

  波特率=(T1的溢出率)/ n

  当SMOD=0时,n=32;当SMOD=1时,n=16,(本设计中SMOD=0)则

  波特率=(T1的溢出率)×2SMOD / 32

  T1的溢出率=(f1/12)/(28-T1初值)

  得:波特率=(T1的溢出率)×2SMOD / 32

  =[(f1/12)/(28- T1初值)] ×2SMOD / 32

  得:定时器/计数器T1初值

  TL1=TH1=28-(f1×2SMOD )/(12×32×波特率)

  =256-(11.0592×106)/( 12×32×1200)

  =256-24=232=0E8H

  3.3 程序设计

  根据以上两点参数的设置,开关电源模块51系列MTD2002单片机SSU7301的汇编语言程序设计如下:

  ;以下为参数设置程序

  MOV TMOD, #22H ;定时器/计数器T0方式2自动重装模式用于PWM38.4KHZ调

  ;制用 , 定时器/计数器T1方式2自动重装模式用于串行口通讯波特率发生器

  MOV TH1,#0E8H ;波特率1200时,定时器/计数器T1自动重装初值

  MOV TL1,#0E8H

  MOV TH0,#0F4H ;38.4KHz高频频调制时, 定时器/计数器T0自动重装初值

  MOV TL0,#0F4H

  SETB ET0 ; 定时器/计数器T0溢出中断允许位

  SETB TR1 ; 定时器/计数器T1开始定时控制位

  SETB TR0 ; 定时器/计数器T0 开始定时控制位

  MOV PCON,#00H ;SMOD为0不倍增模式

  MOV SCON,#0D0H ;串行口设置为模式3,允许接收

  SETB ES ;串行口允许中断

  SETB EA ;开总中断允许位

  ;以下为定时器/计数器T0中断溢出服务程序

  ORG 000BH; 定时器/计数器T0中断入口地址

  T0SERVE:CPL P3.4 ; 定时器/计数器T0定时取反P3.4口进行高频调制

  RETI ;中断返回

  ;以下为开关电源模块串行口中断服务程序,以接收一个MTD2002字节数据为例,多字节以此类推

  ORG 0023H;串行口中断入口地址

  SENDSERVE:NOP

  NOP

  MOV A,SBUF ;把接收缓冲器的数据送到A寄存器

  … ;进行数据处理及其它功能操作

  RETI ;中断返回

  ;以下为串行口发送程序,以发送一个MTD2002字节数据为例, 多字节以此类推

  COMSEND: MOV A,#DATAH ;把数据送到A寄存器

  MOV C,P ;根据A中数据产生的偶校验位送到进位标志位

  MOV TB8,C ;送偶校验位到发送的第9位数据

  MOV SBUF,A ;送数据到发送缓冲器

  JNB TI,$ ;以查询方式等待发送结束

  CLR TI ;清发送中断标志位

  … ;继续发送或其它功能操作

  RET 子程序返回

  4 结束语

  本开关电源模块设计的最大特点在于省略了MTD2002脉冲振荡器,而仅仅利用多费率电能表上所带MTD2002单片机的串行口和2个定时器/计数器,这不仅使多费率电能表在硬件设计上更加简单、成本更加低廉,而且在软件上也更加方便、可靠。同时这种开关电源模块红外通信方式也可以应用在带串行口和定时器/计数器的单片机应用领域。

关键字:红外通信  单片机  应用领域 引用地址:红外通信方式如何更好的服务于单片机应用领域

上一篇:电力系统电压稳定无功功率及其补偿问题解决
下一篇:针对单纯数字逻辑型电路板ATE设备的设计

推荐阅读最新更新时间:2024-03-16 13:40

单片机驱动19264a液晶显示英文程序
19264液晶是一种比12864大一点点的单色液晶,这里我给大家介绍一下用单片机驱动他的原理 电路图 仿真图 实际效果图 #include stc89.h #include intrins.h #define uchar unsigned char #define uint unsigned int uint ee; sbit lcd_cs3=P1^0;//片选信号右 低有效 sbit lcd_cs2=P1^1;//片选信号中 低有效 sbit lcd_cs1=P1^2;//片选信号左 低有效 sbit lcd_e =P1^3;//使能信号 sbit lcd_rw =P1^4;//读写选择 sbit lcd_rs =P
[单片机]
<font color='red'>单片机</font>驱动19264a液晶显示英文程序
分析AVR单片机优缺点
简介:AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。 AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。 avr单片机的特点及优点 高可靠性、功能强、高速度、低功耗和低价位 , 一直是衡量单片机性能
[单片机]
单片机和PLC的区别
若是单片机用梯形图之类编程语言,大家会不会用单片机代替PLC? 单片机的应用考量的是开发者的能力、经验,这其中的能力包括电源、滤波、隔离、软件的规范、通讯、对工艺的理解、更重要的是器件选择、采购、焊接、老化、改进、可扩展性、外壳设计、面板设计、小批量、大批量、开发周期.......其中的任何一条都可能成为制约! PLC的应用考验的能力:选型、应用程序的编写、工艺、调试、降低成本。好像比单片机要少的多。 所以除非单个的应用大于5000台,否则还是用plc好些。 看看典型的单片机的应用吧:家用电热水器、家用空调、微波炉、电饭煲、电子计价秤、标准仪表..... 单片机在工业领域逐渐被嵌入式、dsp等取代,在50元以下
[单片机]
Proteus入门单片机(3)例程分析
74HC573详解: /* 调试环境:Proteus 7.8 AT89S52单片机 8位共阴数码管 功能为:实现数码管1秒~99秒倒计时, 12M晶振 */ #include reg52.h #define uchar unsigned char sbit LED1=P1^1; //连的是LED1 #define MAX_NUM 13 //最大倒计时数1~99可设 #define SEGPORT P0 //定义数码管连接端口 sbit LE_DUAN = P2^0; //定义573锁存使能端口 段锁存 sbit LE_WEI =
[单片机]
PIC单片机与MCS-51系列单片机有哪些区别?
PIC单片机与MCS-51系列单片机的区别 应该说有三个主要特点: (1)总线结构:MCS-51单片机的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能同时进行;而PIC单片机的总线结构是哈佛结构,指令和数据空间是完全分开的,一个用于指令,一个用于数据,由于可以对程序和数据同时进行访问,所以提高了数据吞吐率。正因为在PIC单片机中采用了哈佛双总线结构,所以与常见的微控制器不同的一点是:程序和数据总线可以采用不同的宽度。数据总线都是8位的,但指令总线位数分别位12、14、16位。 (2)流水线结构:MCS-51单片机的取指和执行采用单指令流水线结构,即取一条指令,执行完后再取下一条指令;而PIC的取指和执行
[单片机]
Microchip 推出内置分流稳压器的 PIC 单片机
PIC16F616/HV616 系列可提供低成本电机及风扇控制所需的专用外设   全球领先的单片机和模拟半导体供应商 —— Microchip Technology (美国微芯科技公司)近日宣布推出首款配备多种外设的通用闪存 PIC 单片机,有助于实现更具成本效益的风扇或小型电机控制。全新 14 引脚 PIC16F616/610 和 8 引脚 PIC12F615/609 单片机集成了多种专用外设,可大大减少系统所需的元件数及成本。这些外设包括具有死区控制的全桥脉宽调 制 ( PWM ) 、用于脉宽测量的 Timer1 门、霍尔效应传感器接口比较器,以及具
[新品]
如何编写51单片机音乐程序
正好做了一个音乐程序,贡献出来给你吧,希望你能满意。 电路连接很简单,在P3.0端口接个蜂鸣器,不过效果一般。如果想效果好点,就加个放大电路,接个小功率喇叭就行。因为这里发电路不方便,所以如果需要放大电路,可加我QQ:7468485。 音乐程序的设计原理和程序如下: 设计原理 ⑴ 总体原理: 乐曲中不同的音符,实质就是不同频率的声音。通过单片机产生不同的频率的脉冲信号,经过放大电路,由蜂鸣器放出,就产生了美妙和谐的乐曲。 ⑵ 单片机产生不同频率脉冲信号的原理: 1)要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复
[单片机]
单片机驱动点阵16*16综合C程序-包含各种效果
一、硬件简介: 经过努力,终于完成了我以前一直的梦想,点阵各种模式能独立原创出点阵屏各种模式:间断、上移、下移、左移、右移、上拉幕、下拉幕、左拉幕、右拉幕、左覆盖、右覆盖等等模式,我认为点阵只要是上移、左移会了,基本其它的都会了!一定要理解了,才算哟,太高兴了,现在和大家分享下了,我的硬件是:行是译码器74HC154+S8550,列是74HC595移位寄存器. 祥细视频如下 http://www.tudou.com/programs/view/D0SCJyO4RBQ/   完整的程序源代码下载: http://www.51hei.com/f/dz854.rar 二、具体原理图见 电路介绍: http://www.51he
[单片机]
<font color='red'>单片机</font>驱动点阵16*16综合C程序-包含各种效果
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved