久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: LCD1602液晶最新資料 說明了具體的時間要求 [打印本頁]

作者: 人人學會單片機    時間: 2021-4-23 22:12
標題: LCD1602液晶最新資料 說明了具體的時間要求
本帖最后由 人人學會單片機 于 2021-4-23 22:16 編輯

15 03 18 01 LCD1602詳細中文資料 20210423.pdf (2.35 MB, 下載次數: 127)
//**************************************************/******************祁緒電子---2021年4月 *************
//0、本程序配套視頻教程《人人學會單片機》錄制時間為:2020年6月25日
//1、本代碼和資料最后編輯時間為:2021年4月24日,視頻和代碼不同之處,以本代碼為準。
//2、本代碼只適合STC15W單片機。可能不兼容其他單片機。
//**************************************************/*******************祁緒電子---2021年4月 *************

#include "all.h"
u8 xdata LCD1602_Write_Buffer1[16];                //1602 上行數據
u8 xdata LCD1602_Write_Buffer2[16];                //1602 下行數據
u8 code LCD1602_5x8[8]={0x08,0x00,0x07,0x08,0x08,0x08,0x08,0x07};
u8 xdata LCD1602_Write_Cursor_Add;

//**************************************************/*******************祁緒電子---2021年4月 *************
//LCD1602驅動芯片AiP31066要求:兩次寫入的時間間隔有39us、43us等,為確保穩定好記,周期取50微秒最好。
//LCD1602_Delay函數的參數是工作在STC15W單片機+30M晶振頻率,74HC595數據發送時間15us,
//如果74HC595使用bit方式操作,或者直接單片機并口發送到LCD,請將本延遲函數改成50us。
//74HC595使用循環移位方式,那么,執行delay函數的時間 = 50us - 74HC595數據發送時間15us ≈ 35us,既len=1 執行35us
//**************************************************/*******************祁緒電子---2021年4月 *************

void LCD1602_Delay(u8 len)                                //既len=1 執行35us
{
        u8 idata i;
        while(len--)
        {
                i=70;                                                        //經過測量得到的值
                while(i--);
        }
}

//**************************************************/*******************祁緒電子---2021年4月 *************
//向LCD1602液晶里面寫入一個命令(既地址),兩次調用時間間隔絕對要大于40us。
//**************************************************/******************祁緒電子---2021年4月 *************

void LCD1602_Write_Add(u8 Add)               
{
        LCD1602_RS=0;
        LCD1602_E=0;
        LCD1602_Delay(1);
        LCD1602_E=1;
        HC595_Write_Buffer[0]=Add;               
        HC595_Write_Buffer[1]=0;
        HC595_Write_Data_Drive();
        LCD1602_E=0;
}

//**************************************************/*******************-祁緒電子---2021年4月 *************
//向LCD1602液晶里面寫入一個數據(既字符),兩次調用時間間隔絕對要大于40us。
//**************************************************/*******************祁緒電子---2021年4月 *************

void LCD1602_Write_Dat(u8 Dat)                        //寫內容
{
        LCD1602_RS=1;
        LCD1602_E=0;
        LCD1602_Delay(1);
        LCD1602_E=1;
        HC595_Write_Buffer[0]=Dat;               
        HC595_Write_Buffer[1]=0;
        HC595_Write_Data_Drive();
        LCD1602_E=0;        
}

//**************************************************/*******************--祁緒電子---2021年4月 *************
//LCD1602的硬件初始化,以及寫入自定義圖像,(特別注意:使用595驅動LCD,則本函數必須寫在595初始化后面)
//**************************************************/*******************--祁緒電子---2021年4月 *************

void LCD1602_Init()
{
        u8 i;
        LCD1602_Delay(250);                                        //上電后等待至少15ms,才能往LCD寫指令
        LCD1602_Delay(250);                                        //上電后等待至少15ms,才能往LCD寫指令
        
        LCD1602_Write_Add(0x38);                        //執行時間40us   設置總線模式為八位        總線
        
        LCD1602_Write_Add(0x01);                        //執行時間1.53ms 清除整個屏幕需要很長時間
        LCD1602_Delay(50);
        
        LCD1602_Write_Add(0x02);                        //執行時間1.53ms 光標地址返回到原點
        LCD1602_Delay(50);
        
        LCD1602_Write_Add(0x06);                        //執行時間40us   字符書寫模式
        LCD1602_Write_Add(0x0C);                        //執行時間40us   顯示開、關
        LCD1602_Write_Add(0x14);                        //執行時間40us          光標或者字符移動設置                  
        
        LCD1602_Write_Add(0x40);                        //執行時間40us         自定義存儲空間起始地址
        for(i=0;i<8;i++)
        {
                LCD1602_Write_Dat(LCD1602_5x8);//每寫入一個字節的執行時間是45us
        }
}

//**************************************************/******************* -祁緒電子---2021年4月 *************
//LCD1602 顯示字符和光標控制
//**************************************************/******************-祁緒電子---2021年4月 *************

void LCD1602_Display_Ser()
{
        u8 i;
        LCD1602_Write_Add(0x80);                        //40us        設置顯示地址
        for(i=0;i<16;i++)
        {
                LCD1602_Write_Dat(LCD1602_Write_Buffer1);//每寫入一個字節的執行時間是45us
        }
        LCD1602_Write_Add(0xC0);                        //40us        設置顯示地址
        for(i=0;i<16;i++)
        {
                LCD1602_Write_Dat(LCD1602_Write_Buffer2);//每寫入一個字節的執行時間是45us
        }
        switch(LCD1602_Write_Cursor_Add)
        {
                case 0:LCD1602_Write_Add(0x0C);break;//不顯示也不閃爍光標
                case 1:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xCa);break;
                case 2:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xCd);break;
                case 3:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xC7);break;
                case 4:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xC4);break;
                case 5:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xC1);break;
                case 6:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xCf);break;
                case 7:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0x89);break;
                case 8:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0x86);break;
                case 9:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0x83);break;
        }
}


作者: lon7085    時間: 2021-4-24 11:09
好數據,感謝樓主分享!
作者: shiranPCB    時間: 2023-10-15 12:26
非常有用,中文比較容易理解




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产精品国产精品国产专区不卡 | 欧美69视频 | 欧洲一区二区 | 国产人成一区二区三区影院 | a一级黄色片| av天天干 | 成人激情在线 | 伊人久久影院 | 久久久久久久影院 | 91超碰人人 | 99亚洲精品 | a级片在线| 98在线视频 | av网站观看| 亚洲一区中文字幕 | 日韩第一区 | 一区二区三区国产精品 | 午夜网站在线观看 | 欧美在线亚洲 | 亚洲精品黄色 | 国产精品美女久久 | 欧美美女视频 | 成人毛片网站 | 精品欧美日韩 | 欧美在线视频播放 | av不卡在线 | 伊人成人在线视频 | 久久亚洲欧美 | www.成人网 | 香蕉伊人网| 欧美日韩性| 国产欧美激情 | 91插插插插插 | 欧美在线视频一区二区 | 超碰成人av| 中文字幕av在线 | 国产一区二区三区视频在线 | 欧美三级大片 | 国产一级自拍 | 国产精品1区2区 | 黄色片免费网站 |