基于80C51微處理器的OLED模塊設計
維信諾公司專(zhuān)業(yè)從事OLED顯示器的研發(fā)和制造,于2003年將OLED產(chǎn)品推向市場(chǎng),是中國大陸第一家批量生產(chǎn)和銷(xiāo)售OLED屏體及模塊產(chǎn)品的公司。維信諾公司根據市場(chǎng)需求的變化,不斷進(jìn)行技術(shù)創(chuàng )新和產(chǎn)品升級,推出了一系列的OLED顯示模塊,并針對各種領(lǐng)域客戶(hù)提供多種解決方案。維信諾公司自主研發(fā)的OLED產(chǎn)品具有一定的行業(yè)代表性,備受業(yè)界客戶(hù)的關(guān)注。本文將主要介紹維信諾公司的VGG12864G系列產(chǎn)品,并給出51單片機控制OLED的應用實(shí)例。
本文引用地址:http://dyxdggzs.com/article/89095.htmVGG12864G是顯示容量為128列×64行的單色、字符、圖形OLED顯示模塊,接口電路簡(jiǎn)單,使用方便。該模塊具有如下特點(diǎn)128×64像素點(diǎn)陣,綠光;內置128×64位顯示RAM,每一位對應一個(gè)像素狀態(tài);Intel 8080或Motorola 6800 8bit數據總線(xiàn)接口或串行接口;Solomon SSD1305 OLED驅動(dòng)器,推薦邏輯電壓為+3V±10%;驅動(dòng)電壓+9V~+12V;工作溫度-40度~+80度;低功耗:≦80mW。
圖1:OLED模塊邏輯電路和應用接口框圖。
圖1為模塊邏輯電路和應用接口框圖。用戶(hù)只需要給接口提供電源、理解SSD1305的顯示緩存RAM特性及其指令系統,并利用MCU模擬產(chǎn)生匹配的驅動(dòng)指令和顯示DATA信號,就能點(diǎn)亮OLED屏。從圖中可以看出,OLED模塊的外部應用接口就是SSD1305 IC,其定義如下:
由于SSD1305 IC支持6800與8080總線(xiàn)接口,并提供自定義的串行接口模式,因此,VGG12864G OLED模塊很容易嵌入到多種單片機系統中,如8051 AVR DSP ARM MSP等。
圖2:采用80C51單片機驅動(dòng)VGG12864G模塊的參考電路原理圖。
80C51在國內有廣泛的客戶(hù)群體,隨著(zhù)半導體技術(shù)的日新月異,眾多知名廠(chǎng)商紛紛推出速度更快,集成度更高,性能強大的增強型單片機。下面以美國STC公司的STC89LE516RD+ MCU為例,介紹80C51單片機驅動(dòng)VGG12864G模塊方案。圖2為其參考電路原理圖,圖3為VGG12864G應用接口時(shí)序。
圖3:SSD1305 8080總線(xiàn)模式。
初始化:
//程序流程圖
底層驅動(dòng)代碼:
寫(xiě)指令:
void write_command(uchar command)
{
DC = 0;
_nop_ ();
P1 = command;
_nop_ ();
CS = 0;
_nop_ ();
OLED_WR = 0;
_nop_ ();
OLED_WR = 1;
_nop_ ();
CS = 1;
_nop_ ();
}
寫(xiě)顯示數據:
void write_data(uchar data_bak)
{
DC = 1;
_nop_ ();
P1 = data_bak;
_nop_ ();
CS = 0;
_nop_ ();
OLED_WR = 0;
_nop_ ();
OLED_WR = 1;
_nop_ ();
CS = 1;
_nop_ ();
}
顯示一幅圖畫(huà):
void oled_display(uchar picture[]) //picture[]是一幅圖片的數據
{
uchar j;
for(page=0;page<8;page++)
{
write_command(0xB0+page); //set page address
write_command(0x00); //set low address
write_command(0x10); //set higher address
for(j=0;j<128;j++)
{
write_data(picture[j+page*128]); //送數據到顯存
}
}
}
評論