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

📄 8-

📁 8路串口继电器
💻
字号:
C51 COMPILER V9.00   JDKZ                                                                  04/10/2012 15:23:14 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE JDKZ
OBJECT MODULE PLACED IN jdkz.OBJ
COMPILER INVOKED BY: F:\keil\C51\BIN\C51.EXE jdkz.c DEBUG OBJECTEXTEND

line level    source

   1          #include "reg52.h"
   2          sfr AUXR=0X8E;
   3          sbit k1=P1^7;
   4          sbit k2=P1^6;
   5          sbit k3=P1^5;
   6          sbit k4=P1^4;
   7          sbit k5=P3^2;
   8          sbit k6=P3^3;
   9          sbit k7=P3^4;
  10          sbit k8=P3^5;
  11          #define uchar unsigned char
  12          #define uint unsigned int
  13          uchar Tdata[]={"a11111111c"};
  14          uchar Rdata[]={"a11111111c"};
  15          uchar a,b,c,d,e,f,g,h;
  16          void UartInit(void);
  17          void relay(void);
  18          main()
  19          {
  20   1              uchar i;
  21   1              P1|=0xf0;
  22   1              P3|=0x3c;
  23   1              a=1,b=1,c=1,d=1;
  24   1              e=1,f=1,g=1,h=1;
  25   1              UartInit();
  26   1              EA=1;
  27   1              while(1)
  28   1              {
  29   2                      for(i=0;i<10;i++)
  30   2                      {
  31   3                              ES=0;
  32   3                              SBUF=Tdata[i];
  33   3                              while(!TI);
  34   3                              TI=0;
  35   3                              ES=1;
  36   3                      }
  37   2                      relay();
  38   2              }
  39   1      }
  40          
  41          void relay(void)
  42          {
  43   1              if((Rdata[0]=='a')&(Rdata[9]=='c'))
  44   1              {
  45   2                      if(Rdata[1]=='0')
  46   2                              a=0,k1=0;
  47   2                      if(Rdata[1]=='1')
  48   2                       a=1,k1=1;
  49   2                      if(Rdata[2]=='0')
  50   2                              b=0,k2=0;
  51   2                      if(Rdata[2]=='1')
  52   2                       b=1,k2=1;
  53   2                      if(Rdata[3]=='0')
  54   2                              c=0,k3=0;
  55   2                      if(Rdata[3]=='1')
C51 COMPILER V9.00   JDKZ                                                                  04/10/2012 15:23:14 PAGE 2   

  56   2                              c=1,k3=1;
  57   2                      if(Rdata[4]=='0')
  58   2                              d=0,k4=0;
  59   2                      if(Rdata[4]=='1')
  60   2                               d=1,k4=1;
  61   2                      if(Rdata[5]=='0')
  62   2                              e=0,k5=0;
  63   2                      if(Rdata[5]=='1')
  64   2                               e=1,k5=1;      
  65   2                      if(Rdata[6]=='0')
  66   2                              f=0,k6=0;
  67   2                      if(Rdata[6]=='1')
  68   2                               f=1,k6=1;      
  69   2                      if(Rdata[7]=='0')
  70   2                              g=0,k7=0;
  71   2                      if(Rdata[7]=='1')
  72   2                               g=1,k7=1;      
  73   2                      if(Rdata[8]=='0')
  74   2                              h=0,k8=0;
  75   2                      if(Rdata[8]=='1')
  76   2                               h=1,k8=1;              
  77   2              }
  78   1              Tdata[1]=d+'0';
  79   1              Tdata[2]=c+'0';
  80   1              Tdata[3]=b+'0';
  81   1              Tdata[4]=a+'0';
  82   1              Tdata[5]=e+'0';
  83   1              Tdata[6]=f+'0';
  84   1              Tdata[7]=g+'0';
  85   1              Tdata[8]=h+'0';
  86   1      }
  87          void UartInit(void)             //9600bps@11.0592MHz
  88          {
  89   1              PCON &= 0x7f;           //波特率不倍速
  90   1              SCON = 0x50;            //8位数据,可变波特率
  91   1              AUXR |= 0x40;           //定时器1时钟为Fosc,即1T
  92   1              AUXR &= 0xfe;           //串口1选择定时器1为波特率发生器
  93   1              TMOD &= 0x0f;           //清除定时器1模式位
  94   1              TMOD |= 0x20;           //设定定时器1为8位自动重装方式
  95   1              TL1 = 0xD9;             //设定定时初值
  96   1              TH1 = 0xD9;             //设定定时器重装值
  97   1              ET1 = 0;                //禁止定时器1中断
  98   1              TR1 = 1;                //启动定时器1
  99   1      }
 100          
 101          com_interrupt(void) interrupt 4 using 3
 102          {
 103   1              uchar j;
 104   1              if(RI)
 105   1              {
 106   2                      RI=0;
 107   2                      Rdata[j]=SBUF;
 108   2                      j++;
 109   2                      if(j==10)
 110   2                              j=0;
 111   2              }
 112   1              if(TI)
 113   1                      TI=0;
 114   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V9.00   JDKZ                                                                  04/10/2012 15:23:14 PAGE 3   

   CODE SIZE        =    368    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     30       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 + -