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

📄 抢答器.lst

📁 51单片机实现抢答器
💻 LST
字号:
C51 COMPILER V7.50   抢答芲                                                                06/29/2006 15:01:43 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE 抢答芲
OBJECT MODULE PLACED IN 抢答器.OBJ
COMPILER INVOKED BY: D:\Program Files\C51\BIN\C51.EXE 抢答器.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          #define uchar unsigned char
   3          uchar k,i;
   4          sbit P3_2=P3^2;
   5          bit flag,flag_1=1;
   6          uchar duanma[10] =
   7          {
   8            0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90
   9          };
  10          uchar weima[4] =
  11          {
  12            0xfe, 0xfd, 0xfb, 0xf7
  13          };
  14          uchar huanchun[4];
  15          uchar room[6]={ 100,100,100,100,100,100};
  16          void Delay(uchar i)
  17          {
  18   1              do{
  19   2                              huanchun[0] = room[huanchun[3]]%10;
  20   2                      huanchun[1] = (room[huanchun[3]]/10)%10;
  21   2                      huanchun[2] = room[huanchun[3]]/100;
  22   2      
  23   2                 }while(i--);
  24   1      }
  25          void xianshi()interrupt 3       //中断显示
  26          {       
  27   1                TH1=0Xf8;                //显示定时两毫秒。
  28   1                TL1=0Xcc;
  29   1            P1 = weima[i];
  30   1            P2 = duanma[huanchun[i]];
  31   1            i++;
  32   1            if(i==4)i=0;
  33   1      }       
  34          unsigned char scankey()
  35          {
  36   1              unsigned char k,down,up;
  37   1              P0=0x00;
  38   1              P0=0xF0;
  39   1              k=P0;
  40   1              if(k==0xF0)return 0xFF;
  41   1              Delay(50);              ////////////
  42   1              down=3;
  43   1              while(k&0x80)down--,k<<=1;
  44   1              P0=0x00;
  45   1              P0=0x0F;
  46   1              k=P0;
  47   1              if(k==0x0F)return 0xFF;
  48   1              up=0;
  49   1              while(k&0x01)up+=4,k>>=1;
  50   1              return up+down;
  51   1      }//scankey
  52          songjian() //松键操作
  53          {       uchar k;
  54   1              while(1)
  55   1              {       k=scankey();
C51 COMPILER V7.50   抢答芲                                                                06/29/2006 15:01:43 PAGE 2   

  56   2                      if(k==scankey()&&k==0xff)break;
  57   2              }
  58   1      }               
  59          main()
  60          {
  61   1        TMOD = 0X01;
  62   1        TH1=0Xf8;     
  63   1        TL1=0Xcc;
  64   1        EA = 1;
  65   1        ET1 = 1;
  66   1        TR1 = 1;
  67   1        while(1)
  68   1        {             flag=0;
  69   2                      flag_1=1;
  70   2                      k=scankey();
  71   2                      Delay(100);
  72   2                      if(k==scankey()&&k!=0xff)
  73   2                      {       
  74   3                              songjian();
  75   3                              if(k==15)
  76   3                              {       
  77   4                                      huanchun[3]=0;
  78   4                                      flag=1;
  79   4                              }       
  80   3                              if(k==15&&flag==1)////
  81   3                              {               flag=0;
  82   4                                      while(flag_1)   
  83   4                                      {       k=scankey();
  84   5                                              Delay(100);
  85   5                                              if(k==scankey()&&k!=0xff)
  86   5                                              {
  87   6                                                      songjian();
  88   6                                                      switch(k)
  89   6                                                      {       
  90   7                                                              
  91   7                                                              case 4: huanchun[3]=1;
  92   7                                                                              flag_1=0;
  93   7                                                                              break;
  94   7                                                              case 5: huanchun[3]=2;
  95   7                                                                              flag_1=0;
  96   7                                                                              break;
  97   7                                                              case 6: huanchun[3]=3;
  98   7                                                                              flag_1=0;
  99   7                                                                              break;
 100   7                                                              case 7: huanchun[3]=4;
 101   7                                                                              flag_1=0;
 102   7                                                                              break;
 103   7                                                              case 8: huanchun[3]=5;
 104   7                                                                              flag_1=0;
 105   7                                                                              break;
 106   7                                                      }
 107   6                                              }
 108   5                                      }
 109   4                      
 110   4                                      }///////////
 111   3                              if(k==14)room[huanchun[3]]+=10;
 112   3                              if(k==13)room[huanchun[3]]-=10;
 113   3      
 114   3                      }
 115   2                      }
 116   1      }

C51 COMPILER V7.50   抢答芲                                                                06/29/2006 15:01:43 PAGE 3   


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    354    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     26    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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