新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AT89C2051的串口擴(kuò)展器設(shè)計(jì)

基于AT89C2051的串口擴(kuò)展器設(shè)計(jì)

作者: 時(shí)間:2013-10-11 來源:網(wǎng)絡(luò) 收藏

2 串口選擇命令
串口選擇命令對(duì)用戶公開,由表 1 所示。

終端可把串口選擇命令和其它操作命令組合在一起發(fā)送,提高效率。例如柜員欲刷卡,磁卡讀寫機(jī)接在 B 口上,磁卡雙道讀命令字符串為“ESC B ]”。終端可連續(xù)發(fā)送“ESC % B ESCB ]”字符串命令,當(dāng) ATMEL89C2051 收到“ESC % B”信息時(shí),(實(shí)際全部字符串都收到)立即接通 B 口,斷開其它口,因?yàn)樵摬僮魉俣确浅??,接?B 口上的磁卡讀寫機(jī)能即時(shí)收到“ESC B ]”命令字符串。如串行擴(kuò)展器原先接 B 口,磁卡讀寫機(jī)收到“ESC % B”串口選擇命令字符串后會(huì)將它濾掉。
注:命令字符串中無空格的,這里為說明而用。

3 系統(tǒng)軟件設(shè)計(jì)
出于程序運(yùn)行效率和簡化考慮,整個(gè)程序分為初始化、串行接收中斷服務(wù)程序和串口選擇三個(gè)模塊,其實(shí)現(xiàn)的編程軟件可用 C51 或ASM 等語言編寫,程序框圖如圖 3 所示。
3.1 初始化模塊
初始化模塊設(shè)定串行接收中斷模設(shè)、波特率,定義命令隊(duì)列緩沖區(qū)地址及指針,確定 B 口為默認(rèn)選擇口。

3.2 串行接收中斷服務(wù)程序
串行接收中斷服務(wù)程序僅接收終端發(fā)出的命令字符串,采用循環(huán)隊(duì)列方式,收到一個(gè)字符,修改命令隊(duì)列緩沖區(qū)地址指針。
3.3 串口選擇模塊串口選擇模塊處理命令隊(duì)列緩沖區(qū)中的信息,判斷
是否有串口選擇命令,如有作相應(yīng)的處理;如無,則濾掉非串口選擇命令等信息。

圖3

4 結(jié)束語
采用偵聽終端發(fā)出的信息,從中選出串口選擇命令,進(jìn)行相應(yīng)操作。若遇到某些設(shè)備波特率不一致, 如磁卡機(jī)波特率為 9600,密碼小鍵盤為 2400)可將 ATMEL89C2051作為中轉(zhuǎn)站,CPU 以固定波特率(一般為 9600)與終端通信,遇到終端欲與密碼小鍵盤通信,CPU 將收到的命令字符串以密碼小鍵盤的波特率轉(zhuǎn)發(fā)給密碼小鍵盤,再將密碼小鍵盤發(fā)來的數(shù)據(jù)以固定波特率返回給終端,這只需將硬件和軟件稍作些修改即可。

本文作者創(chuàng)新點(diǎn):研制開發(fā)的硬件和軟件系統(tǒng)。硬件結(jié)構(gòu)小巧靈攏、結(jié)構(gòu)簡單、使用單電源,成本低。軟件系統(tǒng)程序短、速度快。解決了不同波特率設(shè)備連接。各端口使用DB25 或 DB9 的接插件實(shí)現(xiàn) C 標(biāo)準(zhǔn)接口的連接。該系統(tǒng)在銀行部門完全獲得成功,并且得到較廣泛的應(yīng)用。


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