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

📄 lcd1602.h

📁 带T6963C控制器的240128液晶图形显示C程序
💻 H
字号:

//==========LCD1602小波版头文件=================
//设计者: 聂金波   niejinbo999@163.com
//proteus仿真论坛:http://proteus.5d6d.com
//-----------------2008/07/22-------------------

//----------宏定义方便使用---------
#define uchar unsigned char
#define uint unsigned int
//----------------------------------------
//sbit dula=P2^6;     // 数码管段选 
//sbit wela=P2^7;     // 数码管段选 

//开发板硬件原因,其它地方则可删除这两句
//----------------------------------------

//-----------定义端口(具体情况,具体对待)------------
#define DATA_PORT P0  //定义数据端口 // 次处定义为P0口

sbit lcden=P3^4;      //LCD使能信号(开发板为P3.5)
sbit lcdrs=P3^3;      //LCD数据/命令选择信号(开发板为P3.5)
//sibt lcdrw=P2^3     //此处只写不读,故lcdrw接地处理

//----硬件电路改变时候只需修改以上4个------------------

//----------函数声明---------------
void lcd_init();          //LCD初始化函数
void write_com(uchar);    //写命令函数
void write_data(uchar);   //写数据函数
void lcd_delay(uint);     //延时函数
void cursor_flash(uchar,uchar);   //光标在指定坐标闪烁
//----------------------------------

//**********LCD初始化函数开始*********
void lcd_init()
{
 // dula=0;               // 关闭数码管显示
 // wela=0;               // 开发板硬件原因,其它地方则可删除这两句
  lcden=0;
  write_com(0x38);      //设置显示模式:16X2,5X7,8位数据接口
  write_com(0x08);
  write_com(0x01);
  write_com(0x0c);      //开显示,显示光标,光标闪烁
  write_com(0x06);      //读写一个字符后,地址指针及光标加一,且光标加一整屏显示不移动
  write_com(0x80);      //设置光标指针
}

//-----------------------------

//**********写命令函数开始************
void write_com(uchar com)
{
 lcdrs=0;           //低电平写命令
 DATA_PORT=com;     //写入命令,DATA_PORT为数据端口
 lcd_delay(3);      //延时约3ms
 lcden=1;           //LCD使能端置高电平
 lcd_delay(5);      //延时约5ms
 lcden=0;           //LCD使能端拉低电平
}

//---------------------------------
//**********写数据函数开始************
void write_data(uchar dat)
 {
   lcdrs=1;             //低电平写数据
   DATA_PORT=dat;       //写入命令,DATA_PORT为数据端口
   lcd_delay(3);        //延时约3ms
   lcden=1;             //LCD使能端置高电平
   lcd_delay(5);        //延时约5ms
   lcden=0;             //LCD使能端拉低电平
 }

//==========================================
//--------光标在指定坐标闪烁函数----
void cursor_flash(uchar a,uchar b)
{
 write_com(0x80+a*0x40+b);
 write_com(0x14);
 write_com(0x0f);
 write_com(0x80+a*0x40+b);
 
}


//-----------延时函数---------------
void lcd_delay(uint k)
 {
  uint i,j;
  for(i=k;i>0;i--)
   for(j=50;j>0;j--);
 }


//==================================================

⌨️ 快捷键说明

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