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

📄 hello.lst

📁 C51 程序练习
💻 LST
字号:
C51 COMPILER V7.06   HELLO                                                                 10/22/2011 11:37:08 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE HELLO
OBJECT MODULE PLACED IN HELLO.OBJ
COMPILER INVOKED BY: E:\KEIL\C51\BIN\C51.EXE HELLO.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg52.h>
   2          #include <intrins.h>
   3          #define uchar unsigned char
   4          #define uint unsigned int
   5          uchar temp,t0,t1,wela,bai,shi,ge,flag,flag1;
   6          uint shu;
   7          void init();
   8          void delay(uint z);
   9          void display(uchar aa,uchar bb,uchar cc,uchar bai,uchar shi,uchar ge);
  10          uchar code table[]={
  11          0x3f,0x06,0x5b,0x4f,
  12          0x66,0x6d,0x7d,0x07,
  13          0x7f,0x6f,0x77,0x7c,
  14          0x39,0x5e,0x79,0x71,
  15          0x76,0x79,0x38,0x3f,0};//0到F表格HELLO
  16          void main()
  17          {
  18   1              init();
  19   1              while(1)
  20   1              {
  21   2                      if(flag1!=1)
  22   2                              display(7,6,5,bai,shi,ge);
  23   2                      else
  24   2                              display(16,17,18,18,19,20);//HELLO      
  25   2              }
  26   1      }
  27          
  28          void init()
  29          {
  30   1              flag=0;
  31   1              shu=432;
  32   1              temp=0xfe;//初始化第一个灯亮
  33   1              P2=temp;
  34   1              TMOD=0x11;//定时器的工作方式定时器0定时器1
  35   1              TH0=(65536-50000)/256;
  36   1              TL0=(65536-50000)%256;
  37   1              TH1=(65536-50000)/256;
  38   1              TL1=(65536-50000)%256;
  39   1              EA=1;
  40   1              ET0=1;
  41   1              ET1=1;
  42   1              TR0=1;
  43   1              TR1=1;  
  44   1      }
  45          
  46          void timer0() interrupt 1
  47          {
  48   1              TH0=(65536-50000)/256;
  49   1              TL0=(65536-50000)%256;
  50   1              t0++;
  51   1              if(flag!=1)
  52   1              {       if(t0==10)
  53   2                              {
  54   3                              t0=1;
  55   3                              temp=_crol_(temp,1);
C51 COMPILER V7.06   HELLO                                                                 10/22/2011 11:37:08 PAGE 2   

  56   3                              P2=temp;
  57   3                              }
  58   2              }
  59   1              else
  60   1                      {
  61   2                              if(t0%4==0)                     
  62   2                                      P2=~P2;//流水灯取反闪烁
  63   2                              if(t0==60)
  64   2                              {               
  65   3                                      TR0=0;
  66   3                                      P2=0xff;//流水灯停止
  67   3                                      flag1=1;
  68   3                              }       
  69   2                      }               
  70   1      }
  71          
  72          void timer1() interrupt 3
  73          {
  74   1              TH1=(65536-50000)/256;
  75   1              TL1=(65536-50000)%256;
  76   1              t1++;
  77   1              if(t1==2)
  78   1                      {
  79   2                              t1=0;
  80   2                              shu--;
  81   2                              bai=shu/100;
  82   2                              shi=shu%100/10;
  83   2                              ge=shu%10;
  84   2                              if(shu==398)
  85   2                                      {
  86   3                                              TR0=0;//控制流水灯的定时器关闭
  87   3                                              TH0=(65536-50000)/256;
  88   3                                              TL0=(65536-50000)%256;
  89   3                                              TR0=1;//重新启动
  90   3                                              flag=1;
  91   3                                              t0=0;
  92   3                                              P2=0xff;//关闭所有的流水灯
  93   3                                              TR1=0;//控制数码管的也关闭
  94   3                                      }       
  95   2                      }       
  96   1      }
  97          
  98          void display(uchar aa,uchar bb,uchar cc,uchar bai,uchar shi,uchar ge)
  99          {
 100   1                      wela=0xfe;//亮aa位1111 1110   
 101   1                      P1=wela;
 102   1                      P0=table[aa];
 103   1                      delay(1);
 104   1      
 105   1                      wela=0xfd;//亮bb1111 1101
 106   1                      P1=wela;
 107   1                      P0=table[bb];
 108   1                      delay(1);//快速延时动态显示
 109   1      
 110   1                      wela=0xfb;//亮cc1111 1011
 111   1                      P1=wela;
 112   1                      P0=table[cc];
 113   1                      delay(1);
 114   1      
 115   1                      wela=0xf7;//亮bai位1111 0111
 116   1                      P1=wela;
 117   1                      P0=table[bai];
C51 COMPILER V7.06   HELLO                                                                 10/22/2011 11:37:08 PAGE 3   

 118   1                      delay(1);
 119   1      
 120   1                      wela=0xef;//亮shi1110 1111
 121   1                      P1=wela;
 122   1                      P0=table[shi];
 123   1                      delay(1);//快速延时动态显示
 124   1      
 125   1                      wela=0xdf;//亮ge1101 1111
 126   1                      P1=wela;
 127   1                      P0=table[ge];       
 128   1                      delay(1);       
 129   1      }
 130          
 131          void delay(uint z)//延时子程序
 132          {
 133   1              uint x,y;
 134   1              for(x=z;x>0;x--)
 135   1                      for(y=110;y>0;y--);
 136   1      }
 137          
 138          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    434    ----
   CONSTANT SIZE    =     21    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     11       6
   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 + -