More Related Content
More from Chen-Hung Hu (12)
漫談七段顯示器
- 2. 既然給定七段顯示器每一節 LED 代號,若將字型與代號連結起來,列表如
下:
數字 a b c d e f g
0 亮 亮 亮 亮 亮 亮 暗
1 暗 亮 亮 暗 暗 暗 暗
2 亮 亮 暗 亮 亮 暗 亮
3 亮 亮 亮 亮 暗 暗 亮
4 暗 亮 亮 暗 暗 亮 亮
5 亮 暗 亮 亮 暗 亮 亮
6 亮 暗 亮 亮 亮 亮 亮
7 亮 亮 亮 暗 暗 暗 暗
8 亮 亮 亮 亮 亮 亮 亮
9 亮 亮 亮 亮 暗 亮 亮
一顆 LED(Light-Emitting Diode,發光二極體)有兩端,分別稱為陽極(A,
Anode)與陰極(K,Cathode)(陽極亦為正極(Positive),陰極亦為負極(Negative))。
如此一來八顆 LED 就有十六支接腳,一組一組分別連接在使用上有些不便,且
常用的接線方式多將單一端連在一起,形成共接腳。若是將陽極連接在一起,則
稱為共陽型;若是將陰極連接在一起,則稱為共陰型。電路如下圖所示。
- 3. 既然接線方式不同,驅動 LED(控制 LED 發光)的方法亦不同,我們知道當
有電流通過 LED 的 PN 接面時,能量會以光(及少部分熱)的方式釋放;且 PN 接
面具有單向整流特性,也就是說只有陽極接高電位,陰極接低電位(稱為順向偏
壓)時,才有電流流過 LED。因此當陽極共接時,共接點須接上高電位;當陰極
共接時,共接點須接上低電位。註 2 電路如下圖所示。
以共陽七段顯示器而言,共接點(COM,陽極)已接上正電源,若將另一端(陰
極)接上低電位則有電流流經 LED 進而發光;以共陰七段顯示器而言,共接點
(COM,陰極)已接低電位,若將另一端(陽極)接上高電位則有電流流經 LED 進而
發光。為了避免 LED 因電流過大導致燒毀,在電路上加入限流電阻用以限制電
流流量。另外,若 LED 兩端同電位,則沒有電流流過,故不會發光。靜態顯示
數字 0(不含小數點)的電路如下圖所示。
有許多不同的電位可以驅動 LED,以上電路圖中僅簡單舉例,將「高電位」
設定為 Vcc,「低電位」設定為接地。除了 0 以外,只要改變電位即可顯示其他
阿拉伯數字。下表列出共陽七段顯示器顯示不同數字所對應的陰極電位。
- 4. 數字 a b c d e f g
0 低電位 低電位 低電位 低電位 低電位 低電位 高電位
1 高電位 低電位 低電位 高電位 高電位 高電位 高電位
2 低電位 低電位 高電位 低電位 低電位 高電位 低電位
3 低電位 低電位 低電位 低電位 高電位 高電位 低電位
4 高電位 低電位 低電位 高電位 高電位 低電位 低電位
5 低電位 高電位 低電位 低電位 高電位 低電位 低電位
6 低電位 高電位 低電位 低電位 低電位 低電位 低電位
7 低電位 低電位 低電位 高電位 高電位 高電位 高電位
8 低電位 低電位 低電位 低電位 低電位 低電位 低電位
9 低電位 低電位 低電位 低電位 高電位 低電位 低電位
下表列出共陰七段顯示器顯示不同數字所對應的陽極電位(其實恰與上表電位反
相)。
數字 a b c d e f g
0 高電位 高電位 高電位 高電位 高電位 高電位 低電位
1 低電位 高電位 高電位 低電位 低電位 低電位 低電位
2 高電位 高電位 低電位 高電位 高電位 低電位 高電位
3 高電位 高電位 高電位 高電位 低電位 低電位 高電位
4 低電位 高電位 高電位 低電位 低電位 高電位 高電位
5 高電位 低電位 高電位 高電位 低電位 高電位 高電位
6 高電位 低電位 高電位 高電位 高電位 高電位 高電位
7 高電位 高電位 高電位 低電位 低電位 低電位 低電位
8 高電位 高電位 高電位 高電位 高電位 高電位 高電位
9 高電位 高電位 高電位 高電位 低電位 高電位 高電位
若將高電位視為邏輯 1,低電位視為邏輯 0(正邏輯);依序列出共陽七段顯示器
顯示不同數字之真值表如下:
數字 a b c d e f g
0 0 0 0 0 0 0 1
1 1 0 0 1 1 1 1
2 0 0 1 0 0 1 0
3 0 0 0 0 1 1 0
4 1 0 0 1 1 0 0
5 0 1 0 0 1 0 0
6 0 1 0 0 0 0 0
7 0 0 0 1 1 1 1
8 0 0 0 0 0 0 0
9 0 0 0 0 1 0 0
- 5. 依序列出共陰七段顯示器顯示不同數字之真值表如下:
數字 a b c d e f g
0 1 1 1 1 1 1 0
1 0 1 1 0 0 0 0
2 1 1 0 1 1 0 1
3 1 1 1 1 0 0 1
4 0 1 1 0 0 1 1
5 1 0 1 1 0 1 1
6 1 0 1 1 1 1 1
7 1 1 1 0 0 0 0
8 1 1 1 1 1 1 1
9 1 1 1 1 0 1 1
當有了真值表,便可以實作七段顯示器驅動的電路了!市面上有專門用來讓
七段顯示器顯示數值的積體電路,就是以上面的真值表為基礎進行設計。以 7447
為例,功能簡介為 BCD to 7-Segment Decoder/Driver,輸入 BCD 碼數字,再按照
共陽七段顯示器真值表解碼,下圖取自 74LS47 datasheet,描述該 IC 的輸入輸出
狀態(圖中高電位以 H 表示,低電位以 L 表示)。
在真值表中,可以看到除了解碼之外,還有 LT(Lamp Test,燈泡測試,用以
測試七段顯示器功能是否正常)、RBI 與 RBO(Ripple Blanking Input/Output,漣波
遮沒輸入/輸出,在多位數顯示時用以消除多餘的 0)。在談多位數顯示前,先來
看看單一位數的解碼、顯示電路,電路圖如下。
- 6. 在電路圖中,DM74LS47 之 BCD 碼輸入為 A0~A3(A0 為 LSB,A3 為 MSB),
輸出為 a~f,經過限流電阻後連接七段顯示器,在此設定電源 Vcc 為 5V,若七
段顯示器每顆 LED 的障壁電位為 1.2V,限流電阻設定為 330Ω,在 IC 輸出特性
理想(輸出阻抗很小)時,通過 LED 之電流約 11.5mA。(實際上參考資料手冊,7447
的沉入電流(Sink Current)約數十 mA,已能使 LED 正常發光。)
說明一下 LT-Lamp Test,燈泡測試功能。當電路製作完成時,為了測試七
段顯示器的各顆 LED 是否能夠正常發光顯示,最直接的方法就是使 LED 全亮,
以共陽七段顯示器為例,全亮即每支陰極接腳皆接上低電位,從真值表可以發現:
當 IC 的 LT 接腳輸入低準位(執行 Lamp Test)時,輸出 a~f 全為低準位。在 IC 正
常運作下,若有 LED 沒有發光,則此七段顯示器故障。
7447 IC 用於驅動共陽七段顯示器,有沒有 IC 用來驅動共陰七段顯示器呢?
當然有,7447 下一個編號 7448 就是,看看真值表:
- 7. 功能大致與 7447 相同,差別在於輸出 a~f 的高、低電位互換;電路連接如
下圖。
但因 74LS48 的輸出能力限制(以 SN74LS48 為例,輸出高電位內部為 2kΩ
提升電阻,額定輸出電流 IOH 約 400uA),可能使 LED 亮度不足;在輸出端連接
一緩衝器(buffer),電路圖如下。
- 8. 在電路中加入一顆 DM74AS573 作為緩衝器(74573 還有栓鎖的功能,但在此
僅用於驅動 LED),參考 74AS573 資料手冊,該 IC 的輸出高準位電流 IOH(HIGH
Level Output Current)最大為 15mA,低準位電流 IOL(LOW Level Output Current)
最大為 48mA。
事實上,有許多邏輯 IC 皆用於 BCD 碼至七段顯示器的轉換,整理如下:
※驅動共陽七段顯示器的解碼 IC:
TTL-7446、7447、74246、74247
※驅動共陰七段顯示器的解碼 IC:
TTL-7448、7449、74248
CMOS-4511
七段顯示器分為共陽與共陰,能否將控制電路整合,藉由一控制開關切換共
陽模式或共陰模式呢?當然可以,結合一組 7447、一組 7448 後,藉著兩顆具備
三態輸出功能的 74573 做成資料選擇器切換,電路圖如下。
一定要這麼麻煩嗎?感覺電路有點複雜耶!其實觀察真值表早就得知,共陽
與共陰的資料差別在於高、低準位互換,以這個特性設計切換方式的電路如下:
- 9. 在談多位數顯示之前,再介紹一個主題:LED 的亮度調節。
LED 的亮度調節有兩大因子:電壓高低與限流電阻大小。如果希望能夠動
態改變七段顯示器的亮度,以下有些方法提供參考:
※改變電壓高低:
●PWM(Pulse Width Modulation,脈衝寬度調變):
使用脈衝寬度調變技術(可參考維基百科)可調整 LED 亮度,當方波的工作
週期(Duty Cycle)不同,單位時間內 LED 發光的期間長短亦不同;工作週期愈
大,發光期間越長,在視覺上亮度愈亮,反之愈暗。
●DAC(Digital to Analog Converter,數位類比轉換器):
使用數位控制七段顯示器電源高低,電源愈高,流經 LED 電流愈大,亮
度愈高;反之愈低。
※改變電阻大小:
透過數位電阻器(Digital Potentiometer)設定限流電阻大小,在 Vcc 固定的情況
下,電阻值愈大,通過 LED 的電流愈小,亮度愈低;反之愈高。
最後,因本文篇幅頗長,關於多位數七段顯示器的部分在下一篇文章討論
吧。
註 1:
其實七段顯示器不僅可以顯示阿拉伯數字 0~9,在十六進制數字系統中,每一位
數可能的值為 0~f,只要在編碼時將字母 a、b、c、d、e、f 列入真值表(如下),
電路運作時顯示值可為 0~f;只是在一般情形下,只需顯示 0~9 即可,考量製造
成本下市面上現有 IC 多未設計 a~f 的顯示。
數字 a b c d e f g
0 亮 亮 亮 亮 亮 亮 暗
1 暗 亮 亮 暗 暗 暗 暗
2 亮 亮 暗 亮 亮 暗 亮
3 亮 亮 亮 亮 暗 暗 亮
4 暗 亮 亮 暗 暗 亮 亮
5 亮 暗 亮 亮 暗 亮 亮
6 亮 暗 亮 亮 亮 亮 亮
7 亮 亮 亮 暗 暗 暗 暗
8 亮 亮 亮 亮 亮 亮 亮
9 亮 亮 亮 亮 暗 亮 亮
A 亮 亮 亮 暗 亮 亮 亮
B 暗 暗 亮 亮 亮 亮 亮
- 10. C 亮 暗 暗 亮 亮 亮 暗
D 暗 亮 亮 亮 亮 暗 亮
E 亮 暗 暗 亮 亮 亮 亮
F 亮 暗 暗 暗 亮 亮 亮
註 2:
根據半導體物理特性,欲使電流通過 LED 有兩項條件:第一:外加電源為順向
偏壓,即陽極接上高電位,陰極接上低電位;第二:高低電位差需大於 LED 本
身障壁電位,舉例來說:若 LED 障壁電位為 1.2V,外加高低電位差需大於 1.2V,
才有電流流經 LED。
參考資料:
1. 關於七段顯示器的字體-Yahoo 奇摩知識+:
https://tw.knowledge.yahoo.com/question/question?qid=1206041208864
2. 電腦七段顯示器字型:
http://www.webpagepublicity.com/free-fonts-d2.html
3. 74LS47 datasheet:
http://pdf.datasheetcatalog.com/datasheets/70/375646_DS.pdf
4. DM74AS573 datasheet:
http://pdf.datasheetcatalog.com/datasheet/fairchild/DM74AS573.pdf
5. 維基百科-脈衝寬度調變:
https://zh.wikipedia.org/wiki/%E8%84%88%E8%A1%9D%E5%AF%AC%E5%B
A%A6%E8%AA%BF%E8%AE%8A
6. ANALOG DEVICES INC. Potentiometers:
http://www.mouser.tw/catalog/English/103/APAC/283.pdf