<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 利用51單片機來(lái)控制LED點(diǎn)陣

利用51單片機來(lái)控制LED點(diǎn)陣

作者: 時(shí)間:2011-10-15 來(lái)源:網(wǎng)絡(luò ) 收藏

引言
單片機自20世紀70年代問(wèn)世以來(lái),以極其高的性?xún)r(jià)比受到人們的重視和關(guān)注,所以應用很廣,發(fā)展很快。單片機的優(yōu)點(diǎn)是體積小、重量輕、抗干擾能力強,對環(huán)境要求不高,價(jià)格低廉,可靠性高,靈活性好,開(kāi)發(fā)較為容易。廣大工程技術(shù)人員通過(guò)學(xué)習有關(guān)單片機的知識后,也能依靠自己的力量來(lái)開(kāi)發(fā)所希望的單片機系統,并可獲得較高的經(jīng)濟效益。正因為如此,在我國,單片機已被廣泛地應用在工業(yè)自動(dòng)化控制、自動(dòng)檢測、智能儀表、家用電器等各個(gè)方面。在現代工業(yè)控制和一些智能化儀器儀表中,越來(lái)越多的場(chǎng)所需要用點(diǎn)陣圖形顯示器顯示漢字。漢字顯示方式是先根據所需要的漢字提取漢字點(diǎn)陣(如16×16點(diǎn)陣),將點(diǎn)陣文件存入ROM,形成新的漢字編碼;而在使用時(shí)則需要先根據新的漢字編碼組成語(yǔ)句,再由MCU根據新編碼提取相應的點(diǎn)陣進(jìn)行漢字顯示。

一、設計思想
LED發(fā)光燈可以分為單色發(fā)光燈、雙色發(fā)光燈、三色發(fā)光燈、面發(fā)光燈、閃爍發(fā)光燈、電壓型發(fā)光燈等多種類(lèi)型。按照發(fā)光燈強度又可以分為普通亮度發(fā)光燈、高亮度發(fā)光燈、超高亮度發(fā)光燈等。這種單個(gè)的發(fā)光燈適宜用做指示燈,如電源指示、電路狀態(tài)指示燈,進(jìn)而對能夠轉變成電信號的各種物理量進(jìn)行指示。也可以用多個(gè)LED發(fā)光燈組成固定的字符或圖形進(jìn)行顯示,如大型劇場(chǎng)會(huì )堂的出入口及洗手間的顯示。
和很多應用術(shù)語(yǔ)一樣,LED圖文顯示屏并沒(méi)有一個(gè)公認的嚴格的定義,一般把顯示圖形和/或文字的LED顯示屏稱(chēng)為圖文屏。這里所說(shuō)的圖形,是指由單一亮度線(xiàn)條組成的任意圖形,以便于不同亮度(灰度)點(diǎn)陣組成的圖像相區別。圖文顯示屏的主要特征是只控制中各發(fā)光器件的通斷(發(fā)光或熄滅),而不控制LED的發(fā)光強弱。LED圖文顯示屏的外觀(guān)可以做成條形,叫做條形圖文顯示屏(簡(jiǎn)稱(chēng)條屏),也可以按一定高度比例做成矩形的平面圖文顯示屏。其實(shí)條屏只不過(guò)是其寬度遠大于高度的平面顯示屏,在顯示與控制的原理上并無(wú)區別。
不論顯示圖形還是文字,都是控制與組成這些圖形或文字的各個(gè)點(diǎn)所在位置相對應的LED器件發(fā)光。通常事先把需要顯示的圖形文字轉換成點(diǎn)陣圖形,在按照顯示控制的要求以一定的格式形成顯示數據。對于只控制通斷的圖文顯示屏來(lái)說(shuō),每個(gè)LED發(fā)光器件占據數據中的1位(1bit),在需要該LED器件發(fā)光的數據中相應的位填1,否則填0。當然,根據控制電路的安排,相反的定義同樣時(shí)可行的。這樣依照所需顯示的圖形文字,按顯示屏的各行各列逐點(diǎn)填寫(xiě)顯示數據,就可以構成一個(gè)顯示數據文件。顯示圖形的數據文件,其格式相對自由,只要能夠滿(mǎn)足顯示控制的要求即可。文字的點(diǎn)陣格式比較規范,可以采用現行計算機通用的字庫字模。組成一個(gè)字的點(diǎn)陣,其大小也可以有16×16、24×24、32×32、48×48等不同規格。
用點(diǎn)陣方式構成圖形或文字,是非常靈活的,可以根據需要任意組合和變化,只要設計好合適的數據文件,就可以得到滿(mǎn)意的顯示效果。因而采用點(diǎn)陣式圖文顯示屏顯示經(jīng)常需要變化的信息,是非常有效的。
圖文顯示屏的顏色,有單色、雙色、和多色幾種。最常用的是單色圖文屏。單色屏多使用紅色或橘紅色或橙色單元。雙色圖文屏和多色圖文屏,在的每一個(gè)“點(diǎn)”上布置有兩個(gè)或多個(gè)不同顏色的LED發(fā)光器件。換句話(huà)說(shuō),對應于每種顏色都有自己的顯示矩陣。顯示的時(shí)候,各顏色的顯示點(diǎn)陣是分開(kāi)控制的。事先設計好各種顏色的顯示數據,顯示時(shí)分別送到各自的顯示點(diǎn)陣,即可實(shí)現預期效果。每一種顏色的控制方法和單色的完全相同,因此掌握了單色圖文顯示屏的原理,雙色屏和多色屏就不難理解了。
為了吸引觀(guān)眾增強顯示效果,可以有多種顯示模式。最簡(jiǎn)單的顯示模式是靜態(tài)顯示。這里所說(shuō)的“靜態(tài)顯示模式”不同于靜態(tài)驅動(dòng)方式。與靜態(tài)顯示模式相對應,就有各種動(dòng)態(tài)顯示模式,它們所顯示的圖文都是能夠動(dòng)的。按照圖文運動(dòng)的特點(diǎn)又可以分為閃爍、平移、旋轉、縮放等多種顯示模式。產(chǎn)生不同顯示模式的方法,并不意味著(zhù)一定要重新編寫(xiě)顯示數據,可以通過(guò)一定的算法從原來(lái)的顯示數據直接生成。例如,按順序調整行號,可以使顯示圖文產(chǎn)生上下平移;而順序調整列顯示數據的位置,就可以達到左右平移的目的;同時(shí)調整行列順序,就能得到對角線(xiàn)平移的效果。其它模式的數據刷新,也可找到相應的算法。不過(guò)當算法太復雜,太浪費時(shí)間的話(huà),也可以考慮預先生成刷新數據,存儲備用。刷新的時(shí)間控制,要考慮運動(dòng)圖形文字的顯示效果。刷新太慢,動(dòng)感不顯著(zhù);刷新太快了,中間過(guò)程看不清。一般刷新周期可控制在幾十毫秒范圍之內。

