【实例简介】
实现DMX512标准协议,对灯光进行控制.
照明工程学报
2002年9月
数据时序要求的控制信息数据包,为了达到250kb/s了满足数据的时序要求并提高单片机处理的速度,
波特率的异步11位数据传送的要求,控制器端单片单片机应采用16M晶振。接收端相关程序流程图
机可工作在方式2状态,单片机晶振可采用8M或(图5)如下。
16M。发送数据程序流程如图4所示
接收端主程序流程:
接收端通过外部中断响应来检测数据的起始位
开始
置,当接收到 Break信号后,系统相关计数变量寄
存器复位,准备接收数据;当接收到 Start code信号
设置串口工作方式
后,对其后面的数据帧进行计数,当数据帧数与预
设的本机地址相等时接收该帧数据并停止本机串口
设置中断优先级
接收数据,开始检测是否有 Break信号,否则就放
弃该帧数据,等待下一帧数据。为了不占用定时器
开外部中断0
设置串口工作方式
其他处理程序
开串口中断
图5接收端主程序流程图
外部中断0服务程序流程(图6):
P
开始
延时g8us以上
关外部中断0
P31=
调用计时子程序
发送数据帧
开外部中断1
图6接收端外部中断0程序流程图
延时
外部中断1服务程序流程和串口中断服务程序流程
清Tl
(图7和图8):
匚开始
数据包发送完?
关外部中断1]
[停止计时
发送卜一数据包?