MAX6954是一個通用顯示驅(qū)動器,能夠通過一個串口控制多個分立、7段、14段或16段LED顯示器。本篇應(yīng)用筆記介紹驅(qū)動8位單色、7段LED顯示器的典型應(yīng)用與配置。
有關(guān)MAX6954的詳細(xì)信息請參考MAX6954的數(shù)據(jù)資料。
應(yīng)用筆記"快速入門:使用MAX6954驅(qū)動16段LED顯示器" 和"快速入門:使用MAX6954驅(qū)動14段LED顯示器" 與本文類似,分別介紹了如何配置MAX6954驅(qū)動16段和14段顯示器。
放大顯示
圖1. MAX6954驅(qū)動7段顯示器電路
MAX6954的一個常見應(yīng)用是驅(qū)動多達(dá)16位的7段單色LED。本篇應(yīng)用筆記指導(dǎo)用戶如何連接MAX6954與7段顯示器,以及如何配置其內(nèi)部寄存器控制顯示十六進(jìn)制字符。
MAX6954使用一種交替改變驅(qū)動器端口極性的復(fù)用技術(shù)來減少引腳數(shù)目。這與驅(qū)動器陰極和陽極引腳單獨(dú)使用的標(biāo)準(zhǔn)LED復(fù)用連接方式不同。應(yīng)用筆記 "Charlieplexing - Reduced Pin-Count LED Display Multiplexing" 對這一技術(shù)進(jìn)行了討論。表1為MAX6954與7段顯示器的連線表,此表兼容于MAX6954的復(fù)用配置及其十六進(jìn)制字符的內(nèi)置字模。表1中的字母對應(yīng)于圖2中的段標(biāo)識。圖1為MAX6954驅(qū)動十六位7段顯示器的電路示意圖。
表1.與16位7段顯示器連線表
Digit | O0 | O1 | O2 | O3 | O4 | O5 | O6 | O7 | O8 | O9 | O10 | O11 | O12 | O13 | O14 | O15 | O16 | O17 | O18 |
0, 0a |
CC0 | -- | 1a | -- | 1b | 1c | 1d | 1dp | 1e | 1f | 1g | 2a | 2b | 2c | 2d | 2e | 2f | 2g | 2dp |
1, 1a |
-- | CC1 | 1a | -- | 1b | 1c | 1d | 1dp | 1e | 1f | 1g | 2a | 2b | 2c | 2d | 2e | 2f | 2g | 2dp |
2, 2a |
1a | -- | CC2 | -- | 1b | 1c | 1d | 1dp | 1e | 1f | 1g | 2a | 2b | 2c | 2d | 2e | 2f | 2g | 2dp |
3, 3a |
1a | -- | -- | CC3 | 1b | 1c | 1d | 1dp | 1e | 1f | 1g | 2a | 2b | 2c | 2d | 2e | 2f | 2g | 2dp |
4, 4a |
1a | -- | 1b | 1c | CC4 | -- | 1d | 1dp | 1e | 1f | 1g | 2a | 2b | 2c | 2d | 2e | 2f | 2g | 2dp |
5, 5a |
1a | -- | 1b | 1c | -- | CC5 | 1d | 1dp | 1e | 1f | 1g | 2a | 2b | 2c | 2d | 2e | 2f | 2g | 2dp |
6, 6a |
1a | -- | 1b | 1c | 1d | 1dp | CC6 | -- | 1e | 1f | 1g | 2a | 2b | 2c | 2d | 2e | 2f | 2g | 2dp |
7, 7a |
1a | -- | 1b | 1c | 1d | 1dp | -- | CC7 | 1e | 1f | 1g | 2a | 2b | 2c | 2d | 2e | 2f | 2g | 2dp |
完成MAX6954與7段顯示器連線后,可利用顯示測試模式檢查連線正確性。顯示測試模式不受控制和數(shù)據(jù)寄存器影響,點(diǎn)亮顯示器所有的段,但不改變?nèi)魏渭拇嫫鲀?nèi)容。向寄存器0x07寫入0x01啟動顯示測試模式。測試模式下顯示器如果有不亮的段則說明連線有誤。向寄存器0x07寫入0x00退出顯示測試模式。
圖2. 7段顯示器的段標(biāo)識
完成連線檢查后,需要按驅(qū)動7段顯示器的要求設(shè)置MAX6954寄存器值。表2包括MAX6954一些重要寄存器的上電初始值。MAX6954初次上電時處于關(guān)斷模式,各位顯示消隱,選擇7段字模并將掃描位數(shù)設(shè)為最大,即八位。通過向寄存器0x0C寫入0xFF可將MAX6954設(shè)置成驅(qū)動7段顯示器的模式。譯碼模式寄存器(0x01)的默認(rèn)值適用于7段顯示器。
表2.MAX6954寄存器上電初始狀態(tài)
REGISTER | POWER-UP CONDITION | ADDRESS (HEX) |
REGISTER DATA | |||||||
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||
Decode Mode | 7-segment font enabled | 0x01 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Global Intensity | 1/16 (minimum intensity) | 0x02 | X | X | X | X | 0 | 0 | 0 | 0 |
Scan Limit | Display sixteen 7-segment digits: 0, 1, 2, 3, 4, 5, 6, 7, 0a, 1a, 2a, 3a, 4a, 5a, 6a, 7a | 0x03 | X | X | X | X | X | 1 | 1 | 1 |
Control Register | Shutdown enabled, blink disabled, blink speed is slow | 0x04 | 0 | 0 | X | X | 0 | 0 | 0 | 0 |
Display Test | Normal operation (display test disabled) | 0x07 | X | X | X | X | X | X | X | 0 |
Digit Type | Digits 0 through 7 are 7 segment digits | 0x0C | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Intensity10 | 1/16 (min on), digits 1 and 0 | 0x10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Intensity32 | 1/16 (min on), digits 3 and 2 | 0x11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Intensity54 | 1/16 (min on), digits 5 and 4 | 0x12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Intensity76 | 1/16 (min on), digits 7 and 6 | 0x13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Intensity10a | 1/16 (min on), digits 1a and 0a | 0x14 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Intensity32a | 1/16 (min on), digits 3a and 2a | 0x15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Intensity54a | 1/16 (min on), digits 5a and 4a | 0x16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Intensity76a | 1/16 (min on), digits 7a and 6a | 0x17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Digit 0 | Blank digit, both planes | 0x60 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 1 | Blank digit, both planes | 0x61 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 2 | Blank digit, both planes | 0x62 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 3 | Blank digit, both planes | 0x63 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 4 | Blank digit, both planes | 0x64 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 5 | Blank digit, both planes | 0x65 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 6 | Blank digit, both planes | 0x66 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 7 | Blank digit, both planes | 0x67 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 0a | Blank digit, both planes | 0x68 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 1a | Blank digit, both planes | 0x69 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 2a | Blank digit, both planes | 0x6A | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 3a | Blank digit, both planes | 0x6B | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 4a | Blank digit, both planes | 0x6C | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 5a | Blank digit, both planes | 0x6D | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 6a | Blank digit, both planes | 0x6E | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Digit 7a | Blank digit, both planes | 0x6F | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
配置寄存器(0x04)用來設(shè)置進(jìn)入和退出關(guān)斷模式,控制閃爍功能,全局清除各位數(shù)據(jù),以及選擇對各位亮度進(jìn)行全局還是單獨(dú)控制。配置寄存器包含7位(見表3)。
- S 位用來選擇關(guān)斷模式還是正常工作模式(讀/寫)。
- B 位用來選擇閃爍速率(讀/寫)。
- E 位用來全局啟動或禁止閃爍功能(讀/寫)。
- T 位用來復(fù)位閃爍時序(此數(shù)據(jù)不被存儲―瞬態(tài)位)。
- R 位用來全局清除所有顯示位對應(yīng)的P0和P1兩級寄存器(此數(shù)據(jù)不被存儲―瞬態(tài)位)。
- I 位用來選擇對各位亮度進(jìn)行全局還是單獨(dú)控制(讀/寫)。
- P 位用來返回當(dāng)前閃爍時序相位(只讀―向此位寫入值將被忽略)。
CONFIGURATION REGISTER DATA BIT |
DATA BIT LABEL | STATE | FUNCTION |
D7 | P | 0 | P1 Blink Phase |
D6 | I | 0 | Intensity for all digits is controlled by one setting in the Global Intensity Register |
1 | Intensity for digits is controlled by the individual settings in the Intensity10 through Intensity76a registers. | ||
D5 | R | 0 | Digit data for both planes P0 and P1 are unaffected |
1 | Digit data for both planes P0 and P1 are cleared on the rising edge of active-low CS | ||
D4 | T | 0 | Blink timing counters are unaffected. |
1 | Blink timing counters are reset on the rising edge of active-low CS. | ||
D3 | E | 0 | Blink function disabled |
1 | Blink function enabled | ||
D2 | B | 0 | Slow Blinking. Segments blink on for 1s, off for 1s with fOSC = 4MHz. |
1 | Fast Blinking. Segments blink on for 0.5s, off for 0.5s with fOSC = 4MHz. | ||
D1 | X | X | Don't care |
D0 | S | 0 | Shutdown |
1 | Normal Operation |
通過向寄存器0x04寫入0x01啟動顯示器驅(qū)動器,同時將工作方式設(shè)置為全局亮度控制、禁止閃爍。內(nèi)部振蕩器在MAX6954退出關(guān)斷模式時啟動,振蕩器輸出引腳為OSC_OUT。注意,數(shù)據(jù)控制寄存器0x60至0x67上電狀態(tài)為0x20或沒有段被點(diǎn)亮?xí)r,7段顯示器保持顯示消隱(見表2和圖3)。
圖3. 7段顯示器字模
MAX6954內(nèi)置了用于7段顯示器的十六進(jìn)制字模,用7位表示十六進(jìn)制字符,第8位用于選擇是否點(diǎn)亮小數(shù)點(diǎn)(DP)(見表4)。數(shù)據(jù)寄存器有兩級,P0和P1。每個顯示位用存儲器中的2字節(jié)表示,一個字節(jié)位于P0,另一個位于P1(見表7)。數(shù)據(jù)寄存器為映射地址方式,所以每位數(shù)據(jù)可在P0(寄存器0x20至0x2F)中更新,也可在P1(寄存器0x20至0x4 F)中更新,還可以兩級同時更新(寄存器0x60至0x67)。數(shù)據(jù)寄存器中的數(shù)據(jù)并不直接控制7段顯示器中各段的顯示。而是被用來尋址存儲7段字模數(shù)據(jù)的字符發(fā)生器(見圖3)。寄存器數(shù)據(jù)低7位(D6至D0)用來從字模中選擇字符。最高位(D7)控制小數(shù)點(diǎn)(DP)顯示;置為1則顯示DP,置為0則不顯示DP。
表4. 數(shù)字類型數(shù)據(jù)寄存器格式
MODE | ADDRESS CODE (HEX) | REGISTER DATA | ||||||||
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||
7-segment mode, writing digit data to use font map data with decimal place unlit | 0x20 to 0x2F 0x40 to 0x4F 0x60 to 0x6F |
0 | Bits D6 to D0 select font character | |||||||
7-segment mode, writing digit data to use font map data with decimal place lit | 0x20 to 0x2F 0x40 to 0x4F 0x60 to 0x6F | 1 | Bits D6 to D0 select font character |
如果閃爍功能被配置寄存器閃爍使能位E(見表3)禁止,則P0中數(shù)據(jù)寄存器的數(shù)據(jù)被用作顯示器復(fù)用。而P1中數(shù)據(jù)寄存器的數(shù)據(jù)不被使用。如果閃爍功能被啟用,則交替使用P0和P1中的數(shù)據(jù)復(fù)用顯示器。P0和P1中的數(shù)據(jù)分別應(yīng)用于閃爍時鐘交替變化的不同相位,從而復(fù)用LED顯示器實(shí)現(xiàn)閃爍功能。
下面是一個利用MAX6954驅(qū)動顯示Maxim/Dallas銷售部電話:1 800 629 4642的實(shí)例。設(shè)置配置寄存器禁止閃爍功能,這樣就可以通過向寄存器0x20至0x2F寫入數(shù)據(jù)來分別控制數(shù)據(jù)位0至7。使用圖3中的字模圖得到每個字符對應(yīng)的代碼。
表 5. 電話 800.629.4642 范例
REGISTER ADDRESS (HEX) | DIGIT | CHARACTER | FONT MAP EQUIVALENT CODE | |
DECIMAL | HEX | |||
0x20 | 0 | C | 0000 1100 | 0x0C |
0x28 | 0a | A | 0000 1001 | 0x0A |
0x21 | 1 | 1 | 0000 0001 | 0x01 |
0x29 | 1a | 1 | 0000 0001 | 0x01 |
0x23 | 3 | 8 | 0000 1000 | 0x08 |
0x2B | 3a | 0 | 0000 0000 | 0x00 |
0x24 | 4 | 0 | 1000 0000 | 0x80 |
0x2C | 4a | 6 | 0000 0110 | 0x06 |
0x25 | 5 | 2 | 0000 0010 | 0x02 |
0x2D | 5a | 9 | 1000 1001 | 0x89 |
0x26 | 6 | 4 | 0000 0100 | 0x04 |
0x2E | 6a | 6 | 0000 0110 | 0x06 |
0x27 | 7 | 4 | 0000 0100 | 0x04 |
0x2F | 7a | 2 | 0000 0010 | 0x02 |
通過向寄存器0x02(全局亮度控制寄存器)寫入數(shù)據(jù)來調(diào)節(jié)顯示亮度,亮度可在0x00(最小亮度,1/16的電流)和0xFF(最大亮度,15/16的電流)之間調(diào)節(jié)。也可以對每一位的亮度進(jìn)行單獨(dú)控制。關(guān)于顯示亮度調(diào)節(jié)和其它先進(jìn)特性(如GPIO和按鍵掃描)的詳細(xì)信息請參考MAX6954的數(shù)據(jù)資料。
表 6. 例程命令集
REGISTER (HEX) |
COMMAND (HEX) |
FUNCTION |
0x07 | 0x01 | Enter display test mode |
0x07 | 0x00 | Exit display test mode |
0x04 | 0x01 | Exit shutdown mode, disable blinking and select global intensity control |
0x20 | 0x0C | Write "C" to digit 0 |
0x28 | 0x0A | Write "A" to digit 0a |
0x21 | 0x01 | Write "1" to digit 1 |
0x29 | 0x01 | Write "1" to digit 1a |
0x23 | 0x08 | Write "8" to digit 3 |
0x2B | 0x00 | Write "0" to digit 3a |
0x24 | 0x80 | Write "0." to digit 4 |
0x2C | 0x06 | Write "6" to digit 4a |
0x25 | 0x02 | Write "2" to digit 5 |
0x2D | 0x89 | Write "9." to digit 5a |
0x26 | 0x04 | Write "4" to digit 6 |
0x2E | 0x06 | Write "6" to digit 6a |
0x27 | 0x04 | Write "4" to digit 7 |
0x2F | 0x02 | Write "2" to digit 7a |
0x02 | 0xFF | Set global intensity to full-scale |
表 7. MAX6954/MAX6955的部分寄存器地址圖
REGISTER | ADDRESS (COMMAND BYTE) | ADDRESS (HEX CODE) | |||||||
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | ||
Decode Mode | R/active-low W | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0x01 |
Global Intensity | R/active-low W | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0x02 |
Scan Limit | R/active-low W | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0x03 |
Configuration | R/active-low W | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0x04 |
Display Test | R/active-low W | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0x07 |
Digit Type | R/active-low W | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0x0C |
Intensity 10 | R/active-low W | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0x10 |
Intensity 32 | R/active-low W | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0x11 |
Intensity 54 | R/active-low W | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0x12 |
Intensity 76 | R/active-low W | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0x13 |
Intensity 10a | R/active-low W | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0x14 |
Intensity 32a | R/active-low W | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0x15 |
Intensity 54a | R/active-low W | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0x16 |
Intensity 76a | R/active-low W | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0x17 |
Digit 0 Plane P0 | R/active-low W | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0x20 |
Digit 1 Plane P0 | R/active-low W | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0x21 |
Digit 2 Plane P0 | R/active-low W | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0x22 |
Digit 3 Plane P0 | R/active-low W | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0x23 |
Digit 4 Plane P0 | R/active-low W | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0x24 |
Digit 5 Plane P0 | R/active-low W | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0x25 |
Digit 6 Plane P0 | R/active-low W | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0x26 |
Digit 7 Plane P0 | R/active-low W | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0x27 |
Digit 0a Plane P0 | R/active-low W | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0x28 |
Digit 1a Plane P0 | R/active-low W | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0x29 |
Digit 2a Plane P0 | R/active-low W | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0x2A |
Digit 3a Plane P0 | R/active-low W | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0x2B |
Digit 4a Plane P0 | R/active-low W | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0x2C |
Digit 5a Plane P0 | R/active-low W | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0x2D |
Digit 6a Plane P0 | R/active-low W | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0x2E |
Digit 7a Plane P0 | R/active-low W | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0x2F |
Digit 0 Plane P1 | R/active-low W | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0x40 |
Digit 1 Plane P1 | R/active-low W | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0x41 |
Digit 2 Plane P1 | R/active-low W | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0x42 |
Digit 3 Plane P1 | R/active-low W | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0x43 |
Digit 4 Plane P1 | R/active-low W | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0x44 |
Digit 5 Plane P1 | R/active-low W | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0x45 |
Digit 6 Plane P1 | R/active-low W | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0x46 |
Digit 7 Plane P1 | R/active-low W | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0x47 |
Digit 0a Plane P1 | R/active-low W | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0x48 |
Digit 1a Plane P1 | R/active-low W | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0x49 |
Digit 2a Plane P1 | R/active-low W | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0x4A |
Digit 3a Plane P1 | R/active-low W | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0x4B |
Digit 4a Plane P1 | R/active-low W | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0x4C |
Digit 5a Plane P1 | R/active-low W | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 04D |
Digit 6a Plane P1 | R/active-low W | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0x4E |
Digit 7a Plane P1 | R/active-low W | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0x4F |
評論
查看更多