新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機驅動1602液晶的C程序

        51單片機驅動1602液晶的C程序

        作者: 時間:2016-11-30 來源:網絡 收藏

        //********************************

        //*******顯示一個字符函數*********

        void LCD_disp_char(uchar x,uchar y,uchar dat)

        {

        uchar address;

        if(y==1)

        address=0x80+x;

        else

        address=0xc0+x;

        LCD_write_command(address);

        LCD_write_data(dat);

        }

        //********************************

        /*******檢查忙函數*************

        voidLCD_check_busy()
        //實踐證明,在我的LCD1602上,檢查忙指令通

        {LCD_E=0; //for循環作延時,普通指令只要1次循就可完成。清屏指令

        LCD_RS=0; //要用200次循環便能完成。

        LCD_RW=1;

        LCD_DB=0xff;

        LCD_E=1;

        while(LCD_DB^7==1);

        ******************************/

        //********延時函數***************

        void delay_n40us(uint n)

        { uint i;

        uchar j;

        for(i=n;i>0;i--)

        for(j=0;j<2;j++); //在這個延時循環函數中我只做了

        2次循環,

        } //實踐證明我的LCD1602上普

        通的指令只需1次循環就能可靠完成。

        //*******************************

        //*********主函數*****************

        void main(void)

        {

        LCD_init();

        LCD_disp_char(0,1,"A");

        while(1);

        }

        過率極低,以至于不能正常使用LCD。因此我沒有再用檢查忙函數。而使

        do//用了延時的方法,延時還是非常好用的。我試了一下,用//


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 青浦区| 巴彦县| 宁明县| 杭州市| 玛纳斯县| 临沧市| 巴彦淖尔市| 宽甸| 晋中市| 开江县| 万源市| 宜宾市| 观塘区| 育儿| 昌黎县| 鄂托克前旗| 灵璧县| 方山县| 阿拉尔市| 丽江市| 晋江市| 饶河县| 玉屏| 达州市| 繁昌县| 鹿泉市| 丰顺县| 霸州市| 乐安县| 葵青区| 天长市| 永兴县| 萨嘎县| 昌黎县| 图们市| 双鸭山市| 泸定县| 东兰县| 米易县| 修文县| 德昌县|