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

📄 1602.h

📁 主要实现通过单片机驱动LCD1602液晶显示器
💻 H
字号:
#include <reg52.h>

 
sbit LCD_CS	 =		P1^4;
sbit LCD_RS =		P1^3;
sbit LCD_A0  =		P1^2;
sbit LCD_CLK =		P1^1;
sbit LCD_SDI =		P1^0;
//========================================================================
// 函数: void LCD_DataWrite(unsigned int Data) 
// 描述: 写一个字节的显示数据至LCD中的显示缓冲RAM当中 
// 参数: Data 写入的数据  
// 返回: 无 
// 备注: 无 
// 版本: 
//      2007/05/17      First version 
//========================================================================
void LCD_DataWrite(unsigned char Dat)//,_Fill_Dot_LCD 
{ 
 unsigned char Num; 
  LCD_CS = 0; 
  LCD_A0 = 1; 
 for(Num=0;Num<8;Num++) 
 { 
    if((Dat&0x80) == 0)  LCD_SDI = 0; 
    else LCD_SDI = 1; 
    Dat = Dat << 1; 
    LCD_CLK = 0; 
    LCD_CLK = 1; 
 } 
  LCD_CS = 1; 
} 
//========================================================================
// 函数: void LCD_RegWrite(unsigned char Command) 
// 描述: 写一个字节的数据至LCD中的控制寄存器当中 
// 参数: Command    写入的数据 
// 返回: 无 
// 备注:  
// 版本: 
//      2007/05/17      First version 
//======================================================================== 
void LCD_RegWrite(unsigned char Command) 
{ 
 unsigned char Num; 
  LCD_CS = 0; 
  LCD_A0 = 0; 
 for(Num=0;Num<8;Num++) 
 { 
    if((Command&0x80) == 0) LCD_SDI = 0; 
    else LCD_SDI = 1; 
   Command = Command << 1; 
    LCD_CLK = 0; 
    LCD_CLK = 1; 
 } 
  LCD_CS = 1; 
} 
//======================================================================== 
// 函数: void LCD_Init(void) 
// 描述: LCD初始化程序,在里面会完成LCD初始所需要设置的许多寄存器,具体如果 
//    用户想了解,建议查看DataSheet 当中各个寄存器的意义 
// 参数: 无  
// 返回: 无 
// 备注: 
// 版本: 
//      2006/10/15      First version 
//  2007/01/09  V1.2  
//======================================================================== 
//延时程序 
void TimeDelay(int Time) 
{ 
 int i; 
  if(Time > 0) 
 { 
    for(i = 0;i < 800;i++) 
   { 
   } 
   Time --; 
 } 
} 
void LCD_Init(void) 
{ 
 //LCD驱动所使用到的端口的初始化(如果有必要的话) 
// LCD_PortInit(); 
 TimeDelay(200); 
  LCD_RS = 0; 
 TimeDelay(200); 
  LCD_RS = 1; 
  
  LCD_RegWrite(0xaf);                 //LCD On 
  LCD_RegWrite(0x2f);                      //设置上电控制模式 
  
  LCD_RegWrite(0x81);                    //电量设置模式(显示亮度) 
 LCD_RegWrite(0x1f);       //指令数据0x0000~0x003f 
  
  LCD_RegWrite(0x27);                    //V5内部电压调节电阻设置 
  LCD_RegWrite(0xa2);                 //LCD偏压设置 
  
  LCD_RegWrite(0xc8);                       //Com 扫描方式设置,反向 
  LCD_RegWrite(0xa0);                      //Segment方向选择,正常 
  LCD_RegWrite(0xa4);                    //全屏点亮/变暗指令 
  LCD_RegWrite(0xa6);                    //正向反向显示控制指令 
  
  LCD_RegWrite(0xac);                      //关闭静态指示器 
 LCD_RegWrite(0x00);       //指令数据 
  
  LCD_RegWrite(0x40 +0);                        //设置显示起始行对应RAM 
  LCD_RegWrite(0xe0);                           //设置读写改模式 
} 

⌨️ 快捷键说明

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