亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2861|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

1602液晶51單片機(jī)驅(qū)動(dòng)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:26188 發(fā)表于 2015-2-18 01:07 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
//引腳定義
#define LCD_RS      P21    // RS針,LCD數(shù)據(jù)/命令(H/L)選擇端
#define LCD_RW      P22    // R/W針,LCD讀/寫(xiě)(H/L)選擇端
#define LCD_EN      P23    // E針,LCD使能信號(hào)高有效
#define LCD_DATA    P0     // DB0~DB7針,LCD并行數(shù)據(jù)線(xiàn)
#define LCD_BUSY    P07    // DB7針,LCD忙信號(hào)位
#define LCD_GO_HOME               0x02         //AC=0,光標(biāo)、畫(huà)面回HOME位
//輸入方式設(shè)置
#define LCD_AC_AUTO_INCREMENT     0x06         //數(shù)據(jù)讀、寫(xiě)操作后,AC自動(dòng)增一
#define LCD_AC_AUTO_DECREASE      0x04         //數(shù)據(jù)讀、寫(xiě)操作后,AC自動(dòng)減一
#define LCD_MOVE_ENABLE           0x05         //數(shù)據(jù)讀、寫(xiě)操作,畫(huà)面平移
#define LCD_MOVE_DISENABLE        0x04         //數(shù)據(jù)讀、寫(xiě)操作,畫(huà)面不動(dòng)
//設(shè)置顯示、光標(biāo)及閃爍開(kāi)、關(guān)
#define LCD_DISPLAY_ON            0x0C         //顯示開(kāi)
#define LCD_DISPLAY_OFF           0x08         //顯示關(guān)
#define LCD_CURSOR_ON             0x0A         //光標(biāo)顯示
#define LCD_CURSOR_OFF            0x08         //光標(biāo)不顯示
#define LCD_CURSOR_BLINK_ON       0x09         //光標(biāo)閃爍
#define LCD_CURSOR_BLINK_OFF      0x08         //光標(biāo)不閃爍
//光標(biāo)、畫(huà)面移動(dòng),不影響DDRAM
#define LCD_LEFT_MOVE             0x05         //LCD顯示(整屏)右移一位 0x05
#define LCD_RIGHT_MOVE            0x07         //LCD顯示(整屏)左移一位 0x07
#define LCD_CURSOR_LEFT_MOVE      0x10         //光標(biāo)左移一位
#define LCD_CURSOR_RIGHT_MOVE     0x14         //光標(biāo)右移一位
//工作方式設(shè)置
#define LCD_DISPLAY_DOUBLE_LINE   0x38         //兩行顯示
#define LCD_DISPLAY_SINGLE_LINE   0x30         //單行顯示
/***************************************************************************************
** 函數(shù)名稱(chēng): void LCD_BUSY_Bit(void)
** 功能描述: 等待忙信號(hào)消失
****************************************************************************************/
void LCD_BUSY_Bit(void)   
{
    bit byteData;
    do
    {//循環(huán)開(kāi)始
        LCD_EN   = 0;           //使能關(guān)
        LCD_RS   = 0;           //指令方式
        LCD_RW   = 1;           //讀LCD
        LCD_DATA = 0xFF;        //拉高數(shù)據(jù)口電位
        LCD_EN   = 1;           //使能開(kāi)
        byteData = LCD_BUSY;    //取忙信號(hào)
    }while(byteData);           //循環(huán)終點(diǎn) 讀到 忙位為0退出,否則繼續(xù)讀忙。
    LCD_EN = 0;                 //使能關(guān)
}
/***************************************************************************************
** 函數(shù)名稱(chēng): void LCD_Write_Instruction(unsigned char byteData)
** 功能描述: 寫(xiě)指令
** 輸   入: unsigned char byteData
** 調(diào)用模塊: void LCD_BUSY_Bit(void)
****************************************************************************************/
void LCD_Write_Instruction(unsigned char byteData)
{
    LCD_BUSY_Bit();       //讀忙
    Delay_us(30);         //微秒級(jí)延時(shí)
    LCD_EN = 0;           //使能關(guān)
    LCD_RS = 0;           //1:數(shù)據(jù);0:指令
    LCD__RW = 0;          //1:讀;0:寫(xiě)
    LCD_DATA = byteData;  //指令寫(xiě)入數(shù)據(jù)口
    LCD_EN = 1;           //使能開(kāi)
    Delay_us(30);         //微秒級(jí)延時(shí)
    LCD_EN = 0;           //使能關(guān)
}
/***************************************************************************************
** 函數(shù)名稱(chēng): void LCD_Write_DATA(unsigned char byteData)
** 功能描述: 寫(xiě)數(shù)據(jù)
** 輸   入: unsigned char byteData 寫(xiě)數(shù)據(jù)
** 調(diào)用模塊: void LCD_BUSY_Bit(void)
****************************************************************************************/
void LCD_Write_DATA(unsigned char byteData)
{
    LCD_BUSY_Bit();       //讀忙
    Delay_us(30);         //微秒級(jí)延時(shí)
    LCD_EN = 0;           //使能關(guān)
    LCD_RS = 1;           //1:數(shù)據(jù);0:指令
    LCD_RW = 0;           //1:讀;0:寫(xiě)
    LCD_DATA = byteData;  //數(shù)據(jù)寫(xiě)入數(shù)據(jù)口
    LCD_EN = 1;           //使能開(kāi)
    Delay_us(30);         //微秒級(jí)延時(shí)
    LCD_EN = 0;           //使能關(guān)
}
/***************************************************************************************
** 函數(shù)名稱(chēng): void LCD_1602_Setup(void)
** 功能描述: 初使化1602液晶
****************************************************************************************/
void LCD_1602_Setup(void)
{
    LCD_write_instruction(LCD_AC_AUTO_INCREMENT|LCD_MOVE_DISENABLE); //AC自動(dòng)增1,讀寫(xiě)時(shí)畫(huà)面不移動(dòng)
    LCD_write_instruction(LCD_DISPLAY_ON|LCD_CURSOR_OFF);            //顯示開(kāi),光標(biāo)不顯示
    LCD_write_instruction(LCD_DISPLAY_DOUBLE_LINE);                  //雙行顯示
    LCD_Write_Instruction(1);                                        //清屏
}
/***************************************************************************************
** 函數(shù)名稱(chēng): void LCD_1602_write_char(unsigned char x,unsigned char y,unsigned char dat )
** 功能描述: 單個(gè)字寫(xiě)入到第x(1,2)行y(0,15)列
** 輸   入: unsigned char x 第x(1,2)行;unsigned char y(0,15)列;unsigned char *s要寫(xiě)ude字符
** 調(diào)用模塊: LCD_write_instruction(),LCD_Write_DATA()
****************************************************************************************/
void LCD_1602_write_char(unsigned x,unsigned char y,unsigned char dat )
{
unsigned char i = 0;
x = (x-1)*0x40;   //第幾行
y = x+y;   //第幾列
LCD_write_instruction(0x80+y);  
LCD_Write_DATA(dat); //寫(xiě)入字符串值
}



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:43559 發(fā)表于 2015-3-4 22:44 | 只看該作者
看看。感謝分享。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表