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

📄 从机1.lst

📁 Proteus实例集锦(包括电路图.仿真程序,各种各样的电路
💻 LST
字号:
C51 COMPILER V8.08   从籣1                                                                 07/27/2007 10:57:17 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE 从籣1
OBJECT MODULE PLACED IN 从机1.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 从机1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <AT89x52.h>
   2          #include <intrins.h>
   3          
   4          #define led_io P0
   5          #define led_st P2
   6          #define name_rd 0x11             //一号机读命令
   7          #define name_wr 0x01             //一号机写命令
   8          
   9          
  10          void led_disp(uchar *num);
  11          void delay10ms(uchar t);
  12          
  13          sbit key_1=P1^5;          //换位
  14          sbit key_2=P1^6;          //加一
  15          sbit key_3=P1^7;          //减一
  16          
  17          uchar code led_code[]={
  18          0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
  19          0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x76,0x73,0x40};
  20          
  21          uchar name,len,i;
  22          uchar  led_buff[]={0xff,0xff,0xff};
  23          void led_int() interrupt 4 using 0
  24          { 
  25   1         if(RB8 & RI)
  26   1         {
  27   2            name=SBUF;          
  28   2                SM2=0;                       
  29   2         }
  30   1         else 
  31   1         {         
  32   2            if(name==name_wr)                            //串行接收
  33   2              {
  34   3                led_buff[len]=SBUF;
  35   3                    len++;
  36   3                        if (len==3)
  37   3                        {
  38   4                          len=0;
  39   4                        } 
  40   3              }
  41   2         }
  42   1         TI=0;
  43   1         RI=0;
  44   1      }
  45          delay1ms(uchar t)
  46          {
  47   1        while (t--);
  48   1      }
  49          main()
  50          {
  51   1         TMOD=0x20;
  52   1         TH1=0xFD;
  53   1         TL1=0xFD;
  54   1         TR1=1;
  55   1         len=0;   
C51 COMPILER V8.08   从籣1                                                                 07/27/2007 10:57:17 PAGE 2   

  56   1         key_1=0;
  57   1         key_2=0;
  58   1         key_3=0;
  59   1         EA=1;
  60   1         ES=1;                                 //开串口中断
  61   1         SCON=0xF0;
  62   1         while (1)
  63   1         {
  64   2           if ( key_2 )
  65   2               {
  66   3                 delay10ms(5);
  67   3                 if ( key_2 );
  68   3                  
  69   3               }
  70   2                if ( key_3 )
  71   2               {
  72   3                 delay10ms(5);
  73   3                 if ( key_3 );
  74   3                  
  75   3               }
  76   2               if(name==name_rd)                                 //串行发送
  77   2              {
  78   3                        ES=0;
  79   3                for(i=0;i<3;i++)
  80   3                        { 
  81   4                           SBUF=led_buff[i];               
  82   4                           while(!TI);
  83   4                           TI=0;
  84   4                        }     
  85   3                        ES=1;                                   
  86   3              }
  87   2               led_disp(led_buff);
  88   2         }   
  89   1      }
  90          void led_disp(uchar *num)
  91          {
  92   1        led_st=0x7f;
  93   1        led_io=led_code[num[2]&0x0f];                    //显示个位
  94   1        delay1ms(200);
  95   1        led_st=0xbf;
  96   1        led_io=led_code[(num[2]&0xf0)>>4];
  97   1        delay1ms(200);
  98   1        led_st=0xdf;
  99   1        led_io=led_code[num[1]&0x0f];
 100   1        delay1ms(200);
 101   1        led_st=0xef;
 102   1        led_io=led_code[(num[1]&0xf0)>>4];
 103   1        delay1ms(200);
 104   1        led_st=0xf7;
 105   1        led_io=led_code[num[0]&0x0f];
 106   1        delay1ms(200);
 107   1        led_st=0xfb;
 108   1        led_io=led_code[(num[0]&0xf0)>>4];
 109   1        delay1ms(200);
 110   1        led_st=0xfd;
 111   1        led_io=led_code[18];
 112   1        delay1ms(200);
 113   1        led_st=0xfe;
 114   1        if(name==name_rd)  
 115   1           led_io=led_code[17];                //如果位读显示“P”  
 116   1        else 
 117   1               led_io=led_code[16];                //如果位写显示“H”
C51 COMPILER V8.08   从籣1                                                                 07/27/2007 10:57:17 PAGE 3   

 118   1        delay1ms(200);
 119   1         
 120   1      }
 121          
 122          void delay10ms (  uchar t )                      //延时 10 MS
 123             {    uint i;
 124   1              for (i=0;i<t;i++)
 125   1                      {
 126   2                         TMOD=0x01;
 127   2                         TH0=0x0D8;
 128   2                         TL0=0X0F0;
 129   2                         TR0=1;
 130   2                         while(TF0!=1);
 131   2                         TF0=0;
 132   2                         TR0=0;                  
 133   2                       }         
 134   1      
 135   1         }


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