組成原理模型機(jī)說明文檔_第1頁
組成原理模型機(jī)說明文檔_第2頁
組成原理模型機(jī)說明文檔_第3頁
組成原理模型機(jī)說明文檔_第4頁
組成原理模型機(jī)說明文檔_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、此文檔為模型計(jì)算機(jī)的電路說明文檔。共分為四個(gè)部分。具體如下:第一部分:ALU,PC及I/O部分1PC(74LS161) 圖 X-174LS161的計(jì)數(shù)是同步的,靠 CLOCK 同時(shí)加在四個(gè)觸發(fā)器上而實(shí)現(xiàn)的。輸入部分D0D3都接入數(shù)據(jù)總線,兩片74LS161構(gòu)成八位。MR接總清零信號(hào),當(dāng)清零脈沖到達(dá)時(shí),芯片內(nèi)數(shù)據(jù)將被擦除;LOAD信號(hào)由微控制器在T2時(shí)譯碼給出,高電平有效。LDPC由微控制器在T2時(shí)譯碼給出,高電平有效,當(dāng)此信號(hào)變?yōu)楦唠娖讲⒈3值絋4時(shí),與門7408輸出邏輯值1,此時(shí)74LS161 的CLK引腳獲得脈沖。每次獲得脈沖將使中的數(shù)據(jù)加,即程序計(jì)數(shù)器的低位增,當(dāng)?shù)臀蛔栽鲋習(xí)r產(chǎn)生溢出進(jìn)位

2、,由RC0向高位進(jìn);總線上的數(shù)據(jù)進(jìn)入74LS161的條件是LOAD信號(hào)是高電平且CLK獲得脈沖。當(dāng) ENP、ENT 均為高電平時(shí),在時(shí)鐘脈沖上升沿作用下 D0D3 同時(shí)變化,從而消除了異步計(jì)數(shù)器中出現(xiàn)的計(jì)數(shù)尖峰。74LS161 的 ENP、ENT 跳變與時(shí)鐘脈沖無關(guān)。圖X-274LS245具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。AB/AB為高電平時(shí),A0A7為數(shù)據(jù)輸入端,B0B7為數(shù)據(jù)輸出端。CE為片選信號(hào),接信號(hào)PC_B,PC_B由微控制器在T2時(shí)刻譯碼產(chǎn)生,當(dāng)PC_B為高電平且AB/AB為高電平時(shí),數(shù)據(jù)由DA0DA7 輸出至數(shù)據(jù)總線 74LS273是一種帶清除功能的8D觸發(fā)器, D7

3、D0為數(shù)據(jù)輸入端, Q7Q0為數(shù)據(jù)輸出端,CLK正脈沖觸發(fā),低電平清除,用作8位地址鎖存器。2存儲(chǔ)器(6116)6116為此模型機(jī)的RAM,用于存放機(jī)器指令和操作數(shù),A0A10為地址線,數(shù)據(jù)由數(shù)據(jù)總線至74LS273輸入,OE和CE同時(shí)接由M17和M16經(jīng)2-4譯碼器輸出的RAM讀寫控制信號(hào),WE-R由單片機(jī)控制,用于單片機(jī)向6116中寫入模擬機(jī)運(yùn)行所需的指令及數(shù)據(jù)。3寄存器(74LS374)74LS374是數(shù)據(jù)寄存器,輸入端D0D7與輸出端Q0Q7都接在數(shù)據(jù)總線上。T4和LDIR同時(shí)為高電平的74LS08輸出邏輯值1,給CLK一個(gè)上升沿的脈沖,此時(shí)數(shù)據(jù)進(jìn)入寄存器。RI_B,RS_B,RD_B

4、均由微控制器在T2時(shí)譯碼給出,作74LS374的輸出允許信號(hào),低電平有效,此時(shí)寄存器中的數(shù)據(jù)輸出至總線。4ALU(74LS181)74LS181為運(yùn)算器,左側(cè)的74LS181負(fù)責(zé)計(jì)算低4位,右側(cè)的74LS181負(fù)責(zé)計(jì)算高4位,CN+4為低4位運(yùn)算產(chǎn)生的進(jìn)位,設(shè)有兩個(gè)參與運(yùn)算的8位無符號(hào)整數(shù)A和B,A和B的低四位分別接左側(cè)74LS181的A0A3和B0B3,高四位分別接右側(cè)74LS181的A0A3和B0B3。S0S3控制工作方式。M控制運(yùn)算是邏輯運(yùn)算還是算術(shù)運(yùn)算。F0F3為運(yùn)算結(jié)果的輸出,兩組構(gòu)成八位的運(yùn)算結(jié)果。74LS244只具有單向三態(tài)功能,只可以輸出。A0A3為數(shù)據(jù)輸入端,Y0Y7為數(shù)據(jù)輸

