基于CH451芯片的LED顯示系統(tǒng)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:CH451芯片可以動(dòng)態(tài)驅(qū)動(dòng)64位LED點(diǎn)陣或者8位數(shù)碼管,具有速度快、功耗小、操作簡單等特點(diǎn),可以很方便地通過1線或者可以級(jí)聯(lián)的4線串行接口與單片機(jī)等交換數(shù)據(jù)。本文介紹這種芯片的特點(diǎn)和使用方法,并給出軟硬件的設(shè)計(jì)實(shí)例。
關(guān)鍵詞:LED點(diǎn)陣;串行接口;單片機(jī)
0 引言
LED點(diǎn)陣顯示是集微電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理于一體的新型顯示方式。由于其具有壽命長、動(dòng)態(tài)范圍廣、工作穩(wěn)定可靠、低功耗和快速的時(shí)間響應(yīng)等優(yōu)點(diǎn),成為眾多顯示媒體中的佼佼者,是戶外作業(yè)顯示理想的選擇。用CH451芯片驅(qū)動(dòng)LED點(diǎn)陣有以下特點(diǎn):速度快,功耗小,動(dòng)態(tài)顯示掃描控制,直接驅(qū)動(dòng)64位LED點(diǎn)陣,可以軟件控制LED的亮度,以減小功耗。CH451可以通過1線或者可以級(jí)聯(lián)的4線串行接口與單片機(jī)等控制器交換數(shù)據(jù)。CH451的串行接口是由硬件實(shí)現(xiàn)的,控制器可以頻繁地通過串行接口進(jìn)行高速操作,而絕對(duì)不會(huì)降低CH451的工作效率。用它設(shè)計(jì)的電路,不僅軟硬件設(shè)計(jì)簡單,而且功耗低,響應(yīng)速度快,驅(qū)動(dòng)能力強(qiáng),占用的I/O口線較少,是一種性價(jià)比高、應(yīng)用靈活的設(shè)計(jì)方案。
1 CH451的使用說明
CH451內(nèi)部具有8個(gè)8位的數(shù)據(jù)寄存器,用于保存8個(gè)字?jǐn)?shù)據(jù),分別對(duì)應(yīng)于CH451所驅(qū)動(dòng)的8組每組8個(gè)的發(fā)光二極管,并且支持?jǐn)?shù)據(jù)寄存器中的字?jǐn)?shù)據(jù)左移、右移、左循環(huán)、右循環(huán),并且支持各數(shù)碼管的獨(dú)立閃爍控制,在字?jǐn)?shù)據(jù)左右移動(dòng)或者左右循環(huán)移動(dòng)的過程中,閃爍控制的屬性不受影響。CH451具有硬件實(shí)現(xiàn)的高速4線串行接口,包括4根信號(hào)線:串行數(shù)據(jù)輸入線DlN、串行數(shù)據(jù)時(shí)鐘線DCLK、串行數(shù)據(jù)加載線LOAD、串行數(shù)據(jù)輸出線DOUT。DIN用于提供串行數(shù)據(jù),高電平表示位數(shù)據(jù)1,低電平表示位數(shù)據(jù)0,串行數(shù)據(jù)輸入的順序是低位在前,高位在后。DCLK用于提供串行時(shí)鐘,CH451在其上升沿從DIN輸入數(shù)據(jù),在其下降沿從DOUT輸出數(shù)據(jù)。CH451內(nèi)部具有12位移位寄存器,在DCLK的上升沿,DIN上的位數(shù)據(jù)被移入移位寄存器的最高位寄存器,以此類推,原次低位數(shù)據(jù)移入最低位寄存器,在該上升沿后的第一個(gè)下降沿,原次低位數(shù)據(jù)從DOUT輸出。CH451允許DCLK引腳的串行時(shí)鐘頻率大于10MHz,從而可以實(shí)現(xiàn)高速串行輸入輸出。LOAD用于加載串行數(shù)據(jù),CH451在其上升沿加載移位寄存器中的12位數(shù)據(jù),作為操作命令分析并處理。CH451可以動(dòng)態(tài)驅(qū)動(dòng)8×8的LED點(diǎn)陣,點(diǎn)陣的所有列通過串接的限流電阻R1連接CH451的列驅(qū)動(dòng)引腳SEGO~SEG7,點(diǎn)陣的所有行分別由CH451的DIG0~DIG7引腳進(jìn)行驅(qū)動(dòng)。串接限流電阻R1的阻值越大則段驅(qū)動(dòng)電流越小,數(shù)碼管的顯示亮度越低,R1的阻值一般在60Ω至400Ω之間,在其它條件相同的情況下,應(yīng)該優(yōu)先選擇較大的阻值。
2 軟硬件設(shè)計(jì)實(shí)例
2.1 硬件電路
圖2是用AT89C52與CH45l接口設(shè)計(jì)的顯示面板電路。
Pl口的P1.5、P1.6、P1.7用來控制LED點(diǎn)陣的顯示,分別接到LOAD、DIN和DCLK腳。4個(gè)8×8LED陣列組成16×16的點(diǎn)陣屏模塊,如果要顯示一個(gè)漢字,只要將32字節(jié)的點(diǎn)陣數(shù)據(jù)通過8次48位的加載字?jǐn)?shù)據(jù)命令送給CH451就可以了。因?yàn)槭?個(gè)CH451級(jí)聯(lián),所以每個(gè)操作命令都必須是48位數(shù)據(jù),最后由LOAD信號(hào)線輸出上升沿通知所有的CH451加載各自的命令數(shù)據(jù)。
2.2 顯示驅(qū)動(dòng)程序
定義數(shù)組存放顯示數(shù)據(jù),CPU復(fù)位后,調(diào)用CH451 Write函數(shù)對(duì)CH451進(jìn)行寫命令、數(shù)據(jù)操作。
寫12bit控制字函數(shù):
3 結(jié)論
從以上例子可以看出,用CH45l設(shè)計(jì)LED點(diǎn)陣驅(qū)動(dòng)電路,硬件和軟件的設(shè)計(jì)都不存在復(fù)雜的技術(shù)問題,特別是軟件設(shè)計(jì)。在I/O口線較為緊張的情況下,這不失為一種解決方案。具有很好的性價(jià)比。