新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 51单片机红外遥控点阵贪食蛇程序

51单片机红外遥控点阵贪食蛇程序

作者: 时间:2016-11-30 来源:网络 收藏

---------------------------------------------------------*/
void main()
{
uint8 i;
Radio_Init();//待机
Timer0_Init();
Matrix_Boot();
Timer1_Init();
ExtInt0_Init();
ExtInt1_Init();
Menu_Init();//菜单初始化
DS1302_Init();
DS18b20_Init();
snake_status=0;
while(1)
{
if(matrix.S==FIRST)//工作在首屏显示
{
ClearBuf();
if(matrix.N==SNAKE)//菜单编号等于snake游戏,显示snake游戏logo
Display_32x16(1);

else
if(matrix.N==JINIANRI)
Display_32x16(2);

else
if(matrix.N==TIME)
Display_32x16(3);//时钟LOGO

else if(matrix.N==SET)
{
Display_32x16(4);
}
else if(matrix.N==TEMPERATURE)
{
Display_32x16(5);
for(i=0;i<60;i++)
Display();

Display_32x16(6);
for(i=0;i<64;i++)
temp1[i]=temp[i];
Display_32x16(5);
UpDown_Move(UP,SET_NEXT_SPEED);
for(i=0;i<60;i++)
Display();
Display_32x16(5);
for(i=0;i<64;i++)
temp1[i]=temp[i];
Display_32x16(6);
UpDown_Move(DOWN,SET_NEXT_SPEED);
for(i=0;i<60;i++)
Display();
}
else if(matrix.N==RADIO)
Display_32x16(7);
Display();
}

本文引用地址:https://www.eepw.com.cn/article/201611/323812.htm

else//进入了程序执行状态
{
if(matrix.N==SNAKE)//执行贪食蛇游戏
{
//if(snake_status==0)//游戏状态为0,表示一次执行或者游戏结束 需初始化
//Snake_Init();//游戏初始化
//else
Snake_Ing();//游戏进行时
}
else if(matrix.N==JINIANRI)
Display_LeftMove(img_16x16III,25);
else if(matrix.N==TIME)
Time_Ing();
else if(matrix.N==SET)
TimeSet_Ing();
else if(matrix.N==TEMPERATURE)
Temperature_Ing();
else if(matrix.N==RADIO)
Radio_Ing();
}

}
}

/*---------------------------------------------------------
函数功能:Timer0中断服务
调用形式:
参数:
返回值:
修改时间:13.4.16
备注:
---------------------------------------------------------*/
void Timer0_IRQ() interrupt 1
{
seed++;
}

/*---------------------------------------------------------
函数功能:外中断1服务函数
调用形式:无
参数:无
返回值:
修改时间:13.4.17
备注:根据点阵的工作状态进行扫描,便于按键复用
---------------------------------------------------------*/
void ExtInt1_IRQ() interrupt 2
{
if(matrix.S==FIRST)
Menu_Key();//点阵状态工作在首屏,执行首屏按键扫描
else //执行程序时的按键扫描
{
if(matrix.N==SNAKE)
Snake_Key();//贪吃蛇游戏的按键扫描

else if(matrix.N==JINIANRI)
LeftMove_Key();
else if(matrix.N==TIME)
Time_Key();
else if(matrix.N==SET)
Time_Set_Key();
else if(matrix.N==TEMPERATURE)
Temperature_Key();
else if(matrix.N==RADIO)
Radio_Key();
}
}


上一页 1 2 下一页

评论


技术专区

关闭