基于Simulink的邏輯電路仿真-交通燈設(shè)計(jì)_第1頁(yè)
基于Simulink的邏輯電路仿真-交通燈設(shè)計(jì)_第2頁(yè)
基于Simulink的邏輯電路仿真-交通燈設(shè)計(jì)_第3頁(yè)
基于Simulink的邏輯電路仿真-交通燈設(shè)計(jì)_第4頁(yè)
基于Simulink的邏輯電路仿真-交通燈設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(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、Simulink邏輯電路仿真交通燈設(shè)計(jì)2014春季 Matlab系統(tǒng)仿真分析作業(yè) 完成日期 2014.04.29目錄設(shè)計(jì)說(shuō)明1設(shè)計(jì)思路1具體設(shè)計(jì)步驟2計(jì)數(shù)器的設(shè)計(jì)2計(jì)數(shù)器的仿真10交通燈電路設(shè)計(jì)。15交通燈仿真17設(shè)計(jì)說(shuō)明本文設(shè)計(jì)了一個(gè)簡(jiǎn)易的交通燈時(shí)序邏輯電路,該電路通過(guò)對(duì)輸入時(shí)鐘信號(hào)的分頻,控制紅黃綠三種交通燈的按順序亮滅并循環(huán),其中綠燈持續(xù)25s,黃燈持續(xù)5s,紅燈持續(xù)35s。主要用到的器件為jk觸發(fā)器,與門,與非門,或門,或非門。為了實(shí)現(xiàn)交通燈控制電路,首先設(shè)計(jì)并封裝了4位計(jì)數(shù)器,在此基礎(chǔ)上進(jìn)一步搭建邏輯電路,實(shí)現(xiàn)交通燈的控制,并分別對(duì)這些模塊進(jìn)行了仿真。設(shè)計(jì)思路主要的設(shè)計(jì)思路是利用jk

2、觸發(fā)器串聯(lián)的方式對(duì)輸入的時(shí)鐘進(jìn)行分頻,然后在相應(yīng)的時(shí)刻產(chǎn)生控制脈沖信號(hào),通過(guò)這個(gè)信號(hào)對(duì)信號(hào)燈的狀態(tài)進(jìn)行翻轉(zhuǎn)。Jk觸發(fā)器是一種邊沿敏感器件,有對(duì)上升沿和下降沿敏感的兩類,他們的符號(hào)如下:其真值表如下:在這個(gè)設(shè)計(jì)中,將jk觸發(fā)器的j和k端都置1,從而Q端在每個(gè)時(shí)鐘沿到來(lái)時(shí)進(jìn)行翻轉(zhuǎn),然后將上一級(jí)的Q作為下一級(jí)的clk,這樣達(dá)到對(duì)clk進(jìn)行分頻的目的。波形如下:具體設(shè)計(jì)步驟計(jì)數(shù)器的設(shè)計(jì)打開(kāi)matlab,這里使用的版本為R2014A.啟動(dòng)畫(huà)面如下:?jiǎn)?dòng)之后點(diǎn)擊這里啟動(dòng)simulink打開(kāi)之后界面如下:點(diǎn)擊File>New>Model打開(kāi)界面如下:下面的步驟為尋找仿真模型或原件,并擺放在上面的

3、untiled文檔中。首先將窗口切換到Simulink Library Browser窗口,展開(kāi)Simulink Extras>Flip Flops,左側(cè)就會(huì)出現(xiàn)常用的觸發(fā)器模型,其中就有jk觸發(fā)器,用鼠標(biāo)左鍵選中J-K Flip-Flop并拖到untiled文檔中一個(gè)jk觸發(fā)器可以對(duì)時(shí)鐘2分頻,2個(gè)串聯(lián)可以4分頻,這里6個(gè)才能滿足需求,但是為了便于擴(kuò)展應(yīng)用,這里將4個(gè)jk觸發(fā)器作為一組串聯(lián)起來(lái)。untiled文檔中已經(jīng)有一個(gè),鼠標(biāo)右鍵拖動(dòng)這個(gè)jk觸發(fā)器即可復(fù)制。調(diào)整四個(gè)jk觸發(fā)器的位置,如圖:該窗口左上角標(biāo)題右側(cè)的*表示該文檔有改動(dòng)并且未保存。該窗口中按下鼠標(biāo)滾輪鍵鼠標(biāo)會(huì)變成手狀,這時(shí)

4、可以拖動(dòng)整個(gè)視圖,滾動(dòng)鼠標(biāo)滾輪可以放大縮小視圖,左鍵選中模型按del鍵可以刪除模型。模型中端口上的箭頭表示信號(hào)流動(dòng)方向,連線的時(shí)候必須按照箭頭的方向進(jìn)行,不能使信號(hào)流動(dòng)方向和箭頭方向相反,否則仿真時(shí)可能會(huì)報(bào)錯(cuò)。連線時(shí)為了在一條線上引出分支,可以用鼠標(biāo)右鍵點(diǎn)擊分支處即可引出。兩個(gè)線相交的地方有黑點(diǎn)表示電氣相連,沒(méi)有黑點(diǎn)表示相交但不相連。在前面的分析中提到這里要將jk出發(fā)器的jk端置1,這需要常量和數(shù)據(jù)類型轉(zhuǎn)換模塊,因?yàn)樵趍atlab中大部分模型的輸出是數(shù)值型的,比如為float或者double型的,這樣如果輸出了1,它可能是double或者int類型的,而邏輯電路中的1是一種邏輯電平,這兩者的含