5、出端。OE為輸出允許信號(hào),接信號(hào)ALU_B,ALU_B由微控制器在T2時(shí)刻譯碼產(chǎn)生,當(dāng)ALU_B為低電平時(shí),數(shù)據(jù)由Y0Y3 輸出至數(shù)據(jù)總線。5I/O部分下圖為輸入部分,其中開關(guān)可以控制數(shù)據(jù)輸入,開關(guān)由上到下分別為高到低位,SW-B為245選通信號(hào)。SW-B為低電平時(shí),數(shù)據(jù)可輸入到總線。下圖為LED輸出部分。245默認(rèn)的數(shù)據(jù)方向?yàn)锳到B。LED-B為低電平時(shí)選中245,使輸出有效。第二部分:微控制部分微程序是英國劍橋大學(xué)教授M.V.Wilkes在1951年首先提出的,它是實(shí)現(xiàn)程序的一種手段,具體就是將一條機(jī)器指令編寫成一段微程序。每一個(gè)微程序包含若干條微指令,每一條微指令對(duì)應(yīng)一條或多條微操作。在

6、有微程序的系統(tǒng)中,CPU內(nèi)部有一個(gè)控制存儲(chǔ)器,用于存放各種機(jī)器指令對(duì)應(yīng)的微程序段.當(dāng)CPU執(zhí)行機(jī)器指令時(shí),會(huì)在控制存儲(chǔ)器里尋找與該機(jī)器指令對(duì)應(yīng)的微程序,取出相應(yīng)的微指令來控制執(zhí)行各個(gè)微操作,從而完成該程序語句的功能.1.控制臺(tái)轉(zhuǎn)移上圖為由控制臺(tái)輸入轉(zhuǎn)移邏輯,通過下圖進(jìn)行轉(zhuǎn)移。00P(4)20KEW(01)PC->ARPC+1INPUT->BUSBUS->DR1DR1->RAMKRD(00)PC->ARPC+1RAM->BUSBUS->DR1DR1->LED212430202220RP(11)2301電路圖中包括兩個(gè)反向器,兩個(gè)3輸入端與非門,兩個(gè)

7、D觸發(fā)器以及一個(gè)三態(tài)門組成。對(duì)于該模塊,共有6個(gè)輸入端,分別為SWA,SWB,P(4),微地址的低兩位,以及時(shí)序產(chǎn)生的T3。反向器U48的作用是對(duì)P(4)進(jìn)行反向,因?yàn)镻(4)是由微控器經(jīng)過3-8譯碼器給出的控制信號(hào),平時(shí)為高電平,所以需要經(jīng)過反向才能符合要求。U57:A和U57:B為兩個(gè)相同的3輸入端與非門,連接D觸發(fā)器的S端,任意一個(gè)輸入為0時(shí),輸出為1,不影響D觸發(fā)器,只有當(dāng)3個(gè)輸入端均為1時(shí),才將相應(yīng)D觸發(fā)器強(qiáng)制置為1。U46:A和U46:B為兩個(gè)D觸發(fā)器時(shí)鐘信號(hào)由T3控制,兩個(gè)D輸入端為微地址低兩位,當(dāng)S端為1時(shí),輸入不變;否則,相應(yīng)輸出置為1。U490為一個(gè)4輸入輸出的3態(tài)門,輸出

8、允許由T3控制,由于時(shí)鐘在T3時(shí)變?yōu)楦唠娖?,所以需要加上一個(gè)反向器才能實(shí)現(xiàn)所需要的功能。該模塊的工作原理為:由P(4),SWA,SWB來判定是否轉(zhuǎn)移,T3為時(shí)序, P(4)平時(shí)為高電平,經(jīng)過反向器以后輸入到與非門,使兩個(gè)與非門都輸出為1,連接D觸發(fā)器的S端,強(qiáng)制置1端無效,微地址的低兩位保持原來的輸入不變。當(dāng)P(4)為低電平時(shí),經(jīng)過反向器到與非門的輸入端為1,當(dāng)SWA,SWB為1時(shí),且時(shí)序進(jìn)行到T3時(shí),相應(yīng)與非門輸出端為0,強(qiáng)制D觸發(fā)器的輸出為1,從而改變了微地址的低兩位,從而實(shí)現(xiàn)了下一條的轉(zhuǎn)移。2.地址轉(zhuǎn)移上圖為地址轉(zhuǎn)移邏輯模塊,包括4個(gè)3輸入端與非門,6個(gè)D觸發(fā)器。U54:A,U54:B,

