51兼容载波通信单片机PL3105的通信软件设计

[09-12 17:52:29]   来源:http://www.88dzw.com  单片机学习   阅读:8767

文章摘要:数据全部发送完成后,载波模块即可转入接收态。但为确保待发送数据的最后一个位发送成功,必须在发送完最后一位数据后等到下一次发送中断到来后,才可以转换载波发送态到接收态。载波发送未,将全部数据发送完成前,CPU必须及时向PLM_RST寄存器写入“A2H”,使计数器复位,避免自动复位提前进入载波接收态。发送中断程序如下:void PLM_int(void)interrupt 7//载波收发中断{if(PLM_RS==1)zb_tx();//载波发送中断服务程序else zb_rx();//载波接收程序服务程序,略}void zb_tx(void)//载波发送程序{if(len8==0)s_byte=

51兼容载波通信单片机PL3105的通信软件设计,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

数据全部发送完成后,载波模块即可转入接收态。但为确保待发送数据的最后一个位发送成功,必须在发送完最后一位数据后等到下一次发送中断到来后,才可以转换载波发送态到接收态。

载波发送未,将全部数据发送完成前,CPU必须及时向PLM_RST寄存器写入“A2H”,使计数器复位,避免自动复位提前进入载波接收态。发送中断程序如下:

void PLM_int(void)interrupt 7//载波收发中断

{if(PLM_RS==1)zb_tx();//载波发送中断服务程序

else zb_rx();//载波接收程序服务程序,略

}

void zb_tx(void)//载波发送程序

{if(len8==0)s_byte=buf_send[zbs_count];//取待发送字节到位发送缓冲

ACC=s_byte;

P3.7=ACC^7;//位发送,最高位在前

s_byte=s_byte<<1; //左移

len8++; //移位计数计算

if(len8>7) //8位发送完毕

{zbs_count++; //下一字节

len8=0; //移位计数清零

}

PLM_RS=1; //载波发送允许

PLM_RST=0xA2; //载波发送复位寄存器清空

}

结语

由SoC芯片PL3105设计的具有载波通信功能的智能仪表,在智能电表行业中得到了应用和推广。其简单的接收、发射处理方式使应用程序设计十分方便。同时灵活的ISP编程方式,使产品升级换代和功能扩展灵活;达到了低成本、高性能的设计指标。




上一页  [1] [2] [3] 


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习
分类导航
最新更新
热门排行