新闻中心

EEPW首页>嵌入式系统>设计应用> 基于AT89C2051的串口扩展器设计

基于AT89C2051的串口扩展器设计

作者: 时间:2013-10-11 来源:网络 收藏

2 串口选择命令
串口选择命令对用户公开,由表 1 所示。

终端可把串口选择命令和其它操作命令组合在一起发送,提高效率。例如柜员欲刷卡,磁卡读写机接在 B 口上,磁卡双道读命令字符串为“ESC B ]”。终端可连续发送“ESC % B ESCB ]”字符串命令,当 ATMEL89C2051 收到“ESC % B”信息时,(实际全部字符串都收到)立即接通 B 口,断开其它口,因为该操作速度非常快,接在 B 口上的磁卡读写机能即时收到“ESC B ]”命令字符串。如串行扩展器原先接 B 口,磁卡读写机收到“ESC % B”串口选择命令字符串后会将它滤掉。
注:命令字符串中无空格的,这里为说明而用。

3 系统软件设计
出于程序运行效率和简化考虑,整个程序分为初始化、串行接收中断服务程序和串口选择三个模块,其实现的编程软件可用 C51 或ASM 等语言编写,程序框图如图 3 所示。
3.1 初始化模块
初始化模块设定串行接收中断模设、波特率,定义命令队列缓冲区地址及指针,确定 B 口为默认选择口。

3.2 串行接收中断服务程序
串行接收中断服务程序仅接收终端发出的命令字符串,采用循环队列方式,收到一个字符,修改命令队列缓冲区地址指针。
3.3 串口选择模块串口选择模块处理命令队列缓冲区中的信息,判断
是否有串口选择命令,如有作相应的处理;如无,则滤掉非串口选择命令等信息。

图3

4 结束语
采用侦听终端发出的信息,从中选出串口选择命令,进行相应操作。若遇到某些设备波特率不一致, 如磁卡机波特率为 9600,密码小键盘为 2400)可将 ATMEL89C2051作为中转站,CPU 以固定波特率(一般为 9600)与终端通信,遇到终端欲与密码小键盘通信,CPU 将收到的命令字符串以密码小键盘的波特率转发给密码小键盘,再将密码小键盘发来的数据以固定波特率返回给终端,这只需将硬件和软件稍作些修改即可。

本文作者创新点:研制开发的硬件和软件系统。硬件结构小巧灵拢、结构简单、使用单电源,成本低。软件系统程序短、速度快。解决了不同波特率设备连接。各端口使用DB25 或 DB9 的接插件实现C 标准接口的连接。该系统在银行部门完全获得成功,并且得到较广泛的应用。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