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

📄 display.lst

📁 这是一个简单的步进电机的程序,用C51编写,主要可以定时控制电机进行180度的旋转
💻 LST
字号:
C51 COMPILER V7.06   DISPLAY                                                               12/04/2007 01:27:31 PAGE 1   


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

stmt level    source

   1          //文件名:display.c
   2          //入口参数:待显示的时间数组
   3          //功能:显示
   4          #include<reg51.h>
   5          #define uchar unsigned char 
   6          
   7          extern bit Glint_enable_flag,Pause_flag;
   8          extern bit volatile Glint_time_flag;
   9          extern uchar Counter;
  10          extern bit Time_set_mode;
  11          
  12          uchar code Control_table[]={0x1e,0x1d,0x1b,0x17,0x0f};//显示位控制码
  13                                    //p1.0,p1.1,p1.2,p1.3,p1.4 
  14          uchar  Dis_bit_p=0;//控制位指针
  15          
  16          uchar code Table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};
  17                            /*共阳LED显示查表*/ /* 0    1     2    3    4    5    6    7    8    9  -  不显示*/
  18          
  19          extern uchar Time[5];
  20          
  21          void interrupt_t1() interrupt 3 using 2///////////////////////////////////////////////////
  22          {
  23   1       uchar tmp,tmp1,sndacc;
  24   1       TH1=0xf8;//5ms
  25   1       TL1=0xcd;
  26   1       
  27   1      if(Time_set_mode==1||Pause_flag==1)
  28   1       {
  29   2        sndacc++;
  30   2        if(sndacc==250)
  31   2        {
  32   3         Glint_time_flag=!Glint_time_flag;
  33   3         sndacc=0;
  34   3        }
  35   2       }
  36   1      
  37   1       if(Glint_enable_flag==1&&Glint_time_flag!=0&&(Counter-1)==Dis_bit_p )//闪烁
  38   1       
  39   1        //如果是调时位,则跳过,不让其显示
  40   1        //@@@@@@Dis_bit_p++;
  41   1        {
  42   2        Dis_bit_p++;
  43   2        if(Dis_bit_p>4)
  44   2        Dis_bit_p=0;
  45   2        }
  46   1        tmp=P1;
  47   1        tmp=tmp&0xe0;//保存高三位1110,0000
  48   1        tmp1=tmp|Control_table[Dis_bit_p];//取控制码
  49   1        P1=tmp1;
  50   1        if(Glint_enable_flag==1&&Glint_time_flag!=0&&Pause_flag==1/*&&(Counter-1)==Dis_bit_p */)//闪烁
  51   1        P2=0xff;
  52   1        else
  53   1      
  54   1      
  55   1         {
C51 COMPILER V7.06   DISPLAY                                                               12/04/2007 01:27:31 PAGE 2   

  56   2         switch(Dis_bit_p)
  57   2         {
  58   3          case 0: P2=Table[Time[0]];break;
  59   3          case 1: P2=Table[Time[1]];break;
  60   3          case 2: P2=Table[Time[2]];break;
  61   3          case 3: P2=Table[Time[3]];break;
  62   3          case 4: P2=Table[Time[4]];break;
  63   3         }
  64   2         }
  65   1       
  66   1       Dis_bit_p++;
  67   1       if(Dis_bit_p>4)
  68   1       Dis_bit_p=0;
  69   1      }
  70          


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