機(jī)組實(shí)驗(yàn)報(bào)告_第1頁
機(jī)組實(shí)驗(yàn)報(bào)告_第2頁
機(jī)組實(shí)驗(yàn)報(bào)告_第3頁
機(jī)組實(shí)驗(yàn)報(bào)告_第4頁
機(jī)組實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí)驗(yàn)1 連續(xù)節(jié)拍發(fā)生電路設(shè)計(jì)實(shí)驗(yàn)一、 實(shí)驗(yàn)內(nèi)容掌握節(jié)拍發(fā)生器的設(shè)計(jì)方法,理解節(jié)拍脈沖發(fā)生器的工作原理。二、 實(shí)驗(yàn)原理1. 連續(xù)節(jié)拍發(fā)生電路連續(xù)節(jié)拍發(fā)生電路由四個(gè)D觸發(fā)器組成,可產(chǎn)生四個(gè)等間隔的時(shí)序信號(hào)T1-T4。其中CLK1為時(shí)鐘信號(hào)。當(dāng)RST1為低電平時(shí),T1輸出為“1”,而T2、T3、T4輸出為“0”;當(dāng)RST1由低電平變?yōu)楦唠娖胶螅琓1-T4將在CLK1的輸入脈沖作用下,周期性輪流的輸出正脈沖,機(jī)器進(jìn)入連續(xù)運(yùn)行狀態(tài)(EXEC)。T1-T4以及CLK1、RST的工作波形如下所示。圖1-1 連續(xù)節(jié)拍發(fā)生電路2. 單步節(jié)拍發(fā)生電路將圖1-1電路稍加改變即可得到圖1-2

2、所示的單步運(yùn)行電路。每當(dāng)RST1出現(xiàn)一個(gè)負(fù)脈沖后,該電路僅輸出一組T1、T2、T3、T4節(jié)拍信號(hào),直到RST1出現(xiàn)下一個(gè)負(fù)脈沖。圖1-2 單步節(jié)拍發(fā)生電路3. 單步/連續(xù)節(jié)拍發(fā)生電路 增加兩個(gè)2選一多路選擇器,可將1-2的電路改變?yōu)?-3的電路。S0是單步或連續(xù)節(jié)拍發(fā)生控制信號(hào),當(dāng)S0=0,選擇單步運(yùn)行模式;當(dāng)S0=1,選擇連續(xù)運(yùn)行方式。圖1-3 單步/連續(xù)節(jié)拍發(fā)生電路三、 實(shí)驗(yàn)任務(wù)1. 連續(xù)節(jié)拍發(fā)生電路示例頂層文件是T4.bdf。硬件電路如圖1-1所示。下載T4.sof文件,選擇實(shí)驗(yàn)?zāi)J絅o.1,CLOCK0接4Hz,鍵8控制RST1,高電平時(shí)可以看到,發(fā)光管1-4分別顯示T1-T4的輸出電

3、平。實(shí)驗(yàn)結(jié)果與書上的仿真波形圖比較。2. 單步節(jié)拍發(fā)生電路用單步節(jié)拍發(fā)生電路可以對(duì)微程序進(jìn)行單步調(diào)試運(yùn)行,電路如1-2所示。該電路每當(dāng)RST1出現(xiàn)一個(gè)負(fù)脈沖后,僅輸出一組T1、T2、T3、T4節(jié)拍信號(hào),直到RST1出現(xiàn)下一個(gè)負(fù)脈沖。頂層文件是T5.bdf。下載T5.sof文件,選擇實(shí)驗(yàn)?zāi)J絅o.1,CLOCK0接4Hz,鍵8控制RST1。實(shí)驗(yàn)結(jié)果與書上的仿真波形圖比較。3. 單步/連續(xù)節(jié)拍發(fā)生電路增加兩個(gè)2選1多路選擇器,可將圖1-2的電路改變?yōu)閳D1-3的電路。S0是單步或連續(xù)節(jié)拍發(fā)生控制信號(hào),當(dāng)S0=0,選擇單步運(yùn)行方式;當(dāng)S0=1,選擇連續(xù)運(yùn)行方式。頂層文件是TS5.bdf。下載TS5.s

4、of文件,選擇實(shí)驗(yàn)?zāi)J絅o.1,CLOCK0接4Hz,鍵8控制RST1。實(shí)驗(yàn)結(jié)果與書上的仿真波形圖比較。 四、 實(shí)驗(yàn)步驟1.軟件編譯2.仿真波形圖a.連續(xù)節(jié)拍發(fā)生電路 圖1-4連續(xù)節(jié)拍發(fā)生電路b.單步節(jié)拍發(fā)生電路 圖1-5單步節(jié)拍發(fā)生電路c.單步/連續(xù)節(jié)拍發(fā)生電路圖1-6單步/連續(xù)節(jié)拍發(fā)生電路3.分析報(bào)告a.連續(xù)節(jié)拍發(fā)生電路 高電平時(shí)可以看到,發(fā)光管1-4分別顯示T1-T4的輸出電平。b.單步節(jié)拍發(fā)生電路 每出現(xiàn)一個(gè)負(fù)脈沖,發(fā)光管1-4分別顯示T1-T4的輸出電平一次。c.單步/連續(xù)節(jié)拍發(fā)生電路發(fā)光管1-4分別顯示T1-T4的輸出電平。五、 問題分析1. 單步運(yùn)行于連續(xù)運(yùn)行有何區(qū)別,它們各自的