9、U54:C,U55:A為4個(gè)3輸入端的與非門,3個(gè)輸入端分別為T4,P(1)連接一個(gè)反向器以及I4,I5,I6,I7。其中I4,I5,I6,I7為微控器外面的地址寄存器IR的高4位。這4個(gè)與非門的作用是通過輸入端輸出控制D觸發(fā)器的S端,在需要轉(zhuǎn)移地址時(shí)對(duì)D觸發(fā)器進(jìn)行強(qiáng)制置1。P(1)為微控器通過3-8譯碼器產(chǎn)生的微控制信號(hào),平時(shí)為1,經(jīng)過反向器后為0,經(jīng)過與非門,使與非門輸出為1,不影響D觸發(fā)器。U52:A,U52:B,U53:A,U53:B,U49:A,U49:B,為6個(gè)D觸發(fā)器,D輸入端為微命令的地6位,即下一條微地址,左面是低位,右面是高位,其中低兩位由上述的控制臺(tái)轉(zhuǎn)移的輸出端給出,高四

10、位為存儲(chǔ)器輸出。時(shí)鐘控制由T4進(jìn)行,低四位的S端連接四個(gè)與非門的輸出,R端連接CLR信號(hào),當(dāng)CLR為低電平時(shí),所有的D觸發(fā)器輸出均為0。該模塊的工作原理為:由P(1),I4,I5,I6,I7來判斷是否轉(zhuǎn)移,T4為時(shí)序。平時(shí)P(1)為1,經(jīng)過反向器后為0,與非門輸出為1,對(duì)D觸發(fā)器無影響,微地址不變,此時(shí)不進(jìn)行地址轉(zhuǎn)移。當(dāng)P(1)為0時(shí),經(jīng)過反向器的輸出為1, I4,I5,I6,I7的任意一位為1時(shí),且T4時(shí)序有效時(shí),對(duì)應(yīng)與非門輸出為0,強(qiáng)制D觸發(fā)器輸出為1,從而進(jìn)行了地址的轉(zhuǎn)移。3微地址輸入此圖為微地址輸入模塊,其中包括一個(gè)74374鎖存器以及3個(gè)6116存儲(chǔ)器。U45為一個(gè)74LS374鎖存

11、器,它的6個(gè)輸入端即為微地址,按照我們的設(shè)計(jì),6個(gè)輸入端由單片機(jī)來控制,因此ADDR0ADDR5連接的是單片機(jī)的6個(gè)相應(yīng)端口,通過編程改變微地址,從而實(shí)現(xiàn)微命令的輸入。U35,U36,U37為3個(gè)6116的RAM,由于PROTEUS 7中沒有ROM,所以只能使用該芯片。其中5個(gè)控制端為單片機(jī)的控制,具體情況會(huì)在單片機(jī)模塊中指出。該模塊的工作原理為:首先輸入微地址,指明對(duì)存儲(chǔ)器進(jìn)行操作的地址單元,然后輸入微命令,通過控制信號(hào)對(duì)WE進(jìn)行操作,實(shí)現(xiàn)微命令的寫操作,然后改變微地址的輸入,進(jìn)行下一條微命令的寫操作,直到寫完所有的微命令為止。4微命令輸入上圖為微命令輸入模塊,包括3個(gè)控制開關(guān),3個(gè)8輸入端

12、雙向三態(tài)門,以及24個(gè)LED顯示燈。DSW1,DSW2,DSW3為3個(gè)控制開關(guān),控制微命令的輸入。從左到右分別為從高位到低位。U42,U43,U44為3個(gè)8輸入端雙向三態(tài)門,AB/BA信號(hào)端為1,表示由A端向B端傳輸數(shù)據(jù)。片選有效信號(hào)由一個(gè)邏輯門控制。它們的24個(gè)輸出端為24位微命令,它們連接24個(gè)LED顯示燈以及6116存儲(chǔ)器。D15D38為24個(gè)LED顯示燈,用于顯示24位微命令,為1時(shí)燈亮,為0時(shí)燈滅。該模塊的工作原理為:由輸入端輸入微命令,經(jīng)過三態(tài)門輸出到LED燈進(jìn)行顯示,以及到6116存儲(chǔ)器進(jìn)行存儲(chǔ)。5微控制輸出上圖為微控制信號(hào)的輸出模塊,包括3個(gè)鎖存器,3個(gè)3-8譯碼器,以及若干個(gè)

