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

📄 main.lst

📁 51单片机c语言编程及实验例子大全
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  10/18/2006 10:38:25 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <AT89X51.H> 
   2          unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,
   3                                                                  0x6d,0x7d,0x07, 0x7f,0x6f, }; 
   4          unsigned char sec;        //定义计数值,每过1/10秒,sec加一
   5          unsigned char keycnt=1;   
   6          unsigned int tcnt;        //键值判断
   7          sbit gewei=P1^3;               //个位选通定义
   8          sbit shiwei=P1^2;              //十位选通定义
   9          sbit INT_0=P3^2;                           //按键定义位
  10          void Delay(unsigned int tc)     //延时程序
  11          {
  12   1              while( tc != 0 )                        
  13   1              {
  14   2                      unsigned int i;                 
  15   2                      for(i=0; i<100; i++);   
  16   2                      tc--;                                   
  17   2              }
  18   1      }
  19          void LED()                  //LED显示函数
  20          {
  21   1             shiwei=0;
  22   1                 P0=table[sec/10]|0x80;//十位加上小数点
  23   1                 Delay(8);
  24   1                 shiwei=1;
  25   1                 gewei=0;
  26   1                 P0=table[sec%10];
  27   1                 Delay(5);  
  28   1                 gewei=1;
  29   1      }
  30          void KEY()          //按键扫描程序
  31          {
  32   1       unsigned char i,j; 
  33   1       if(INT_0==0) 
  34   1        { 
  35   2          for(i=20;i>0;i--)     //延时去干扰
  36   2          for(j=248;j>0;j--); 
  37   2          if(INT_0==0) 
  38   2            { 
  39   3              switch(keycnt)  //按下次数判断
  40   3                { 
  41   4                  case 1:     //第一次按下
  42   4                    TH0=0x06; //对TH0 TL0赋值
  43   4                    TL0=0x06; 
  44   4                    TR0=1;    //开始定时
  45   4                                keycnt=2; //为第二次做准备
  46   4                    break; 
  47   4                  case 2:     //第二次按下 
  48   4                    TR0=0;    //定时结束
  49   4                                keycnt=3; //为第三次按下做准备
  50   4                    break; 
  51   4                  case 3:     //第三次按下
  52   4                   keycnt=1;  //重新开始判断键值
  53   4                   sec=0;     //计数重新从零开始
  54   4                    break; 
  55   4                } 
C51 COMPILER V7.06   MAIN                                                                  10/18/2006 10:38:25 PAGE 2   

  56   3              while(INT_0==0); 
  57   3            }   
  58   2              }   
  59   1      }   
  60          void t0(void) interrupt 1 using 0  //定时中断服务函数
  61          { 
  62   1      tcnt++;        //每过250ust tcnt加一
  63   1      if(tcnt==400)  //计满400次(1/10秒)时
  64   1        { 
  65   2          tcnt=0;   //重新再计
  66   2          sec++;    
  67   2          if(sec==100) //定时10秒,在从零开始计时
  68   2            { 
  69   3              sec=0; 
  70   3            } 
  71   2        } 
  72   1      }
  73          void main(void) 
  74          { 
  75   1      TMOD=0x02;  //定时器工作在方式2 自动重装方式
  76   1      ET0=1;      //允许T0产生中断
  77   1      EA=1;           //开总中断
  78   1      sec=0; 
  79   1      while(1) 
  80   1        {   
  81   2            KEY(); 
  82   2                LED();
  83   2              }
  84   1      }
  85          
  86          
  87          
  88          
  89          
  90          
  91          
  92          
  93          
  94          
  95          
  96          
  97          
  98          
  99          
 100          
 101          
 102          
 103          
 104          
 105          
 106          
 107          
 108          
 109          
 110          
 111          
 112          
 113          
 114          
 115          
 116          
 117          
C51 COMPILER V7.06   MAIN                                                                  10/18/2006 10:38:25 PAGE 3   

 118          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    195    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4       2
   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 + -