5、使用環(huán)境怎樣? 單步運(yùn)行只運(yùn)行固定時(shí)鐘周期的信號(hào),而連續(xù)運(yùn)行會(huì)一直發(fā)生信號(hào)。2. 如何實(shí)現(xiàn)單步/連續(xù)運(yùn)行工作方式的切換?使用S0引腳控制21MUX的2選1控制端。當(dāng) S0=0 時(shí),Y=A,為單步方式;當(dāng) S0=1 時(shí),Y=B,為連續(xù)方式。3. 給出每個(gè)電路的原理圖分析說明為何能產(chǎn)生所需節(jié)拍。對(duì)于實(shí)驗(yàn)任務(wù)2特別要對(duì)比沒有t5輸入時(shí)的仿真時(shí)序圖,借此說明t5的作用。任務(wù)1由四個(gè)D觸發(fā)器組成,可產(chǎn)生四個(gè)等間隔的時(shí)序信號(hào)T1-T4。當(dāng)RST1為低電平時(shí),T1輸出為1,而T2、T3、T4輸出為0;當(dāng)RST1由低電平變?yōu)楦唠娖胶?,T1-T4將在CLK1的輸入脈沖作用下,周期性地輪流輸出正脈沖;任務(wù)2中,每

6、當(dāng)RST1出現(xiàn)一個(gè)負(fù)脈沖后,該電路僅輸出一組T1、T2、T3、T4節(jié)拍信號(hào),直到RST1出現(xiàn)下一個(gè)負(fù)脈沖;沒有T5時(shí),一個(gè)周期結(jié)束后,下一個(gè)時(shí)鐘信號(hào)到來時(shí),會(huì)進(jìn)入下一周期,為連續(xù)節(jié)拍發(fā)生器;有T5時(shí),在一個(gè)周期結(jié)束后,T5=1,所有觸發(fā)器收得的時(shí)鐘信號(hào)始終為1,不會(huì)有下一個(gè)時(shí)鐘信號(hào)上升沿到來,為單步節(jié)拍發(fā)生器。在任務(wù)3中,S0為單步或連續(xù)節(jié)拍發(fā)生控制信號(hào),可以選擇運(yùn)行方式。實(shí)驗(yàn)2 LPM_ROM與 LPM_RAM一、 實(shí)驗(yàn)內(nèi)容1. LPM_ROM掌握FPGA中LPM_ROM的設(shè)置,作為只讀存儲(chǔ)器ROM的工作特性和配置方法;用文本編輯器編輯MIF文件配置ROM,學(xué)習(xí)將程序代碼以MIF格式文件加載

7、于LPM_ROM中;在初始化存儲(chǔ)器編輯窗口編輯MIF文件配置ROM;驗(yàn)證FPGA中LPM_ROM的功能。2. LPM_RAM了解FPGA中RAM lpm_ram_dq的功能;掌握lpm_ram_dq的參數(shù)設(shè)置和使用方法;掌握lpm_ram_dq作為隨機(jī)存儲(chǔ)器RAM的仿真測(cè)試方法、工作特性和讀寫方法。二、 實(shí)驗(yàn)原理1. LPM_ROM程序存儲(chǔ)器是用來存放用戶程序的,通常采用只讀存儲(chǔ)器ROM來存儲(chǔ)程序。CPU中的一些重要部件,如RAM、ROM等,可直接調(diào)用LPM模塊構(gòu)成。圖2-1 LPM_ROM圖2-2 rom_a.mif2. LPM_RAM數(shù)據(jù)存儲(chǔ)器存放運(yùn)算數(shù)據(jù)及中間結(jié)果,一般采用隨機(jī)存儲(chǔ)器RA

8、M來實(shí)現(xiàn)其功能。CPU中的一些重要部件,如RAM、ROM等,可直接調(diào)用LPM模塊構(gòu)成。圖2-3 LPM_RAM三、 實(shí)驗(yàn)任務(wù)1. LPM_ROM用圖形編輯設(shè)計(jì)LPM_ROM。要求:用LPM元件庫設(shè)計(jì)LPM_ROM,地址總線寬度address和數(shù)據(jù)總線寬度q分別為6位和24位;建立相應(yīng)的工程文件,設(shè)置LPM_ROM數(shù)據(jù)參數(shù),LPM_ROM配置文件的路徑(ROM_A.mif),并設(shè)置在系統(tǒng)ROM/RAM讀寫允許,以便能對(duì)FPGA中的ROM在系統(tǒng)讀寫;鎖定輸入輸出引腳;完成全程編譯;下載SOF文件至FPGA,改變LPM_ROM的地址a5.0,外加讀脈沖,通過實(shí)驗(yàn)臺(tái)上的數(shù)碼管比較讀出的數(shù)據(jù)是否與初始化

9、數(shù)據(jù)(rom4.mif中的數(shù)據(jù))一致;打開QuartusII的在系統(tǒng)存儲(chǔ)模塊讀寫工具,了解FPGA中的ROM中的數(shù)據(jù),并對(duì)其進(jìn)行在系統(tǒng)寫操作;記錄實(shí)驗(yàn)數(shù)據(jù),寫出實(shí)驗(yàn)報(bào)告,給出仿真波形圖。2. LPM_RAM 數(shù)據(jù)從ram_dp0的左邊D7.0輸入,從右邊Q7.0輸出,R/W為讀/寫控制信號(hào)端。數(shù)據(jù)的寫入:當(dāng)輸入數(shù)據(jù)和地址準(zhǔn)備好以后,在inclock是地址鎖存時(shí)鐘,當(dāng)信號(hào)上升沿到來時(shí),地址被鎖存,數(shù)據(jù)寫入存儲(chǔ)單元。 數(shù)據(jù)的讀出:從A7.0輸入存儲(chǔ)單元地址,在CLK信號(hào)上升沿到來時(shí),該單元數(shù)據(jù)從Q7.0輸出。四、 實(shí)驗(yàn)步驟 1.軟件編譯2.仿真波形圖a. LPM_ROM圖2-4 ROM讀

