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

📄 lcd.c

📁 单片机控制程序
💻 C
字号:
#include <reg51.h>

/********************************************************************/
//lcd part
#define  LINE1     0
#define  LINE2     1
#define  LINE1_HEAD    0x80
#define  LINE2_HEAD    0xC0
#define  LCD_DELAY_TIME   40
#define  DATA_MODE    0x38
#define  OPEN_SCREEN    0x0C
#define  DISPLAY_ADDRESS   0x80
#define  CLEARSCREEN    LCD_en_command(0x01)
//common part 
#define  HIGH   1
#define  LOW    0
#define  TRUE    1
#define  FALSE    0
#define  ZERO    0 
#define  MSB    0x80
#define  LSB    0x01

#define  LCDIO     P0
code unsigned char s1[13]={119,119,119,46,50,50,115,107,121,46,99,111,109,}; //显示www.22sky.com
code unsigned char s2[5]={68,73,83,80,58,}; //显示DISP:

/*****************************************************************************/
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
sbit LCD1602_RS=P2^7;   //data command select  1 data  0 command  pin 4 
sbit LCD1602_RW=P2^6;   //read write select   1 read   0 write     pin 5
sbit LCD1602_EN=P2^5;   //LCD enable signal             pin 6
/********************************************************************/

void LCD_en_command(unsigned char command);//write command function
void LCD_en_dat(unsigned char temp);//write data function
void LCD_init(void);//lcd initize function
void cap_clr(void);
void ad_clr(void);

/********************************************************************/
void delay_nms(unsigned int n);//delay function

/********************************************************************/
void LCD_en_command(unsigned char command)//写命令
{
 LCDIO=command;
 LCD1602_RS=LOW;   
 LCD1602_RW=LOW;
 LCD1602_EN=LOW;
delay_nms(2);
 LCD1602_EN=HIGH;
}
/********************************************************************/
void LCD_en_dat(unsigned char dat)//写数据
{
 LCDIO=dat;
 LCD1602_RS=HIGH;
 LCD1602_RW=LOW;
 LCD1602_EN=LOW;
 delay_nms(2);
 LCD1602_EN=HIGH;
}

/********************************************************************/
void LCD_init(void)
{ 
 unsigned char i;
 unsigned char *p_2=s2;
 unsigned char *p_1=s1;
 CLEARSCREEN;//clear screen 
 LCD_en_command(DATA_MODE);//set 8 bit data transmission mode 
 LCD_en_command(OPEN_SCREEN);//open display (enable lcd display)
 LCD_en_command(DISPLAY_ADDRESS);//set lcd first display address 
 CLEARSCREEN;//clear screen
/*****************lcd第一行显示:www.22sky.com**************************/
for(i=0;i<13;i++)
  	{
		LCD_en_command(0x80+i);
	 	LCD_en_dat(*p_1);
		delay_nms(2);
		p_1=p_1+1;
	}

/*****************lcd第二行显示阻值:DISP:**************************/
  for(i=0;i<5;i++)
  	{
		LCD_en_command(0xc0+i);
	 	LCD_en_dat(*p_2);
		delay_nms(2);
		p_2=p_2+1;
	}


}
/********************************************************************/
/*********************** OTHER PART *********************************/
void delay_nms(unsigned int n)      
{
    unsigned int i=0,j=0;
    for (i=n;i>0;i--)
     for (j=0;j<1140;j++);  
}
/********************************************************************/

⌨️ 快捷键说明

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