新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 尚志市| 新巴尔虎右旗| 盱眙县| 荃湾区| 奉节县| 乌鲁木齐县| 汶川县| 林口县| 高邮市| 菏泽市| 涡阳县| 西平县| 舒城县| 泽州县| 金华市| 临湘市| 南汇区| 阿坝| 江孜县| 成都市| 门头沟区| 綦江县| 阿克苏市| 萍乡市| 固原市| 濉溪县| 澄城县| 曲沃县| 梓潼县| 尖扎县| 司法| 常州市| 常山县| 湖南省| 石泉县| 达州市| 普定县| 钟祥市| 铜鼓县| 仙游县| 沙田区|