10、寫情況b. LPM_RAM圖2-5 RAM讀寫情況圖2-6 仿真波形圖4. 分析報(bào)告a. LPM_ROM 24位數(shù)據(jù)輸出由數(shù)碼管8-3顯示,六位地址由鍵2、鍵1輸入,鍵1負(fù)責(zé)低四位,地址鎖存時(shí)鐘CLK由鍵8控制,每一次上升沿,將地址鎖入,數(shù)碼管8-3將顯示ROM中輸出的數(shù)據(jù)。發(fā)光管8-1顯示輸入的6位地址值。b. LPM_RAM 通過鍵1、鍵2輸入RAM的8位數(shù)據(jù),鍵3、鍵4輸入存儲(chǔ)器的8位地址。鍵8控制讀寫允許,低電平時(shí)讀允許,高電平時(shí)寫允許;鍵7(CLK0)產(chǎn)生讀寫時(shí)鐘脈沖,即生成寫地址鎖存脈沖,對(duì)lpm_ram_dq進(jìn)行寫/讀操作。五、 問題分析如何建立lpm_ram_dq的數(shù)據(jù)初始化,

11、如何導(dǎo)入和存儲(chǔ)lpm_ram_dq參數(shù)文件?生成一個(gè)MIF文件,并導(dǎo)入以上的RAM中。 數(shù)據(jù)從左邊D7.0輸入,從右邊Q7.0輸出。在lpm_ram_dq中可以加入初始化文件(如:5_ram.mif)。首先控制讀出初始化數(shù)據(jù),與載入的初始化文件中的數(shù)據(jù)進(jìn)行比較,然后控制寫入一些數(shù)據(jù),再讀出比較;寫入的數(shù)據(jù)也可以在讀寫窗口中觀察mif文件的變化,導(dǎo)入的數(shù)據(jù)存儲(chǔ)在mif文件中。實(shí)驗(yàn)3 程序計(jì)數(shù)器PC與地址寄存器AR實(shí)驗(yàn)一、 實(shí)驗(yàn)內(nèi)容掌握地址單元的工作原理;掌握PC的兩種工作方式,加1計(jì)數(shù)和重裝計(jì)數(shù)器初值的實(shí)現(xiàn)方法;掌握地址寄存器AR從程序計(jì)數(shù)器PC獲得數(shù)據(jù)和從內(nèi)部總線BUS獲得數(shù)據(jù)的實(shí)現(xiàn)方法。二、

12、 實(shí)驗(yàn)原理a. 采用總線多路開關(guān)聯(lián)接方式地址單元主要由三部分組成:程序計(jì)數(shù)器PC、地址寄存器AR和多路開關(guān)BUSMUX。程序計(jì)數(shù)器PC用以指出下一條指令在主存中的存放地址,CPU正是根據(jù)PC的內(nèi)容去存取指令的。因程序中指令是順序執(zhí)行的,所以PC有自增功能。程序計(jì)數(shù)器提供下一條程序指令的地址,如圖4-64所示,在T4時(shí)鐘脈沖的作用下具有自動(dòng)加1的功能;在LDPC信號(hào)的作用下可以預(yù)置計(jì)數(shù)器的初值(如子程序調(diào)用或中斷相應(yīng)等)。當(dāng)LDPC為高電平時(shí),計(jì)數(shù)器裝入data 端輸入的數(shù)據(jù)。aclr是計(jì)數(shù)器的清0端,高電平有效(高電平清零);aclr為低電平時(shí),允許計(jì)數(shù)器正常計(jì)數(shù)。 地址寄存器AR(DFF_8

13、)鎖存訪問內(nèi)存SRAM的地址。地址寄存器AR的地址來自兩個(gè)渠道,一是程序計(jì)數(shù)器PC的輸出,通常是下一條指令的地址;二是來自于內(nèi)部數(shù)據(jù)總線的數(shù)據(jù),通常是被訪問操作數(shù)的地址。為了實(shí)現(xiàn)對(duì)兩路輸入數(shù)據(jù)的切換,在FPGA的內(nèi)部通過總線多路開關(guān)BUSMUX進(jìn)行選擇。LDAR與多路選擇器的sel相連,當(dāng)LDAR為低電平,選擇程序計(jì)數(shù)器的輸出;當(dāng)LDAR為高電平時(shí),選擇內(nèi)部數(shù)據(jù)總線的數(shù)據(jù)。圖3-1采用總線多路開關(guān)聯(lián)接方式b. 采用PC、AR通過三態(tài)門lpm_bustri與BUS連接程序計(jì)數(shù)器PC與地址寄存器AR結(jié)合,產(chǎn)生對(duì)存儲(chǔ)器RAM進(jìn)行讀寫的地址。地址單元主要由三部分組成:程序計(jì)數(shù)器PC、地址寄存器AR和三

