基于MATLAB的時(shí)序邏輯電路設(shè)計(jì)與仿真設(shè)計(jì)_第1頁(yè)
基于MATLAB的時(shí)序邏輯電路設(shè)計(jì)與仿真設(shè)計(jì)_第2頁(yè)
基于MATLAB的時(shí)序邏輯電路設(shè)計(jì)與仿真設(shè)計(jì)_第3頁(yè)
基于MATLAB的時(shí)序邏輯電路設(shè)計(jì)與仿真設(shè)計(jì)_第4頁(yè)
基于MATLAB的時(shí)序邏輯電路設(shè)計(jì)與仿真設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)作業(yè)書(shū)主題:基于MATLAB的時(shí)序邏輯電路設(shè)計(jì)與仿真初始狀態(tài):MATLAB軟件微機(jī)需要的主要任務(wù):深入研究和掌握數(shù)字電路中時(shí)序邏輯電路的理論知識(shí)。利用MATLAB強(qiáng)大的圖形處理功能、符號(hào)運(yùn)算功能和數(shù)值計(jì)算功能,實(shí)現(xiàn)時(shí)序邏輯電路的設(shè)計(jì)和仿真。1.以寄存器為例,模擬如下波形并行寄存器輸出波形(用基本的RS觸發(fā)器構(gòu)成);移位寄存器輸出波形(用D觸發(fā)器構(gòu)成)2.以雙向移位寄存器為例,實(shí)現(xiàn)子系統(tǒng)的設(shè)計(jì)和封裝,仿真如下波形4位雙向移位寄存器并行輸出波形;4位雙向移位寄存器將輸出波形串行右移;4位雙向移位寄存器串行左移輸出波形3、以扭環(huán)計(jì)數(shù)器為例,模擬如下波形雙絞環(huán)計(jì)數(shù)器的輸出波形(用JK觸發(fā)器實(shí)現(xiàn)

2、)目錄 TOC o 1-3 h z u HYPERLINK l _Toc251325785 摘要 PAGEREF _Toc251325785 h 二 HYPERLINK l _Toc251325786 簡(jiǎn)介 PAGEREF _Toc251325786 h 1 HYPERLINK l _Toc251325787 MATLAB 2簡(jiǎn)介 PAGEREF _Toc251325787 h HYPERLINK l _Toc251325788 1.1 MATLAB PAGEREF _Toc251325788 h 2 HYPERLINK l _Toc251325789 MATLAB 2的特點(diǎn) PAGEREF

3、_Toc251325789 h HYPERLINK l _Toc251325790 1.3 MATLAB編程 PAGEREF _Toc251325790 h 2 HYPERLINK l _Toc251325791 1.4 M-文件 PAGEREF _Toc251325791 h 3 HYPERLINK l _Toc251325792 1.5 SIMULINK仿真設(shè)計(jì) PAGEREF _Toc251325792 h 3 HYPERLINK l _Toc251325793 1.5.1創(chuàng)建和使用模型 PAGEREF _Toc251325793 h 3 HYPERLINK l _Toc25132579

4、4 1.5.2選擇和自定義模塊 PAGEREF _Toc251325794 h 3 HYPERLINK l _Toc251325795 1.5.3構(gòu)建和編輯模型 PAGEREF _Toc251325795 h 4 HYPERLINK l _Toc251325796 1.5.4配置子系統(tǒng) PAGEREF _Toc251325796 h 4 HYPERLINK l _Toc251325797 1.5.5條件執(zhí)行子系統(tǒng) PAGEREF _Toc251325797 h 5 HYPERLINK l _Toc251325798 2時(shí)序邏輯電路設(shè)計(jì) PAGEREF _Toc251325798 h 5 HYP

5、ERLINK l _Toc251325799 2.1鎖存器和觸發(fā)器 PAGEREF _Toc251325799 h 5 HYPERLINK l _Toc251325800 2.1.1雙穩(wěn)態(tài) PAGEREF _Toc251325800 h 5 HYPERLINK l _Toc251325801 2.1.2鎖存器 PAGEREF _Toc251325801 h 5 HYPERLINK l _Toc251325802 2.1.3觸發(fā)器 PAGEREF _Toc251325802 h 6 HYPERLINK l _Toc251325803 2.2時(shí)序邏輯電路設(shè)計(jì) PAGEREF _Toc2513258

6、03 h 8 HYPERLINK l _Toc251325804 2.2.1移位寄存器 PAGEREF _Toc251325804 h 8 HYPERLINK l _Toc251325805 2.2.2扭環(huán)計(jì)數(shù)器 PAGEREF _Toc251325805 h 9 HYPERLINK l _Toc251325806 3基于MATLAB 12的組合邏輯電路設(shè)計(jì) PAGEREF _Toc251325806 h HYPERLINK l _Toc251325807 3.1用寄存器模擬波形 PAGEREF _Toc251325807 h 12 HYPERLINK l _Toc251325808 3.1.