二、系統硬件設計

由于圖文屏的控制電路采用單片機方案,控制功能的實(shí)現應在硬件和軟件兩
方面進(jìn)行折中。單片機及相應軟件,主要負責存儲(或生成)顯示數據、安排控制信號的定時(shí)與順序、上位機進(jìn)行通信等。但是單片機的接口數量少,驅動(dòng)能力不強,必須擴展一定的硬件電路,才能滿(mǎn)足顯示屏的需要。硬件電路大體上可以分成微機本身的硬件、顯示驅動(dòng)電路、控制信號電路三部分。
控制電路部分包括一個(gè)51CUP和一些外圍電路。在整個(gè)電路當中此控制電
路部分相當于一個(gè)上位機,它負責控制整個(gè)電路以及相應的程序的運行、與PC機的串行通訊、以及給屏體電路部分發(fā)送命令。智能顯示屏體電路部分它包括一個(gè)51CPU及其一些外圍電路,用來(lái)通訊的MAX232接口電路,一個(gè)具有一個(gè)8bit串入并出的移位寄存器和一個(gè)8it輸出鎖存器的結構,而且移位寄存器和輸出鎖存器的控制是各自獨立的。另外還有74LS165、點(diǎn)陣顯示屏體、以及它的行和列的各個(gè)驅動(dòng)電路。由于兩部分的電路在制板時(shí)可以放到一起,所以可以將其字庫放到控制電路部分使用串行通訊方式來(lái)與屏體電路部分進(jìn)行數據和命令的傳送。
此顯示電路采用掃描方式進(jìn)行顯示時(shí),每行有一個(gè)行驅動(dòng)器,各行的同名列
共用一個(gè)列驅動(dòng)器。由行譯碼器給出的行選通信號,從第一行開(kāi)始,按順序依次對各行進(jìn)行掃描(把該行與電源的一端接通)。另一方而,根據各列鎖存的數據,確定相應的列驅動(dòng)器是否將該列與電源的另一端接通。接通的列,就在該行該列點(diǎn)燃相應的LED;未接通的列所對應的LED熄滅。當一行的掃描持續時(shí)間結束后,下一行又以同樣的方法進(jìn)行顯示。全部各行都掃過(guò)一遏之后(一個(gè)掃描周期),又從第一行開(kāi)始下一個(gè)周期的掃描。只要一個(gè)掃描周期的時(shí)間比人眼1/25秒的暫留時(shí)間短,就不容易感覺(jué)出閃爍現象。行掃描驅動(dòng)電路原理圖如下:
列顯示數據是以字節為單位存儲的,使用時(shí)以8bit并行讀出。為了適應列顯示驅動(dòng)電路串行輸入的需要,就要進(jìn)行并串變換。用74LS165并人中出移位寄存器,可以滿(mǎn)足這—要求。信號PL*為低時(shí),將8bit并行數據打入。PL*信號由單片機的控制口INT1提供。當PL*為高時(shí)可以在CLK1的作用下進(jìn)行移位。移位后最高位從Q7移出,成為串行數據流。74LSl65的移位時(shí)鐘信號CLKl由單片機控制口Tl端直接輸出。為了使列顯示驅動(dòng)電路的移位信號與74LS165Q7端輸出的串行數據同步,T1同時(shí)還作為列顯示驅動(dòng)電路的移位脈沖源。

三、結束語(yǔ)
LED點(diǎn)陣的應用很廣,對于不同的應用環(huán)境和應用要求,可以有各種各樣的應用方式。常用的應用有群顯示應用、紅外遙控式應用、無(wú)線(xiàn)遙控式應用。采用本文的單片機控制設計方案,對以上各種應用都可以方便簡(jiǎn)單而且很有效地進(jìn)行控制、設計。



關(guān)鍵詞: 51單片機 LED點(diǎn)陣

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>