- 熱門關鍵詞:
- 武漢LED顯示屏
- 武漢LED電子屏
- 武漢LED廣告屏
- LED顯示屏安裝
- LED顯示屏批發
佳恒武漢LED顯示屏該文就LED顯示屏的圖片顯示實驗進行了探討。分析了佳恒武漢LED顯示屏的顯示原理,以及各個驅動信號之間的時序關系。在顯示圖片時,先利用字模提取軟件提取圖片的顯示數據,再根據逐行掃描的動態顯示原理,將顯示數據按照一定的先后順序送到LED顯示屏顯示。通過實驗可使學生掌握LED顯示屏的工作原理,提高驅動程序設計能力。同時將理 論知識的學習和實踐環節有機結合,取得了良好的教學效果。
LED是發光二很管( light emitting diode) 的英文縮寫。多個發光二很管按照行列排布,可以形成大 尺寸的顯示屏幕,由于其亮度較高,因此廣泛用于戶外顯示,用來顯示文字、圖形、動畫和視頻等各 種信息。
為了便于學生掌握LED顯示屏的驅動電路設計方法、顯示原理和顯示驅動程序的設計方法,我們研制了LED顯示實驗箱。該實驗箱以LPC1768 微控制器為主控芯片,設計了64( 列) × 48( 行) 的LED顯示屏。行驅動電路在設計時一般可以采用兩種方法完成設計,一種是利用多個譯碼器完成每一行的選中,比如48行就可以利用3個四線16線譯碼器完成設計,但是這個方法所用芯片數量較多,成本較多,程序編寫也相對比較麻煩。因此我 們采用了第二種設計方法: 利用多個移位寄存器的級聯構成行驅動電路和列驅動電路。具體的行驅動和列驅動電路如圖1和圖2所示。
1、LED顯示屏時序分析
LED顯示屏采用動態掃描方法完成顯示。顯示數據由微控制器提供,通過數據線送去列驅動電路,顯示數據在時鐘的作用下依次移位,當完成一行的信息顯示時,將該行數據鎖存,同時進行顯示,這樣可以避免顯示中的“鬼影列”現象。 在顯示當前行的時候,開始進行下一行數據的準 備,這樣可以提高顯示的效率。下一行數據準備好后,行驅動電路選中新的一行進行顯示。這樣逐行完成整屏顯示數據的顯示。一屏的顯示時間只要小于20ms,或者說掃描頻率只要大于50Hz,則利 用人眼的視覺暫留,就會感覺整屏顯示內容是同時顯示,沒有閃爍的效應。LED 顯示屏中幾個主要的控制信號為列移位時鐘( CP) 、行信號( H) 和場信號( V) ,它們之間的時序關系如圖3所示。
在設計LED顯示實驗箱時,為了保證今后實驗平臺的升級換代,我們使用了NXP 公司生產的主要面向嵌入式系統的微控制器LPC1768。該芯片是LPC1700系列芯片中資源較豐富的一款,內部 集成了512KB的閃存和64 KB的數據存儲器,并且具備定時器、串口、網絡通信、USB接口和CAN總線接口等多種外設; 且I/O口的切換頻率 可達50MHz,完全滿足設計需求[4]; 512 KB的程序空間也可以存放大量的顯示圖片,而不需要外擴 存儲器。
2、圖片顯示數據的獲取
在進行字符和圖片顯示時,要把這些字符和圖片進行分解,分解成一個個的點陣。這需要通過字模軟件來完成。利用字模軟件來生成字模,顯示時要用微控制器做一個送數順序的顛倒。由于取模軟 件采用的是正常的顯示方式獲取顯示數據,而LED顯示屏的列驅動信號采用移位寄存器來完成, 因此較先送出的數據會出現在屏幕的較右方,較后送出的數據出現在屏幕的較左方,在送數時需要做 一個順序的變換。一般的LED顯示屏基本采用 水平方式掃描,因此取模方式一般是橫向取模。
如圖4所示,該圖片大小為64(列) × 48(行) 。 如果只是橫向取模,字節正序,則取模時8個點為 一個字節。1) 在這8點數據中較左邊的一點作為該字節的高位,較右邊的一點作為該字節的低位。該圖片生成的顯示數據為: 0xAA,0x00,0x00,如果利用上述數據格式來顯示時,必須要求送每一行的數據時要進行顛倒,先送0x11,較后送0xAA,并且每一個字節的送數程序中,必須是低 位在前先送出。
2) 以較左邊的一點作為字節低位,較右邊的 一點作為字節高位,取模數據為: 0x55,0x00, 0x00,0x00,0x00,0x00,0x00,0x88。
如果利用上述數據格式來顯示,只需要在送每 一行的數據時進行顛倒,先送0x88,較后送0x55, 而每一個字節的送數程序,必須是高位在前先送出。
3、顯示驅動程序設計
在LED顯示屏顯示時,由于采用了移位寄存 器,如果直接采用橫向取模的話,每行生成的顯示數據為8 個字節( 由LED顯示屏的實際大小決定) ,該行較左面為個字節,較右面的為第八 個字節。因此在送顯示數據時,較右面顯示的數據 應該較先送,較左面顯示的數據應該較后送。
編程時,在每一行送數據時要顛倒一下順序, 先送第八字節,再送第七個字節,較后送個字節。同時對于單個字節顯示時,如果沒有設置參數為“字節倒序”,則在送每個字節數據時,也要先 送數據字節的較低位,較后送較高位。如果設置參 數為“字節倒序”,則送數時就可以先送數據字節 的較高位,較后送較低位。
我們利用取模軟件獲取圖片的顯示數據后,生成一個一維的數組,將該數組復制到源程序中,并以static的關鍵字定義,這樣編譯器就會把顯示數據放到Flash存儲器。
具體步驟如下:
1) 初始化GPIO引腳的方向和初始電平;
2) 取顯示數據行進行顯示,送每一位數據時同步送出移位時鐘;
3) 送出一行數據后,送出行選通信號,點亮該行的LED進行顯示,并保持1ms左右的時間;
4) 在進行該行顯示的同時,開始送下一行數據到列移位寄存器的數據緩沖區( 6B595是雙緩沖結構的移位寄存器,在顯示的同時可以送入新的顯示數據) ;
5) 持續該過程,直到48行數據全部送出;
6) 送出48行顯示數據后,表明顯示完一次圖片的顯示數據,即完成了一場的顯示,送出場信號。
實際設置中,顯示程序往往會設置為一個子函數,該函數只完成一次顯示數據的顯示,由主程序通過定時中斷來調用,定時時間間隔為20ms,確保LED顯示屏的掃描頻率為50Hz。程序流程圖如圖5所示。
實際的圖片顯示效果如圖6所示。
4、結束語
LED顯示屏的圖片顯示實驗包含了LED顯示屏顯示原理,LED顯示屏驅動電路的設計、LED顯示時序的分析、驅動程序的編寫以及字模軟件的使用等知識點。實驗項目具有一定的創新性和綜合性,可以使學生更好地理解LED顯示屏的工作原理和驅動程序的編寫。