13、反向器。U32,U33,U58為3個(gè)鎖存器,只是使用的芯片不同,左邊兩個(gè)為74LS273,右邊一個(gè)為74LS175,CLK端由T2控制,MR端由CLR控制,即CLR為0時(shí),鎖存器清零。U38,U39,U40為3個(gè)3-8譯碼器,E1,E2,E3為1,0,0。輸入端為A,B,C字段,譯碼的情況如下:由于LDR0,LDDR1,LDDR2,LDIR,LDAR以及LDPC均為高電平有效,所以需要在輸出前加上一個(gè)反向器。該模塊的工作原理為:由存儲(chǔ)器輸出的前18位為控制信號(hào),經(jīng)過鎖存器的鎖存,其中,高9位直接輸出,剩余9為需要經(jīng)過3-8譯碼器的譯碼輸出,具體輸出入上圖所示。第三部分:自動(dòng)輸入本系統(tǒng)若使用開關(guān)

14、撥代碼及微程序,則由于數(shù)據(jù)量較多且容易撥錯(cuò),致使調(diào)試效率低下。因此用一個(gè)AT89C51來自動(dòng)寫入代碼及微程序,省卻撥動(dòng)開關(guān)的時(shí)間。下面是具體電路及寫入51的代碼,經(jīng)驗(yàn)證可正確寫入及讀出。1 AT89C51部分下圖為寫入程序的AT89C51引腳圖。其中P0腳提供微程序;P1.7為地址寄存器提供時(shí)序信號(hào);P1.5P1.0為微地址寄存器提供微地址;P2提供各種控制信號(hào)(各控制信號(hào)用途見代碼注釋);P3提供程序/地址。因AT89C51引腳有限,因此有些腳要復(fù)用。其中P0口在一個(gè)周期內(nèi)提供24位微程序,根據(jù)片選信號(hào)分別寫入不同存儲(chǔ)器;P3分時(shí)復(fù)用。2微程序存儲(chǔ)寫入部分下圖為微地址寄存器(74LS374)

15、與三個(gè)微程序存儲(chǔ)器(6116)的連接示意圖。其中ADDR0ADDR7與上圖AT89C51的ADDR0ADDR7相對(duì)應(yīng)。用來提供微地址。而三個(gè)微程序存儲(chǔ)器的讀允許,寫允許,片選分別與上圖的P2.7P2.3相對(duì)應(yīng)。其中微地址寄存器的T與上圖的T相對(duì)應(yīng),用來提供時(shí)序信號(hào),以保證其正確運(yùn)行。微地址寄存器默認(rèn)設(shè)置為輸出允許。首先由單片機(jī)提供微地址,然后由T提供一個(gè)脈沖,使之寫入374。這時(shí)總線上位微地址信號(hào)。為微程序的寫入提供地址。下圖為三個(gè)74LS245(三態(tài)門)相連,用來同時(shí)給三個(gè)微程序存儲(chǔ)器寫入微程序,寫入時(shí)三個(gè)245的片選都被選中,即數(shù)據(jù)可以通過這三個(gè)三態(tài)門。首先三個(gè)微程序存儲(chǔ)器的地址可由上面步

16、驟給出。然后再由單片機(jī)寫入數(shù)據(jù)。AT89C51每次寫8位數(shù)據(jù),然后配合下面三個(gè)6116存儲(chǔ)器的片選,寫有效,分別寫入數(shù)據(jù)。3存儲(chǔ)器寫入部分下圖為寫入主存程序的電路。包含一個(gè)74LS245,一個(gè)74LS273(地址寄存器),一個(gè)6116主存儲(chǔ)器,其中藍(lán)色粗線為總線。它將這三個(gè)部件都連接了起來。向主存寫程序時(shí)先將LDRAM置為低電平,再通過R7R0寫入地址,這時(shí)TR腳發(fā)過來一個(gè)脈沖,使地址寫入地址寄存器(74LS273),然后再通過R7R0寫入數(shù)據(jù),這時(shí)WE-RAM腳置低電平,數(shù)據(jù)就寫入6116了。其中片選默認(rèn)為有效,讀允許默認(rèn)為無效。寫完程序后可把SW15, SW18 ,SW10,SW9撥至左邊

