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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3977|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)俄羅斯方塊游戲 12864大液晶屏proteus仿真及源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主


仿真工程文件及所有完整程序等資料下載地址:http://www.zg4o1577.cn/bbs/dpj-56304-1.html


單片機(jī)程序:
  1. //*************************************************************************************************
  2. //*************************************************************************************************
  3. //**<程序名>:俄羅斯方塊游戲                                                                                                                                          **
  4. //**<版本說明>:此版是第一版,在LCD1608第4版基礎(chǔ)上改進(jìn)而來,目前只可以繪制游戲區(qū)域的邊框。                 **
  5. //**<完成時(shí)間>:2017年8月28日                                                                                                                                         **
  6. //**<作者>:LastRitter                                                                                                                                                         **
  7. //*************************************************************************************************
  8. //*************************************************************************************************

  9. //*************************************************************************************************
  10. //*                                                                                                                                                                                                  *
  11. //*                         ******************************頭文件及宏定義**************************                                  *
  12. //*                                                                                                                                                                                                  *
  13. //*************************************************************************************************
  14. #include "includes.h"


  15. #define TIME1H 0x3C
  16. #define TIME1L 0xB0                //定時(shí)器1溢出時(shí)間:50ms

  17. #define SCANPORT P1


  18. //*************************************************************************************************
  19. //*                                                                                                                                                                                                  *
  20. //*                         ******************************全局變量************************************                          *
  21. //*                                                                                                                                                                                                  *
  22. //*************************************************************************************************

  23. //unsigned char code uca_TEST[]={0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xF0,0xF0,0xF0,0xF0};
  24. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  25. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<防抖動(dòng)標(biāo)志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  26. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  27. bit b_KeyShock=0;                                          //鍵盤防抖動(dòng)標(biāo)志位。
  28.                                                                         //當(dāng)按鍵中斷產(chǎn)生時(shí),首先判斷此位。
  29.                                                                         //0--執(zhí)行鍵盤掃描及鍵碼處理程序;1--不執(zhí)行。

  30. bit b_KillShock=0;                                        //防抖標(biāo)志清除位:0--不清除;1--清除。

  31. unsigned char uc_KillCount=0;                //抖動(dòng)標(biāo)志清除計(jì)數(shù),使用定時(shí)器1。


  32. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  33. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<鍵盤掃描開啟標(biāo)志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  34. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  35. bit b_KeyScan=0;                                        //0--不掃描;
  36.                                                                         //1--掃描。


  37. //*************************************************************************************************
  38. //*                                                                                                                                                                                                  *
  39. //*                          ********************************主函數(shù)******************************                                  *
  40. //*                                                                                                                                                                                                  *
  41. //*************************************************************************************************


  42. /*********************** main ************************/
  43. void main(void)
  44. {

  45.         vLCDInitialize();

  46.         vShowOneChin(0,0,uca_QING);
  47.         vShowOneChin(2,0,uca_SHU);
  48.         vShowOneChin(4,0,uca_RU);
  49.         vShowOneChin(6,0,uca_MAOHAO);

  50.         vShowGraph(2,60,32,4,uca_Pig);
  51.         vShowFrame();

  52.         SCANPORT=0x0F;
  53.         
  54. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<外部中斷0,用于開啟鍵盤掃描及鍵碼處理標(biāo)志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  55.         IT0=1;                         //        中斷方式:下降沿。
  56.         EX0=1;                         //        開啟外部中斷。


  57. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<定時(shí)器1,用于防抖動(dòng)標(biāo)志清除 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  58.         TH1=TIME1H;
  59.         TL1=TIME1L;
  60.         TR1=1;                         //開啟定時(shí)器1
  61.         ET1=1;                         //開定時(shí)器1中斷

  62.         EA=1;

  63.         while(1)
  64.         {
  65.         if(b_KeyScan==1)                   //如果有按鍵按下,則進(jìn)行按鍵掃描和鍵碼處理。
  66.                 {
  67.                 b_KeyScan=0;
  68.                 vKeyProcess(ucKeyScan());
  69.                 }
  70.         }
  71. }



  72. //*************************************************************************************************
  73. //*                                                                                                                                                                                                  *
  74. //*                ******************************外部中斷0,用于開啟鍵盤掃描及鍵碼處理******************          *
  75. //*                                                                                                                                                                                                  *
  76. //*************************************************************************************************
  77. void vINT0(void) interrupt 0
  78. {
  79.         if(b_KeyShock==0)
  80.                 {
  81.                         b_KeyScan=1;                        //開啟鍵盤掃描標(biāo)志。
  82.                         b_KeyShock=1;                        //設(shè)置防抖動(dòng)標(biāo)志。
  83.                 }
  84.         else b_KeyShock=0;                                //如果有抖動(dòng)則不執(zhí)行鍵掃描,恢復(fù)防抖動(dòng)標(biāo)志。

  85. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<設(shè)置防抖動(dòng)清除標(biāo)志位 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>        
  86.         if(b_KeyShock==1)
  87.                 b_KillShock=1;                                //如果防抖動(dòng)標(biāo)志位開啟則開啟防抖動(dòng)標(biāo)志清除位,
  88.                                                                         //300ms后清除防抖動(dòng)標(biāo)志。

  89. }


  90. //*************************************************************************************************
  91. //*                                                                                                                                                                                                  *
  92. //*                ****************定時(shí)器1中斷,用于計(jì)時(shí)功能和防抖動(dòng)標(biāo)志清除***************************          *
  93. //*                                                                                                                                                                                                  *
  94. //*************************************************************************************************
  95. void vTimer1(void) interrupt 3
  96. {
  97. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  98. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<防抖動(dòng)標(biāo)志清除>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  99. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  100.         if(b_KillShock==1)
  101.                 {
  102.                 if(uc_KillCount==5)                         //當(dāng)防抖動(dòng)標(biāo)志位為1時(shí),計(jì)時(shí)300ms后清除抖動(dòng)標(biāo)志位。
  103.                         {
  104.                         b_KeyShock=0;
  105.                         b_KillShock=0;
  106.                         uc_KillCount=0;
  107.                         }
  108.                 else uc_KillCount++;
  109.                 }
  110. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  111. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<恢復(fù)定時(shí)器1溢出時(shí)間>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  112. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  113.         TH1=TIME1H;
  114.         TL1=TIME1L;
  115. }