14、態(tài)門lpm_bustri。程序計(jì)數(shù)器PC用以指出下一條指令在主存中的存放地址,CPU正是根據(jù)PC的內(nèi)容去存取指令的。程序計(jì)數(shù)器提供下一條程序指令的地址,在時(shí)鐘脈沖PC_CLK的作用下具有自動(dòng)加1的功能;在LOAD_PC信號(hào)的作用下可以預(yù)置計(jì)數(shù)器的初值(如子程序調(diào)用或中斷響應(yīng)等)。當(dāng)LOAD_PC為高電平時(shí),計(jì)數(shù)器裝入data7.0端輸入的數(shù)據(jù)。RST是計(jì)數(shù)器的清零端,高電平有效(高電平清零);RST為低電平時(shí),允許計(jì)數(shù)器正常計(jì)數(shù)。地址寄存器AR采用鎖存器lpm_latch結(jié)構(gòu),鎖存訪問內(nèi)存SRAM的地址。圖3-2 采用PC、AR通過三態(tài)門lpm_bustri與BUS連接三、 實(shí)驗(yàn)任務(wù)a. 采用

15、總線多路開關(guān)聯(lián)接方式按照?qǐng)D4-1,程序計(jì)數(shù)器原理圖編輯、輸入電路,實(shí)驗(yàn)臺(tái)選擇0工作模式。對(duì)輸入原理圖進(jìn)行編譯、引腳鎖定、并下載到實(shí)驗(yàn)臺(tái)。首先下載pc_unit.sof,用模式鍵選模式“0”,再按一次右側(cè)的復(fù)位鍵;鍵2和鍵1可輸入8位總線數(shù)據(jù)B7.0(此值顯示于發(fā)光管D1D8和數(shù)碼管2/1);CLR(鍵5)按2次(010),產(chǎn)生一正脈沖,高電平清零;LDAR(鍵6)=0時(shí),BUSMUX輸出程序計(jì)數(shù)器PC的值;LDAR=1時(shí),BUSMUX輸出B7.0總線數(shù)據(jù)。LDPC(鍵7):程序計(jì)數(shù)器PC預(yù)置控制端,當(dāng)LDPC=1時(shí),將B7.0總線數(shù)據(jù)裝入程序計(jì)數(shù)器PC;當(dāng)LDPC=0時(shí),程序計(jì)數(shù)器PC處于計(jì)數(shù)

16、自動(dòng)工作狀態(tài),對(duì)T4進(jìn)行計(jì)數(shù);T4(鍵8):程序計(jì)數(shù)器PC的計(jì)數(shù)時(shí)鐘CLK,鍵8按動(dòng)兩次產(chǎn)生一個(gè)計(jì)數(shù)脈沖。 通過B7.0設(shè)置程序計(jì)數(shù)器的預(yù)加載數(shù)據(jù)。當(dāng)LDPC=0時(shí),觀察程序計(jì)數(shù)器自動(dòng)加1的功能;當(dāng)LDPC=1時(shí),觀察程序計(jì)數(shù)器加載輸出情況。b. 采用PC、AR通過三態(tài)門lpm_bustri與BUS連接按照?qǐng)D4-2,對(duì)程序計(jì)數(shù)器原理圖進(jìn)行編輯、輸入電路,采用LPM庫中的元件lpm_latch鎖存器、lpm_counter計(jì)數(shù)器和lpm_bustri總線三態(tài)輸出緩沖器進(jìn)行設(shè)計(jì),選擇電路模式No.0。四、 實(shí)驗(yàn)步驟 1.軟件編譯2.仿真波形圖圖3-3 仿真波形圖3. 分析報(bào)告a. 采用總

17、線多路開關(guān)聯(lián)接方式所有鍵置0,鍵2/鍵1輸入A5;按鍵5àPC計(jì)數(shù)器清0(0à1à0); 連續(xù)按動(dòng)鍵8,可以從數(shù)碼8/7上看到AR的輸出,即PC值;按鍵6,輸出高電平 1,選通直接輸出總線上的數(shù)據(jù)A5作為PC值,按鍵8,產(chǎn)生一個(gè)脈沖上升沿,即可看到AR(顯示在數(shù)碼8/7)的輸出為A5;使鍵6=0,仍選通PC計(jì)數(shù)器輸出,這時(shí)鍵2/1輸入86,按鍵7產(chǎn)生一個(gè)上升脈沖(0à1à0),即用LDPC將86加載進(jìn)PC計(jì)數(shù)器;連續(xù)按動(dòng)鍵8,可以發(fā)現(xiàn)AR的輸出在86上累加輸出:86、87、88等。b. 采用PC、AR通過三態(tài)門lpm_bustri與BUS連接鍵

18、1、鍵2輸入8位地址數(shù)據(jù),鍵3-8分別作為RST、PC_CLK、LOAD_PC、INPUT_B、PC_B、AR_CLK;D1-D8顯示輸入的地址數(shù)據(jù),數(shù)碼管1、2顯示地址鎖存器的輸出數(shù)據(jù)AR7.0,數(shù)碼管3、4顯示程序計(jì)數(shù)器的輸出數(shù)據(jù)PC7.0。對(duì)輸入原理如進(jìn)行編譯、引腳鎖定,并下載到實(shí)驗(yàn)臺(tái)進(jìn)行硬件驗(yàn)證。五、 問題分析從存儲(chǔ)器讀取運(yùn)算數(shù)據(jù)和執(zhí)行指令操作時(shí),地址控制單元完成的操作有何不同?存取運(yùn)算數(shù)據(jù)時(shí),PC計(jì)數(shù)器加一,AR從PC中讀取數(shù)據(jù);取指令操作時(shí),PC和AR均從總線中讀取數(shù)據(jù)。實(shí)驗(yàn)4 算術(shù)邏輯單元(ALU)設(shè)計(jì)實(shí)驗(yàn)一、 實(shí)驗(yàn)內(nèi)容了解運(yùn)算器的數(shù)據(jù)傳輸通路;驗(yàn)證運(yùn)算器的組合功能;掌握算術(shù)邏輯