7、1并行寄存器 PAGEREF _Toc251325808 h 12的設(shè)計(jì) HYPERLINK l _Toc251325809 3.1.2移位寄存器的設(shè)計(jì) PAGEREF _Toc251325809 h 15 HYPERLINK l _Toc251325810 3.2雙向移位寄存器實(shí)現(xiàn)子系統(tǒng)的設(shè)計(jì)與封裝仿真波形 PAGEREF _Toc251325810 h 18 HYPERLINK l _Toc251325811 3.3以扭環(huán)計(jì)數(shù)器為例,模擬如下波形 PAGEREF _Toc251325811 h 26 HYPERLINK l _Toc251325812 4收獲、經(jīng)驗(yàn)與建議 PAGEREF _

8、Toc251325812 h 28 HYPERLINK l _Toc251325813 5至 PAGEREF _Toc251325813 h 29 HYPERLINK l _Toc251325814 6參考文獻(xiàn) PAGEREF _Toc251325814 h 30摘要MATLAB是當(dāng)今最好的科技應(yīng)用軟件之一,具有強(qiáng)大的科學(xué)計(jì)算和可視化功能,易于使用、開(kāi)放和可擴(kuò)展的環(huán)境。本文介紹了時(shí)序邏輯電路的MATLAB設(shè)計(jì)與仿真。在這種電路中,任何時(shí)候的輸出信號(hào)不僅取決于當(dāng)時(shí)的輸入信號(hào),還取決于當(dāng)時(shí)電路的狀態(tài),或者說(shuō),它還與之前的輸入有關(guān)。具有這種邏輯功能的電路稱為時(shí)序邏輯電路。在時(shí)序邏輯電路中,需要存儲(chǔ)某

9、一時(shí)刻的電路狀態(tài),并使用觸發(fā)器構(gòu)成寄存器和計(jì)數(shù)器。在時(shí)序邏輯電路的仿真過(guò)程中,會(huì)用到 SIMULINK 中的觸發(fā)模塊。同時(shí),還介紹了仿真中子系統(tǒng)的設(shè)計(jì)和封裝,進(jìn)一步介紹了MATLAB強(qiáng)大的數(shù)字處理功能。關(guān)鍵詞:像,照片,調(diào)查,仿真,照片介紹MATLAB 、Mathematica和Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)技術(shù)應(yīng)用中的數(shù)值計(jì)算方面首屈一指。 MATLAB 可以執(zhí)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面以及連接其他編程語(yǔ)言的程序。主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通信、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)等。和分析。MATLAB的基本數(shù)據(jù)單元是矩陣,其指令表達(dá)式與數(shù)學(xué)和工程

10、中常用的非常相似。因此,使用MATLAB解決問(wèn)題比使用C、FORTRAN等語(yǔ)言完成同樣的事情要簡(jiǎn)單得多,而且mathwork也吸收了Maple等軟件的優(yōu)點(diǎn),MATLAB成為了強(qiáng)大的數(shù)學(xué)軟件。在新版本中還增加了對(duì) C、FORTRAN、C+、JAVA 的支持??梢灾苯诱{(diào)用,也可以將自己編寫(xiě)的實(shí)用程序?qū)隡ATLAB函數(shù)庫(kù),方便后續(xù)調(diào)用。另外,很多MATLAB愛(ài)好者編寫(xiě)了一些經(jīng)典程序,用戶可以直接下載使用。1 MATLAB簡(jiǎn)介1.1 MATLABMATLAB 是 Matrix Laboratory 的縮寫(xiě)。是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件。它用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析和數(shù)值計(jì)算

11、。先進(jìn)的技術(shù)計(jì)算語(yǔ)言和交互環(huán)境,主要包括MATLAB和MATLAB。 Simulink 有兩個(gè)部分。MATLAB 具有廣泛的應(yīng)用,包括信號(hào)和圖像處理、通信、控制系統(tǒng)設(shè)計(jì)、測(cè)試和測(cè)量、金融建模和分析以及計(jì)算生物學(xué)。其他工具箱(單獨(dú)提供的專用 MATLAB 函數(shù)集)擴(kuò)展了 MATLAB 環(huán)境,以解決這些應(yīng)用領(lǐng)域特定類型的問(wèn)題。1.2 MATLAB的特點(diǎn)MATLAB是當(dāng)今最好的科技應(yīng)用軟件之一。它具有強(qiáng)大的科學(xué)計(jì)算和可視化功能,易于使用、開(kāi)放和可擴(kuò)展的環(huán)境,尤其是支持30多個(gè)不同領(lǐng)域的工具箱。它已成為許多科學(xué)領(lǐng)域的計(jì)算機(jī)輔助設(shè)計(jì)與分析、算法研究和應(yīng)用開(kāi)發(fā)的基礎(chǔ)工具和首選平臺(tái)。 MATLAB具有其他高

