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

📄 main.lst

📁 用proteus模拟仿真实现俄罗期方块游戏
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.05a   MAIN                                                                 09/09/2007 10:45:20 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE sources\main.c BROWSE INCDIR(.\include) DEBUG OBJECTEXTEND PRINT(.\main.lst
                    -) OBJECT(main.obj)

line level    source

   1          //*************************************************************************************************
   2          //*************************************************************************************************
   3          //**<程 序 名>:俄罗斯方块游戏                                                                                                                                   **
   4          //**<版本说明>:正式版,完成俄罗斯方块基本的全部功能。                                                                                   **
   5          //**<仿真说明>: 本程序在Proteus7.1SP2上仿真成功,编译后内存约为14.5K,单片机可以选用at89c51RB2, **
   6          //**                    内存位16K,由于Proteus仿真问题,液晶竖立时会产生错误,所以汉字和数字采用的字模   **
   7          //**                    在实际使用时需要改正,数字显示函数也需改正,液晶驱动可能也需要随控制器的不同而   **
   8          //**                    做适当修改,键盘扫描可能也许根据实际情况修改,其他的函数均与硬件无关。                   **
   9          //**<缺    陷>:方块类型不是随机产生,记分部分过于简单,游戏规则尚且贫乏,待改进。虽经不断测试   **
  10          //**                    消除大量bug,但仍需改进修正,恳请您的指正和合理建议。由于本人不熟悉C高级语余,   **
  11          //**                    法,故程序中基本没有出现高级语法,由于开始程序机构和算法设计欠考虑,故程序有冗   **
  12          //**                    累赘,效率低下的地方较多,请多多包涵,我对很大一部分已想出新算法。有改本程序或   **
  13          //**                    者想自写本游戏者,我愿意无偿提供技术支持。欢迎交流!                                                     **
  14          //**<完成时间>:2007年9月5日                                                                                                                                     **
  15          //**<作    者>:LastRitter                                                                                                                                               **
  16          //**<联系方式>:E-mail:superyongzhe@163.com;QQ:314665354。                                                                               **
  17          //*************************************************************************************************
  18          //*************************************************************************************************
  19          
  20          //*************************************************************************************************
  21          //*                                                                                                                                                                                               *
  22          //*                      ******************************头文件及宏定义**************************                           *
  23          //*                                                                                                                                                                                               *
  24          //*************************************************************************************************
  25          #include "includes.h"
  26          
  27          #define TIME1H 0x3C
  28          #define TIME1L 0xB0             //定时器1溢出时间:50ms
  29          
  30          #define SCANPORT P1             //键盘接口。
  31          
  32          
  33          //*************************************************************************************************
  34          //*                                                                                                                                                                                               *
  35          //*                      ******************************全局变量************************************                       *
  36          //*                                                                                                                                                                                               *
  37          //*************************************************************************************************
  38          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  39          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<防抖动标志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  40          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  41          bit b_KeyShock=0;                                       //键盘防抖动标志位。
  42                                                                                  //当按键中断产生时,首先判断此位。
  43                                                                                  //0--执行键盘扫描及键码处理程序;1--不执行。
  44          
  45          bit b_KillShock=0;                                      //防抖标志清除位:0--不清除;1--清除。
  46          
  47          unsigned char uc_KillCount=0;           //抖动标志清除计数,使用定时器1。
  48          
  49          
  50          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  51          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<键盘扫描开启标志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  52          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  53          bit b_KeyScan=0;                                        //0--不扫描;
  54                                                                                  //1--扫描。
C51 COMPILER V8.05a   MAIN                                                                 09/09/2007 10:45:20 PAGE 2   

  55          
  56          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  57          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<方块定时下降>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  58          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  59          bit b_BlockDown=0;                                 //0-关闭定时器定时下降置位;1-开启定时器定时下降置位。
  60          bit b_DownStart=0;                                 //0-关闭下降置位;1-开启下降置位。
  61          unsigned char uc_DownCount=0;      //定时器定时计数。
  62          
  63          //*************************************************************************************************
  64          //*                                                                                                                                                                                               *
  65          //*                       ********************************主函数******************************                            *
  66          //*                                                                                                                                                                                               *
  67          //*************************************************************************************************
  68          void main(void)
  69          {
  70   1              SCANPORT=0x0F;                    //初始化键盘。        
  71   1              vLCDInitialize();                 //初始化LCD。
  72   1              vGameInitialize();                //初始化游戏。
  73   1                      
  74   1      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<外部中断0,用于开启键盘扫描及键码处理标志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  75   1              IT0=1;                   //     中断方式:下降沿。
  76   1              EX0=1;                   //     开启外部中断。
  77   1      
  78   1      
  79   1      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<定时器1,用于防抖动标志清除 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  80   1              TH1=TIME1H;
  81   1              TL1=TIME1L;
  82   1              TR1=1;                   //开启定时器1
  83   1              ET1=1;                   //开定时器1中断
  84   1      
  85   1              EA=1;

⌨️ 快捷键说明

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