基于51型单片机的远程灯控箱系统
分噪声和数据便于操作,串口中断程序加强了通讯协议的制定[2],具体实现方法是加开始标志和结束标志。噪声是以随机字节出现的,通过测试和实验,发现在本系统中0x00后跟0xFF时噪声不容易发生。因此,设置开始标志为0x000xFF,结束标志为回车换行符0x0D0x0A。如果接收命令帧成功,则置NewData=1,表示新命令有效。考虑到纠检错,数据采用短包方式。中间采用延时,以保证起始位可靠。串口中断程序流程如图4所示。部分程序清单如下。
//串行接子函数
INT8U ReUART(INT8U*ch)
{INTl6U delay=6000;
while(--delay) //延时
{if(RI),/串行接收中断标志
{RI=0;//接收中断标志软件复位
、 *ch=SBU F=//读数据缓冲器
return 1;}//成功返回l
}
return(0);//接收失败返回0
)
//串行中断处理程序
void UART_Inter(void)interrupt 4
{INT8U ii;
INT8U temp,templ;
ReUART(temp、);//先连续接收2个字节
ReUART(templ);
//开始标志
if((temp==0x00)(templ==0xFF))
//连续接收一个命令帧
{for(ii=0;ii12;ii++)
{if(ReUART(buff[ii])==0)
goto Inter._end;}//跳出中断
if((buf[10]==0x0D)(buf[ll]==0x0A)),/结束标志
NewData=l; //新命令标志有效
}
Inter_end:;//中断出口
}
4 结论
基于SST89C58的远程灯控箱系统可实现一台PC上位机最多控制256个灯控箱,传输距离最远可达1.2km,每台灯控箱可对16路灯进行控制.实现了集中管理,分散控制的功能。该系统通过软硬件提高抗干扰性,并具有较好的扩展性,结构简单、投资少,实际应用表明具有较强的实用性。
单片机 IAP 远程控制 通信协议:SST89C58 相关文章:
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)