19、運(yùn)算加、減工作原理;驗(yàn)證實(shí)驗(yàn)臺(tái)運(yùn)算的8位加、減、與、直通功能;按給定數(shù)據(jù),完成幾種指定的算術(shù)運(yùn)算和邏輯運(yùn)算。二、 實(shí)驗(yàn)原理算術(shù)邏輯單元ALU的數(shù)據(jù)通路如圖4-1所示。圖4-1 算術(shù)邏輯單元ALU其中運(yùn)算器ALU181根據(jù)74LS181的功能用VHDL硬件描述語言編輯而成,構(gòu)成8位字長(zhǎng)的ALU,VHDL語言的部分示例如圖4-2所示。參加運(yùn)算的兩個(gè)8位數(shù)據(jù)分別為A7.0和B7.0。運(yùn)算模式由S3.0的16種組合決定,而S3.0的值由4位二進(jìn)制計(jì)數(shù)器LPM_COUNTER產(chǎn)生,計(jì)數(shù)時(shí)鐘是Sclk。ALU181的運(yùn)算功能由圖4-3所示。圖4-2 生成ALU的VHDL程序圖4-3 ALU181的運(yùn)算功能

20、三、 實(shí)驗(yàn)任務(wù)按照?qǐng)D4-1所示,在此驗(yàn)證性示例中用A0_B1(鍵3)產(chǎn)生鎖存信號(hào),將IN7.0的8位數(shù)據(jù)進(jìn)入對(duì)應(yīng)的8位數(shù)據(jù)鎖存器中;即首先使A0_B1(鍵3)=0,用鍵2、鍵1分別向A7.0置數(shù)(55H),這時(shí)在數(shù)碼管2、1上顯示輸入的數(shù)據(jù)(55H);然后用鍵3輸入高電平1,再用鍵2、鍵1分別向B7.0置數(shù)(AAH),這時(shí)在數(shù)碼管4、3上顯示輸入的數(shù)據(jù)(AAH);這時(shí)表示在圖中的兩個(gè)8位數(shù)據(jù)鎖存器中分別鎖入了加數(shù)55H和被加數(shù)AAH。設(shè)定鍵8為低電平,即M=0(允許算術(shù)操作),鍵6控制時(shí)鐘Sclk。若設(shè)定鍵8為高電平,即M=1,鍵6控制時(shí)鐘Sclk,設(shè)置S3.0=0-F,鍵7設(shè)置CN=0或CN

21、=1,驗(yàn)證ALU的邏輯運(yùn)算功能,并記錄實(shí)驗(yàn)數(shù)據(jù)。四、 實(shí)驗(yàn)步驟 1.軟件編譯2.仿真波形圖與ALU數(shù)據(jù)表表4-1 ALU數(shù)據(jù)表S3S2S1S0A7.0B7.0算術(shù)運(yùn)算M=0邏輯運(yùn)算M=1CN=0(無進(jìn)位)CN=1(有進(jìn)位)0000AA55AAAB550001AA55FF00000010AA55AAAB550011AA5500FF000100AA555455FF0101AA55A9AAAA0110AA555554FF0111AA55AAA9AA1000AA55AAAB551001AA55FF00001010AA55AAAB551011AA5500FF001100AA555455011101AA5

22、5A9AAAA1110AA555455FF1111AA55AAA9AA圖4-4 ALU仿真波形圖3.分析報(bào)告ALU數(shù)據(jù)表主要由計(jì)算得出,在給予S3、S2、S1和S0的初始值的前提下,根據(jù)圖4-3中的公式,使用算術(shù)計(jì)算或邏輯計(jì)算,得到所求值得結(jié)果,再在數(shù)碼管的顯示中判斷自己的計(jì)算是否正確。五、 實(shí)驗(yàn)結(jié)果及問題分析或結(jié)論在實(shí)驗(yàn)中,我們得到了正確的實(shí)驗(yàn)結(jié)果及波形圖,在下載到試驗(yàn)箱后,也看到了正確的顯示。實(shí)驗(yàn)5 微控制器組成實(shí)驗(yàn)一、 實(shí)驗(yàn)內(nèi)容掌握微程序控制器的工作原理和構(gòu)成原理;掌握微程序的編寫、輸入,觀察微程序的運(yùn)行。二、 實(shí)驗(yàn)原理微程序控制電路是CPU控制器的核心電路,控制產(chǎn)生指令執(zhí)行時(shí)各部件協(xié)調(diào)

23、工作的所有控制信號(hào),以及下一條指令的地址。微程序控制器的組成如圖5-1所示,主要由三個(gè)部件組成,分別是微指令控制電路、微指令寄存器和微指令存儲(chǔ)器LPM_ROM。圖5-1微程序控制器的電路結(jié)構(gòu)a. 微指令控制電路微指令控制電路用組合電路對(duì)指令中的I7.2、操作臺(tái)控制信號(hào)SWA和SWB的狀態(tài)、狀態(tài)寄存器的輸出狀態(tài)FC、FZ,產(chǎn)生微地址變化的控制信號(hào),實(shí)現(xiàn)對(duì)微地址控制,原理圖如圖5-2所示:圖5-2 微指令控制電路b. 微地址寄存器電路微地址寄存器控制電路的基本輸入信號(hào)是微指令存儲(chǔ)器的下地址字段M6.1,同時(shí)還受微指令控制電路的輸出信號(hào)SE6.1和復(fù)位信號(hào)RST的控制,輸出下一個(gè)微指令的地址;原理圖

