新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > LCD1602自定義字符的方法

        LCD1602自定義字符的方法

        作者: 時間:2016-11-30 來源:網絡 收藏
        LCD1602內含有八個自定義的字符空間,用戶可以根據需要設置自定義字符,不過字符的像素通常是5X7。如果需要更大像素的字符,就只能用多個5X7的字符拼合。每個自定義字符的字節有8個,最后一個是0x00;每個字節的高3位為0,即000? ????。自定義字符設置與應用步驟如下:
        1、設置自定義字符的代碼并存入數組。每個字符分7行,每行有5個像素,如果需要顯示,此位設定為1,否則為0。本人用VBA制作了《LCD1602自定義字符生成器》,使用簡單,需要可函索。聯系:51hei.com
        2、按常規方法初始化LCD1602。
        3、寫命令:40H。
        4、寫數據:將代碼數組寫入LCD1602中的CGRAM中。
        5、按常規方法設置要顯示字符的位置。如寫命令:80H(第一行第1個字符位置)或c0H(第二行第1個字符位置)。
        6、寫數據顯示自定義字符:寫0顯示第1個自定義字符,寫1顯示第2個自定義字符……依此類推。注意寫入的0或1等是指數字而不是字符,不能加單引號。
        下面是生成好的自定義字符代碼數組,供參考:
        uchar code table1[]={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00};//字符℃
        uchar code table2[]={0x04,0x1F,0x00,0x0A,0x0A,0x0A,0x1B,0x00};//字符六
        uchar code table3[]={0x04,0x1D,0x14,0x15,0x14,0x1D,0x04,0x00};//字符小喇叭
        uchar code table4[]={0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00};//字符一
        uchar code table5[]={0x00,0x0E,0x00,0x00,0x00,0x1F,0x00,0x00};//字符二
        uchar code table6[]={0x0E,0x00,0x00,0x0E,0x00,0x00,0x1F,0x00};//字符三
        uchar code table7[]={0x1F,0x11,0x15,0x15,0x1F,0x11,0x1F,0x00};//字符四
        uchar code table8[]={0x1E,0x08,0x08,0x1E,0x0A,0x0A,0x1F,0x00};//字符五
        uchar code table9[]={0x08,0x1F,0x12,0x0F,0x0A,0x1F,0x02,0x00};//字符年
        uchar code table10[]={0x0F,0x09,0x0F,0x09,0x0F,0x09,0x13,0x00};//字符月
        uchar code table11[]={0x1F,0x11,0x11,0x1F,0x11,0x11,0x1F,0x00};//字符日
        uchar code table12[]={0x04,0x1F,0x0A,0x1F,0x04,0x1F,0x15,0x00};//字符新左半部
        uchar code table13[]={0x1F,0x10,0x10,0x1F,0x12,0x12,0x12,0x00};//字符新右半部


        主程序:
        void main()
        {
        uchar m;
        init_LCD();
        delayms(10);
        write_LCD_Command(0x40); //寫命令
        for(m=0;m<8;m++)
        write_LCD_data(table1[m]); //將代碼寫入CGRAM中
        write_LCD_Command(0x80); //設定顯示位置
        write_LCD_data(0); //顯示第1個自定義字符
        while(1);
        }


        關鍵詞: LCD1602自定義字

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 静海县| 桐柏县| 德保县| 青河县| 山西省| 临泽县| 安溪县| 靖州| 洪泽县| 鹿邑县| 清河县| 常熟市| 鄢陵县| 竹溪县| 淮北市| 双辽市| 阳城县| 郸城县| 雷山县| 廉江市| 柘城县| 阿坝县| 林甸县| 内丘县| 息烽县| 东丰县| 永宁县| 烟台市| 宜兰县| 远安县| 中西区| 剑阁县| 鄂托克前旗| 九台市| 津市市| 独山县| 乃东县| 元江| 改则县| 陇南市| 泾源县|