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

📄 主函数.c

📁 推箱子游戏中的proteus仿真显示电路和键盘部分
💻 C
字号:
#include"160128_driver.h"
#include"at89x51.h"
#include"key.h"
//全局变量定义
sbit Speaker=P3^1;
bit F=0;//读时间标志
unsigned int Time=0;//时间记录寄存器
unsigned char Count=0,Counts=0;  //计数标志寄存器
//延时10ms子程序
void Delay_10ms()
{
unsigned char a,b,c;
for(a=0;a<10;a++)
for(b=0;b<3;b++)
for(c=0;c<220;c++);
}
//初始化显示
void Init_disply()
{
LCD_Init(0x00,0x00,0x14,0x40,0x01,0x14,0xa1,0x81,0x9c);
/*CGRAM偏置地址设置函数*/
Write_CGORM();
Han_Zi(0,0,0x84);
Han_Zi(0,18,0x88);
Han_Zi(1,7,0x98);
Han_Zi(1,9,0x9C);
Han_Zi(1,11,0xA0);
Han_Zi(6,3,0xC0);
Han_Zi(6,5,0xC4);
Han_Zi(6,7,0xC8);
Han_Zi(6,9,0xCC);
Han_Zi(6,11,0xD0);
Han_Zi(6,13,0xD4);
Han_Zi(6,15,0xD8);
Han_Zi(8,3,0xDC);
Han_Zi(8,5,0xE0);
Han_Zi(8,7,0xE4);
Han_Zi(8,9,0xE8);
Han_Zi(8,11,0xD0);
Han_Zi(8,13,0xEC);
Han_Zi(8,15,0xF0);
Han_Zi(11,4,0xAC);
Han_Zi(11,7,0xB0);
Han_Zi(11,10,0xB4);
Han_Zi(11,13,0xB8);
Han_Zi(13,9,0x94);
Han_Zi(14,0,0x8C);
Han_Zi(14,18,0x90);
Set_xy(4,4);
Write_8_Data(0x4c,0xc4);//l
Set_xy(4,5);
Write_8_Data(0x49,0xc4);//i
Set_xy(4,6);
Write_8_Data(0x41,0xc4);//a
Set_xy(4,7);
Write_8_Data(0x4f,0xc4);//o
Set_xy(4,9);
Write_8_Data(0x47,0xc4);//g
Set_xy(4,10);
Write_8_Data(0x55,0xc4);//u
Set_xy(4,11);
Write_8_Data(0x4f,0xc4);//o
Set_xy(4,13);
Write_8_Data(0x42,0xc4);//b
Set_xy(4,14);
Write_8_Data(0x41,0xc4);//a
Set_xy(4,15);
Write_8_Data(0x4f,0xc4);//o
Circle(63,79,60,1);
}
void main()
{
EA=ET0=ET1=1;
TMOD=0x11;
TH0=64800/256;
TL0=64800%256;
TH1=0x3c;
TL1=0xb0;
Init_disply();
while(1)
      {
      if(!P1_4)
	     {
         Delay_10ms();
         if(!P1_4)
	     while(!P1_4);break;
	     }
      }
TR0=TR1=1;
Circle(63,79,60,0);
Clear_LCD();
Dispaly();
Han_Zi(2,18,0xf4);
Han_Zi(14,18,0xf8);
New_Custom();
Han_Zi(8,18,0xbc);
New_Step();
while(1)
   {
   if(!P1_3)
	  {
      Delay_10ms();
      if(!P1_3)
         {
	     while(!P1_3);
		 TR0=1;
         Down_Push();
         }
	  }
if(!P1_1)
	  {
      Delay_10ms();
      if(!P1_1)
         {
	     while(!P1_1);
		 TR0=1;
         Left_Push();
         }
	  }
if(!P1_2)
	  {
      Delay_10ms();
      if(!P1_2)
         {
	     while(!P1_2);
		 TR0=1;
         Right_Push();
         }
	  }
if(!P1_0)
	  {
      Delay_10ms();
      if(!P1_0)
         {
	     while(!P1_0);
		 TR0=1;
         On_Push();
         }
	  }
if(!P3_0)
	  {
      Delay_10ms();
      if(!P3_0)
         {
	     while(!P3_0);
		 TR0=1;
         Choice_Customs();
         }
	  }
if(F)
      {
	  F=0;
	  Set_xy(13,17);
      Write_8_Data(0x10+Time/100,0xc4);//l
      Set_xy(13,18);
      Write_8_Data(0x10+Time%100/10,0xc4);//l
      Set_xy(13,19);
      Write_8_Data(0x10+Time%10,0xc4);//l*/
      }
   }
}
//定时器0中断发声程序
void Time_0_Int() interrupt 1 using 0
{
TH0=64800/256;
TL0=64800%256;
Count++;
if(Count==150)TR0=Count=0;//发声100ms
Speaker=~Speaker;
}
//定时器1中断计时程序
void Time_1_Int() interrupt 3 using 1
{
TH1=0x3c;
TL1=0xb0;
Counts++;
if(Counts==40)
   {
   Counts=0;
   Time++;
   F=1;
   }
}




⌨️ 快捷键说明

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