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

📄 qiangda.lst

📁 利用单片机做的抢答器
💻 LST
字号:
C51 COMPILER V7.50   QIANGDA                                                               10/30/2008 16:53:08 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE QIANGDA
OBJECT MODULE PLACED IN qiangda.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE qiangda.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          unsigned char DATA_7seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//两位时间段码
   3          sbit start=P1^7;     //抢答开始
   4          sbit mode=P2^7;      //模式选择——抢答-定
   5          sbit add=P3^7;      //调时
   6          sbit beep=P0^7;               //蜂鸣器
   7          sbit k1=P0^0;
   8          sbit k2=P0^1;
   9          sbit k3=P0^2;
  10          sbit k4=P0^3;
  11          sbit k5=P0^4;
  12          sbit k6=P0^5;
  13          sbit k7=P0^6;
  14          unsigned int time=10;  //默认倒计时
  15          unsigned int time_set=10;
  16          void Timer();
  17          /*******延时 n*1mS 程序********/
  18          void Delay(unsigned int k)
  19          {  
  20   1         unsigned int i,j;
  21   1         for(i=0;i<k;i++)
  22   1          {
  23   2            for(j=0;j<0x60;j++)
  24   2          {;}
  25   2          }
  26   1      } 
  27          /**************输入倒计时——时间**********************/
  28           in_time()
  29          { 
  30   1        while(1)
  31   1        {
  32   2          P3=0xbf;
  33   2          P2=DATA_7seg[time/10];
  34   2          P1=DATA_7seg[time%10];
  35   2          if(add==0)         //输入时间
  36   2              {  Delay(8);
  37   3           if(add==0)
  38   3                     { time++;
  39   4              time_set=time;
  40   4              Delay(250); }
  41   3           if(time==100)
  42   3                  { time=0; }
  43   3          }
  44   2        if(start==0) break;
  45   2         } 
  46   1      }
  47          /************抢答选择**********/
  48          void question(void)
  49          {   
  50   1         while(1)
  51   1          {  
  52   2         if(k1==0) { P3=0xf9; break; }   //1 号
  53   2         if(k2==0) { P3=0xa4; break; }   //2 号
  54   2         if(k3==0) { P3=0xb0; break; }   //3 号
  55   2         if(k4==0) { P3=0x99; break; }   //4 号
C51 COMPILER V7.50   QIANGDA                                                               10/30/2008 16:53:08 PAGE 2   

  56   2         if(k5==0) { P3=0x92; break; }   //5 号
  57   2         if(k6==0) { P3=0x82; break; }   //6 号
  58   2         if(k7==0) { P3=0xf8; break; }   //7 号
  59   2            P3=0xbf; P2=time; P1=0xbf;
  60   2        }
  61   1      }
  62          /*************************************************/
  63          //倒计时
  64          void Timer()
  65          { 
  66   1         while(1)
  67   1          {  P2=DATA_7seg[time/10];
  68   2                P1=DATA_7seg[time%10];
  69   2            --time;
  70   2         Delay(1200);      //延时大约一秒
  71   2        if(time==0) {time=time_set; break; }
  72   2              }
  73   1      }
  74                      
  75          /***************主程序**************/
  76          main()
  77          {  
  78   1         while(start)
  79   1          {
  80   2           P3=0xbf;
  81   2           P2=0xc0;
  82   2           P1=0xc0;
  83   2        Delay(50);
  84   2        P2=0xff;  P1=0xff;
  85   2        Delay(50); 
  86   2        if(mode==0)  
  87   2         {   
  88   3         Delay(8);
  89   3            if(mode==0) { in_time();}
  90   3          }
  91   2         } 
  92   1        Delay(350);
  93   1        while(1)
  94   1         {
  95   2           P3=0xc0;
  96   2           P2=0xbf;
  97   2           P1=0xbf;
  98   2           P0=0xff;        //抢答器初始化
  99   2        Delay(50);
 100   2        P2=0xff;  P1=0xff;
 101   2        Delay(50); 
 102   2        if(start==0)
 103   2            {
 104   3            Delay(8);
 105   3          if(start==0)
 106   3              {
 107   4                        question();   // 抢答选择
 108   4             
 109   4                      Timer();     //进入倒计时
 110   4                        }
 111   3                }
 112   2          }
 113   1       
 114   1      } 


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V7.50   QIANGDA                                                               10/30/2008 16:53:08 PAGE 3   

   CODE SIZE        =    327    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14    ----
   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 + -