多费率电能表中基于单片机串行口红外通信的设计
ORG000BH;定时器/计数器T0中断入口地址
T0SERVE:CPLP3.4;定时器/计数器T0定时取反P3.4口进行高频调制
RETI;中断返回
;以下为串行口中断服务程序,以接收一个字节数据为例,多字节以此类推
ORG0023H;串行口中断入口地址
SENDSERVE:NOP
NOP
MOVA,SBUF;把接收缓冲器的数据送到A寄存器
…;进行数据处理及其它功能操作
RETI;中断返回
;以下为串行口发送程序,以发送一个字节数据为例,多字节以此类推
COMSEND:MOVA,#DATAH;把数据送到A寄存器
MOVC,P;根据A中数据产生的偶校验位送到进位标志位
MOVTB8,C;送偶校验位到发送的第9位数据
MOVSBUF,A;送数据到发送缓冲器
JNBTI,$;以查询方式等待发送结束
CLRTI;清发送中断标志位
…;继续发送或其它功能操作
RET子程序返回
4结束语
本设计的最大特点在于省略了脉冲振荡器,而仅仅利用多费率电能表上所带单片机的串行口和2个定时器/计数器,这不仅使多费率电能表在硬件设计上更加简单、成本更加低廉,而且在软件上也更加方便、可靠。同时这种红外通信方式也可以应用在带串行口和定时器/计数器的单片机应用领域。
《多费率电能表中基于单片机串行口红外通信的设计(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/170175.html
T0SERVE:CPLP3.4;定时器/计数器T0定时取反P3.4口进行高频调制
RETI;中断返回
;以下为串行口中断服务程序,以接收一个字节数据为例,多字节以此类推
ORG0023H;串行口中断入口地址
SENDSERVE:NOP
NOP
MOVA,SBUF;把接收缓冲器的数据送到A寄存器
…;进行数据处理及其它功能操作
RETI;中断返回
;以下为串行口发送程序,以发送一个字节数据为例,多字节以此类推
COMSEND:MOVA,#DATAH;把数据送到A寄存器
MOVC,P;根据A中数据产生的偶校验位送到进位标志位
MOVTB8,C;送偶校验位到发送的第9位数据
MOVSBUF,A;送数据到发送缓冲器
JNBTI,$;以查询方式等待发送结束
CLRTI;清发送中断标志位
…;继续发送或其它功能操作
RET子程序返回
4结束语
本设计的最大特点在于省略了脉冲振荡器,而仅仅利用多费率电能表上所带单片机的串行口和2个定时器/计数器,这不仅使多费率电能表在硬件设计上更加简单、成本更加低廉,而且在软件上也更加方便、可靠。同时这种红外通信方式也可以应用在带串行口和定时器/计数器的单片机应用领域。
《多费率电能表中基于单片机串行口红外通信的设计(第3页)》