新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機和圖形LCD接口技術的實現(xiàn)

        51單片機和圖形LCD接口技術的實現(xiàn)

        作者: 時間:2012-01-16 來源:網(wǎng)絡 收藏
          LCD 近年來越來越多地應用在單片機控制的儀器儀表中。儀表顯示時良好的人機界面始終是人們的追求。近日用單片機控制成功地在EDM240128 圖形LCD 上顯示出圖片。

        1、液晶模塊的特點:

          EDM240128 圖形LCD 是大連神迅信息股份有限公司生產(chǎn)的240*128 點陣式LCD。 內置8K 的數(shù)據(jù)存儲器,液晶顯示控制芯片為東芝公司生產(chǎn)的T6963C。它的總線可以直接適配MCS51 總線。允許單片機隨時訪問顯示緩沖區(qū),甚至可以進行位操作,直接控制某一點。同時這款液晶還有讀/寫地址自動加/減1 的功能,為大量數(shù)據(jù)的傳送編程提供了方便。

        2、硬件實現(xiàn):

          采用89S52 單片機,其內部有8K的FLASH ROM,將需要顯示的圖片數(shù)據(jù)和程序直接存儲在里面,使得此電路功能實現(xiàn)十分簡單。

          圖1 是89S52 與LCD 顯示器模塊的并口方式下的接口電路。

        51單片機和圖形LCD接口技術的實現(xiàn)

          P1.0 接LCD 的復位,VEE用來調節(jié)顯示屏灰度,手冊中給出電壓范圍是 8V~ -23V,在使用中發(fā)現(xiàn)超過 -15V顯示顏色已經(jīng)過深而看不清了。實際測試得到合適電壓范圍為-13.8V~-14.8V,調節(jié)該點電壓可改變顯示屏字符圖形顏色的深淺。由于該點電流極小,用一個普通的電位器調節(jié)即可。

        3、圖片數(shù)據(jù)的提取

          圖片轉化成字節(jié)類型的數(shù)據(jù)可采用專用的程序,文中采用PICtoCODE【圖片數(shù)據(jù)生成器】V1.0,設計為 hy_zhangwang,此軟件可從互聯(lián)網(wǎng)上免費下載。

          PICtoCODE 可以將黑白單色圖片(支持BMP、JPEG、JPG、GIF 等格式)轉換為A51、C51、HEX 等格式的數(shù)據(jù)文件。數(shù)據(jù)生成的順序為從上至下,從左到右,左上角象素對應第1 個字節(jié),右下腳對應最后一個字節(jié)。軟件要求圖片寬度必須為8 的整數(shù)倍,如果待處理的圖片寬度不是8 的整數(shù)倍,需要先用圖形編輯軟件(如windows 系統(tǒng)自帶的畫圖程序)作預處理。

          如果圖片不是黑白單色圖片,可以用“彩色>>黑白...”功能將圖片轉換為黑白圖片,然后再導出數(shù)據(jù)或代碼。

        4、軟件設計

          EDM240128 的控制指令可帶兩個參數(shù)、一個參數(shù)或者無參數(shù)。每條指令都是先送入?yún)?shù),再送入指令代碼。如果所送參數(shù)多于規(guī)定個數(shù),最后送入的有效。每次操作前必須檢測其狀態(tài)字。由于狀態(tài)位作用不同,因此執(zhí)行不同的指令應檢測不同的狀態(tài)位。顯示器上的240*128 點,每8 個點為一個字節(jié)的數(shù)據(jù),都 一一對應顯示緩沖區(qū)的數(shù)據(jù)。一點對應一個bit ,bit=1 該點顯示黑點,bit=0則該點消失。

          LCD 有一條display ON/OFF 指令,display ON 時顯示緩沖區(qū)的數(shù)據(jù)對應顯示畫面,display OFF時則畫面消失,但緩沖區(qū)的數(shù)據(jù)仍然存在,并沒有丟失。有關命令請詳細查閱T6963C使用手冊。

        51單片機和圖形LCD接口技術的實現(xiàn)

          軟件采用C51 編寫,大大提高了開發(fā)效率

          單片機程序:

        #define ming 0x4000 //指令口地址
        #define shuju 0x0000 //數(shù)據(jù)口地址
        #includeat89x52.h>
        void delay(unsigned int i) //延時
        {/*-----------*/}
        void writed(char a) // 寫數(shù)據(jù)子程序
        {/*----------*/}
        void writec(char a) //寫指令子程序
        {/*-----------*/}
        void busy() //判斷標志位是否忙
        {*/-----------*/}
        main()
        { unsigned char ji=0;
        code char seg[3840]={/*-----------*/};///要顯示的圖片數(shù)據(jù)
        P1_0=0;
        delay(100);
        P1_0=1;
        busy();
        writed(0x00);
        busy();
        writec(0x24);
        busy();
        writec(0xb0); /////設置自動寫,地址加一
        busy();
        for(ji=0;ji3840;ji++)
        { writed(seg[ji]);
        busy();
        }
        writec(0xb3); // 自動寫結束
        busy();
        writec(0x98); // 開顯示
        //-----------------------------------
        }

        5、結束語

          T6963C 控制芯片廣泛應用在各種圖形點陣LCD 上,除了大連神迅公司的EDM240128和EDM12864 圖形LCD 采用此芯片外,金鵬奧可拉公司的OCM128*64、OCM240*128、深圳松山公司的CA12864A、信利公司的MPG240128A 等均采用這款芯片。我們可以很方便地作出各種友好的人機界面。



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 平和县| 江口县| 法库县| 璧山县| 张家界市| 阿城市| 营山县| 固原市| 和龙市| 绥芬河市| 开江县| 信宜市| 蚌埠市| 蛟河市| 额尔古纳市| 定南县| 天门市| 南和县| 彰化市| 孟州市| 杭锦旗| 石门县| 辽源市| 汉源县| 东港市| 浏阳市| 麦盖提县| 南昌市| 肇庆市| 延边| 阳城县| 惠安县| 芦山县| 囊谦县| 左云县| 南开区| 吉林省| 增城市| 郧西县| 闸北区| 额济纳旗|