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

📄 shizhong.lst

📁 非常之经典的MCS51程序,非常适合初学者
💻 LST
字号:
C51 COMPILER V7.06   SHIZHONG                                                              07/13/2006 15:39:44 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE SHIZHONG
OBJECT MODULE PLACED IN shizhong.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE shizhong.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //硬件平台:XD5101(unaided.21ic.org)
   2          //程序功能:计时器。两位led显示秒种,另两位显示分钟,用小数点隔开。
   3          //最大量程1小时。按键一下开始计时,第二下停止计时,第三下清零。
   4          #include<reg52.h>
   5          #define uchar unsigned char
   6          sbit s1 = P2^0;
   7          sbit s2 = P2^1;
   8          sbit s3 = P2^2;
   9          sbit s4 = P2^3;
  10          sbit en = P2^5;
  11          
  12          sbit Key1= P3^2;//对应学习板S1按键
  13          
  14          uchar second,minute,clock,number;
  15          //数码管显示
  16          uchar dis[10]={ 0x84,  // 0
  17                                  0xBD,  // 1
  18                                  0xE0,  // 2
  19                                  0xB0,  // 3
  20                                  0x99,  // 4
  21                                  0x92,  // 5
  22                                  0x82,  // 6
  23                                  0xBC,  // 7
  24                                  0x80,  // 8
  25                                  0x90  // 9
  26                                          };
  27          
  28          void timer0_init()
  29          {
  30   1              EA=1;
  31   1              ET0=1;
  32   1              TMOD=0x01;//工作方式1
  33   1              //定时50ms
  34   1              TL0=0x00;
  35   1              TH0=0x4C;
  36   1              TR0=0;
  37   1      }
  38          
  39          void timer0() interrupt 1
  40          {
  41   1              TF0=0;
  42   1              TL0=0x00;
  43   1              TH0=0x4C;
  44   1              ++clock;
  45   1      }
  46          
  47          void Delay(int m)
  48          {
  49   1              while(--m);
  50   1      }
  51          
  52          void display()
  53          {
  54   1              s1=0;
  55   1              P0=dis[minute/10];
C51 COMPILER V7.06   SHIZHONG                                                              07/13/2006 15:39:44 PAGE 2   

  56   1              Delay(100);
  57   1              s1=1;
  58   1              s2=0;
  59   1              P0=(dis[minute%10]&0x7F);//显示小数点,以区分分钟和秒钟
  60   1              Delay(100);
  61   1              s2=1;
  62   1              s3=0;
  63   1              P0=dis[second/10];
  64   1              Delay(100);
  65   1              s3=1;
  66   1              s4=0;
  67   1              P0=dis[second%10];
  68   1              Delay(100);
  69   1              s4=1;
  70   1      }
  71          
  72          void main()
  73          {
  74   1              second=0;
  75   1              minute=0;
  76   1              clock=0;
  77   1              number=0;
  78   1              Key1=1;
  79   1              timer0_init();
  80   1              en=0;
  81   1              while(1)
  82   1              {
  83   2                      if(!Key1)
  84   2                      {
  85   3                              ++number;
  86   3                              if(1==number)
  87   3                                      TR0=1;
  88   3                              if(2==number)
  89   3                                  TR0=0;
  90   3                              while(!Key1);
  91   3                      }
  92   2                      if(20==clock)//到一秒
  93   2                      {
  94   3                              clock=0;
  95   3                              ++second;               
  96   3                      }
  97   2                      if(60==second)//到一分
  98   2                      {
  99   3                              second=0;
 100   3                              ++minute;
 101   3                      }
 102   2                      if((60==minute)||(number>=3))//超出量程或者清零命令
 103   2                      {
 104   3                              second=0;
 105   3                              minute=0;
 106   3                              clock=0;
 107   3                              number=0;
 108   3                      }
 109   2                      display();
 110   2              }
 111   1      }
 112          
 113          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    193    ----
C51 COMPILER V7.06   SHIZHONG                                                              07/13/2006 15:39:44 PAGE 3   

   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 + -