17、,以使其按照信號(hào)正常工作。4代碼部分具體代碼如下:#include "reg51.h"sbit OE =P27;/控制微控器里三個(gè)6116(RAM)的輸出sbit WE =P26;/控制微控器里三個(gè)6116(RAM)的寫入sbit CS2=P25;/控制微控器里三個(gè)6116(RAM)的片選sbit CS1=P24;sbit CS0=P23;sbit t=P22;/給微地址寄存器寫入地址提供時(shí)序信號(hào)sbit WE_RAM=P21;/為主存儲(chǔ)器提供寫允許信號(hào)sbit LDRAM=P20;/給主存儲(chǔ)器寫入地址或數(shù)據(jù)的74LS245的允許信號(hào)sbit tr=P17;/為主存儲(chǔ)器提供

18、地址的74LS273的時(shí)序信號(hào)#define n 100/用于提供延時(shí)的變量void delay(void)/延時(shí)功能函數(shù)char i,j;for(i=0;i<n;i+)for(j=0;j<n;j+)void init(void)/初始化函數(shù)OE=1;WE=1;CS2=1;CS1=1;CS0=1;WE_RAM=1;LDRAM=1;t=0;void main(void)char c225= 0x01,0x01,0x00,0x00,0x00,0x01,0x95,0x00,0x00,0x01,0x01,0x01,0x01,0x02,0x00,0x00,0x01,0x01,0x00,0x0

19、1,0x00,0x07,0x00,0x07,0x06;/微程序的高八位數(shù)據(jù)char c125= 0x81,0xed,0xc0,0xe0,0xb0,0xa2,0x9a,0xe0,0x10,0xed,0xed,0xed,0xed,0x82,0xe0,0xa0,0xed,0xed,0xa0,0x80,0x20,0x0a,0xd1,0x0a,0x8a;/微程序的中八位數(shù)據(jù)char c025= 0x10,0x82,0x48,0x04,0x05,0x06,0x01,0x0d,0x01,0x83,0x87,0x8e,0x96,0x01,0x0f,0x15,0x92,0x94,0x17,0x01,0x18,0

20、x01,0x81,0x10,0x11;/微程序的低八位數(shù)據(jù)char ram11=0x00,0x10,0x0a,0x20,0x0b,0x30,0x0b,0x40,0x00,0x00,0x01;/主存儲(chǔ)器里的數(shù)據(jù)及指令char i;init();WE=0;for(i=0;i<=24;i+)P1=i;/P1口用來提供微程序地址t=!t;/微地址寄存器的時(shí)序信號(hào)P0=c2i;/P0口用來提供微程序,先提供高八位程序CS2=0;/選中高八位的存儲(chǔ)器delay();/延時(shí)CS2=1;/片選無效P0=c1i;CS1=0;/選中中八位存儲(chǔ)器delay();CS1=1;/片選無效P0=c0i;CS0=0;

21、/選中低八位存儲(chǔ)器delay();CS0=1;/片選無效t=!t;WE=1;CS2=0;CS1=0;CS0=0;OE=0;P0=0x00;/置微地址為0x00for(i=0;i<25;i+)/顯示微程序數(shù)據(jù),用來檢查是否輸入有誤P1=i;t=!t;t=!t;delay();P1=0x01;t=!t;t=!t;delay();LDRAM=0;tr=0;for(i=0;i<11;i+)P3=i;/提供主存儲(chǔ)器地址tr=!tr;tr=!tr;/將地址寫入地址寄存器P3=rami;/提供主存儲(chǔ)器數(shù)據(jù)或指令WE_RAM=0;/主存儲(chǔ)器寫有效delay();WE_RAM=1;P3=0x00;tr=!tr;tr=!tr;LDRAM=1;while(1)此代碼在Keil Version2中編譯為*.hex文件,然后加載到Proteus中的AT89C51,便可運(yùn)行。第四部分:時(shí)序及控制如圖所示,此為時(shí)序信號(hào)的發(fā)生器。具體分析見下:設(shè)D觸發(fā)器U21:A,U21:B,U22:A,U29:B分別為Dtrigger1,Dtrigger2,Dtrigger3,Dtrigger4。相應(yīng)的管腳為Qn,n,Dn,Sn,Rn;與Q1相連的腳有:T10,T20一腳,D2;與Q2相連的腳有T30一腳,D3;與2相連的腳有T20一腳;與Q3相連的腳為D4;與3相連的腳有T30一腳

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論