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