24、如圖5-3所示:圖5-3 微地址寄存器電路c. 數(shù)據(jù)寄存器譯碼控制電路在指令中除了操作碼以外,還有源操作數(shù)寄存器和目的操作數(shù)寄存器。原理圖如5-4所示:圖5-4 數(shù)據(jù)寄存器譯碼控制三、 實(shí)驗(yàn)任務(wù)a. 微指令控制電路輸入圖5-2微指令控制電路,并按照?qǐng)D中說明鎖定引腳,編譯、下載到實(shí)驗(yàn)系統(tǒng)中,選擇實(shí)驗(yàn)臺(tái)電路模式1。根據(jù)微程序控制器的內(nèi)部結(jié)構(gòu),記錄當(dāng)FC、FZ變化時(shí),微指令I(lǐng)7.2的變化對(duì)輸出微地址控制信號(hào)SE6.1的影響。觀察、記錄當(dāng)微指令I(lǐng)7.2的值變化時(shí),SE6.1的變化情況。觀察、記錄分支信號(hào)P4.1有效時(shí),微指令I(lǐng)7.2的變化對(duì)輸出微地址控制信號(hào)SE6.1的影響。觀察、記錄SWA、SWB對(duì)

25、輸出微地址控制信號(hào)SE6.1的影響。b. 微地址寄存器電路輸入圖5-3微地址寄存器電路,并按照?qǐng)D中說明鎖定引腳,編譯、下載到實(shí)驗(yàn)系統(tǒng)中,選擇實(shí)驗(yàn)臺(tái)電路模式1。觀察記錄微地址寄存器在正常工作情況下,由d6.1輸入、q6.1輸出的微地址實(shí)驗(yàn)數(shù)據(jù),以及發(fā)生控制/轉(zhuǎn)移情況下,當(dāng)S6.1信號(hào)有效時(shí),q6.1輸出的微地址發(fā)生變化的情況。c. 數(shù)據(jù)寄存器譯碼控制電路輸入圖5-4數(shù)據(jù)寄存器譯碼控制電路,并按照?qǐng)D中說明鎖定引腳,編譯、下載到實(shí)驗(yàn)系統(tǒng)中,選擇實(shí)驗(yàn)臺(tái)電路模式5。觀察、記錄微指令信號(hào)中I3.0的變化,控制信號(hào)LDRI、RD_B、RS_B、RJ_B的變化,對(duì)輸出選通信號(hào)LDR0-LDR2、R0_B-R2

26、_B的影響。四、 實(shí)驗(yàn)步驟 1.軟件編譯2.分析報(bào)告a. 微指令控制電路鍵1、鍵2輸入6位微指令數(shù)據(jù)I7.2,鍵2中的高兩位還作為標(biāo)志位FC、FZ;鍵3輸入分支控制信號(hào)P4.1;鍵4輸入控制臺(tái)的控制信號(hào)SWA、SWB;鍵8輸入節(jié)拍信號(hào)T4;數(shù)碼管5、6顯示微地址控制信號(hào)SE6.1。b. 微地址寄存器電路鍵1、鍵2輸入D觸發(fā)器數(shù)據(jù)d6.1;鍵4、鍵3輸入D觸發(fā)器置“1”控制信號(hào)S6.1,低電平有效;鍵7輸入D觸發(fā)器復(fù)位(清零)控制信號(hào),低電平有效;鍵8輸入時(shí)鐘信號(hào)CLK;數(shù)據(jù)管7、8顯示D觸發(fā)器輸出信號(hào)q6.1。c. 數(shù)據(jù)寄存器譯碼控制電路LDR0-LDR2、R0_B-R2_B發(fā)光管顯示出譯碼的

27、結(jié)果。五、 問題分析當(dāng)控制信號(hào)SWA、SWB取不同的值時(shí),對(duì)微指令控制電路中輸出S6.1有何影響?SE6=1SE5=(FC+FZ)+T4+P3SE4=I7+T4+P1SE3=I6+T4+P1SE2=(I5*T4*P1+ I3*T4*P2+ SWB*T4*P4)SE1=(I4*T4*P1+ I2*T4*P2+ SWA*T4*P4)實(shí)驗(yàn)6 基本模型機(jī)設(shè)計(jì)與實(shí)現(xiàn)一、 實(shí)驗(yàn)內(nèi)容深入理解基本模型計(jì)算機(jī)的功能和組成知識(shí);深入學(xué)習(xí)計(jì)算機(jī)各類典型指令的執(zhí)行流程;學(xué)習(xí)微程序控制器的設(shè)計(jì)過程和相關(guān)技術(shù),掌握LPM_ROM的配置方法;在掌握部件單元電路實(shí)驗(yàn)的基礎(chǔ)上,進(jìn)一步將單元電路組成系統(tǒng),構(gòu)造成一臺(tái)基本模型計(jì)算機(jī)