12、級(jí)語(yǔ)言無(wú)法比擬的優(yōu)點(diǎn),如編寫(xiě)簡(jiǎn)單、編程效率高、易學(xué)易懂等。因此,MATLAB語(yǔ)言也俗稱算術(shù)論文式的科學(xué)算法語(yǔ)言。在控制、通信、信號(hào)處理和科學(xué)計(jì)算等領(lǐng)域,MATLAB得到了廣泛的應(yīng)用,被公認(rèn)為能夠有效提高工作效率和改進(jìn)設(shè)計(jì)方法的工具軟件。掌握MATLAB就像掌握了打開(kāi)這些專業(yè)領(lǐng)域的大門(mén)。鑰匙。1.3 MATLAB編程(1) 直線指令法行命令法是在命令窗口中編寫(xiě)程序,每個(gè)程序只能一行,因?yàn)橛?jì)算機(jī)一次只能響應(yīng)一行命令,就像計(jì)算器一樣。行命令模式適用于簡(jiǎn)單的語(yǔ)句編寫(xiě)。(2) 程序文本模式程序文本模式也稱為程序文件模式,就是將多行語(yǔ)句寫(xiě)入一個(gè)程序,保存在一個(gè)文件名下,讓計(jì)算機(jī)執(zhí)行該文件。程序文本模式下的

13、語(yǔ)句編寫(xiě)和修改在文本編輯器中進(jìn)行,適合復(fù)雜語(yǔ)句編寫(xiě)140萬(wàn)個(gè)文件m文件與c語(yǔ)言的文件類似,但有自己的特點(diǎn)。它只是一個(gè)簡(jiǎn)單的ASCII文本文件,在執(zhí)行程序時(shí)逐行解釋和運(yùn)行程序。 Matlab是一種解釋型編程語(yǔ)言。m 文件:獨(dú)立的m文件-稱為命令文件; callable m files -調(diào)用函數(shù)文件。程序文本模式分為腳本文件和函數(shù)文件。SIMULINK仿真設(shè)計(jì)Simulink 是 MATLAB 最重要的組件之一,為動(dòng)態(tài)系統(tǒng)建模、仿真和綜合分析提供了一個(gè)集成環(huán)境。在這種環(huán)境下,復(fù)雜的系統(tǒng)只能通過(guò)簡(jiǎn)單直觀的鼠標(biāo)操作來(lái)構(gòu)建,無(wú)需大量的編寫(xiě)程序。 Simulink具有適應(yīng)性廣、結(jié)構(gòu)流程清晰、仿真精細(xì)、貼

14、近實(shí)際、高效靈活等優(yōu)點(diǎn)?;谝陨蟽?yōu)勢(shì),Simulink已廣泛應(yīng)用于控制理論和數(shù)字信號(hào)處理的復(fù)雜仿真與設(shè)計(jì)。同時(shí),在 Simulink 中可以使用或需要使用大量的第三方軟硬件。1.5.1創(chuàng)建和使用模型通過(guò) Simulink 使用大量預(yù)定義的模塊,可以快速導(dǎo)出、建模和維護(hù)系統(tǒng)的詳細(xì)框圖。 Simulink 提供了用于分層建模、數(shù)據(jù)管理和自定義子系統(tǒng)的工具,因此無(wú)論工程師的系統(tǒng)多么復(fù)雜,都可以輕松完成簡(jiǎn)潔準(zhǔn)確的模型描述。1.5.2選擇和自定義模塊Simulink 包含用于建模系統(tǒng)的廣泛模塊庫(kù)。這些庫(kù)包括:一個(gè)。連續(xù)和離散動(dòng)態(tài)模塊,例如積分和單位延遲灣。算法模塊,例如 Sum、Product、Look

15、up TableC。信號(hào)結(jié)構(gòu)模塊,如Mux、Switch、Bus Selector您可以自定義這些鏈接模塊或直接在 Simulink 中創(chuàng)建新模塊并將它們放置在您自己的庫(kù)中。額外的模塊庫(kù)擴(kuò)展了 Simulink 的特定應(yīng)用功能,例如用于航空航天、通信、射頻、信號(hào)處理、視頻和圖像處理以及其他應(yīng)用。啟動(dòng) Simulink 時(shí),可以點(diǎn)擊工具欄上的 ;也可以在 MATLAB 命令窗口中輸入 Simulink,然后桌面上會(huì)出現(xiàn)一個(gè)名為 Simulink Library Browser 的窗口,其中按功能分類的各個(gè)模塊都在這個(gè)窗口中列出。姓名;您也可以點(diǎn)擊 MATLAB 主窗口菜單選擇 FileNewMo

16、del,會(huì)彈出 Untitled Simulink 模型窗口,然后選擇 ViewShow Library Browser 彈出 Simulink Library Brower 模塊庫(kù)窗口。圖 1.1 顯示了Simulink 庫(kù)瀏覽器窗口。圖 1.1 Simulink 庫(kù)瀏覽器窗口1.5.3構(gòu)建和編輯模型在使用 Simulink 時(shí),將模塊從庫(kù)瀏覽器拖放到圖形編輯器中,然后用線將模塊連接起來(lái),建立模塊之間的數(shù)學(xué)關(guān)系,完成模型建立。復(fù)制、粘貼、撤消、對(duì)齊、分發(fā)和調(diào)整大小等。Simulink 用戶界面可以完全控制您在屏幕上看到和使用的內(nèi)容。用戶可以將命令和子菜單添加到編輯器和文件菜單,以及禁用和隱藏