5、義是不同的,因此如果要給觸發(fā)器輸入1,需要將一個(gè)常量1轉(zhuǎn)換為邏輯1,這就是Data Type Conversion的作用,常量1的輸出通過(guò)Constant實(shí)現(xiàn),他們?cè)贑ommonly Used Blocks中,如圖,分別拖放兩個(gè)模型到untiled文檔中?,F(xiàn)在untitled文檔中的模型如下:雙擊Data Type Conversion1可以打開(kāi)它的屬性對(duì)話框,我們需要關(guān)心的是轉(zhuǎn)換的類型,這個(gè)可以通過(guò)Output data type后面的下拉框來(lái)設(shè)置,其中就有boolean這種類型。默認(rèn)為Inherit: Inherit via back propagation方式輸出,意思為從輸出端反向繼承

6、數(shù)據(jù)類型,也就是說(shuō)輸出端連接的端口需要什么類型就轉(zhuǎn)化為相應(yīng)的類型。這里需要改為boolean就可以實(shí)現(xiàn)給觸發(fā)器輸入高電平。調(diào)整他們的位置并按下面的樣子完成連線:然后按ctrl+s保存文檔,如下:下面對(duì)這個(gè)模塊進(jìn)行封裝,按下ctrl+A選中所有模型,再通過(guò)下面的方式進(jìn)行封裝(快捷鍵Ctrl+G)封裝之后變成這個(gè)樣子:雙擊進(jìn)入該模塊內(nèi)部,可以看見(jiàn)自動(dòng)為輸入和輸出添加了連接點(diǎn)并編號(hào),如下:上面這幅圖片中出現(xiàn)了很多double,這是由于Data Type Conversion輸出沒(méi)有改成boolean而又進(jìn)行了仿真造成的,如果不改也能仿真,但是數(shù)據(jù)類型不是邏輯電平,如果修改了就不會(huì)出現(xiàn)上面的那些字符。

7、這里面部分端口不使用,擺放位置也比較亂,可以選中之后進(jìn)行修改,修改之后如下:然后按下ctrl+s進(jìn)行保存,點(diǎn)擊下面的位置返回到頂層視圖此時(shí)封裝的模塊變成了下面的樣子:我們可以雙擊模塊下面的名稱來(lái)改變它,因?yàn)檫@個(gè)模塊可以進(jìn)行015的循環(huán)計(jì)數(shù),這里將名稱改成counter_16。如下:計(jì)數(shù)器的仿真現(xiàn)在一個(gè)4位計(jì)數(shù)器已經(jīng)實(shí)現(xiàn)了,下面做一個(gè)簡(jiǎn)單的仿真來(lái)檢測(cè)這個(gè)計(jì)數(shù)器是否能工作。切換到Simulink Library Browser窗口,在Simulink>Sinks中獲取示波器Scope,在Simulink Extras>FlipFlops中獲取時(shí)鐘模塊Clock,并將它們拖放到my_co

8、unter文檔中,如圖然后雙擊Scope打開(kāi)示波器,然后點(diǎn)擊菜單欄的齒輪圖標(biāo)打開(kāi)示波器屬性對(duì)話框,設(shè)置示波器的輸入通道為5,勾選Legends,這樣就能同時(shí)觀測(cè)5個(gè)信號(hào),并顯示信號(hào)名稱。點(diǎn)擊Apply,OK.此時(shí)示波器有了5個(gè)通道,示波器的符號(hào)也發(fā)生了變化,如圖: 但是此時(shí)示波器的符號(hào)有點(diǎn)小,以至于輸入端口出現(xiàn)交疊,這樣不便于連線,鼠標(biāo)放在該圖標(biāo)上是圖標(biāo)四周會(huì)出現(xiàn)四個(gè)小方塊,鼠標(biāo)移到某一個(gè)方塊上時(shí)可以調(diào)整圖標(biāo)大小,重新調(diào)整大小使其方便連線,如下: 然后雙擊Clock打開(kāi)時(shí)鐘屬性對(duì)話框,將時(shí)鐘的周期設(shè)置為1然后按照下面的方式完成連線。在下面的工具欄中設(shè)置仿真時(shí)間長(zhǎng)度,前面設(shè)置了時(shí)鐘周期為1,下面

