新聞中心

        EEPW首頁 > 設計應用 > 基于80C51微處理器的OLED模塊設計

        基于80C51微處理器的OLED模塊設計

        作者: 時間:2008-03-27 來源: 收藏

        有機發光顯示器(OLED)是以有機電致發光材料為基礎的新一代平板顯示技術,與傳統的顯示技術相比,OLED具有更薄更輕、主動發光(不需要背光源)、廣視角、高清晰、快速響應、低能耗、耐低溫和抗震性能優異、潛在的低制造成本及柔性與環保設計等顯示器件制造所要求的幾乎所有優異性能,因而被廣泛應用在消費電子、醫療、汽車、電力、能源、工控等領域的人機界面中。

        本文引用地址:http://www.104case.com/article/80792.htm

        維信諾公司專業從事OLED顯示器的研發和制造,于2003年將OLED產品推向市場,是中國大陸第一家批量生產和銷售OLED屏體及模塊產品的公司。維信諾公司根據市場需求的變化,不斷進行技術創新和產品升級,推出了一系列的OLED顯示模塊,并針對各種領域客戶提供多種解決方案。維信諾公司自主研發的OLED產品具有一定的行業代表性,備受業界客戶的關注。本文將主要介紹維信諾公司的VGG12864G系列產品,并給出51單片機控制OLED的應用實例。

        VGG12864G是顯示容量為128列×64行的單色、字符、圖形OLED顯示模塊,接口電路簡單,使用方便。該模塊具有如下特點128×64像素點陣,綠光;內置128×64位顯示RAM,每一位對應一個像素狀態;Intel 8080或Motorola 6800 8bit數據總線接口或串行接口;Solomon SSD1305 OLED驅動器,推薦邏輯電壓為+3V±10%;驅動電壓+9V~+12V;工作溫度-40度~+80度;低功耗:≦80mW。


        圖1:OLED模塊邏輯電路和應用接口框圖。

        圖1為模塊邏輯電路和應用接口框圖。用戶只需要給接口提供電源、理解SSD1305的顯示緩存RAM特性及其指令系統,并利用MCU模擬產生匹配的驅動指令和顯示DATA信號,就能點亮OLED屏。從圖中可以看出,OLED模塊的外部應用接口就是SSD1305 IC,其定義如下:

        由于SSD1305 IC支持6800與8080總線接口,并提供自定義的串行接口模式,因此,VGG12864G OLED模塊很容易嵌入到多種單片機系統中,如8051 AVR DSP ARM MSP等。


        圖2:采用80C51單片機驅動VGG12864G模塊的參考電路原理圖。

        80C51在國內有廣泛的客戶群體,隨著半導體技術的日新月異,眾多知名廠商紛紛推出速度更快,集成度更高,性能強大的增強型單片機。下面以美國STC公司的STC89LE516RD+ MCU為例,介紹80C51單片機驅動VGG12864G模塊方案。圖2為其參考電路原理圖,圖3為VGG12864G應用接口時序。


         
        圖3:SSD1305 8080總線模式。

        初始化:

        //程序流程圖


        底層驅動代碼:

        寫指令:

        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_ ();

        }

        寫顯示數據:

        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_ ();

        }

        顯示一幅圖畫:

        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]); //送數據到顯存

        }

        }

        }




        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 怀安县| 孝感市| 新兴县| 康定县| 基隆市| 天门市| 宜兴市| 大理市| 临漳县| 昌图县| 台前县| 隆回县| 东乌| 焉耆| 安康市| 伽师县| 龙胜| 宁河县| 吐鲁番市| 和平区| 鄯善县| 东方市| 东安县| 滦平县| 和静县| 武陟县| 赤峰市| 宜川县| 婺源县| 宁晋县| 醴陵市| 阿克陶县| 大新县| 西丰县| 乐业县| 亚东县| 永和县| 四平市| 卫辉市| 浏阳市| 新干县|