17、菜單、菜單項(xiàng)和對(duì)話框。1.5.4配置子系統(tǒng)Simulink 中的配置子系統(tǒng)可以將子系統(tǒng)與模型中的設(shè)計(jì)變量相關(guān)聯(lián)。此功能通過(guò)共享零件設(shè)計(jì)方法簡(jiǎn)化了設(shè)計(jì)過(guò)程和管理,因?yàn)槟P涂梢源硪活愒O(shè)計(jì)。1.5.5條件執(zhí)行子系統(tǒng)條件執(zhí)行子系統(tǒng)可以通過(guò)啟用或禁用控制邏輯信號(hào)來(lái)改變系統(tǒng)的動(dòng)態(tài)行為。在 Simulink 中,用戶可以根據(jù)特定的時(shí)間或事件創(chuàng)建控制信號(hào),從而使子系統(tǒng)以使能或觸發(fā)的方式執(zhí)行。同時(shí),Simulink 提供了邏輯塊,可用于對(duì)簡(jiǎn)單的控制指令進(jìn)行建模,從而使 Controls 啟用或觸發(fā)子系統(tǒng)。2 時(shí)序邏輯電路設(shè)計(jì)時(shí)序邏輯電路在任何時(shí)刻的輸出信號(hào),不僅與當(dāng)時(shí)的輸入信號(hào)有關(guān),而且與原來(lái)的狀態(tài)有關(guān)。也就

18、是說(shuō),時(shí)序電路中除了具有邏輯運(yùn)算功能的組合電路外,還必須有可以記憶電路狀態(tài)的存儲(chǔ)單元或延遲單元。這些存儲(chǔ)或延遲邏輯單元主要由鎖存器或觸發(fā)器實(shí)現(xiàn)。時(shí)序電路是一個(gè)自狀態(tài)機(jī)。時(shí)序邏輯電路具有以下特點(diǎn):時(shí)序邏輯電路由組合電路和存儲(chǔ)電路組成;時(shí)序邏輯電路的狀態(tài)與時(shí)間因素有關(guān),即時(shí)序電路在任何時(shí)候的狀態(tài)變量不僅是當(dāng)前輸入信號(hào)的函數(shù),也是電路前一狀態(tài)的函數(shù),時(shí)序電路的輸出信號(hào)由輸入信號(hào)和電路狀態(tài)共同決定。2.1 鎖存器和觸發(fā)器2.1.1雙穩(wěn)態(tài)雙穩(wěn)態(tài)電路通常具有一個(gè)輸出端和兩個(gè)輸入端(“+”和“-”端各一個(gè))。當(dāng)輸入端的“+”端有觸發(fā)信號(hào)時(shí),輸出端會(huì)立即發(fā)生變化,無(wú)論其原始狀態(tài)如何。為高電平,始終穩(wěn)定輸出高電

19、平。如果輸入端的“-”端有觸發(fā)信號(hào),無(wú)論輸出端原來(lái)的狀態(tài)是什么,都會(huì)立即變?yōu)榈碗娖?,始終穩(wěn)定輸出低電平。2.1.2閂鎖_鎖存器是脈沖電平敏感的存儲(chǔ)單元電路,可以在特定輸入脈沖電平的作用下改變狀態(tài)。輸出的狀態(tài)不隨輸入的狀態(tài)而改變,只有當(dāng)有鎖存信號(hào)時(shí),才將輸入的狀態(tài)保存到輸出,直到下一個(gè)鎖存信號(hào)。通常只有0和1兩個(gè)值。圖2.1是RS基本鎖存器,表2.1是它的真值表。表 2.1 SR 基本鎖存真值表小號(hào)R狀態(tài)00維持01Q=010Q=111Q=!Q=0圖 2.1基本 SR鎖存器2.1.3 觸發(fā)器觸發(fā)器是一種可以存儲(chǔ)電路狀態(tài)的電子元件。最簡(jiǎn)單的是由兩個(gè)或非門(mén)、兩個(gè)輸入和兩個(gè)輸出組成的 RS 觸發(fā)器(見(jiàn)

20、圖)。比較復(fù)雜的有一個(gè)時(shí)鐘(CLK)段和一個(gè)D(Data)端,在CLK端為高電平時(shí)跟隨D端的狀態(tài),在CLK端變?yōu)榈碗娖綍r(shí)鎖存信號(hào)。更常用的是由兩個(gè)簡(jiǎn)單的D觸發(fā)器級(jí)聯(lián)形成的邊沿D觸發(fā)器,這些觸發(fā)器在時(shí)鐘的下沿存儲(chǔ)信號(hào),廣泛用于計(jì)數(shù)器、計(jì)算器和存儲(chǔ)器等電子元件中。常見(jiàn)的有JK觸發(fā)器和T觸發(fā)器。SR觸發(fā)器帶有狀態(tài)圖和真值表的 SR 觸發(fā)器的基本表示如下所示。圖 2.2 SR 觸發(fā)器邏輯符號(hào) 圖 2.3 SR 觸發(fā)器狀態(tài)圖表 2.2 SR 觸發(fā)器真值表小號(hào)RCPQn _Qn +1000000110100011010011011,這是SR觸發(fā)器滿足的基本條件。D觸發(fā)器帶有狀態(tài)圖和真值表的 D 觸發(fā)器的基

