新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機lcd1602

        51單片機lcd1602

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

        Uchar i;

        for (i=0;i<16;i++)
        {

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

        DispOneChar(i,1,dd++);

        dd &= 0x7f;
        if (dd<32) dd=32;
        }
        }

        // 顯示光標定位
        void LocateXY( char posx,char posy)
        {

        Uchar temp;

        temp = posx & 0xf;
        posy &= 0x1;
        if ( posy )temp |= 0x40;
        temp |= 0x80;
        LcdWriteCommand(temp,0);
        }

        // 按指定位置顯示數出一個字符
        void DispOneChar(Uchar x,Uchar y,Uchar Wdata)
        {
        LocateXY( x, y ); // 定位顯示地址
        LcdWriteData( Wdata ); // 寫字符
        }

        // 初始化程序, 必須按照產品資料介紹的初始化過程進行
        void LcdReset( void ) {

        LcdWriteCommand( 0x38, 0); // 顯示模式設置(不檢測忙信號)
        Delay5Ms();
        LcdWriteCommand( 0x38, 0); // 共三次
        Delay5Ms();
        LcdWriteCommand( 0x38, 0);
        Delay5Ms();

        LcdWriteCommand( 0x38, 1); // 顯示模式設置(以后均檢測忙信號)
        LcdWriteCommand( 0x08, 1); // 顯示關閉
        LcdWriteCommand( 0x01, 1); // 顯示清屏
        LcdWriteCommand( 0x06, 1); // 顯示光標移動設置
        LcdWriteCommand( 0x0c, 1); // 顯示開及光標設置
        }

        // 寫控制字符子程序: E=1 RS=0 RW=0

        void LcdWriteCommand( Uchar CMD,Uchar AttribC ) {

        if (AttribC) while( Lcd1602StatusPort & Busy ); // 檢測忙信號?
        Lcd1602CmdPort = CMD;
        }

        // 當前位置寫字符子程序: E =1 RS=1 RW=0
        void LcdWriteData( char dataW ) {

        while( Lcd1602StatusPort & Busy ); // 檢測忙信號
        Lcd1602WdataPort = dataW;
        }

        // 短延時
        void Delay5Ms(void)
        {
        Uint i = 5552;
        while(i--);
        }

        //長延時
        void Delay400Ms(void)
        {
        Uchar i = 5;
        Uint j;
        while(i--)
        {
        j=7269;
        while(j--);
        };
        }



        關鍵詞: 51單片機lcd160

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 四平市| 通化市| 灵台县| 韶关市| 安化县| 鄂托克旗| 简阳市| 保康县| 亚东县| 双鸭山市| 盐山县| 龙山县| 手机| 清原| 怀宁县| 漳州市| 防城港市| 蒙山县| 中江县| 甘洛县| 南乐县| 宝丰县| 连江县| 通州区| 施秉县| 三明市| 清水县| 濮阳县| 青海省| 泸州市| 宣化县| 长寿区| 淮安市| 南溪县| 朔州市| 随州市| 大荔县| 阜新市| 昌乐县| 乐昌市| 郑州市|