實驗目的
重新改寫「Lab7 使用七段顯示器製作倒數功能」,以 74HC595 移位暫存器控制一顆七段顯示器,在七段顯示器上依序顯示從 9 到 0 的數字,製作數字倒數的效果。
註:本實驗假設你做過「Lab7 使用七段顯示器製作倒數功能」和「Lab11 使用 74HC595 和三支腳位控制 8 顆 LED」,已經知道七段顯示器的原理與單獨一顆 74HC595 的使用辦法。
七段顯示器與 74HC595 腳位圖表
七段顯示器腳位圖表如下(下圖為共陰極七段顯示器):
(圖片來源:.NET Micro Framework – More blinking LEDs)
0 到 9 這十個阿拉伯數字與各節段的對應表如下 (下表適用共陰極七顯示段器,如果使用的是共陽極,表格中所有的 1 都要換成 0, 所有的 0 都要換成 1):
顯示數字 | dp | a | b | c | d | e | f | g |
0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
2 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
3 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
4 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
5 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
6 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
7 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
8 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
9 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
74HC595 移位暫存器腳位圖表如下:
腳位編號 | 名稱 | 說明 |
1-7, 15 | Q0 ~ Q7 | 輸出腳位 |
8 | GND | 接地 |
7 | Q7’ | 序列輸出 (Serial Out) |
10 | MR | Master Reset, 清除所有資料, 低電位有效 (Active low) |
11 | SH_CP | SHift register clock pin (Clock Pin) |
12 | ST_CP | STorage register clock pin (Latch Pin) |
13 | OE | Output Enable, 允許輸出,低電位有效 (Active low) |
14 | DS | 序列資料輸入 (Serial data input) |
16 | Vcc | 供應電壓 |
材料
- 麵包板 x 1
- Arduino 主板 x 1
- 74HC595 x 1
- 七段顯示器 (共陽極或共陰極皆可) x 1
- 220 ohm 電阻 x 8
- 單心線 x N
接線
下表為 74HC595 與七段顯示器的腳位對應表:
74HC595 腳位 | 七段示顯器腳位 (筆劃) |
Q0 | 7 (A) |
Q1 | 6 (B) |
Q2 | 4 (C) |
Q3 | 2 (D) |
Q4 | 1 (E) |
Q5 | 9 (F) |
Q6 | 10 (G) |
Q7 | 5 (DP) |
步驟一:連接 74HC595
首先,接線連到電源與接地:
- Vcc (pin 16) 與 MR (pin 10) 接 5V
- GND (pin 8) 與 OE (pin 13) 接地
連接 DS, ST_CP 與 SH_CP 接腳:
- DS (pin 14) 接 Arduino pin 11 (下圖藍線)
- ST_CP (pin 12, latch pin) 接 Arduino pin 8 (下圖綠線)
- SH_CP (pin 11, clock pin) 接 Arduino pin 12 (下圖黃線)
步驟二:接上七段顯示器
- 將七段顯示器 3, 8 腳接到 GND (本例使用共陰極,若為共陽極請將 3, 8 腳接到 +5V)
- 根據上表將 74HC595 的 Q0 ~ Q7 接到七段顯示器對應的腳位 (A ~ G 與 DP),並在每支接腳上串接一顆 220 ohm 電阻
電路圖
程式碼
底下這支程式 (SevenSeg_74HC595.pde) 是「Lab7 使用七段顯示器製作倒數功能」的程式改版。原先控制一顆七段顯示器,需要用到 Arduino 八支接腳,現在只需要 Arduino 三支接腳加上一顆 74HC595 便可以控制一顆七段顯示器。
0 意見:
張貼留言