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

📄 5w mself.lst

📁 这是一款老化新型的小型继电器的装置
💻 LST
字号:
C51 COMPILER V7.50   5W_MSELF                                                              04/24/2008 16:45:52 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE 5W_MSELF
OBJECT MODULE PLACED IN 5W mself.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 5W mself.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //--------------头文件------------------------
   2          #include<REG51.H>
   3          //--------------自定义-----------------------
   4          #define DB_port P2
   5          sbit key_start=P1^0;
   6          sbit key_stop=P1^1;
   7          sbit relay_out=P1^7;
   8          sbit clk_164=P2^4;
   9          sbit data_164=P2^5;
  10          unsigned char step;
  11          unsigned int relay_data;
  12          unsigned char data_array[5];
  13          //--------------函数声明---------------------
  14          void delay(unsigned char j);
  15          void delays(void);
  16          void key_dispose(void);
  17          void display(void);
  18          void display2(void);
  19          void transmit(unsigned char digital);
  20          void timer0_initial(void);
  21          void xxxqq(void);
  22          //--------------主函数------------------------
  23          void main(void)
  24          {     
  25   1            relay_out=1;
  26   1                clk_164=1;
  27   1                delay(50);
  28   1            transmit(0x00);
  29   1                do{
  30   2            xxxqq();
  31   2                }
  32   1                while(1);
  33   1      }
  34          void xxxqq(void)
  35                    {
  36   1            if(key_start==0)
  37   1            delays();
  38   1            if(key_start==0)
  39   1            {   
  40   2                    relay_out=1;
  41   2                DB_port=DB_port||0x0f;
  42   2                timer0_initial();
  43   2                    for(;;)
  44   2                    {   
  45   3                            if(key_stop==0)
  46   3                    delays();
  47   3                    if(key_stop==0)
  48   3                        {EA=0;}
  49   3                                if(key_start==0)//+
  50   3                                delays();       //+
  51   3                                if(key_start==0)//+
  52   3                                {EA=1;}         //+
  53   3                        if(relay_data>=25000)
  54   3                            {EA=0;}
  55   3                            display();
C51 COMPILER V7.50   5W_MSELF                                                              04/24/2008 16:45:52 PAGE 2   

  56   3                    }
  57   2             }
  58   1             else
  59   1                    display2();
  60   1                 }
  61          //-------------延时--------------------------
  62          void delay(unsigned char j)
  63          {
  64   1          unsigned char i;
  65   1              unsigned int db_data;
  66   1      
  67   1          for(i=0;i<j;i++)
  68   1              {
  69   2              data_array[4]=relay_data/10000;
  70   2                db_data=relay_data%10000;
  71   2              data_array[3]=db_data/1000;
  72   2                       db_data=db_data%1000;
  73   2              data_array[2]=db_data/100;
  74   2                    db_data=db_data%100;
  75   2              data_array[1]=db_data/10;
  76   2              data_array[0]=db_data%10;         
  77   2              }
  78   1      }
  79          void delays(void)
  80          {
  81   1           unsigned char d;
  82   1               for(d=0;d<10;d++);
  83   1      }
  84          //-------------响应按键----------------------
  85          void key_dispose(void)
  86          {
  87   1      }
  88          //--------------定时器初始化------------------
  89          void timer0_initial(void)
  90          {
  91   1              EA=0;
  92   1                      ET0=0;
  93   1                      TR0=0;
  94   1                      TMOD=0x01;
  95   1                      TH0=0x3c;
  96   1                      TL0=0xb0;
  97   1                      ET0=1;
  98   1                      TR0=1;
  99   1                      EA=1;
 100   1      }
 101          //--------------定时器中断函数----------------
 102          void timer0(void) interrupt 1 using 1
 103          {
 104   1              TH0=0x3c;
 105   1                      TL0=0xb0;
 106   1              step++;
 107   1              if(step==80)
 108   1                  relay_out=0;
 109   1              if(step==86)
 110   1              {
 111   2                      relay_out=1;
 112   2                      step=0;
 113   2                      relay_data++;
 114   2              }
 115   1      } 
 116          //--------------显示处理函数-------------------0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
 117          void display(void)