21、本表示如下所示。其中。圖 2.4 D 觸發(fā)器邏輯符號(hào) 圖 2.5 D 觸發(fā)器狀態(tài)圖表 2.3 D 觸發(fā)器真值表DQn _Qn +1000010101111JK 人字拖JK 觸發(fā)器、狀態(tài)圖和真值表的基本表示如下所示。圖 2.6 JK 觸發(fā)器邏輯符號(hào) 圖 2.7 JK 觸發(fā)器狀態(tài)圖表 2.4 JK 觸發(fā)器真值表CPQn _Qn +1000000110100011010011011110111102.2 時(shí)序邏輯電路設(shè)計(jì)2.2.1移位寄存器移位寄存器:不僅可以寄存數(shù)字,而且在移位脈沖的作用下,寄存器中的數(shù)字也可以根據(jù)需要左右移動(dòng)。1 .基本(單向)移位寄存器(1)右移位寄存器(由D觸發(fā)器組成的4位右

22、移位寄存器)結(jié)構(gòu)特點(diǎn):左觸發(fā)器的輸出連接到右相鄰觸發(fā)器的輸入。圖 2.8 右移位寄存器邏輯圖圖 2.9 右移位寄存器狀態(tài)圖2.雙向移位寄存器將右移位寄存器和左移位寄存器結(jié)合起來(lái),引入控制端S,就可以構(gòu)成一個(gè)可以左移和右移的雙向移位寄存器。圖 2.10 雙向移位寄存器邏輯圖2.2.2 扭環(huán)計(jì)數(shù)器扭環(huán)計(jì)數(shù)器可以進(jìn)一步提高電路狀態(tài)的利用率。圖2.11所示的扭曲循環(huán)計(jì)數(shù)器將有效循環(huán)中的狀態(tài)數(shù)增加到 8 個(gè),但電路仍然無(wú)法自動(dòng)啟動(dòng)。圖2.11基本扭環(huán)計(jì)數(shù)器圖2.12是一個(gè)自啟動(dòng)扭環(huán)計(jì)數(shù)器。該電路的工作原理如下。圖2.12改進(jìn)的扭環(huán)計(jì)數(shù)器(1) 寫(xiě)出方程。驅(qū)動(dòng)方程:將驅(qū)動(dòng)方程代入D觸發(fā)器的特征方程,得到扭

23、環(huán)計(jì)數(shù)器的狀態(tài)方程。狀態(tài)方程:(2)列出狀態(tài)轉(zhuǎn)移真值表,畫(huà)出狀態(tài)轉(zhuǎn)移圖。設(shè)扭環(huán)計(jì)數(shù)器當(dāng)前狀態(tài)=0000,代入狀態(tài)方程,推導(dǎo)出狀態(tài)轉(zhuǎn)移真值表,如表2.5所示。表2.5環(huán)形計(jì)數(shù)器狀態(tài)轉(zhuǎn)換真值表計(jì)數(shù)脈沖序列號(hào)當(dāng)前狀態(tài)次要狀態(tài)1000000012000100113001101114011111115111111106111011007110010008100000009001000011001001001110101101112011011011310010010141010000015101101101611011010根據(jù)狀態(tài)轉(zhuǎn)移真值表,畫(huà)出狀態(tài)轉(zhuǎn)移圖,如圖2.13所示。圖2.13改進(jìn)的扭環(huán)計(jì)數(shù)器

24、狀態(tài)轉(zhuǎn)移圖(3)檢查電路的自啟動(dòng)能力。經(jīng)檢查,電路可以自啟動(dòng)。(4) 畫(huà)出電路時(shí)序圖,見(jiàn)圖2.14 。圖2.14改進(jìn)的雙絞環(huán)計(jì)數(shù)器時(shí)序圖(5) 電路邏輯功能說(shuō)明。由以上分析可知,4位扭環(huán)計(jì)數(shù)器在有效周期內(nèi)有8個(gè)狀態(tài),可計(jì)數(shù)8個(gè)數(shù)字。雙絞線計(jì)數(shù)器的優(yōu)點(diǎn)是每次狀態(tài)變化只翻轉(zhuǎn)一個(gè)觸發(fā)器,譯碼器不存在競(jìng)爭(zhēng)和風(fēng)險(xiǎn)的現(xiàn)象,電路比較簡(jiǎn)單。缺點(diǎn)是電路狀態(tài)利用率仍然不高。3基于MATLAB的組合邏輯電路設(shè)計(jì)3.1 用寄存器模擬波形3.1.1并行寄存器設(shè)計(jì)此設(shè)計(jì)中使用基本 RS 觸發(fā)器來(lái)構(gòu)建一個(gè) 2 位并行寄存器。所謂并行寄存器,就是可以同時(shí)存儲(chǔ)多個(gè)數(shù)據(jù)源的數(shù)據(jù)的寄存器。RS觸發(fā)功能介紹SIMULINK 中提供了

