久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

51單片機紅外遙控點陣貪食蛇程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年08月17日   【字體:


完整的源碼和制作資料下載:http://www.zg4o1577.cn/bbs/dpj-20623-1.html

/****************工程包含的頭文件*************************/
#include<stc12c5a.h>
#include<intrins.h>
#include"define.h"
#include"delay.h"
#include"zm.h"
#include"32x12matrix.h"
#include"menu.h"
#include"MySnake.h"
#include"ds1302.h"
#include"ds18b20.h"
#include"i2c.h"
#include"radio.h"
#include"ir.h"

/*---------------------------------------------------------
函數功能:Timer0初始化
調用形式:Timer0_Init();
參數:無
備注:用于產生具有隨機性質的貪食蛇游戲食物的坐標位置
---------------------------------------------------------*/
void Timer0_Init()
{
TMOD|=0x02;//重裝初值計數模式,TL0:0->255
IE|=0X82;
TH0=0;
TL0=0;
TR0=1;//開啟內部Timer0
}

/*---------------------------------------------------------
函數功能:ExtInt1初始化
調用形式:ExtInt1_Init();
參數:無
返回值:無
備注:下降沿
---------------------------------------------------------*/
void ExtInt1_Init(void)
{
IT1=1;
EA=1;
EX1=1;
}


/*---------------------------------------------------------
函數功能:主函數
調用形式:無
參數:無
返回值:無
修改時間:13.4.17
備注:無
---------------------------------------------------------*/
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();
}

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();
}
}

關閉窗口

相關文章

主站蜘蛛池模板: 国产男女猛烈无遮掩视频免费网站 | 午夜免费看 | 国产精品一区二区三区四区五区 | 日韩欧美成人精品 | 一区二区三区四区av | 国产欧美日韩一区 | 韩国av一区二区 | 国产丝袜人妖cd露出 | 在线只有精品 | 欧美a级成人淫片免费看 | 欧美综合视频在线 | 一区二区av在线 | 黄色一级毛片 | 中文在线a在线 | 日韩一区二区av | 视频在线一区二区 | 真人女人一级毛片免费播放 | 国产99免费视频 | 国产精品毛片久久久久久久 | 色综合久久天天综合网 | 亚洲高清在线免费观看 | 国产免费观看久久黄av片涩av | 99精品视频在线观看免费播放 | 国产精品揄拍一区二区 | 精品一二三区视频 | 在线观看国产视频 | 一区二区三区精品在线视频 | 久久久一二三区 | 正在播放国产精品 | 久久久久久久久久影视 | 久久国产精品-国产精品 | 欧美色综合天天久久综合精品 | 精品久久影院 | 99re视频在线观看 | 五月天婷婷综合 | 久热国产在线 | 免费亚洲一区二区 | 国产精品久久国产愉拍 | 成人在线免费观看 | 欧美日韩精品久久久免费观看 | 欧美日韩亚洲系列 |