·上一文章:基于单片机SPMC75的模拟全自动洗衣机的设计
·下一文章:ATmega128在开发应用中应注意的问题
2.系统软件设计
2.1 主程序设计流程图
主程序设计流程图如图6所示。
2.2 中断处理模块的通讯
首先要解决时间冲突问题,硬件接受或发送一个字节的时间为1ms左右,而软件接受或发送一个字节的时间仅几μs,这就为双串口同时通讯提供了条件。同时通讯实际上是将CPU时间分成很小的时间片,假设较快的串口发送或接受一个字节的最长时间为TRbyteMax,则CPU最长时间片一般应小于TRbyteMax/2,当然在接受或发送完一帧数据之后的间隙,CPU时间片可以适当延长,作一些必要的数据处理。其次要解决数据冲突问题,2个串口通讯分别使用各自的接受发送数据缓冲区和控制变量,以减少中断保护数据量和防止数据冲突。当主程序、串口中断处理程序和其他中断处理程序往存储器(与上位机的通讯用存储器)中写数据时,需在尽量短的时间内关闭另一个串口中断,关闭中断时间应小于几百μs,防止其他程序数据没有写完之前串口读此数据。串口通讯数据帧中采用高可靠性的循环冗余校验(CRC)技术,极大地降低了数据误码率,在连续运行几个月的大量数据中没有发现误码。
3.结语
本系统设计基于C8051F340双串口来进行电梯远程控制,采用模块化、结构化、面向对象设计方法,使系统具有高可靠性和高实时性。同时给出了硬件电路模块和软件程序图,其中硬件电路图通用性强,便于参考和设计。此外,IC卡电路,双串口通信也为系统的可靠性,安全性提供了保证。