9、設(shè)置仿真時(shí)間長(zhǎng)度為10,那么就會(huì)有10個(gè)完整的時(shí)鐘。點(diǎn)擊下圖左邊第一個(gè)帶齒輪的后退圖標(biāo)可以設(shè)置仿真時(shí)前進(jìn)和后退的相關(guān)參數(shù),點(diǎn)擊之后我們可以看見(jiàn)有是否允許后退,前進(jìn)按鈕按下時(shí)前進(jìn)幅度,暫停時(shí)刻等設(shè)置。綠色的運(yùn)行按鈕按下時(shí)會(huì)進(jìn)行指定時(shí)長(zhǎng)的仿真。前進(jìn)按鈕按下時(shí)會(huì)執(zhí)行指定步長(zhǎng)的仿真,此時(shí)前進(jìn)按鈕右邊的停止按鈕會(huì)被激活,只有按下該停止按鈕才能推出單步仿真模式?,F(xiàn)在將仿真時(shí)長(zhǎng)設(shè)置為40,然后按下綠色的運(yùn)行按鈕。仿真40個(gè)時(shí)間長(zhǎng)度后會(huì)自動(dòng)停止,然后雙擊示波器,如下圖:打開(kāi)時(shí)波形可能不是這樣的,需要一些調(diào)整,首先鼠標(biāo)放在任何一個(gè)通道上右鍵,選擇Autoscale,這樣波形將充滿整個(gè)屏幕,并根據(jù)屏幕大小調(diào)整。我

10、們可以發(fā)現(xiàn)各個(gè)通道縱軸坐標(biāo)范圍都是-5到5,而我們這里是對(duì)邏輯電路進(jìn)行仿真,電平值只有0和1兩個(gè),這里可以右鍵,選擇Axes properties,設(shè)置縱軸的范圍為0到2 然后可以拖拽右側(cè)的信號(hào)名稱到合適位置,調(diào)整好如下圖:由圖我們可以看到四個(gè)輸出端分別對(duì)時(shí)鐘進(jìn)行了2,4,8,16分頻,增加輸出端的狀態(tài)就能夠?qū)崿F(xiàn)計(jì)數(shù)功能。交通燈電路設(shè)計(jì)交通燈設(shè)計(jì)的關(guān)鍵思路就是根據(jù)不同時(shí)刻對(duì)不同的燈進(jìn)行開(kāi)關(guān)操作。這里為了簡(jiǎn)單沒(méi)有為計(jì)數(shù)器設(shè)計(jì)清零端,由于一個(gè)計(jì)數(shù)器只能計(jì)時(shí)16個(gè)時(shí)間單位,這里我們將兩個(gè)計(jì)數(shù)器串聯(lián)起來(lái),從而實(shí)現(xiàn)256個(gè)時(shí)間單位的計(jì)數(shù),但是紅綠燈的一次完整切換并不需要這么多時(shí)間,我們選擇低6位作為計(jì)數(shù)

11、端,6位能實(shí)現(xiàn)64個(gè)時(shí)間單位的計(jì)數(shù),我們將時(shí)間進(jìn)行一個(gè)劃分,綠燈持續(xù)25s,黃燈持續(xù)5s,紅燈持續(xù)35s,這樣就需要在25,30,63這三個(gè)時(shí)刻輸入控制信號(hào)。這里我們輸出一個(gè)脈沖信號(hào),然后利用這個(gè)脈沖信號(hào)對(duì)紅綠燈狀態(tài)進(jìn)行翻轉(zhuǎn)。25超過(guò)了一位計(jì)數(shù)器的計(jì)數(shù)范圍,它可以拆分為16+9,也就是低位計(jì)數(shù)器計(jì)數(shù)為9,高位計(jì)數(shù)器計(jì)數(shù)為1,這樣用二進(jìn)制表示就為0001_1001,而我們一共采用了低6位,所以對(duì)應(yīng)的計(jì)數(shù)器輸出狀態(tài)為01_1001,這樣我們將其中的3個(gè)1輸入到三輸入與門,3個(gè)0輸入到三輸入或非門,然后將它們的結(jié)果通過(guò)二輸入與門輸出。對(duì)于30,63時(shí)刻做同樣處理。在simulink中直接能得到與門模型,上面我們用到了或非門,以及3輸入與門等模型,這個(gè)需要對(duì)與門進(jìn)行設(shè)置,雙擊一個(gè)與門模型,彈出屬性對(duì)話框,在operator中可以選擇改門的類型,比如與門,與非門,反相器,或門等,下面的Number of input ports可以設(shè)置這個(gè)門的輸入數(shù)目。上面我們通過(guò)對(duì)計(jì)數(shù)器的輸出進(jìn)行邏輯組合得到3個(gè)脈沖信號(hào),然后我們需要使用這3個(gè)脈沖信號(hào)對(duì)交通燈狀態(tài)進(jìn)行翻轉(zhuǎn),設(shè)計(jì)思路是使用jk觸發(fā)器的取反功能,將脈沖信號(hào)作為時(shí)鐘信號(hào),并設(shè)置jk觸發(fā)器的初始值,jk觸發(fā)器的輸出作為交通燈的狀態(tài)控制信號(hào)。其中為了實(shí)現(xiàn)交通燈的輪流亮滅,需要將相關(guān)的信號(hào)加入jk

溫馨提示

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