新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于增強型并行口的智能儀表與微機的高速通訊

        基于增強型并行口的智能儀表與微機的高速通訊

        作者: 時間:2011-11-30 來源:網絡 收藏

        基于與微機的

        介紹計算機的信號,論述單片機控制的儀器儀表經與微機通訊時的信號連接方式及通訊軟件設計方法。
          關鍵詞:增強型并行口;微機;單片機;

        High speed Communication between an Intelligent Instrumentation
        and a PC based on EPP
        SHI Yanling, ZOU Laizhi, YAN Zhiqiang
        (Engineer Command Academy, Xuzhou 221004, China)
          Key words: EPP; PC; microcontroller; high?speed communication
        1EPP信號
          微型計算機的新型并行口電路主要由狀態寄存器、控制寄存器、地址寄存器、數據寄存器等組成。工作在增強型并行口EPP模式且“基地址”為378H時,狀態寄存器、控制寄存器、地址寄存器、數據寄存器的地址分別為379H、37AH、37BH、37CH。EPP信號與這4個寄存器密切相關。
          WRITE信號:主機并行口插孔1,輸出,低電平寫,高電平讀。當控制寄存器的D0位為0時,若向數據寄存器/地址寄存器發送一條I/O指令,則產生WRITE信號。
          AD0~AD7信號:并行口插孔2~9,雙向數據/地址線,對應于數據寄存器/地址寄存器的D0~D7位,用于傳輸數據/地址。
          INTR信號:并行口插孔10,輸入,外部設備中斷請求信號,上升沿有效。當控制寄存器的D4位為1時,才允許并行口向主機傳送來自外設的中斷請求信號IRQ7。狀態寄存器D6位取值與INTR信號相同。
          WAIT信號:并行口插孔11,輸入,握手信號,低可以開始一個周期,高可以結束一個周期(EPP1.9標準時)。狀態寄存器的D7位取值與WAIT信號相反。
          USER1、USER2、USER3信號:分別為并行口插孔12、13、15,輸入,用戶定義。狀態寄存器的D3、D4、D5位取值分別與USER3、USER2、USER1取值相同。
          DATASTB信號:并行口插孔14,輸出,低有效,表示正在進行數據讀/寫操作。當控制寄存器的D1位為0時,若向數據寄存器發送一條I/O指令,則產生DATASTB信號。
          RESET信號:并行口插孔16,輸出,低有效,為外部設備復位信號。當控制寄存器的D2位為1時,產生RESET信號。
          ADDRSTB信號:并行口插孔17,輸出,低有效,表示正在進行地址讀/寫操作。當控制寄存器的D3位為0時,若向地址寄存器發送一條I/O指令,則產生ADDRSTB信號。
          GND信號:并行口插孔18,地線,所有信號公共端。
          在EPP模式下,對EPP控制寄存器的各位寫入規定的值后,再用一個I/O指令向EPP的數據寄存器/地址寄存器傳輸一個字節的數據/地址,EPP電路則會自動處理握手信號,并自動產生時序信號[1],即信號的產生是靠硬件而不是軟件,這就是EPP能高速傳輸數據的原因。?
          EPP與AT89、MCS-51及兼容系列單片機的信號連接如圖1所示。由于EPP信號、單片機引腳信號都與TTL兼容,所以二者的信號線可以直接相連。
          為實現PC與單片機間的雙向字節數據傳送,把EPP的AD0~AD7與單片機的P1.0~P1.7(P1口)對應連接。
          單片機向PC發送數據或從PC接收數據,需經EPP向PC發送中斷請求信號,同時還要告訴PC是發送數據還是接收數據,為此需把INTR與P3.2相連。當P3.2由0變為1時,向PC發送中斷請求信號;當P3.2為0時,讓PC發送數據;當P3.2為1時,讓PC接收數據。
        ?
          在雙向通訊過程中,PC還向單片機提供握手信號,為此把DATASTB與P3.3相連。當DATSTB(PC讀/寫EPP數據寄存器時自動產生)為0時,讓單片機讀/寫P1口。
        3.1PC收/發數據
          主要設計思想:主程序中,把控制字19H寫入EPP的控制寄存器,即允許產生DATASTB信號及允許并行口中斷。當PC接到單片機發來的中斷請求信號IRQ7并響應中斷后,中斷服務程序先讀取EPP狀態寄存器的D6位(與INTR值相同)值。當該位值為0時,PC執行發送數據子程序;當該位值為1時,PC執行接收數據子程序。在收/發數據子程序中,通過查詢的方法可收/發多個字節數據;當WAIT(與EPP狀態寄存器的D7位取值相反)為0時,PC讀/寫EPP的數據寄存器,同時EEP自動產生DATASTB信號(由1變0),讓單片機寫/讀P1口。程序清單如下。
          
         ?
         
         
         
        3.2單片機收/發數據
          主要設計思想:單片機經P3.2(由0變1)向PC發送通訊中斷請求信號并發送收/發數據標志;*在收/發數據子程序中通過查詢的方法可收/發多個字節數據。當查詢到EPP的DATASTB為0時,寫/讀P1口,并經P3.4向PC發送握手信號(P3.4為0),讓PC讀/寫EPP的數據寄存器。程序清單如下。
         
         


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 枝江市| 右玉县| 西平县| 洮南市| 曲阜市| 福安市| 桑日县| 左云县| 通海县| 中阳县| 平远县| 凯里市| 塘沽区| 榆树市| 富锦市| 桐城市| 沂南县| 九江县| 滨海县| 左云县| 冀州市| 赤水市| 平江县| 六安市| 古交市| 衡山县| 安达市| 浦县| 林口县| 沾益县| 湘潭市| 沧州市| 乌兰浩特市| 辽阳县| 瑞金市| 中牟县| 错那县| 巴青县| 台北市| 灵丘县| 客服|