25、一個(gè)基本的 RS 觸發(fā)模塊。先在MATLAB中運(yùn)行Simulink,然后新建模型,將RS觸發(fā)器的模塊添加到模型中,RS觸發(fā)器的位置為:Simulink Extras-Flip Flops-SR Flip-Flop。如圖 3.1 所示。然后右擊該模塊,在彈出的菜單中點(diǎn)擊“Look Under Mask ”命令,可以看到該模塊的電路,如圖3.1所示。設(shè)計(jì)一個(gè)2位并行寄存器需要兩個(gè)RS觸發(fā)器,在這個(gè)寄存器的不斷激勵(lì)下,先從輸入端讀取數(shù)據(jù),存儲(chǔ)一段時(shí)間,然后在下一個(gè)周期輸出信號(hào),同時(shí)讀取在新數(shù)據(jù)中。的信號(hào)。這就需要時(shí)鐘源信號(hào)作為輸入信號(hào)的控制端,由于輸入信號(hào)RS不能同時(shí)為1,最好通過(guò)NOT門(mén)將它們連接

26、起來(lái),這樣它們總是分開(kāi)為高和平坦的。圖 3.1 RS 觸發(fā)器模塊及電路使用基本 RS 觸發(fā)器構(gòu)建并行寄存器第 1 步:添加模塊 有五個(gè)模塊。RS 觸發(fā)器,Simulink Extras 觸發(fā)器 SR 觸發(fā)器。;時(shí)鐘源,Simulink Extras 觸發(fā)器時(shí)鐘;脈沖源,Simulink 源脈沖發(fā)生器;邏輯運(yùn)算塊,Simulink 數(shù)學(xué)運(yùn)算邏輯運(yùn)算符; Simulink 接收器范圍。將它們?nèi)客先胍粋€(gè)新模型中。第二步:修改模塊參數(shù)首先,我們雙擊 RS 觸發(fā)模塊,我們會(huì)看到如圖 3.2 所示的對(duì)話框。對(duì)話框中只有一個(gè)參數(shù)需要填寫(xiě),即觸發(fā)器的初始狀態(tài),即Q端的初始值,默認(rèn)值為0。兩者都復(fù)制。雙擊時(shí)鐘

27、源,您將看到如圖 3.3 所示的對(duì)話框。填寫(xiě)參數(shù)時(shí)鐘周期,默認(rèn)值為2。接下來(lái)復(fù)制4個(gè)邏輯運(yùn)算模塊,雙擊模塊將這4個(gè)設(shè)置為2輸入與非門(mén)。圖 3.2 RS 觸發(fā)參數(shù)設(shè)置 圖 3.3 時(shí)鐘源參數(shù)設(shè)置為脈沖源的 Pulse Type 選擇 Sample based。將表 3.1 填寫(xiě)到圖 3.4 所示的對(duì)話框中。表 3.1 并行寄存器脈沖源參數(shù)設(shè)置D0D1振幅11循環(huán)33脈沖寬度11延遲相00采樣時(shí)間10.25圖 3.4 脈沖源參數(shù)設(shè)置最后,示波器的輸入端口應(yīng)為5,以完成參數(shù)設(shè)計(jì)。第 3 步:接線和仿真合理安排模塊,接線見(jiàn)圖3.5。示波器將時(shí)鐘源、兩個(gè)脈沖模式和兩個(gè)觸發(fā)器的輸出信號(hào)分開(kāi)。要完成連接,請(qǐng)

28、通過(guò)雙擊在示波器上標(biāo)記線。最后,將整個(gè)模型保存在 MATLAB 的 work 子目錄中。默認(rèn)模擬時(shí)間為 10 秒。單擊工具欄上的圖標(biāo)開(kāi)始模擬。最后雙擊示波器觀察輸出波形,如圖3.6所示。圖 3.5 2 位并行寄存器電路圖圖 3.6 并行寄存器輸出從波形可以看出,當(dāng)時(shí)鐘源為低電平時(shí),觸發(fā)器輸出保持時(shí)鐘跳降前的值,而D1D0輸入的變化沒(méi)有變化,而當(dāng)時(shí)鐘源為高電平時(shí),所有輸入信號(hào)都送到輸出端,這是一個(gè)不穩(wěn)定因素,也是電平觸發(fā)觸發(fā)器的一個(gè)缺點(diǎn)。并且發(fā)現(xiàn)兩個(gè)觸發(fā)器完全獨(dú)立工作,互不影響,這就是并行性的特點(diǎn)。3.1.2移位寄存器的設(shè)計(jì)在本設(shè)計(jì)中,將使用另一個(gè)觸發(fā)器 D 觸發(fā)器來(lái)實(shí)現(xiàn)移位寄存器。所謂移位寄存

