新聞中心

        EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 使用1602液晶顯示的實驗例子

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

        作者: 時間:2011-04-06 來源:網(wǎng)絡(luò) 收藏

        1602

        本文引用地址:http://www.104case.com/article/166186.htm

        SMC1602A(16*2)模擬口線接線方式
        連接線圖:

        |LCM-----51  | LCM-----51  | LCM------51 |
        |
        |DB0-----P1.0 | DB4-----P1.4 | RW-------P2.0 |
        |DB1-----P1.1 | DB5-----P1.5 | RS-------P2.1 |
        |DB2-----P1.2 | DB6-----P1.6 | E--------P2.2 |
        |DB3-----P1.3 | DB7-----P1.7 | VLCD接1K電阻到GND|

        [注:AT89S5112M晶振]

        #define LCM_RW P2_0 //定義引腳
        #define LCM_RS P2_1
        #define LCM_E P2_2
        #define LCM_Data P1
        #define Busy 0x80 //用于檢測LCM狀態(tài)字中的Busy標識

        #include at89x51.h>

        void WriteDataLCM(unsigned char WDLCM);
        void WriteCommandLCM(unsigned char WCLCM,BuysC);
        unsigned char ReadDataLCM(void);
        unsigned char ReadStatusLCM(void);
        void LCMInit(void);
        void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
        void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);
        void Delay5Ms(void);
        void Delay400Ms(void);

        unsigned char code cdle_net[] = {www.cdle.net};
        unsigned char code email[] = {pnzwzw@cdle.net};

        void main(void)
        {
        Delay400Ms(); //啟動等待,等LCM講入工作狀態(tài)
        LCMInit(); //LCM初始化
        Delay5Ms(); //延時片刻(可不要)

        DisplayListChar(0, 0, cdle_net);
        DisplayListChar(0, 1, email);
        ReadDataLCM();//測試用句無意義
        while(1);
        }

        //寫數(shù)據(jù)
        void WriteDataLCM(unsigned char WDLCM)
        {
        ReadStatusLCM(); //檢測忙
        LCM_Data = WDLCM;
        LCM_RS = 1;
        LCM_RW = 0;
        LCM_E = 0; //若晶振速度太高可以在這后加小的延時
        LCM_E = 0; //延時
        LCM_E = 1;
        }

        //寫指令
        void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC為0時忽略忙檢測
        {
        if (BuysC) ReadStatusLCM(); //根據(jù)需要檢測忙
        LCM_Data = WCLCM;
        LCM_RS = 0;
        LCM_RW = 0;
        LCM_E = 0;
        LCM_E = 0;
        LCM_E = 1;
        }

        //讀數(shù)據(jù)
        unsigned char ReadDataLCM(void)
        {
        LCM_RS = 1;
        LCM_RW = 1;
        LCM_E = 0;
        LCM_E = 0;
        LCM_E = 1;
        return(LCM_Data);
        }


        上一頁 1 2 下一頁

        關(guān)鍵詞: 例子 實驗 液晶顯示 使用

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 察隅县| 岫岩| 邳州市| 大关县| 潮安县| 宜阳县| 任丘市| 富源县| 平遥县| 营山县| 永靖县| 石景山区| 石狮市| 边坝县| 贵定县| 宣威市| 潮安县| 阳江市| 鹰潭市| 铁力市| 台北市| 加查县| 尉氏县| 霍山县| 科技| 岫岩| 冷水江市| 威海市| 寿阳县| 凤翔县| 舒兰市| 迭部县| 德惠市| 小金县| 萝北县| 屯昌县| 都兰县| 巴林右旗| 巴青县| 柏乡县| 四平市|