C51 COMPILER V7.50   5W_MSELF                                                              04/24/2008 16:45:52 PAGE 3   

 118          {
 119   1             unsigned char code 
 120   1                 form[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};//
 121   1      
 122   1             DB_port=DB_port|0x0f;
 123   1             transmit(form[0]);
 124   1             DB_port=DB_port|0x0f;
 125   1                 DB_port=DB_port&0xf0;
 126   1                 delay(1);
 127   1      
 128   1                 DB_port=DB_port|0x0f;
 129   1                 transmit(form[data_array[4]]);
 130   1                 DB_port=DB_port|0x0f;
 131   1                 DB_port=DB_port&0xf1;
 132   1                 delay(1);
 133   1      
 134   1                 DB_port=DB_port|0x0f;
 135   1                 transmit(form[data_array[3]]);
 136   1                 DB_port=DB_port|0x0f;
 137   1                 DB_port=DB_port&0xf2;
 138   1                 delay(1);
 139   1      
 140   1                 DB_port=DB_port|0x0f;
 141   1                 transmit(form[data_array[2]]);
 142   1                 DB_port=DB_port|0x0f;
 143   1                 DB_port=DB_port&0xf3;
 144   1                 delay(1);
 145   1      
 146   1                 DB_port=DB_port|0x0f;
 147   1                 transmit(form[data_array[1]]);
 148   1                 DB_port=DB_port|0x0f;
 149   1                 DB_port=DB_port&0xf4;
 150   1                 delay(1);
 151   1      
 152   1                 DB_port=DB_port|0x0f;
 153   1                 transmit(form[data_array[0]]);
 154   1                 DB_port=DB_port|0x0f;
 155   1                 DB_port=DB_port&0xf5;
 156   1                 delay(1);
 157   1                 DB_port=DB_port|0x0f;
 158   1      }
 159          void display2(void)
 160          {
 161   1             DB_port=DB_port|0x0f;
 162   1             transmit(0x3f);
 163   1             DB_port=DB_port|0x0f;
 164   1                 DB_port=DB_port&0xf0;
 165   1                 delay(1);
 166   1      
 167   1                 DB_port=DB_port|0x0f;
 168   1                 transmit(0x3f);
 169   1                 DB_port=DB_port|0x0f;
 170   1                 DB_port=DB_port&0xf1;
 171   1                 delay(1);
 172   1      
 173   1                 DB_port=DB_port|0x0f;
 174   1                 transmit(0x3f);
 175   1                 DB_port=DB_port|0x0f;
 176   1                 DB_port=DB_port&0xf2;
 177   1                 delay(1);
 178   1      
 179   1                 DB_port=DB_port|0x0f;
C51 COMPILER V7.50   5W_MSELF                                                              04/24/2008 16:45:52 PAGE 4   

 180   1                 transmit(0x3f);
 181   1                 DB_port=DB_port|0x0f;
 182   1                 DB_port=DB_port&0xf3;
 183   1                 delay(1);
 184   1      
 185   1                 DB_port=DB_port|0x0f;
 186   1                 transmit(0x3f);
 187   1                 DB_port=DB_port|0x0f;
 188   1                 DB_port=DB_port&0xf4;
 189   1                 delay(1);
 190   1      
 191   1                 DB_port=DB_port|0x0f;
 192   1                 transmit(0x3f);
 193   1                 DB_port=DB_port|0x0f;
 194   1                 DB_port=DB_port&0xf5;
 195   1                 delay(1);
 196   1                 DB_port=DB_port|0x0f;
 197   1      }
 198          //--------------发送字节函数-------------------
 199          void transmit(unsigned char digital)
 200          {
 201   1           unsigned char a;
 202   1           unsigned char b=0x01;
 203   1               unsigned char i=0;
 204   1               for(i=0;i<8;i++)
 205   1              {
 206   2                  a=(digital&b);
 207   2                  if(a==0)
 208   2                  {
 209   3                     data_164=0;
 210   3                         data_164=0;
 211   3                         data_164=0;
 212   3                         clk_164=0;
 213   3                         clk_164=0;
 214   3                         clk_164=1;
 215   3                         clk_164=1;
 216   3                   }
 217   2                   else
 218   2                   {
 219   3                     data_164=1;
 220   3                         data_164=1;
 221   3                         data_164=1;
 222   3                         clk_164=0;
 223   3                         clk_164=0;
 224   3                         clk_164=1;
 225   3                         clk_164=1;
 226   3                        }
 227   2                        b<<=1;
 228   2               }
 229   1      }
 230                             
 231          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    547    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
C51 COMPILER V7.50   5W_MSELF                                                              04/24/2008 16:45:52 PAGE 5   

END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -