新聞中心

        EEPW首頁(yè) > 嵌入式系統(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)行效率和簡(jiǎn)化考慮,整個(gè)程序分為初始化、串行接收中斷服務(wù)程序和串口選擇三個(gè)模塊,其實(shí)現(xiàn)的編程軟件可用 C51 或ASM 等語(yǔ)言編寫,程序框圖如圖 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é)束語(yǔ)
        采用偵聽終端發(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)簡(jiǎn)單、使用單電源,成本低。軟件系統(tǒng)程序短、速度快。解決了不同波特率設(shè)備連接。各端口使用DB25 或 DB9 的接插件實(shí)現(xiàn) C 標(biāo)準(zhǔn)接口的連接。該系統(tǒng)在銀行部門完全獲得成功,并且得到較廣泛的應(yīng)用。


        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 阜新市| 馆陶县| 长白| 兴安盟| 昔阳县| 新化县| 盐源县| 金堂县| 驻马店市| 永兴县| 乐陵市| 崇明县| 伊金霍洛旗| 河南省| 寿阳县| 临西县| 荣昌县| 新沂市| 吉隆县| 肇州县| 威宁| 南阳市| 安龙县| 象山县| 花垣县| 陇川县| 遵化市| 盱眙县| 梧州市| 潼关县| 陵水| 宁蒗| 勐海县| 安岳县| 凯里市| 新化县| 灵璧县| 石城县| 巨鹿县| 温宿县| 铅山县|