新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種單片機(jī)控制的指令轉(zhuǎn)換器的設(shè)計(jì)

一種單片機(jī)控制的指令轉(zhuǎn)換器的設(shè)計(jì)

作者: 時(shí)間:2012-03-22 來(lái)源:網(wǎng)絡(luò) 收藏

1 引言

本文引用地址:http://butianyuan.cn/article/171804.htm

在某大型指揮系統(tǒng)中,由于發(fā)送裝置與接收裝置的格式有很大的區(qū)別,兩者不能直接通信。而更換其中之一都會(huì)造成巨大的資金浪費(fèi),的目的就是在不改變發(fā)送和接收裝置的情況下對(duì)發(fā)送裝置所產(chǎn)生的指令進(jìn)行格式轉(zhuǎn)換,使產(chǎn)生的指令格式與接收裝置所能接收的指令格式一致,實(shí)現(xiàn)整個(gè)系統(tǒng)的順利通信。

2 硬件

2.1 總體結(jié)構(gòu)

指令的硬件總體結(jié)構(gòu)如圖2-1所示。所有電路模塊集中在一塊印刷電路板上,主要有89C51、串口擴(kuò)展電路、中斷擴(kuò)展電路、監(jiān)測(cè)電路、靜態(tài)存貯器擴(kuò)展電路、輸出電路及分頻電路等幾個(gè)部分,下面將對(duì)各部分進(jìn)行詳細(xì)介紹。

2.2 中央單元

2.2.1時(shí)鐘電路

89C51的內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端,這個(gè)放大器與作為反饋元件的片外諧振器一起構(gòu)成一個(gè)自激振蕩器。89C51有內(nèi)部和外部?jī)煞N時(shí)鐘方式,本系統(tǒng)采用外部時(shí)鐘方式。

2.2.2復(fù)位電路

復(fù)位電路的核心是:在振蕩器運(yùn)行時(shí),保證89C51的RST引腳上出現(xiàn)10ms以上穩(wěn)定的高電平,這樣可以使89C51可靠地復(fù)位。常用的復(fù)位電路有上電復(fù)位、電平開關(guān)復(fù)位、兩種復(fù)位電路相結(jié)合的電路等,本系統(tǒng)采用上電復(fù)位電路。

24.gif

2.3 串口擴(kuò)展電路

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

2.4 外部數(shù)據(jù)存儲(chǔ)器擴(kuò)展電路

89C51內(nèi)部有128個(gè)字節(jié)RAM存儲(chǔ)器。CPU對(duì)內(nèi)部RAM具有豐富的操作指令。但在用于實(shí)時(shí)數(shù)據(jù)采集和處理時(shí),僅靠?jī)?nèi)部的128個(gè)字節(jié)的數(shù)據(jù)存儲(chǔ)器是遠(yuǎn)遠(yuǎn)不夠的,在這種情況下,可以利用89C51的擴(kuò)展功能,擴(kuò)展外部存儲(chǔ)器。

2.5 中斷擴(kuò)展電路

89C51單片機(jī)僅提供了兩個(gè)外部中斷源,而指令格式轉(zhuǎn)換器需要四個(gè)中斷源,為了解決此問題,利用能夠管理多級(jí)中斷請(qǐng)求Intel 8259A來(lái)進(jìn)行中斷擴(kuò)展是一個(gè)有效的辦法。

由于8259A與 89C51的接口并不完全兼容,因此必須對(duì)89C51輸出的控制信號(hào)進(jìn)行相應(yīng)的變換后再對(duì)8259A進(jìn)行控制。這需要解決硬件與軟件兩個(gè)問題,下面先給出硬件解決方案。

硬件方面,當(dāng)8259A發(fā)出中斷請(qǐng)求信號(hào)INT=1后,要求CPU返回一個(gè)中斷應(yīng)答信號(hào) 送至8259A,以控制8259A調(diào)用機(jī)器指令碼的發(fā)送,但89C51不會(huì)自動(dòng)發(fā) =0的信號(hào),可以通過對(duì)89C51的 信號(hào)與INT信號(hào)相結(jié)合,如圖2-2所示,通過CPU連續(xù)執(zhí)行三條指令MOVX A,@R0指令可產(chǎn)生8259A的 所需要的中斷應(yīng)答信號(hào)。

25.gif

2.6 輸出電路

為了使信號(hào)轉(zhuǎn)換器和指令發(fā)送裝置之間能夠通信,本系統(tǒng)采用標(biāo)準(zhǔn)異步通信接口RS-232作為輸出端口。

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

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


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

評(píng)論


相關(guān)推薦

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

關(guān)閉