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

📄 lcm1602.c

📁 LCM1602自己编写的头文件
💻 C
字号:
#include <reg51.h>
//定义控制端口
sbit lcd_EN=P2^7;
sbit lcd_RW=P2^6;
sbit lcd_RS=P2^5;
//定义控制端口

//-------------------------------n毫秒延时程序 (12M晶震)-------------------------------
lcd_delay(unsigned char n)
{unsigned char i;
 while(n--)
      {for(i=0;i<240;i++);
       }
}
//-------------------------------延时程序结束-------------------------------

//-------------------------------读忙信号----------------------------------
lcd_wait()
{int i;
 for(i=0;i<200;i++);
}
//-------------------------------LCM空闲完成-------------------------------

//-------------------------------写指令  跟据手册 RS=L   RW=L   EN=H-------------------------------
lcd_write_command(unsigned char command,unsigned char lcd_busy)
{if(lcd_busy)
   lcd_wait();
   lcd_RS=0;
   lcd_RW=0;
   lcd_EN=1;
   P0=command;
   lcd_EN=0;
}
//-------------------------------写指令结束-------------------------------

//-------------------------------写数据初始化  跟据手册  RS=H   RW=L   EN=H-------------------------------
lcd_write_data(unsigned char char_data)
{lcd_wait();  //LCD是否空闲
 lcd_RS=1;
 lcd_RW=0;
 lcd_EN=1;
 P0=char_data;
 lcd_EN=0;
}
//-------------------------------写数据完成---------------------------------
//-------------------------------显示一个字符-------------------------------
display_a_char(unsigned char position,unsigned char char_data)
{lcd_wait(); //等待LCD空闲
 if(position>=16)
    position+=0xb0;                    //第二行数据指针
 else
    position+=0x80;                    //第一行数据指针 (手册)
    lcd_write_command(position,1);     //将所要写字符的位置找到
    lcd_write_data(char_data);         //写字符
}
//-----------------------------   结束显示一个字符---------------------------

//------------------------显示连续字符串 lcd_cow代表行(0:代表第一行,1:代表第二行)-----------------
display_a_string(unsigned char lcd_row,unsigned char *str)
{lcd_wait();
 lcd_row<<=4;
 while(*str!='\0')
      {display_a_char(lcd_row++,*(str++));
       }
}
//-------------------------------结束连续字符串-------------------------------

//-------------------------------LCM1602液晶显示器初始化编程-------------------------------
lcd_init()
{lcd_delay(15);
 lcd_write_command(0x38,0);
 lcd_delay(5);
 lcd_write_command(0x38,0);
 lcd_delay(5);
 lcd_write_command(0x38,0);
 lcd_write_command(0x08,1);
 lcd_write_command(0x01,1);
 lcd_write_command(0x06,1);
 lcd_write_command(0x0c,1);
}
//--------------------------LCM1602液晶显示器初始化编程结束--------------------------------

⌨️ 快捷键说明

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