復(fù)制代碼



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 四虎影院在线观看免费视频 | 午夜激情视频在线 | 婷婷五月色综合 | 免费看片在线播放 | 99国产视频 | 亚洲三区在线 | 黄色片视频网站 | 羞羞视频免费观看 | 在线视频99 | 亚洲第一福利网 | 精国产品一区二区三区四季综 | 亚洲国产成人精品久久 | 国产精品一区二区视频 | 久久久久久免费毛片精品 | 日韩国产欧美在线观看 | 久久噜噜噜精品国产亚洲综合 | 日韩中文字幕一区 | 91精品国产92 | 亚洲国产视频一区二区 | 国产伦精品一区二区三区高清 | 国产一区二区三区在线 | 成人在线视频免费看 | 精品在线观看一区二区 | 日日天天 | 日本视频一区二区三区 | 亚洲瑟瑟 | 围产精品久久久久久久 | 国产区在线免费观看 | 99re视频| wwwww在线观看 | 小视频你懂得 | 国产精品无码专区在线观看 | 伊人欧美视频 | 久久久久国产精品一区二区 | 久久国产精品免费一区二区三区 | 欧美一级特黄aaa大片在线观看 | 欧美一级欧美三级在线观看 | 久久久影院| 亚洲精品一区二三区不卡 | 女同久久另类99精品国产 | 精品一区二区不卡 |