王峻崧
【摘 要】英國(guó)的實(shí)驗(yàn)中心電子開(kāi)發(fā)的Proteus軟件支持模擬電路,數(shù)字電路,單片機(jī)和模擬ARM的仿真。在Proteus7.5開(kāi)始,可以支持8086 CPU,它為計(jì)算機(jī)學(xué)習(xí)和研究提供了極大的方便。本文從實(shí)際應(yīng)用出發(fā),在Proteus軟件中模擬LED右流水燈亮的過(guò)程。
【關(guān)鍵詞】8086處理器;微機(jī)原理;仿真
一、引言
隨著科學(xué)技術(shù)的不斷發(fā)展,微型計(jì)算機(jī)已廣泛應(yīng)用于社會(huì)和經(jīng)濟(jì)的各個(gè)方面,因?yàn)樗鼈兊捏w積小,重量輕,功耗低,結(jié)構(gòu)簡(jiǎn)單,可靠性高,使用方便,以及擁有高性?xún)r(jià)比。而嵌入式系統(tǒng)的發(fā)展,使微型計(jì)算機(jī)系統(tǒng)在通信、機(jī)電一體化等方面的應(yīng)用更加廣泛。
本次設(shè)計(jì),通過(guò)匯編語(yǔ)言控制開(kāi)關(guān)的狀態(tài),用8086CPU控制8255A的端口PA,再利用74ls245芯片通過(guò)控制8只LED發(fā)光二極管,PB口接1只開(kāi)關(guān),編寫(xiě)程序LED燈右循環(huán)亮。
二、設(shè)計(jì)方案
2.1設(shè)計(jì)原理
本次設(shè)計(jì)的內(nèi)容為模擬流光燈控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。根據(jù)需要,選擇的芯片有8086cpu芯片,74273芯片,74ls254芯片,8255A可編程并行接口。然后編寫(xiě)程序,用Proteus8軟件進(jìn)行仿真,控制8個(gè)LED燈實(shí)現(xiàn)流水效果。
2.2設(shè)計(jì)環(huán)境及設(shè)備
PC機(jī)一臺(tái)、windows 10系統(tǒng)
2.3模擬燈右循環(huán)亮工作原理
2.3.1現(xiàn)象:右向移動(dòng)流水燈的實(shí)驗(yàn)現(xiàn)象是首先最左邊的燈亮,然后是最左邊的燈滅,此時(shí)左起第二個(gè)燈亮,依次輪流亮,直到第八個(gè)燈亮。然后循環(huán)上述過(guò)程。
2.3.2原理:右向移動(dòng)流水燈是根據(jù)發(fā)光二極管的顯示原理,首先點(diǎn)亮最右的二極管,然后進(jìn)位置一,通過(guò)帶進(jìn)位的循環(huán)右移指令編寫(xiě)程序以實(shí)現(xiàn)模擬流水燈的右向移動(dòng)。
三、系統(tǒng)硬件介紹
3.1 8086處理器介紹
8086CPU是INTEL系列微處理器中具有代表性的高性能16位微處理器.它使用的HMOS工藝制造,外形封裝為雙列直插,有40個(gè)引腳。使用單個(gè)5V電源,8086處理器的主時(shí)鐘頻率為4.77MHZ。8086 CPU具有16位數(shù)據(jù)總線(xiàn)和20位地址總線(xiàn),所以它的直接尋址空間是1MB。
8086CPU采用了2級(jí)流水線(xiàn)的處理方式,8086CPU內(nèi)部設(shè)置了兩個(gè)獨(dú)立的部分總線(xiàn)接口部件(BIU)和指令執(zhí)行部件(EU)來(lái)實(shí)現(xiàn)取指令與執(zhí)行指令的流水線(xiàn)操作??偩€(xiàn)接口部件負(fù)責(zé)取指令,存取操作數(shù)和存結(jié)果,即負(fù)責(zé)所有的外部操作。指令執(zhí)行部件負(fù)責(zé)執(zhí)行指令,即從BIU的指令隊(duì)列中取出指令,并執(zhí)行指令,不必訪(fǎng)問(wèn)存儲(chǔ)器或I/O端口,節(jié)省了取指令時(shí)間,加快程序執(zhí)行速度。
3.2 8255芯片介紹
8255芯片是來(lái)自于Intel家族,型號(hào)8255用24個(gè)輸入/輸出引腳和可編程通用并行輸入/輸出接口電路(改性8255A和8255A-5)的可編程外圍接口電路。它是一個(gè)40針雙列直插集成電路,并且使用單個(gè)+ 5V電源。
8255芯片一種并行輸入輸出LSI芯片,一個(gè)多功能I/O設(shè)備,可以被用作CPU總線(xiàn)與外圍設(shè)備之間的接口。
8255芯片有24可編程I/O端口,即,3個(gè)組的8位I/O端口中的端口PA,PB端口和PC端口。它們可以被分為兩個(gè)組,每組12位I/O端口。A組包括端口A(yíng)和端口C(高4位,PC4到PC7)。B組包括端口B和端口C(低4位,PC0到PC3)。A組可以被設(shè)置為基本的I/O端口,STROBE I/O閃控,雙向I/O 3點(diǎn)的模式;B組只能被設(shè)置為基本的I/O或閃控I/O模式,即完全由控制寄存器的控制字來(lái)確定。
3.3 74273芯片介紹
74273芯片是一個(gè)8位的數(shù)據(jù)鎖存器。
第1腳是復(fù)位腳,平時(shí)應(yīng)保持高電平;低電平時(shí)1Q~8Q輸出全部低電平,同時(shí)內(nèi)部寄存器全部清零。
1D~8D為數(shù)據(jù)輸入,在11腳(CLK)從低電平升變到高電平時(shí)(即上沿),1D~8D被保存到74273寄存器中,同時(shí)1Q~8Q輸出對(duì)應(yīng)1D~8D的電平。
第1腳保持高電平,第11腳為低電平、高電平、高電平到低電平跳變(下升沿)這些狀態(tài)對(duì)輸出1Q~8Q及74273內(nèi)部保存的數(shù)據(jù)無(wú)影響。
3.4 74ls245
74LS245是用于驅(qū)動(dòng)LED或其它設(shè)備通常使用的芯片。它是一個(gè)8信道的同相三態(tài)雙向總線(xiàn)收發(fā)器,其在兩個(gè)方向上傳送數(shù)據(jù)。
第1腳DIR(T/R),為輸入輸出端口轉(zhuǎn)換用,DIR="1"高電平時(shí)信號(hào)由"A"端輸入"B"端輸出,DIR="0"低電平時(shí)信號(hào)由"B"端輸入"A"端輸出。
第2~9腳“A”信號(hào)輸入輸出端,A0=B0,A7=B7,A0與B0是一組,如果DIR=“1”O(jiān)E=“0”則A1輸入B1輸出,其它類(lèi)同。如果DIR=“0”O(jiān)E=“0”則B1輸入A1輸出,其它類(lèi)同。
第11~18腳“B”信號(hào)輸入輸出端,功能與“A”端一樣,不再描述。
第19腳OE,使能端,若該腳為“1”A/B端的信號(hào)將不導(dǎo)通,只有為“0”時(shí)A/B端才被啟用,該腳也就是起到開(kāi)關(guān)的作用。
第10腳GND,電源地。
第20腳VCC,電源正極。
四、模擬流水燈軟件設(shè)計(jì)
4.1編程程序?qū)崿F(xiàn)
CODE SEGMENT 'CODE'
ASSUME CS:CODE
START:MOV DX,06H
MOV AL,82H
OUT DX,AL
MOV DX,00H
MOV AH,0FEH
BG: MOV AL,AH
OUT DX,AL
CALL DELAY
MOV DX,02H
IN AL,DX
TEST AL,01H
JNZ BG
ROR AH,1
MOV DX,00H
JMP BG
DELAY PROC NEAR
MOV BL,100
DELAY2: MOV CX,374
DELAY1: NOP
NOP
LOOP DELAY1
DEC BL
JNZ DELAY2
RET
DELAY ENDP
CODE ENDS
END START
五、仿真圖
六、結(jié)果分析
點(diǎn)擊軟件的右下角開(kāi)始模擬按鈕,然后關(guān)閉K0開(kāi)關(guān)??梢杂^(guān)察到的是,在右上角的LED燈從左到右閃爍,不停止。
基于這次試驗(yàn),讓我們對(duì)Proteus軟件有了更深的認(rèn)識(shí),對(duì)微機(jī)原理以及技術(shù)有了更深層次的了解,在21世紀(jì)新時(shí)代,微機(jī)原理會(huì)得到更深層次的發(fā)展。我們的社會(huì)也會(huì)更加的幸福。
【參考文獻(xiàn)】
[1]田輝主編.微機(jī)原理與接口技術(shù)[M].高等教育出版社,2011.