新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 常用液晶屏LCD1602的使用

        常用液晶屏LCD1602的使用

        作者: 時間:2012-08-15 來源:網絡 收藏
        #includereg52.h>sbit RS=P2^0;sbit RW=P2^1;sbit EN=P2^2;//LCD的三個控制端unsigned char table[]={0x15,0x0A,0x15,0x0A,0x15,0x0A,0x15,0x0A};void delay(unsigned int i){while(--i);}void Read_busy()    
        //忙檢測,DB7為1則busy,不能進行讀寫操作 ;每次讀寫前應"讀忙"檢測{P0=0x00;RS=0;RW=1;EN=1;while(P0  0x80);EN=0;}void write_LCD_command(unsigned char value)//寫命令函數{Read_busy();RS=0;RW=0; EN=1;P0=value;delay(100);EN=0;}void write_LCD_data(unsigned char value)//寫命令函數{Read_busy();RS=1;RW=0; EN=1;P0=value;delay(100);EN=0;}void init_LCD(){write_LCD_command(0x38);//在這里加延時delay(5);write_LCD_command(0x0c);//開顯示,不顯示光標,且不閃爍//在這里加延時delay(5); write_LCD_command(0x06);//每次寫入數據后地址指針加1 //在這里加延時delay(5);write_LCD_command(0x01);//清屏}void main(){unsigned char num;init_LCD();write_LCD_command(0x40);   
         //對CGRAM第一個自定義操作,若是第二個則為0x48,其次類推(上面有對頂的關系)for(num=0;num8;num++){write_LCD_data(table[num]);}write_LCD_command(0x80);    //規定顯示在第一行第一個位置write_LCD_data(0x00);         //顯示第一個自定義 (0x40對應第一個:0x00)while(1);}/*到這里程序結束了,第一次寫可能說的不夠清晰,有不懂的可以留言給我^_^*/

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 松桃| 青田县| 阳泉市| 崇文区| 镇平县| 湖北省| 华宁县| 北安市| 彩票| 河北省| 普洱| 张家口市| 东兰县| 三原县| 东丰县| 原阳县| 绥阳县| 荥经县| 察隅县| 墨脱县| 岗巴县| 博客| 托克逊县| 镇坪县| 固原市| 恭城| 正安县| 东乌珠穆沁旗| 洛扎县| 阳东县| 宁武县| 邵东县| 珲春市| 兴海县| 昆山市| 个旧市| 嘉定区| 达孜县| 广平县| 金阳县| 阿拉善左旗|