新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機-液晶1602

        51單片機-液晶1602

        作者: 時間:2016-12-02 來源:網絡 收藏
        液晶是一種高分子材料,液晶顯示器的主要原理是電流刺激液晶分子產生點,線,面并配合背面燈管構成畫面。為敘述簡單,把各種液晶顯示器都直接叫做液晶。各種型號的液晶通常是按照顯示字符的行數或液晶點陣的行列數來命名的。比如:1602的意思是每行顯示16個字符,一共顯示兩行;類似的命名還有0801,0802,1601等,這類液晶通常都是字符型液晶,即只能顯示ASCII碼字符,如數字,大小寫字母,各種符號等。12232液晶屬于圖形型液晶,他的意思是液晶有122列,32行組成。液晶的體積小,功耗低,顯示操作簡單,但是它有一個致命的弱點,其使用的溫度范圍很窄。
        初始化設置:






        RAM地址映射圖:
        寫操作時序:
        實現兩行顯示,從左向右滑動。
        #include <reg52.h>
        #define uchar unsigned char
        #define uint unsigned int
        sbit RS = P1^0;
        sbit RW = P1^1;
        sbit E = P1^2;
        uint i;
        uchar code table[] = "I LOVE MCU!";
        uchar code table1[]="WWW.TXMCU.COM";
        void delay(uint t){
        int i,j;
        for(i = 0; i < t; i++)
        for(j = 200; j > 0; j--)
        ;
        }
        void lcd_com(uchar s){
        RS = 0; //低電平,寫指令
        P2 = s; //傳數據
        delay(14); //看時序圖,數據需要穩定一段時間
        E = 1; //給一個高脈沖,發送命令
        delay(14); //如圖,高脈沖延時一段時間,確保命令發送
        E = 0; //發送結束E置為低電平
        }
        void lcd_data(uchar s){
        RS = 1;
        P2 = s;
        delay(14);
        E = 1;
        delay(14);
        E = 0;
        }
        void init(){
        RS = 1; //先發指令,在初始時刻RS是高,E和RW是低
        E = 0;
        RW = 0;
        lcd_com(0x38); //設置為16*2顯示,5*7點陣,8位數據接口
        lcd_com(0x0f); //開顯示,顯示光標,光標閃爍
        lcd_com(0x06); //讀寫一個字符后地址指針加一
        lcd_com(0x01);
        lcd_com(0x80+0x10); //顯示屏幕對應一塊RAM,屏幕外面還有一塊RAM
        for(i = 0; i < 11; i++){ //設置地址為屏幕外的RAM,以便實現滾動效果
        RS = 0;
        lcd_data(table[ i]);
        delay(40);
        }
        lcd_com(0x80+0x50);
        for(i = 0; i < 13; i++){
        RS = 0;
        lcd_data(table1[ i]);
        delay(40);
        }
        for(i = 0; i < 13; i++){
        lcd_com(0x18); //0x18,向左移動顯示,光標跟著移動
        delay(200);
        }
        }
        void main(){
        init();
        while(1);
        }


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 汝城县| 二手房| 安阳县| 安阳市| 新闻| 凤凰县| 炉霍县| 昭苏县| 榕江县| 静海县| 内江市| 万载县| 寿宁县| 汉沽区| 奉贤区| 莒南县| 敦煌市| 东宁县| 湄潭县| 宜州市| 唐海县| 子长县| 东乌| 巴里| 丰县| 如皋市| 汶上县| 揭东县| 安吉县| 景洪市| 竹溪县| 哈尔滨市| 广灵县| 灵武市| 开平市| 黄浦区| 玉林市| 天峻县| 高安市| 株洲县| 平武县|