組合邏輯電路仿真8-3編碼器

3位二進制編碼器,8/3線二進制編碼器,其輸入端有8個,輸出端有3個。

真值表如下圖所示:

X0

X1

X2

X3

X4

X5

X6

X7

Z0

Z1

Z2

1

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

0

1

1

0

0

0

0

0

1

0

0

0

0

0

1

0

0

0

0

0

1

0

0

1

0

1

0

0

0

0

0

0

1

0

0

1

1

0

0

0

0

0

0

0

1

1

1

1

根據真值表可以直接寫出邏輯表達式:


根據以上分析結果,可知需要選用以下模塊:

*Pulse Generator(脈衝序列發生器)模塊:

位於Simulink節點下的Source庫中,用於產生所需的原始脈衝脈衝序列。複製8個PulseGenerator模塊進入sy03.mdl文件中,將它們分別命名爲。分別雙擊各個模塊,對其參數進行調整。

在PulseGenerator打開的的參數對話框界面中進行相應的設置,在Pulse type選項中有Time based(默認選項)和Sample based兩項。

如果選中Timebased項,模塊按照時間參數輸出脈衝序列;如果選中Sample based項,模塊將根據設定的採樣頻率及其他相關參數輸出序列。在此選擇Sample based項。

對“BlockParameters”對話框進行設置:

“Amplitude”文本框:用於設定調整脈衝輸出幅度,本例中設置爲1即可。

“Period(numberof samples)”文本框:用於設定按照採樣時間長度確定產生的脈衝序列週期,本例中設置爲8。

“Pulse width(numberof samples)”文本框:用於設定按照採樣時間長度確定產生的脈衝序列週期,本例中設置爲1。

“Phase delay (number of samples)”文本框:用於設定每一個脈衝持續的時間長短(即電平爲1的時間,以採樣時間爲單位),本例中X0~X7依次設置爲0~7。

“Sample time’文本框:該文本框用於確定採樣時間,單位是s(秒),本例中設置爲1。

*Logical Operator(邏輯操作)模塊

位於Simulink節點下的Logic and Bit Operator模塊庫中,用於實現邏輯表達式的運算

Logical Operator模塊參數調整

* Scope(示波器)模塊

位於Simulink節點下的Sinks模塊庫中,本例用到2個示波器。

設置示波器參數後單擊Scope模塊,可以看到Z2,Z1,Z0的輸出波形,以及X0-X7的輸入波形。

Simulink建模如下:


X0至X7產生的信號波形如下:


編碼器輸出波形圖如下:


觀察上圖(從上往下依次爲Z1、Z0、Z2)可以發現輸出波形圖爲000、001、010、…111,這確實是十進制0-7的二進制編碼,因而該模型符合實現8-3編碼器功能的要求。

下面總結一下利用simulink搭建組合邏輯電路模型步驟:

在設計組合電路時,首先需要明確輸入與輸出之間的關係,然後根據該關係寫出真值表,緊接着根據真值表得出輸入輸出間的邏輯表達式,最後根據該邏輯表達式建立模型。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章