亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.lst

?? 用單片機實現推箱子游戲
?? LST
?? 第 1 頁 / 共 3 頁
字號:
 546   4                                              Map[pos-1]= 4;//娃娃臉的新位置
 547   4                                              Map[pos] = 0; //清空娃娃臉位置
 548   4                                      }
 549   3                                      break;
 550   3                         case 5: //移動方向前面是十字執行這里
 551   3                                      //十字的前面不是墻或箱子或十字就可以移動
C51 COMPILER V8.08   MAIN                                                                  06/15/2007 17:28:51 PAGE 10  

 552   3                                      if (Map[pos-2]==0)
 553   3                                      {
 554   4                                              Map[pos-2]= 3;//顯示箱子
 555   4                                              Map[pos-1]= 4;//娃娃臉的新位置
 556   4                                              Map[pos] = 0; //清空娃娃臉位置
 557   4                                      }
 558   3                                      else if (Map[pos-2]==2)
 559   3                                      {
 560   4                                          Map[pos-2]= 5;//顯示十字形
 561   4                                              Map[pos-1]= 4;//娃娃臉的新位置
 562   4                                              Map[pos] = 0; //清空娃娃臉位置
 563   4                                      }
 564   3                                      break;
 565   3                }
 566   2            Refyuan();    //刷新圓形
 567   2                MapCreate();  //刷新地圖
 568   2                GameDisplay(GamePic);//顯示游戲界面
 569   2                Next();       //判斷是否滿足進入下一關
 570   2         }
 571   1      }
 572          /**********************************************************
 573          *函數名:RightMove() 
 574          *功  能:娃娃臉向右移動 +1
 575          **********************************************************/
 576          void RightMove()
 577          {
 578   1         uchar pos;
 579   1         pos = ReadPosition(); //獲得娃娃臉的位置
 580   1         if (Map[pos+1]!=1)    //判斷移動方向前面是否是墻
 581   1         {
 582   2                switch (Map[pos+1]) 
 583   2                {
 584   3                         case 0: //移動方向前面是空的執行這里
 585   3                                      Map[pos+1] = 4;//娃娃臉的新位置
 586   3                                      Map[pos] =0;   //清空娃娃臉位置
 587   3                                      break;
 588   3                         case 2: //是圓形執行這里
 589   3                                      Map[pos+1] = 4;//娃娃臉的新位置
 590   3                                      Map[pos] =0;   //清空娃娃臉位置
 591   3                                      break;
 592   3                         case 3: //移動方向前面是箱子執行這里
 593   3                                      //箱子的前面不是墻或箱子或十字就可以移動
 594   3                                      if (Map[pos+2]==0)
 595   3                                      {
 596   4                                              Map[pos+2]= 3;//顯示箱子
 597   4                                              Map[pos+1]= 4;//娃娃臉的新位置
 598   4                                              Map[pos] = 0; //清空娃娃臉位置
 599   4                                      }
 600   3                                      else if(Map[pos+2]==2)
 601   3                                      {
 602   4                                              Map[pos+2]= 5;//顯示十字形
 603   4                                              Map[pos+1]= 4;//娃娃臉的新位置
 604   4                                              Map[pos] = 0; //清空娃娃臉位置
 605   4                                      }
 606   3                                      break;
 607   3                         case 5: //移動方向前面是十字執行這里
 608   3                                      //十字形的前面不是墻或箱子或十字就可以移動
 609   3                                      if (Map[pos+2]==0)
 610   3                                      {
 611   4                                              Map[pos+2]= 3;//顯示箱子
 612   4                                              Map[pos+1]= 4;//娃娃臉的新位置
 613   4                                              Map[pos] = 0; //清空娃娃臉位置
C51 COMPILER V8.08   MAIN                                                                  06/15/2007 17:28:51 PAGE 11  

 614   4                                      }
 615   3                                      else if(Map[pos+2]==2)
 616   3                                      {
 617   4                                              Map[pos+2]= 5;//顯示十字形
 618   4                                              Map[pos+1]= 4;//娃娃臉的新位置
 619   4                                              Map[pos] = 0; //清空娃娃臉位置
 620   4                                      }
 621   3                                      break;
 622   3                }
 623   2         Refyuan();    //刷新圓形
 624   2         MapCreate();  //刷新地圖
 625   2         GameDisplay(GamePic);//顯示游戲界面
 626   2         Next();       //判斷是否滿足進入下一關
 627   2         }
 628   1      }
 629          /**********************************************************
 630          *延時400us
 631          **********************************************************/
 632          void Delay400us() //晶振=12MHz 延時時間=404us
 633           {                                //晶振=11.0592MHz 延時時間≈438us
 634   1              uchar i,j;        //總的延時時間=[(2*i)+1]*j+1+1
 635   1              for (j=4;j>0;j--) //j=2用12MHz,j=4 是24MHz晶振
 636   1                      for (i=100;i>0;i--);
 637   1       }
 638          /**********************************************************
 639          *函數名:Sound()
 640          *功  能:音效子程序
 641          **********************************************************/
 642          void Sound()
 643          {
 644   1       uchar i;
 645   1       for (i=40;i>0;i--)
 646   1       {
 647   2               Beep=~Beep;
 648   2               Delay400us();
 649   2       }
 650   1      }
 651          /**********************************************************
 652          *函數名:IR()
 653          *功  能:外中斷遙控按鍵解碼程序(108ms)
 654          **********************************************************/
 655          void IR() interrupt 0 
 656          {
 657   1        uchar i,k;
 658   1        EA = 0;                       //關外中斷0
 659   1        if (P3_2==0)          //P3.2低電平繼續
 660   1        {
 661   2              for (i=8;i>0;i--)       //循環檢測10次,低電平引導信號干擾檢測(9ms)
 662   2              {
 663   3                      Delay400us(); //延時438us
 664   3                      if (P3_2==1)  //低電平引導信號出現高電平就跳出
 665   3                      { 
 666   4                              EA = 1; //開外中斷
 667   4                              return;
 668   4                      }
 669   3              }
 670   2              while(P3_2==0); //等待高電平引導信號到了.
 671   2              for (i=8;i>0;i--)  //循環檢測10次,高電平引導信號干擾檢測(4.5ms)
 672   2              {
 673   3                      Delay400us();
 674   3                      if (P3_2==0) //高電平引導信號出現低電平就跳出
 675   3                      { 
C51 COMPILER V8.08   MAIN                                                                  06/15/2007 17:28:51 PAGE 12  

 676   4                              EA = 1; //開外中斷
 677   4                              return;
 678   4                      }
 679   3              }
 680   2              while(P3_2==1); //等待高電平引導信號結束.
 681   2              //接收4個字節的數據
 682   2              for (k=0;k<4;k++)                                                                                                   
 683   2              {
 684   3                      for (i=8;i>0;i--)  //8位數據
 685   3                      {
 686   4                              while(P3_2==0);         //等待第一個地址碼的高電平到了.(保證判斷每位數據的起點一致)
 687   4                              Delay400us();
 688   4                              Delay400us();           //延時0.876ms去判斷P3.2的狀態(0.56ms<延時時間<1.125ms)
 689   4                              KeyCoding[k]>>= 1; //右移1位
 690   4                              if(P3_2==1)             //仍是1,最高位寫入1,0跳過
 691   4                                      KeyCoding[k]|= 0x80;
 692   4                              while(P3_2==1);         //等待高電平結束
 693   4                      }
 694   3              }
 695   2              //比較地址碼和地址反碼,不同解碼錯誤退出
 696   2              if (KeyCoding[0]!=~KeyCoding[1]&&KeyCoding[2]!=~KeyCoding[3])
 697   2              { 
 698   3                      EA = 1; //開外中斷
 699   3                      return;
 700   3              }
 701   2        }
 702   1        //按鍵判斷也可以放到這里
 703   1        Sound();      //解碼成功聲音提示.
 704   1        EA = 1;       //開外中斷
 705   1      }
 706          /**********************************************************
 707          *函數名:LOGO()
 708          *功  能:開機畫面
 709          **********************************************************/
 710          LOGO()
 711          {
 712   1        uchar i,j;
 713   1        LCDWriteCommand(0x30);//基本指令集
 714   1        LCDWriteCommand(0x80);//從第一行開始顯示
 715   1        for (i=0;i<4;i++)
 716   1        {
 717   2                for (j=0;j<16;j++)
 718   2                {
 719   3                        LCDWriteData(logotab[i][j]);
 720   3                }
 721   2        }
 722   1      }
 723          /**********************************************************
 724          *函數名:Delay1S()
 725          *功  能:初始化
 726          **********************************************************/
 727          Delay1S(uchar n)
 728          {
 729   1        uchar i,j,k,l;
 730   1        for (l=n;l>0;l--)
 731   1        {
 732   2              for (i=100;i>0;i--)
 733   2              {
 734   3                      for (j=40;j>0;j--)
 735   3                              for (k=250;k>0;k--);
 736   3              }
 737   2        }
C51 COMPILER V8.08   MAIN                                                                  06/15/2007 17:28:51 PAGE 13  

 738   1      }
 739          /**********************************************************
 740          *函數名:Init(void)
 741          *功  能:初始化
 742          **********************************************************/
 743          void Init()
 744          {
 745   1              EA  = 1; //開總中斷
 746   1              IT0 = 1; //外中斷0邊沿觸發
 747   1              EX0 = 1; //開外中斷0
 748   1      }
 749          /**********************************************************
 750          *函數名:main (void)
 751          *功能:主函數
 752          **********************************************************/
 753          void main (void)
 754          {
 755   1        uint i;
 756   1        Delay1S(1);//等待電源穩定
 757   1        LCDInit();   //液晶初始化程序
 758   1        for (i=1024;i>0;i--) GamePic[i] = 0;  //外部RAM清0
 759   1        LOGO(); //
 760   1        Delay1S(4);
 761   1        LCDWriteCommand(0x01);
 762   1        Delay400us();
 763   1        CopyMap(0);  //復制地圖數據
 764   1        MapCreate(); //地圖生成程序
 765   1        GameDisplay(GamePic);//游戲界面顯示程序
 766   1        Readyuan();   //讀得圓形的坐標位置和個數
 767   1        Init();          //
 768   1        while(1)
 769   1        {
 770   2               switch (KeyCoding[2])  //可以放到主程序的while(1)循環中.
 771   2              {//按鍵判斷
 772   3                case  0x51:  //確定鍵
 773   3                              guanka++; //關卡選擇(測試地圖編輯的是否正確用的)
 774   3                              if (guanka==20) guanka=0;
 775   3                              CopyMap(guanka);  //復制地圖數據
 776   3                              MapCreate();  //地圖生成程序
 777   3                              GameDisplay(GamePic);//游戲界面顯示程序
 778   3                              Readyuan();   //讀圓形的坐標和數目
 779   3                              KeyCoding[2] = 0;
 780   3                              break;
 781   3                case  0x06:  //向上鍵
 782   3                              UpMove();
 783   3                              KeyCoding[2] = 0;
 784   3                              break;
 785   3                case  0x44:  //向下鍵
 786   3                              DownMove();
 787   3                              KeyCoding[2] = 0;
 788   3                              break;
 789   3                case  0x47:  //向左鍵
 790   3                              LeftMove();
 791   3                              KeyCoding[2] = 0;
 792   3                              break;
 793   3                case  0x40:  //向右鍵
 794   3                              RightMove();
 795   3                              KeyCoding[2] = 0;
 796   3                              break;
 797   3                case  0x02:  //第一次按進入設置,第二次退出設置狀態
 798   3                              KeyCoding[2] = 0;
 799   3                              break;
C51 COMPILER V8.08   MAIN                                                                  06/15/2007 17:28:51 PAGE 14  

 800   3                case  0x07:  //系統設定鍵
 801   3                              KeyCoding[2] = 0;
 802   3                              break;
 803   3              }
 804   2        }
 805   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1656    ----
   CONSTANT SIZE    =   1524    ----
   XDATA SIZE       =     74    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       7
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品欧美日韩精品一| 国产成人欧美日韩在线电影| 91福利国产精品| 一区二区三区在线视频播放| 欧洲一区二区三区在线| 日欧美一区二区| 日韩欧美中文字幕一区| 国产精品一区在线观看乱码| 国产日韩精品一区二区三区| 99视频国产精品| 亚洲国产精品自拍| 日韩欧美在线一区二区三区| 国产麻豆视频一区| 日韩美女啊v在线免费观看| 欧美麻豆精品久久久久久| 久草在线在线精品观看| 国产精品无码永久免费888| 日本高清视频一区二区| 天天综合日日夜夜精品| 久久久99精品免费观看不卡| 91蜜桃网址入口| 青草国产精品久久久久久| 久久久欧美精品sm网站| 欧洲另类一二三四区| 久久精品久久99精品久久| 国产精品国产a级| 91精品国产91久久久久久最新毛片| 久久99精品久久久久久国产越南| 中日韩av电影| 欧美美女一区二区三区| 高清国产一区二区三区| 亚洲国产你懂的| 国产精品网站在线观看| 欧美电影在线免费观看| 成人精品视频一区二区三区| 亚洲高清久久久| 亚洲欧洲一区二区三区| 欧美一区二区三级| 91麻豆国产福利精品| 久久99精品久久久| 亚洲午夜在线视频| 国产精品区一区二区三| 91精品国产色综合久久ai换脸 | 欧美年轻男男videosbes| 国产一区二区不卡在线| 日韩国产成人精品| 亚洲人成在线观看一区二区| 精品第一国产综合精品aⅴ| 在线观看日韩国产| 成人免费福利片| 国产精品一区在线观看你懂的| 亚洲一区二区欧美日韩 | 亚洲人成电影网站色mp4| 亚洲国产精品国自产拍av| 91麻豆免费看片| 成人网在线播放| 国内精品久久久久影院色| 亚洲国产aⅴ天堂久久| 亚洲久本草在线中文字幕| 国产亚洲综合av| 久久综合九色综合97_久久久| 日韩亚洲欧美一区| 欧美日韩国产高清一区二区三区 | 国产成人综合网| 久久福利视频一区二区| 亚洲图片欧美色图| 一级日本不卡的影视| 中文字幕亚洲一区二区av在线| 国产日产欧美一区二区三区| 精品久久久久久无| 欧美精品一区二区在线观看| 日韩午夜在线影院| 日韩午夜电影av| 日韩欧美久久一区| 日韩欧美国产系列| 精品伦理精品一区| 久久久久久毛片| wwwwww.欧美系列| 久久综合久久久久88| 久久久久久久久久电影| 国产日韩三级在线| 国产精品私人影院| 1区2区3区国产精品| 亚洲人成网站精品片在线观看| 亚洲免费看黄网站| 亚洲va中文字幕| 热久久免费视频| 激情五月激情综合网| 国产一区二区在线看| 国产一区二区日韩精品| 国产mv日韩mv欧美| 一本一道综合狠狠老| 欧美日韩国产小视频在线观看| 678五月天丁香亚洲综合网| 日韩女优av电影在线观看| 久久久精品欧美丰满| 中文字幕精品综合| 亚洲最快最全在线视频| 视频一区视频二区在线观看| 久久国产精品露脸对白| 国产精品亚洲а∨天堂免在线| 成人午夜又粗又硬又大| 91成人免费在线视频| 7777精品伊人久久久大香线蕉经典版下载 | 日韩av高清在线观看| 久久精品99久久久| 成人午夜激情影院| 欧美性xxxxxx少妇| 精品国精品国产| 亚洲色图.com| 美国av一区二区| gogogo免费视频观看亚洲一| 精品视频在线免费观看| 久久综合九色综合欧美亚洲| 亚洲视频综合在线| 久久er99精品| 91福利资源站| 久久九九久久九九| 国产成人精品影视| 色婷婷激情一区二区三区| 欧美一区三区四区| 国产精品久久久爽爽爽麻豆色哟哟 | 国产一区二区三区综合| 色婷婷久久久亚洲一区二区三区| 日韩一区二区在线免费观看| 国产精品福利一区| 免费精品视频在线| 日本道精品一区二区三区| 国产无一区二区| 午夜精品久久久久久久久| 懂色av噜噜一区二区三区av| 欧美日韩亚洲综合一区二区三区| 中文字幕不卡的av| 精品在线观看视频| 91精品国产全国免费观看| 日韩理论片在线| 成人丝袜18视频在线观看| 欧美大肚乱孕交hd孕妇| 亚洲一区免费观看| 99久久亚洲一区二区三区青草| 久久综合九色综合欧美亚洲| 污片在线观看一区二区| 色婷婷综合久久久久中文一区二区| ww久久中文字幕| 麻豆一区二区在线| 欧美老女人在线| 亚洲一区在线视频| 色综合色狠狠综合色| 中文字幕乱码一区二区免费| 久久精品国产一区二区三| 91精品欧美综合在线观看最新| 有码一区二区三区| 92精品国产成人观看免费| 国产欧美日韩在线视频| 国产在线不卡一卡二卡三卡四卡| 69堂亚洲精品首页| 午夜精品一区二区三区免费视频| 91在线国产观看| 亚洲人123区| 欧美曰成人黄网| 亚洲一卡二卡三卡四卡无卡久久| 91小视频在线| 亚洲欧美激情视频在线观看一区二区三区| 国产精品一区二区在线播放| 国产亚洲精品精华液| 国产精品99久久不卡二区| 久久久99久久精品欧美| 国产一区在线看| 久久―日本道色综合久久 | 成人黄色大片在线观看| 久久精品亚洲精品国产欧美| 国产精品99久久久| 国产精品理论片| 99久精品国产| 亚洲综合免费观看高清完整版在线| 色哦色哦哦色天天综合| 亚洲午夜国产一区99re久久| 欧美裸体bbwbbwbbw| 美日韩黄色大片| 精品国产百合女同互慰| 成人精品鲁一区一区二区| 国产精品女上位| 色呦呦网站一区| 天天色天天爱天天射综合| 日韩免费高清电影| 国产成人在线电影| 亚洲欧美经典视频| 这里只有精品99re| 国产精品一区在线观看乱码 | 91精品免费在线观看| 久久精品国内一区二区三区| 久久久久久久久久久电影| 99在线热播精品免费| 亚洲高清视频的网址| 欧美精品一区二区三区一线天视频 | 精品一区二区三区在线播放视频| 亚洲男女一区二区三区| 欧美日韩精品三区| 国产精品一级在线| 亚洲一本大道在线|