⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1602.c

📁 字符型液晶显示程序字符型液晶显示程序 字符型液晶显示程序 字符型液晶显示程序
💻 C
字号:
//------------------------------------------------------------------------------
void lcd_check(void)//LCD忙检测
{
    P1OUT=0xff; //先输出高电平
    P1DIR=0x00; //设置为输入状态
    LVC_DIR=1;  //设置4245的输入输出方向
    delay_us(1);
    RS=0;
    RW=1;
    EN=1;
    delay_us(1);
    while((P1IN&0x80)==0x80); //判断是否输出为0
    EN=0;
    LVC_DIR=0;  //输出
    delay_us(1);//管脚方向改变,时间
    P1DIR=0xff; //单片机管脚,设置为输出
}
//------------------------------------------------------------------------------
void write_com(unsigned char com,unsigned char biao) //写命令函数
{ 
    if(biao==1)//判断是否忙检测
        lcd_check();
    RS=0;
    RW=0;
    P1OUT=com;
    EN=1;
    delay_us(2);
    EN=0;
}
//------------------------------------------------------------------------------
void write_data(unsigned char wdata)//写入数据
{  
    lcd_check();//进行忙检测
    RS=1;
    RW=0;
    P1OUT=wdata;
    EN=1;
    delay_us(2);
    EN=0;
}
//------------------------------------------------------------------------------
void lcd_reset(void) //LCD初始化命令
{  
    delay_ms(15); 
    write_com(0x38,0);
    delay_ms(5); 
    write_com(0x38,0);
    delay_ms(5); 
    write_com(0x38,0);
    write_com(0x38,1);
    write_com(0x08,1);
    write_com(0x01,1);
    write_com(0x06,1);
    write_com(0x0c,1);
}
//------------------------------------------------------------------------------
void display_char(unsigned char y,unsigned char x,unsigned char ddata)
{
    unsigned char addr=0;
    if(y==0)
    {
        addr=x+0x80;//表示第一行地址
    }
    if(y==1)
    {
        addr=x+0x40+0x80; //表示第二行地址
    }
    write_com(addr,1); //写显示地址
    write_data(ddata); //写显示数据
}
//------------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -