簡易加減運算器的制作
一、功能要求—基本功能
1、自制0-9按鍵,在一個LED數碼管上穩定地顯示當前按下的值。(基本功能)
2、增加+、=兩個按鍵,實現0-9兩個一位數的加法運算,同時在兩位LED上穩定地顯示運算結果。(擴展功能1)
3、再增加一個-按鈕,實現0-9兩個一位數的減法運算,同時在兩位LED上穩定地顯示運算結果。(擴展功能2)
功能一實現
對于在LED數碼管上顯示數字最合適的就是74hc48。
74LS48是BCD至七段解碼器,用于顯示以二進制編碼的十進制格式解碼的數字。7 段是一種基于 7 個 LED 的小型設備,用于表示從 0 到 9 的單個數值。每個 7 段有七個輸入引腳,用于點亮七個段中的單個 LED。每次制作單個數字時,某些特定引腳應該有電源輸入。
74LS48解碼器簡介
為了實現特殊模式,可以使用邏輯門,但也可以使用IC 74LS48來控制 7 段。它有17個與門、4個或非門、6個非門和8個與非門。這些所有門的組合使 IC 具有 4 個輸入和 7 個輸出引腳。輸出引腳在單個輸出中生成兩個 BCD 數字,這在 7 段上形成一個數字。該IC有4個輸入引腳,總共有16種組合,但前10種組合用于產生7段輸出,其余的將被視為無效狀態。該 IC 是基于 TTL 的設備,因此可以由任何 TTL 設備或微控制器控制。它僅用于控制共陰極七段。
引腳配置
名稱 | 引腳 | |
---|---|---|
B | 引腳 1 | IC 74LS48有4個輸入引腳,引腳1代表IC 4位輸入數據的第三位。 |
C | 引腳 2 | 引腳2代表IC的4位輸入數據的第二位。 |
LT’ | 引腳 3 | 引腳 3 稱為燈測試引腳。它用于使所有輸出引腳為高電平以測試所有 7 段 LED。這是一個低電平有效引腳。 |
BI’/BRO’ | 引腳 4 | 引腳 4 將用作復位引腳。如果引腳 4 為低電平狀態,則不會有任何輸出。它是一個低電平有效引腳,它將使所有輸出狀態為低電平。 |
RBI’ | 引腳 5 | 引腳 5 稱為紋波消隱輸入引腳。它在多個 7 段的情況下使用來清除不必要的零。 |
D | 引腳 6 | 引腳6代表IC的4位輸入數據的MSB。 |
A | 引腳 7 | 引腳7代表IC的4位輸入數據的LSB。 |
GND | 引腳 8 | GND 引腳用作接地引腳。它用于使接地共用,以使 IC 能夠與其他 TTL 設備和微控制器一起工作。 |
e | 引腳 9 | 引腳 9 至引腳 15 將用作輸出引腳。他們將給出輸出信號來控制 7 段。引腳順序為 a、b、c、d、e、f 和 g。每個字母代表7段LED上的字母。 |
d | 引腳 10 | |
c | 引腳 11 | |
b | 引腳 12 | |
a | 引腳 13 | |
g | 引腳 14 | |
F | 引腳 15 | |
VCC | 引腳 16 | 引腳 16 用于向 IC 供電以使其正常工作。 |
工作原理
在 IC 74LS48 中,輸出取決于輸入。主要輸入引腳有四個,有助于在特定輸入數據上生成固定輸出狀態。在4位二進制數字中,十進制的0用0000表示,十進制的9用1001表示,并且從1到8的所有值也都有固定的4位二進制代碼。當IC上有0到9的輸入時,輸出值將根據共陰極7段。這是因為 IC 是為執行該功能而設計的。如果使用7段IC,我們需要根據給定的電路連接7段IC。
原理圖
左上方的四個數字輸入對應BDC碼
進一步完善
如需完整符合題目一的要求就需要有矩陣鍵盤轉BCD碼的數字電路。
結合給定得元件需要用到74HC147
74hc147是一個10線-4線優先編碼器。它通常用于將多個輸入信號(如開關或傳感器輸出)轉換成較少的輸出線,以便于處理。它能夠識別多個激活輸入中的最高優先級信號,并將其編碼為二進制形式的輸出。
最終設計的原理圖如下,此時全部符合題意。
二、擴展功能1
增加+、=兩個按鍵,實現0-9兩個一位數的加法運算,同時在兩位LED上穩定地顯示運算結果。(擴展功能1)
對于數字電路的加法運算和給定的元器件綜合分析,我們使用74hc283。
74hc283這是一個4位二進制加法器,用于執行兩個4位二進制數的加法運算。它包括進4位輸入和輸出,可以用于構建更大的加法器系統。
設計思路
- 根據進位信號和輸出信號的邏輯表達式(74HC283邏輯圖)以及真值表示例,結合行為級、數據流建模即可實現74HC283的四位二進制進位全加器的功能。
- 進位信號和輸出信號等邏輯表達式(74HC283邏輯圖)
- 74HC283的真值表示例
邏輯符號
- A 3 A 2 A 1 A 0 A_3A_2A_1A_0 A3?A2?A1?A0?:四位二進制加數。
- B 3 B 2 B 1 B 0 B_3B_2B_1B_0 B3?B2?B1?B0?:四位二進制加數。
- S 3 S 2 S 1 S 0 S_3S_2S_1S_0 S3?S2?S1?S0?:和數。
- C ? 1 C_{-1} C?1?:低位來的給 A 0 A_0 A0?的進位信號。
- C 0 C_0 C0?: A 3 B 3 A_3B_3 A3?B3?向高位的進位信號
此時只需要將第一問輸入的數字的BCD碼分別接入兩個AB進行加法運算,輸出的BCD碼繼續在共陰極數碼管上顯示即可。
原理圖
進一步完善
此時如需完整符合題意需要,需要再加入+號與=號兩個按鍵。
等于好相當于最后的開關,打開開關顯示減法的結果。原理圖如下:
?
二、擴展功能2
再增加一個-按鈕,實現0-9兩個一位數的減法運算,同時在兩位LED上穩定地顯示運算結果。(擴展功能2)
關于減法功能其與加法的電路實現思路幾乎一致,只是需要將被減數的BCD碼進行取反加一(即補碼)進行加法運算的結果就是減法運算。
思路圖如下
設計的最終原理圖如下:
最終完善
需要進一步進行+和-還有等于的操作,即為+和-進行選擇是否進行別減數的補碼操作,加法就是不進行,減法就是進行補碼操作,最總=號進行數碼管加減法的結果顯示。
最終原理圖如下: