久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

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 下一頁

評論


相關推薦

技術專區

關閉