29、器,就是只能接收一個(gè)輸入源的寄存器,通過(guò)寄存器堆依次緩沖輸入。D觸發(fā)器功能介紹D觸發(fā)器的作用及其真值表在上面的介紹中已經(jīng)提到過(guò),這里就不一一贅述了。用 D 觸發(fā)器構(gòu)造移位寄存器第 1 步:添加模塊方法同上,找到6個(gè)模塊,D觸發(fā)器、時(shí)鐘源、單位延時(shí)單元、恒定源、脈沖源、示波器。運(yùn)行 Simulink 并將這些模塊拖到新模型中。第二步:修改模塊參數(shù)可以復(fù)制4個(gè)D觸發(fā)器,時(shí)鐘源默認(rèn)還是2個(gè)。雙擊單位延遲模塊,可以看到一個(gè)對(duì)話框,修改參數(shù)初始值為1,采樣時(shí)間改為0.1,復(fù)制這個(gè)單位的3個(gè)單位。脈沖源設(shè)置幅度為 1,周期為 3,脈沖寬度為 1,相位延遲為 0,采樣時(shí)間為 0.3。然后將此脈沖命名為INP

30、UT。恒定源設(shè)置為 1,最后示波器輸入設(shè)置為 6。第 3 步:接線和仿真各模塊排列整齊,接線見(jiàn)圖3.7。然后也保存。點(diǎn)擊 Simulink 菜單下的 Parameters 命令,將仿真時(shí)間設(shè)置為 20 秒,然后點(diǎn)擊工具欄中的運(yùn)行圖標(biāo)開(kāi)始仿真。然后雙擊示波器觀察波形,如圖 3.8 所示。圖 3.7 4 位移位寄存器圖 3.8 移位寄存器輸出波形從圖中可以看出,每個(gè)觸發(fā)器的輸出只會(huì)在時(shí)鐘信號(hào)的上升沿發(fā)生變化。并且四個(gè)觸發(fā)器的輸出每次延遲一個(gè)周期,這與這個(gè)分析是一致的。3.2 雙向移位寄存器子系統(tǒng)仿真波形設(shè)計(jì)與封裝本設(shè)計(jì)以基本的RS觸發(fā)器為基礎(chǔ),逐步完成一個(gè)比較大的系統(tǒng),四位雙向移位寄存器T4194

31、,并引入子系統(tǒng)的封裝,最后完成頂層文件。先介紹一下T4194的功能,它可以提供串行寄存器和移位寄存器兩種功能。器件部分是邊沿觸發(fā)的 RS 觸發(fā)器。(1) 帶位置復(fù)位的RS觸發(fā)器設(shè)計(jì)首先,需要對(duì)RS觸發(fā)器進(jìn)行修改,使其具有置位和復(fù)位端,以增強(qiáng)其功能。得到復(fù)位端置位的 RS 觸發(fā)器如圖 3.9 所示。下面簡(jiǎn)要描述這個(gè)過(guò)程。圖 3.9 下降沿觸發(fā)的 RS 觸發(fā)器,置位端先啟動(dòng) Simulink,然后在新模型中添加一個(gè)子系統(tǒng)(Simulink - Ports & Subsystems - Triggered Subsystem)。然后雙擊打開(kāi)子系統(tǒng)并為其添加一個(gè) RS 觸發(fā)器。然后添加兩個(gè)邏輯運(yùn)算模塊

32、,都改為雙輸入與門(mén),然后添加四個(gè)輸入端口和兩個(gè)輸出端口,分別命名為置位端IRs和復(fù)位端IRd,然后根據(jù)連接重命名在圖 3.9 中。這增加了 RS 觸發(fā)器的置位和復(fù)位端。并雙擊觸發(fā)器將觸發(fā)器類型更改為下降。四位雙向移位寄存器子系統(tǒng)的設(shè)計(jì)與封裝第一步:T4194電路設(shè)計(jì)T4194 有十個(gè)輸入端口和四個(gè)輸出端口。其中三個(gè)是控制信號(hào)(S0、S1、Rd)、一個(gè)時(shí)鐘信號(hào)(CLK)、兩個(gè)串行輸入端口(Leftin、Rightin)和四個(gè)強(qiáng)制輸入端口(D3 - D0)??刂贫藢?duì)T4194工作狀態(tài)的控制如表3.2所示。表 3.2 T4194 工作狀態(tài)路S1S0工作狀態(tài)0*清除100保持101向右移110左移11

33、1并行輸入該系統(tǒng)由 4 個(gè)下降沿觸發(fā)的 RS 觸發(fā)器組成。同時(shí)還需要很多其他的邏輯功能,最終實(shí)現(xiàn)了如圖3.10所示的T4194電路。圖 3.10 T4194 電路雙擊每個(gè)RS觸發(fā)器,依次將初始值設(shè)置為Q0、Q1、Q2、Q3。然后完成如圖3.10所示的電路連接,圈出電路,然后點(diǎn)擊“EDIT”菜單下的“Create Subsystem”命令生成一個(gè)子系統(tǒng)并命名為T(mén)4194,就可以生成T4194子系統(tǒng)的設(shè)計(jì)圖了。然后保存。第 2 步:封裝子系統(tǒng)首先點(diǎn)擊T4194子系統(tǒng),然后選擇“EDIT”菜單下的“ Mask Subsystem ”命令,但出現(xiàn)一個(gè)對(duì)話框:MASK EDITOR。如圖 3.11 所示