28、;定義五條機(jī)器指令,并編寫相應(yīng)的微程序,上機(jī)調(diào)試,掌握計(jì)算機(jī)整機(jī)概念,掌握微程序的設(shè)計(jì)方法,學(xué)會(huì)編寫二進(jìn)制微指令代碼表;通過完整的計(jì)算機(jī)的設(shè)計(jì),全面了解并掌握微程序控制方式計(jì)算機(jī)的設(shè)計(jì)方法。二、 實(shí)驗(yàn)原理在微過程的控制下自動(dòng)產(chǎn)生各部件單元控制信號(hào),實(shí)現(xiàn)特定的功能。實(shí)驗(yàn)中,計(jì)算機(jī)數(shù)據(jù)通路的控制將由微過程控制器來完成,CPU從內(nèi)存中取出一條機(jī)器指令到指令執(zhí)行結(jié)束的一個(gè)指令周期,全部由微指令組成的序列來完成,即一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序。本實(shí)驗(yàn)采用五條機(jī)器指令:IN(輸入)、ADD(二進(jìn)制加法)、STA(存數(shù))、OUT(輸出)、JMP(無條件轉(zhuǎn)移)。8位模型計(jì)算機(jī)的數(shù)據(jù)通路框圖如圖6-1所示,微指令

29、流程圖如圖6-2所示。圖6-1 8位CPU的頂層設(shè)計(jì)電路原理圖圖6-2 微指令流程圖三、 實(shí)驗(yàn)任務(wù)了解所有控制信號(hào)的作用;掌握在QuartusII環(huán)境下,采用圖形編輯方法的設(shè)計(jì)技術(shù);掌握在微程序控制下機(jī)器指令的寫入、讀出和程序設(shè)計(jì)方法;掌握LPM_RAM的配置方法,實(shí)現(xiàn)對(duì)機(jī)器指令輸入;掌握微程序的設(shè)計(jì)方法,學(xué)會(huì)編寫二進(jìn)制微指令代碼表;掌握對(duì)LPM_ROM的配置方法,實(shí)現(xiàn)微指令代碼表的輸入;設(shè)計(jì)新的指令和包含新指令的程序,在此CPU中運(yùn)行。四、 實(shí)驗(yàn)步驟 1.軟件編譯2.仿真波形圖無3.分析報(bào)告通過液晶屏,觀察各相關(guān)寄存器、ALU、DR1、PC、IR、AR、BUS、MC等內(nèi)容的變化情況,根據(jù)圖6

30、-2微指令控制流程,單步跟蹤微程序的執(zhí)行情況。通過INPUT(鍵2、鍵1)輸入運(yùn)算數(shù)據(jù),跟蹤程序的執(zhí)行情況,并詳細(xì)記錄每條微指令執(zhí)行后,相關(guān)單元輸出數(shù)據(jù)的變化情況,依次執(zhí)行機(jī)器指令,從而驗(yàn)證所設(shè)計(jì)的正確性。最終可由液晶屏的顯示得到程序設(shè)計(jì)取得了正確的結(jié)果。五、 問題分析除了已有的IN、ADD、STA、OUT、JMP指令外,再設(shè)計(jì)減法SUB、帶進(jìn)位加法ADDC、邏輯與AND、邏輯或OR和異或XOR指令,共10條指令;編寫相應(yīng)微程序流程圖,寫出微程序代碼表,硬件實(shí)現(xiàn)選作。在原有指令的基礎(chǔ)上再添加五條新指令,微指令流程圖如下:圖6-3 補(bǔ)充后的微指令流程圖實(shí)驗(yàn)7 K8051單片機(jī)核基本系統(tǒng)構(gòu)建和測(cè)試

31、一、 具體應(yīng)用描述在本次實(shí)驗(yàn)中,我們使用K8051單片機(jī)核進(jìn)行音樂播放器的構(gòu)建和測(cè)試;在實(shí)驗(yàn)中,我們使用了中斷發(fā)聲的方式,使用8051芯片內(nèi)置定時(shí)器1的模式1(16位計(jì)時(shí)模式)來產(chǎn)生驅(qū)動(dòng)喇叭的方波,通過設(shè)置計(jì)時(shí)值來控制產(chǎn)生聲波的頻率,而音節(jié)播放的時(shí)間通過使用循環(huán)指令實(shí)現(xiàn);通過對(duì)載入ROM內(nèi)的匯編程序進(jìn)行進(jìn)一步編輯,我們?cè)谠胁シ乓魳返幕A(chǔ)上,進(jìn)一步加入了暫停、快進(jìn)、切歌的功能。二、 Quartus下硬件設(shè)計(jì)原理圖、模式及引腳說明1. 硬件設(shè)計(jì)原理圖 圖7-1 硬件設(shè)計(jì)原理圖我們使用K8051單片機(jī)核,單片機(jī)工作時(shí)鐘設(shè)置在20MHz。2. 模式及引腳說明在實(shí)驗(yàn)中我們使用模式1,其中,復(fù)位鍵由鍵8

