新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種單片機控制的指令轉換器的設計

        一種單片機控制的指令轉換器的設計

        作者: 時間:2012-03-22 來源:網絡 收藏

        1 引言

        本文引用地址:http://www.104case.com/article/171804.htm

        在某大型指揮系統中,由于發送裝置與接收裝置的格式有很大的區別,兩者不能直接通信。而更換其中之一都會造成巨大的資金浪費,的目的就是在不改變發送和接收裝置的情況下對發送裝置所產生的指令進行格式轉換,使產生的指令格式與接收裝置所能接收的指令格式一致,實現整個系統的順利通信。

        2 硬件

        2.1 總體結構

        指令的硬件總體結構如圖2-1所示。所有電路模塊集中在一塊印刷電路板上,主要有89C51、串口擴展電路、中斷擴展電路、監測電路、靜態存貯器擴展電路、輸出電路及分頻電路等幾個部分,下面將對各部分進行詳細介紹。

        2.2 中央單元

        2.2.1時鐘電路

        89C51的內部有一個用于構成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端,這個放大器與作為反饋元件的片外諧振器一起構成一個自激振蕩器。89C51有內部和外部兩種時鐘方式,本系統采用外部時鐘方式。

        2.2.2復位電路

        復位電路的核心是:在振蕩器運行時,保證89C51的RST引腳上出現10ms以上穩定的高電平,這樣可以使89C51可靠地復位。常用的復位電路有上電復位、電平開關復位、兩種復位電路相結合的電路等,本系統采用上電復位電路。

        24.gif

        2.3 串口擴展電路

        89C51僅有一個異步串行通信接口,而指令需要同時與指令發送裝置、指令接收裝置進行通信,需要兩個專用的串行口,利用Intel 8251擴展串行口,可有效解決問題。8251可用于同步和異步傳輸。異步傳送時,可傳送5-8bits字符,時鐘速率為通信波特率的1、16或64倍;可產生1、1.5或2位的停止位,可檢查假啟動位,自動監測和處理終止字符;完全雙工,具有雙緩沖器發送和接收器;具有奇偶、溢出和幀錯誤檢測電路。本系統用兩片8251進行擴展串口,其片選地址分別為#1FFFH、#3FFFH。

        2.4 外部數據存儲器擴展電路

        89C51內部有128個字節RAM存儲器。CPU對內部RAM具有豐富的操作指令。但在用于實時數據采集和處理時,僅靠內部的128個字節的數據存儲器是遠遠不夠的,在這種情況下,可以利用89C51的擴展功能,擴展外部存儲器。

        2.5 中斷擴展電路

        89C51單片機僅提供了兩個外部中斷源,而指令格式轉換器需要四個中斷源,為了解決此問題,利用能夠管理多級中斷請求Intel 8259A來進行中斷擴展是一個有效的辦法。

        由于8259A與 89C51的接口并不完全兼容,因此必須對89C51輸出的控制信號進行相應的變換后再對8259A進行控制。這需要解決硬件與軟件兩個問題,下面先給出硬件解決方案。

        硬件方面,當8259A發出中斷請求信號INT=1后,要求CPU返回一個中斷應答信號 送至8259A,以控制8259A調用機器指令碼的發送,但89C51不會自動發 =0的信號,可以通過對89C51的 信號與INT信號相結合,如圖2-2所示,通過CPU連續執行三條指令MOVX A,@R0指令可產生8259A的 所需要的中斷應答信號。

        25.gif

        2.6 輸出電路

        為了使信號轉換器和指令發送裝置之間能夠通信,本系統采用標準異步通信接口RS-232作為輸出端口。

        RS-232電路采用MAXIM公司的232專用接口芯片MAX238DIP,該芯片單5V供電,包含4路收,4路發,可以全雙工方式工作,MAX238DIP引腳定義及典型應用電路如圖2-3所示,引腳定義見表2-1,T1IN、T2IN、T3IN、T4IN到T1OUT、T2OUT、 T3OUT、T4OUT實現驅動輸入到232轉換,R1IN、R2IN、R3IN、R4IN到R1OUT、R2OUT、R3OUT、R4OUT實現232 到驅動輸出轉換。

        表2-1 MAX238DIP引腳定義
        26.gif


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新巴尔虎右旗| 剑阁县| 佛学| 临澧县| 奇台县| 岱山县| 宝鸡市| 武川县| 芦溪县| 大兴区| 遂昌县| 永城市| 犍为县| 安宁市| 广汉市| 绥阳县| 曲水县| 溧水县| 玛曲县| 松溪县| 黄陵县| 沧源| 中超| 乃东县| 马尔康县| 文昌市| 丰城市| 灌云县| 西吉县| 刚察县| 焦作市| 故城县| 威远县| 乌拉特前旗| 武鸣县| 哈密市| 太仆寺旗| 四会市| 西充县| 高台县| 河西区|