34、,設(shè)置該對(duì)話框。圖 3.11 Mask Editor 中的圖標(biāo)設(shè)置圖 3.12 Mask Editor 中的參數(shù)設(shè)置首先設(shè)置Icon頁(yè)面,左側(cè)Icon選項(xiàng)下有四欄,依次設(shè)置為Visible、Transparent、Fixed、Autoscale。在右側(cè)的繪圖命令中填寫(xiě)以下命令:disp( 雙向移位寄存器nn ) disp( T1194 )其中“n”是使用回車(chē)的命令。然后設(shè)置Parameters頁(yè)面,點(diǎn)擊ADD,新增內(nèi)容,在Prompt欄下填寫(xiě)“觸發(fā)器F0的初始狀態(tài)”,然后在Variable欄填寫(xiě)“Q0”。然后按照?qǐng)D片依次填寫(xiě)圖3.12所示的4個(gè)內(nèi)容,其他的不用改。最后,設(shè)置Documentat

35、ion頁(yè)面,在Mask Type項(xiàng)中填寫(xiě)T4194;在Mask描述下填寫(xiě)“該模塊是一個(gè)雙向移位寄存器(T4194) ,可以進(jìn)行雙向移位和串行輸入輸出。”在 Mask 幫助下填寫(xiě) 輸入以下內(nèi)容:dd用于清除所有輸出,低電平有效;當(dāng) S1S0=00 時(shí),所有輸出保持原始值;當(dāng)S1S0=01時(shí),處于數(shù)據(jù)右移狀態(tài),RIGHTIN右移;當(dāng)S1S0=10時(shí),處于數(shù)據(jù)移位狀態(tài),左移狀態(tài),LEFTIN左移;當(dāng)S1S0=11時(shí),處于數(shù)據(jù)并行輸出狀態(tài),D3D2D1D0并行輸出。最后一頁(yè)設(shè)置完成,如圖3.13所示。圖 3.13 Mask Editor 中的文檔設(shè)置然后點(diǎn)擊“確定”完成打包模塊。然后雙擊該模塊,顯示如

36、圖 3.14 所示的對(duì)話框。圖 3.14 打包模塊對(duì)話框單擊“幫助”可顯示幫助內(nèi)容。如圖 3.15 所示。圖 3.15 封裝后的模塊幫助窗口完成仿真電路并進(jìn)行仿真完成T4194模塊封裝后,我們搭建外圍電路,如圖3.16所示。添加6個(gè)脈沖源,一個(gè)時(shí)鐘源,然后添加一個(gè)示波器并更改為5個(gè)輸入。顯示 4 個(gè)輸出信號(hào)和時(shí)鐘波形。圖 3.16 雙向移位寄存器的頂層視圖各脈沖源的參數(shù)設(shè)置見(jiàn)表 3.3。表 3.3 T4194 脈沖參數(shù)設(shè)置D0D1D2D3留在就在振幅111111循環(huán)345253脈沖寬度131131相位延遲000000采樣時(shí)間0.30.30.60.60.150.4最后根據(jù)開(kāi)關(guān)的狀態(tài),分別確定T4

37、194的工作狀態(tài)。通過(guò)開(kāi)關(guān)將S1S0設(shè)置為11,然后點(diǎn)擊工具欄運(yùn)行開(kāi)始仿真??梢钥吹讲⒙?lián)輸出的波形,如圖3.17所示;設(shè)置為01,觀察波形右移,如圖3.18所示;設(shè)置為 10,觀察波形右移,如圖 3.19 所示。從波形中可以看出 T4194 實(shí)現(xiàn)的各種功能。圖 3.17 T4194 并聯(lián)輸出波形圖 3.18 T4194 串行右移輸出波形圖 3.19 T4194 串行左移輸出波形3.3 以扭環(huán)計(jì)數(shù)器為例,模擬如下波形設(shè)計(jì)扭環(huán)計(jì)數(shù)器部分電路和封裝扭環(huán)計(jì)數(shù)器部分的電路如圖 3.20 所示。圖 3.20 扭環(huán)計(jì)數(shù)器電路先運(yùn)行 Simulink,然后新建一個(gè)模型,添加一個(gè)子系統(tǒng),然后雙擊打開(kāi)模塊,在里面畫(huà)圖 3.20。參數(shù)設(shè)置如下。四個(gè)觸發(fā)器的初始值分別設(shè)置為 Q3、Q2、Q1 和 Q0。對(duì)應(yīng)的單位延時(shí)模塊也和它所連接的Q端一致。然后點(diǎn)擊頂層文件進(jìn)行封裝。只需按照前面的步驟。設(shè)置完成后,雙擊模塊,可以看到如圖3.21所示的內(nèi)容,設(shè)置其顯示值,設(shè)置為0100,輸入時(shí)輸入0,1,1,0。圖 3.21 扭環(huán)計(jì)數(shù)器封裝后的對(duì)話框然后在頂層文件的設(shè)計(jì)中,添加增益、加法器、仿真時(shí)間和平面圖塊。這內(nèi)容以十進(jìn)制查看輸出。然后添加時(shí)鐘源。參數(shù)設(shè)置,時(shí)鐘源周期外圍為1,平面模塊橫坐標(biāo)為-131,縱坐標(biāo)為-116。然后單擊參數(shù)命令并將模擬時(shí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論