新聞中心

        EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > PC機(jī)擴(kuò)展RS-232接口

        PC機(jī)擴(kuò)展RS-232接口

        作者: 時(shí)間:2007-01-25 來源:網(wǎng)絡(luò) 收藏
         機(jī)的C串行口是使用最多的接口之一。因此,4串口、8串口等以增加串口數(shù)量為目的的ISA總線卡產(chǎn)品大量問世。一般串口應(yīng)用只是使用了RXD和TXD兩條傳輸線和地線所構(gòu)成的串口的最基本的應(yīng)用條件,而本文介紹一個(gè)利用機(jī)的串口加上若干電路來實(shí)現(xiàn)多串口需求的接口電路。
        1.機(jī)串口的RTS和DTR及
         RTS和DTR是PC機(jī)中8250芯片的MODEM控制寄存器的兩個(gè)輸出引角D1和D0位,口地址為COM1的是3FCH,口地址為COM2的是2FCH。我們可以利用對MODEM控制寄存器3FCH或2FCH的寫操作對其進(jìn)行控制。從而利用該操作和實(shí)現(xiàn)對TXD和RXD進(jìn)行多線擴(kuò)展,圖1是其
         在圖1所示的PC機(jī)串口擴(kuò)展電路中,74LS161是二進(jìn)制計(jì)數(shù)器,1腳是清0端,2腳是計(jì)數(shù)端,計(jì)數(shù)脈沖為負(fù)脈沖信號,4051是八選一雙向數(shù)字/模擬電子開關(guān)電路,其中一片用于正向輸出,一片用于反向輸出。該擴(kuò)展電路工作原理是通過控制PC機(jī)串口的DTR輸出的高低電平來形成74LS161的P2腳計(jì)數(shù)端的負(fù)脈沖信號,使161的輸出端P14(QA)、P13(QB)、P12(QC)、P11(QD)腳依次在0000到1111十六個(gè)狀態(tài)中變化,本電路僅使用了QA、QB、QC三個(gè)輸出來形成對4051的ABC控制,最終使得4051(1)的輸入端TXD依次通過與TX1~TX8導(dǎo)通而得到輸出信號,4051(2)的輸出端RXD與RX1~RX8依次導(dǎo)通形成輸入信號。由于RXD和TXD的導(dǎo)通是一一對應(yīng)的,因此串口通信就可以依次通過與多達(dá)8個(gè)帶有三線基本串口的外部設(shè)備進(jìn)行通信傳輸以實(shí)現(xiàn)數(shù)據(jù)傳送。PC機(jī)端的電平轉(zhuǎn)換電路是將RS232電平轉(zhuǎn)換為TTL電平,外設(shè)端的電平轉(zhuǎn)換電路是將TTL電平轉(zhuǎn)換為RS232電平。由于這種轉(zhuǎn)換有許多電路可以實(shí)現(xiàn),因而,這里不再介紹。
        2.電路使用程序
        對PC機(jī)串口COM1的編程如下:
        ……
        … ;對COM1口的波特率等設(shè)置;
        MOV DX,3FCH
        MOV AL,XXXXXX01B
        OUT DX,AL;D1生成RTS負(fù)脈沖,對74LS161輸出端清0
        MOV AL,XXXXXX11B;
        OUT DX,AL ;4051的RX1和TX1導(dǎo)通
        CALL COM ;調(diào)用通信子程序,與第一個(gè)外部設(shè)備通信;
        MOV CX,7 ;設(shè)置循環(huán)計(jì)數(shù)器;
        NEXT:MOV DX ,3FCH
        MOV AL,XXXXXX10B
        OUT DX ,AL ;D0位生成DTR的負(fù)脈沖,形成161的P2腳計(jì)數(shù)脈沖
        MOV AL,XXXXXX11B
        OUT DX,AL ;RX2和TX2導(dǎo)通
        CALL COM ;調(diào)用通信子程序,與第二個(gè)外部設(shè)備通信
        LOOP NEXT ;循環(huán)與另外6個(gè)外部設(shè)備通信
        … ;通信子程序略
        3.使用說明
         由于該擴(kuò)展的多路接口在通信時(shí)共用一個(gè)子程序,因此在與某一路導(dǎo)通時(shí),系統(tǒng)只能與這一路的外部設(shè)備進(jìn)行通信聯(lián)絡(luò)。
         如果工作現(xiàn)場需要立即和某一路通信,則需要對3FCH的D1位執(zhí)行兩個(gè)寫操作并在RTS腳形成負(fù)脈沖,以對7416I清0后,再連接執(zhí)行若干次對DTR的兩次寫操作。例如想對第4路外設(shè)通信,則需要執(zhí)行完成對74LS161清0后,再連續(xù)三次對3FCH的D0位進(jìn)行兩個(gè)寫操作以形成DTR腳的負(fù)脈沖,然后即可調(diào)用通信子程序。
         如需使用PC機(jī)的COM2串口,只需將程序中的3F8H~3FDH全部換成2F8H~2FDH即可。
         如果使用十六選一雙向數(shù)字/模擬電子開關(guān)電路,可將74LS161的QA、QB、QC、QD四個(gè)輸出端接至電子開關(guān)的四個(gè)控制端A、B、C、D,這樣就可以達(dá)到一個(gè)PC機(jī)的RS232口與16個(gè)帶有串口的外設(shè)的數(shù)據(jù)通信。


        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 湘乡市| 黄陵县| 建宁县| 米泉市| 西青区| 西乡县| 东安县| 青浦区| 得荣县| 嫩江县| 枝江市| 错那县| 吴江市| 博兴县| 营山县| 葫芦岛市| 枝江市| 岗巴县| 罗甸县| 华阴市| 敖汉旗| 通城县| 玉林市| 高唐县| 平湖市| 沁源县| 宜兰县| 都江堰市| 水城县| 福清市| 贺兰县| 莱阳市| 明光市| 格尔木市| 铜梁县| 苗栗市| 婺源县| 青川县| 乌兰浩特市| 万年县| 新乡市|