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

📄 1602cheshi.c.txt

📁 51单片机试验板-sch-pcb-4.0M.zip
💻 TXT
字号:
#include <reg51.h>
#include<intrins.h> 
#define uchar unsigned char
#define uint  unsigned int

uchar code table1[]="I LOVE MCU";
uchar code table2[]="QQ:81311812";
sbit lcd_RS=P2^0;
sbit lcd_RW=P2^1;
sbit lcd_E=P2^2;
uchar dat;
void wr_dir(uchar dir) ;
void wr_data(uchar dat);
uchar rd_dir() ;
uchar rd_data();
void delay_50us(uint t)  //延时50us
{
uchar j;  
for(;t>0;t--)   
   for(j=19;j>0;j--);
}



void init()
{
   P0=0x00;
   lcd_E=0;
   lcd_RS=0;
   lcd_RW=0;
   
 //delay_50us(300); //15ms
 //write_dir(0x38); //可以不要/不影响
 //delay_50us(100); //
 //write_dir(0x38);//

  delay_50us(100); //时序很重要
  wr_dir(0x38); //16*2显示,5*7点阵,8位数据
  wr_dir(0x0f); // 设置显示和光标
  wr_dir(0x06); //设置输入方式
  wr_dir(0x01); //清屏
  wr_dir(0x80); // 起始RAM的ADDRSS设置
        

}

void main()
{  uchar i;
   init();
   
    wr_dir(0x80+0x10);
     for(i=0;i<10;i++)
        {
         wr_data(table1[i]);
         delay_50us(1);
        }
    wr_dir(0x80+0x50);
    for(i=0;i<11;i++)
        {
         wr_data(table2[i]);
         delay_50us(1);
        } 
	for(i=0;i<16;i++)
	{
		wr_dir(0x1c);
	   delay_50us(1);
     }
  while(1);
}


void wr_dir(uchar dir) //write diruction
{

  lcd_RS=0;
  lcd_RW=0;//让lcd工作在写指令/数据的状态
  P0=dir;
delay_50us(10);
  lcd_E=1;
delay_50us(10);
  lcd_E=0;
}

void wr_data(uchar dat)  //write data
{

   lcd_RS=1;
   lcd_RW=0;  //让lcd工作在写指令/数据的状态
   P0=dat;
delay_50us(10);
   lcd_E=1;
delay_50us(10);
   lcd_E=0;
}



uchar rd_dir()  //READ diruction
{  
    lcd_RS=0;
    lcd_RW=1;
delay_50us(10);
    lcd_E=1;
delay_50us(10);
    lcd_E=0;   
   return(P0);
}



uchar rd_data() //read data
{

   lcd_RS=1;
   lcd_RW=1;
delay_50us(10);
   lcd_E=1;
delay_50us(10);
   lcd_E=0;
   return(P0);  
}

⌨️ 快捷键说明

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