32、控制,高電平復(fù)位;鍵1控制快進(jìn),0為不快進(jìn),1為快進(jìn);鍵2控制暫停,0為不暫停,1為暫停;鍵3控制切歌,0為第一首歌,1為第二首歌。根據(jù)各鍵的功能鎖定引腳。除此之外,數(shù)碼管8、7顯示當(dāng)前播放的音符,數(shù)碼管1顯示快進(jìn)鍵的當(dāng)前值,數(shù)碼管2顯示暫停鍵的當(dāng)前值,數(shù)碼管顯示切歌鍵的當(dāng)前值,從而方便調(diào)試與運(yùn)行。除此之外,Dx發(fā)光管也根據(jù)頻率閃爍。結(jié) 束快進(jìn)判斷是否暫停判斷是否快進(jìn)取下一個(gè)音符和時(shí)長(zhǎng)初始化切歌判斷是否切歌開 始暫停三、 軟件設(shè)計(jì)流程圖及相關(guān)描述首先,對(duì)初始環(huán)境進(jìn)行初始化,然后判斷切歌鍵是否按下,若按下,則根據(jù)按鍵來判斷播放的音樂,若未按下,則繼續(xù)播放;再判斷是否按下暫停鍵,若按下,則暫停播放

33、,否則繼續(xù)播放;再判斷是否按下快進(jìn)鍵,若按下,則快進(jìn)播放樂曲,否則以正常速度播放。四、 音符計(jì)時(shí)值表格及計(jì)算方法圖7-2 各音符不同八度的頻率計(jì)時(shí)值 = 65536-11M/(12×頻率×2)經(jīng)過計(jì)算得到的音符頻率如下:圖7-3 計(jì)算得的各音符計(jì)時(shí)值五、 匯編源代碼(需加詳細(xì)注釋) ;用定時(shí)器T1方式1來產(chǎn)生歌譜中各音符對(duì)應(yīng)頻率的方波,由P1.0輸出驅(qū)動(dòng)喇叭。;節(jié)拍控制可通過調(diào)用延時(shí)子程序次數(shù)來實(shí)現(xiàn)。SPK EQU P1.0 ; 蜂鳴器所在端口PAUEQU P0.4QUIEQU P0.0SWI EQU P3.0ORG0000H;程序入口地址JMPSTARTORG001BH;

34、timer1中斷處理程序入口地址JMPTIME ;*;30H TAB OFFSET;31H DELAYCON OFFSET;32H TAB2 OFFSET;33H DELAYCON2 OFFSETORG0035HSWIVALUE:DB 01H;35HSWI VALUEORG0040HSTART:MOVTMOD,#10H;timer1方式1,16進(jìn)制計(jì)數(shù)MOVIE,#88H;允許timer1中斷MOV30H,#0HMOV31H,#0HMOV32H,#0HMOV33H,#0HAG5:;CALLDELAYTEST;JMPAG5CLREACLRTR1MOVR1,#0E0HMOVR0,#00HMOVA,

35、R1 MOV P2,AMOVTH1,R1;計(jì)數(shù)值高8位MOVTL1,R0;低8位SETBTR1SETBEA;JMPAG5AG2:CLREAMOVA,SWIVALUE ;對(duì)切歌鍵的輸入進(jìn)行判斷做數(shù)據(jù)準(zhǔn)備ORLA,#0HJNZAG20MOVDPTR,#TAB1;樂譜1始地址MOVA,30HMOVCA,A+DPTRMOV R1,A;高8位INC30HMOVA,30HMOVDPTR,#TAB1;樂譜1始地址MOVCA,A+DPTRMOVR0,A;低8位JMPAG21AG20:MOVDPTR,#TAB2;樂譜2始地址MOVA,32HMOVCA,A+DPTRMOV R1,A;高8位INC32HMOVA,3

36、2HMOVDPTR,#TAB2;樂譜2始地址MOVCA,A+DPTRMOVR0,A;低8位AG21:SETBEAMOVA,R1MOV P2,AORLA,#00HJNZAG31JMPSTARTAG31:CLREACLRTR1MOVTH1,R1;計(jì)數(shù)值高8位MOVTL1,R0;低8位SETBTR1SETBEAMOVA,SWIVALUEORLA,#0HJNZAG22MOVA,31HMOVDPTR,#DELAYCON1;DELAYCON地址(音符的持續(xù)時(shí)長(zhǎng))MOVCA,A+DPTRJMPAG23AG22:MOVA,33HMOVDPTR,#DELAYCON2;DELAYCON地址MOVCA,A+DPTR

37、JMPAG23AG23:MOVR2,A;延時(shí)常數(shù)LOOP1:JMPDELAYAG33:DJNZR2,LOOP1;CPLP0.5MOVA,SWIVALUEORLA,#0HJNZAG24INC30HINC31HJMPAG25AG24:INC32HINC33HAG25:AJMPAG2;*產(chǎn)生定時(shí)延遲*;200MSDELAY:MOVR4,#006HDEL1:MOVR3,#0FFHAG1:MOVR5,#0FFHDJNZR5,$DJNZR3,AG1 ;SWITCHJBSWI,AG28;SWI=0MOVA,SWIVALUEORLA,#0HJZAG29;35H=1MOVSWIVALUE,#00HJMPSTAR

38、TJMPAG29AG28:;SWI=1MOVA,SWIVALUEORLA,#0HJNZAG29;35H=0MOVSWIVALUE,#1HJMPSTARTAG29:;PAUSE暫停JNBPAU,AG8CLRTR1AG9:JNBPAU,AG11JMPAG9AG11:SETBTR1AG8:;QUICK快進(jìn)JNBQUI,AG12JMP AG13AG12:DJNZR4,DEL1AG13:JMPAG33;200MSDELAYTEST:MOVR4,#011HDEL10:MOVR3,#0FFHAG10:MOV A,R1MOV R6,AAG30:NOPNOPNOPNOPNOPNOPNOPNOPDJNZ R6,AG30CPLP1.

溫馨提示

  • 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)論