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

📄 项目大体程序.c

📁 其代码实现了 52单片机的液晶显示 在两幅画面 之间跳动 通过按键
💻 C
字号:


  #include <reg52.h>
  #define uchar unsigned char 
  #define uint unsigned int   

  uchar code table[]="ZAO RI KANG FU ";
  uchar code table1[]=" THE HOSPITAL";
  uchar code table2[]=" 1 warning ";
  uchar code table3[]=" warning 1 ";

  sbit lcden=P0^2;
  sbit lcdrs=P0^0;
  sbit lcdrw=P0^1;

   uchar num;

  void delay(uint z)
  {
	uint x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
   }

 void write_com(uchar com)
  {
	lcdrs=0;
	lcdrw=0;
	P2=com;
	delay(5);
	lcden=1;
	delay(5);
	lcden=0;
  }

 void write_data(uchar date)
  {
	lcdrs=1;
	lcdrw=0;
	P2=date;
	delay(5);
	lcden=1;
	delay(5);
	lcden=0;
  }

 void zhongduan_init()
   {  
   IE=0X88;
   TCON=0X08;
   IP=0X04;
   }   
 void iteruupt_int1(void)  //外部中断1的服务程序
  {   
  write_com(0x01);
  for(num=0;num<9;num++)
 	  {
		write_data(table2[num]);
		delay(20);
    	}
      write_com(0x80+0x50);
  
     for(num=0;num<10;num++)
    	{
 		write_data(table3[num]);
		delay(20);
	
        }
}              
void init()
{    
	lcden=0;
	lcdrw=0;
	write_com(0x38);// 功能设置 
	write_com(0x0f);//显示控制 
	write_com(0x06);//输入模式 
	write_com(0x01);//清零 
	write_com(0x80+0x10);//显示地址
        P1&=0xfe;
	P1|=0x02;
}

void main()
{
	init();//初始化界面
        zhongduan_init();//外部中断1初始化
 	for(num=0;num<14;num++)
 	{
		write_data(table[num]);
		delay(20);
 	}
	write_com(0x80+0x50);
 	for(num=0;num<13;num++)
 	{
		write_data(table1[num]);
		delay(20);
 	}
	for(num=0;num<16;num++)
	{
		write_com(0x18);
		delay(20);
	}
while(1)
{  
     write_com(0x01);
   if(P1==0x00)//按键模块
      for(num=0;num<8;num++)
 	  {
		write_data(table[num]);
		delay(20);
    	}
      write_com(0x80+0x53);
  
     for(num=0;num<12;num++)
    	{
 		write_data(table1[num]);
		delay(20);
		}
   }    

   }

⌨️ 快捷键说明

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