新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 使用1602液晶顯示的實驗例子

        使用1602液晶顯示的實驗例子

        作者: 時間:2011-04-06 來源:網絡 收藏

        //讀狀態
        unsigned char ReadStatusLCM(void)
        {
        LCM_Data = 0xFF;
        LCM_RS = 0;
        LCM_RW = 1;
        LCM_E = 0;
        LCM_E = 0;
        LCM_E = 1;
        while (LCM_Data Busy); //檢測忙信號
        return(LCM_Data);
        }

        void LCMInit(void) //LCM初始化
        {
        LCM_Data = 0;
        WriteCommandLCM(0x38,0); //三次顯示模式設置,不檢測忙信號
        Delay5Ms();
        WriteCommandLCM(0x38,0);
        Delay5Ms();
        WriteCommandLCM(0x38,0);
        Delay5Ms();

        WriteCommandLCM(0x38,1); //顯示模式設置,開始要求每次檢測忙信號
        WriteCommandLCM(0x08,1); //關閉顯示
        WriteCommandLCM(0x01,1); //顯示清屏
        WriteCommandLCM(0x06,1); // 顯示光標移動設置
        WriteCommandLCM(0x0C,1); // 顯示開及光標設置
        }

        //按指定位置顯示一個字符
        void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
        {
        Y = 0x1;
        X = 0xF; //限制X不能大于15,Y不能大于1
        if (Y) X |= 0x40; //當要顯示第二行時地址碼+0x40;
        X |= 0x80; //算出指令碼
        WriteCommandLCM(X, 0); //這里不檢測忙信號,發送地址碼
        WriteDataLCM(DData);
        }

        //按指定位置顯示一串字符
        void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)
        {
        unsigned char ListLength;

        ListLength = 0;
        Y = 0x1;
        X = 0xF; //限制X不能大于15,Y不能大于1
        while (DData[ListLength]>0x20) //若到達字串尾則退出
        {
        if (X = 0xF) //X坐標應小于0xF
        {
        DisplayOneChar(X, Y, DData[ListLength]); //顯示單個字符
        ListLength++;
        X++;
        }
        }
        }

        //5ms延時
        void Delay5Ms(void)
        {
        unsigned int TempCyc = 5552;
        while(TempCyc--);
        }

        //400ms延時
        void Delay400Ms(void)
        {
        unsigned char TempCycA = 5;
        unsigned int TempCycB;
        while(TempCycA--)
        {
        TempCycB=7269;
        while(TempCycB--);
        };
        }


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 左云县| 舒城县| 平南县| 江达县| 罗甸县| 景德镇市| 东平县| 南岸区| 依兰县| 雅安市| 廊坊市| 仙桃市| 会东县| 宁国市| 比如县| 巫溪县| 威远县| 江津市| 大英县| 洞口县| 明溪县| 新建县| 江西省| 福贡县| 修水县| 历史| 米易县| 宁明县| 密云县| 弥勒县| 诸城市| 当雄县| 鹤壁市| 三原县| 乐亭县| 舞阳县| 民县| 辰溪县| 南充市| 林周县| 盖州市|