多费率电能表中基于单片机串行口红外通信的设计
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 ;中断返回
;以下为串行口中断服务程序,以接收一个字节数据为例,多字节以此类推
ORG 0023H;串行口中断入口地址
SENDSERVE:NOP
NOP
MOV A,SBUF ;把接收缓冲器的数据送到A寄存器
… ;进行数据处理及其它功能操作
RETI ;中断返回
;以下为串行口发送程序,以发送一个字节数据为例, 多字节以此类推
COMSEND: MOV A,#DATAH ;把数据送到A寄存器
MOV C,P ;根据A中数据产生的偶校验位送到进位标志位
MOV TB8,C ;送偶校验位到发送的第9位数据
MOV SBUF,A ;送数据到发送缓冲器
JNB TI,$ ;以查询方式等待发送结束
CLR TI ;清发送中断标志位
… ;继续发送或其它功能操作
RET 子程序返回
4 结束语
本设计的最大特点在于省略了脉冲振荡器,而仅仅利用多费率电能表上所带单片机的串行口和2个定时器/计数器,这不仅使多费率电能表在硬件设计上更加简单、成本更加低廉,而且在软件上也更加方便、可靠。同时这种红外通信方式也可以应用在带串行口和定时器/计数器的单片机应用领域。
本文所附 SCH 图 由下下载:
http://www.21ic.com/upload-image/pic.Sch
Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论