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

📄 c3.lst

📁 rs485通讯程序实现控制继电器等外围电器
💻 LST
字号:
C51 COMPILER V8.05a   C3                                                                   11/01/2007 09:49:20 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE C3
OBJECT MODULE PLACED IN c3.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE c3.c DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          //#include <AT89X52.h>
   3          #include <stdio.h>
   4          #define RX_PAN_UP 0x40           //
   5          #define RX_PAN_DOWN 0x41         //
   6          #define RX_PAN_LEFT 0x42         //
   7          #define RX_PAN_RIGHT 0x43        //
   8          #define uchar unsigned char
   9          #define uint unsigned int
  10          data uchar buffer[5];           //
  11          data uchar ReadIndex;           //
  12          data uchar point;          //
  13          Uar_Init();
  14          sbit P20=0xA0;
  15          sbit P21=0xA1;
  16          sbit P33=0xB3;
  17          void Translate_RxByte(uchar RxByte);
  18          bit Change_Flag;
  19          void Update_LED();
  20          bit read_flag=0;
  21          
  22          Uart_Init()
  23          {
  24   1              SCON=0x50;
  25   1              TMOD=0x20;
  26   1              TH1=0xFD;
  27   1              TL1=0xFD;
  28   1              TR1=1;
  29   1              ES=1;
  30   1              EA=1;
  31   1              P33=0;
  32   1              P21=0;
  33   1      }
  34          
  35          void Serial_int() interrupt 4 using 3
  36          {
  37   1              uchar ch;
  38   1              if(RI==1)
  39   1              {
  40   2                      RI=0;
  41   2                      ch=SBUF;
  42   2                      if(ch==0xFF)
  43   2                      {
  44   3                              point=0;
  45   3                              buffer[point]=ch;
  46   3                      }
  47   2                      else
  48   2                      {
  49   3                              point++;
  50   3                              buffer[point]=ch;
  51   3                              if(point==4)
  52   3                              {
  53   4                                      read_flag=1;
  54   4                              }
  55   3                      }
C51 COMPILER V8.05a   C3                                                                   11/01/2007 09:49:20 PAGE 2   

  56   2              }
  57   1      
  58   1              if(TI==1)
  59   1              {
  60   2                      TI=0;
  61   2              }
  62   1      }
  63          
  64          void send_char(uchar ch)
  65          {
  66   1              P33=1;
  67   1              SBUF=ch;
  68   1              TI=0;
  69   1              P33=0;
  70   1      }
  71          
  72          main()
  73          {
  74   1              P0=0xFF;
  75   1              P1=0xFF;
  76   1              P2=0xFF;
  77   1              P3=0xFF;
  78   1              ReadIndex=0;
  79   1              point=0;
  80   1              Uart_Init();
  81   1              while(1)
  82   1              {
  83   2                      uchar ach;
  84   2                      if(read_flag==1)
  85   2                      {
  86   3                              read_flag=0;
  87   3                              if((buffer[1]==0xFD) && (buffer[0]==0xFF))// && (buffer[3]==(buffer[1]+buffer[2])))
  88   3                              {
  89   4                                      Translate_RxByte(buffer[2]);
  90   4                                      ach=buffer[1];
  91   4                                      send_char(ach);
  92   4                              }
  93   3                      }
  94   2              }
  95   1      }
  96          
  97          void Translate_RxByte(uchar RxByte)
  98          {
  99   1              switch(RxByte)
 100   1              {
 101   2                      case RX_PAN_UP:
 102   2                              P20=0;
 103   2                              break;
 104   2                      case RX_PAN_DOWN:
 105   2                              P20=1;
 106   2                              break;
 107   2                      case RX_PAN_LEFT:
 108   2                              P20=0;
 109   2                              break;
 110   2                      case RX_PAN_RIGHT:
 111   2                              P20=1;
 112   2                              break;
 113   2                      default:
 114   2                              break;
 115   2              }
 116   1      }
 117          
C51 COMPILER V8.05a   C3                                                                   11/01/2007 09:49:20 PAGE 3   

 118          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    162    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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