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

📄 2he1.lst

📁 利用SST89E516实现24LED跑灯
💻 LST
字号:
C51 COMPILER V8.08   2HE1                                                                  05/07/2008 17:04:42 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE 2HE1
OBJECT MODULE PLACED IN 2he1.OBJ
COMPILER INVOKED BY: D:\Keilc51V808a\C51\BIN\C51.EXE 2he1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1                                     #include<reg52.h>
   2          #include<intrins.h>
   3          
   4          #define uchar unsigned char
   5          #define uint unsigned int 
   6          
   7          sbit  LEDdata=P1^0;
   8          sbit  LEDclk=P1^1;
   9          sbit  LEDmr=P1^2;
  10          
  11          /*延时*/
  12          void delay(uint time){
  13   1         uchar k;
  14   1         while(time--){
  15   2                      for(k=0;k<125;k++);
  16   2         }
  17   1      
  18   1      }
  19          /*传送LED数据*/
  20          void display(uchar num){
  21   1              
  22   1                      
  23   1                                      if (num&0x80) {
  24   2                                               LEDdata=1;
  25   2                                      }
  26   1                                      else{
  27   2                                               LEDdata=0;
  28   2                                      }
  29   1                                      num=_crol_(num,1);//左移一位
  30   1                              
  31   1                                      LEDclk=0;//写入数据
  32   1                                      _nop_();
  33   1                                      _nop_();
  34   1                                      LEDclk=1;
  35   1      
  36   1      
  37   1      }
  38          
  39            void delay_ms(unsigned short ms) 
  40          { 
  41   1      unsigned short i; 
  42   1      unsigned char j; 
  43   1          for(i=0;i<ms;i++) 
  44   1          { 
  45   2              for(j=0;j<200;j++); 
  46   2              for(j=0;j<102;j++); 
  47   2          } 
  48   1      } 
  49          void display_two(){
  50   1      unsigned char led_contrl;                  //指示灯控制字节 
  51   1      unsigned char i ;                     //循环变量 
  52   1      unsigned char contrl1,contrl2;            //指示灯移位变量 
  53   1                       //模式一:按次序闪烁灯 
  54   1             
  55   1              P0 = 0xff;                                      //熄灭所有指示灯                                            
C51 COMPILER V8.08   2HE1                                                                  05/07/2008 17:04:42 PAGE 2   

  56   1                  led_contrl=0x01;              //初始化指示灯控制字节 
  57   1                  delay_ms(300);                //延时300MS 
  58   1                  for(i=0;i<8;i++) 
  59   1                  { 
  60   2                                      P0=~led_contrl;           //点亮控制字节相应指示灯 
  61   2                      delay_ms(250); 
  62   2                      if(led_contrl<0x80){led_contrl<<=1; } //控制字节移位操作 
  63   2                      else {led_contrl=0x01;   }
  64   2                  } 
  65   1               
  66   1                              //模式二:依次点亮所有指示灯 
  67   1              
  68   1                      P0=0xff;
  69   1                 
  70   1                                                 //熄灭所有指示灯 
  71   1                  led_contrl=0xff;              //初始化指示灯控制字节 
  72   1                  contrl1=0xfe;                  //初始化移位变量1 
  73   1                  delay_ms(300); 
  74   1                  for(i=0;i<8;i++) 
  75   1                  {   
  76   2                      P0=led_contrl&contrl1;    //点亮控制字节相应的指示灯 
  77   2                      delay_ms(250); 
  78   2                      contrl1<<=1;              //移位变量左移1位 
  79   2                  } 
  80   1                                             
  81   1                                 //模式三:交叉闪烁指示灯              
  82   1                              P0=0xff;                       //熄灭所有指示灯 
  83   1                  contrl1=0x02;                  //初始化移位变量1 
  84   1                  contrl2=0x80;                  //初始化移位变量2 
  85   1                  delay_ms(300); 
  86   1                  for(i=0;i<8;i++) 
  87   1                  { 
  88   2                                      
  89   2                      led_contrl=contrl1|contrl2;                     
  90   2                      P0=~led_contrl;            //点亮控制字节相应指示灯 
  91   2                      delay_ms(250); 
  92   2                      contrl1<<=1;              //移位变量1左移1位 
  93   2                      contrl2>>=1;              //移位变量2右移1位 
  94   2                  } 
  95   1              
  96   1      }
  97          void main(){
  98   1                      uchar n,temp;
  99   1                      P1=0xff;
 100   1                      LEDclk=0;
 101   1                      LEDmr=0;
 102   1                      delay(1);
 103   1                      LEDmr=1;
 104   1              
 105   1                      while(1) {
 106   2                              temp=0xfe;        //显示的初值
 107   2                              for (n=23;n>0;n--){
 108   3                                       display(temp);//写入数据,并显示
 109   3                                       delay(200);
 110   3                                       temp=_crol_(temp,1);           
 111   3                                       temp=temp|0x01;
 112   3                              }
 113   2                                  display(0xff);      //关闭显示
 114   2                                      delay(400);
 115   2                                      display_two();
 116   2                      }
 117   1      }
C51 COMPILER V8.08   2HE1                                                                  05/07/2008 17:04:42 PAGE 3   



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