图4 MAX3100与78E58单片机应用实例
2. 软件设计
上述电路相应的用C51编写的参考程序如下:
在程序设计时,我们要注意的是:如果是大批量的数据的接收,要通过硬件设置分批发送。当接收完一批数据后,由于当TE为高电平时,只改变
同时我们还要考虑MAX3100在通知计算机不要发送数据后还有一批的数据在缓冲区内,这批数据要注意接收,而且这些数据应留有一个接收的时间余地。也就是说在通知计算机不要发送数据之后和开始执行操作之前要延时一段时间,以保证数据的全部接收。
五: 结论
采用MAX3100作为扩展的UART,具有价格低廉,功耗小,实现容易的特点,而且比传统的UART8251占用体积小,传输速度快,工作频率高,具有比8251更优越的性能。
前面所给程序是通过端口发送与接收数据的关键,对于任何一种基于MCS-51单片机采用MAX3100实现串行收发的应用系统来说都是非常有帮助的。经过实践证明,该系统运行效果良好,数据传送安全可靠,传送快,应用广泛。
在实践中发现在系统晶振采用40MHZ,振荡器晶振选用1.8432MHZ时,C语言编写的MAX3100接收程序工作在115200波特率时有数据丢失的情况,最高只能到57600波特率,用汇编语言编写的程序则可以达到115200波特率。如果MAX3100晶振选用3.6864MHZ时,用汇编语言编写的程序可以达到其最高的波特率。