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

📄 prot30.lst

📁 15入15出继电器控制板
💻 LST
字号:
C51 COMPILER V9.00   PROT30                                                                01/01/2002 01:36:54 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE PROT30
OBJECT MODULE PLACED IN prot30.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE cmain\prot30.c BROWSE DEBUG OBJECTEXTEND PRINT(.\prot30.lst) OBJECT(prot30.
                    -obj)

line level    source

   1          /*--------------------------------------
   2          芯片    :STC12C5A60S2
   3          晶振    :11.0592MHZ
   4          开发平台:KEIL
   5          功能    :串口一或者串口二都可以通过上位机控制30路继电器
   6          波特率  :9600BPS
   7          日期    :11.5.19
   8          注意    :下载完程序后请复位系统!!(切记!)
   9          --------------------------------------*/
  10          
  11          #include "Hfile\\STC12C5A60S2.h"
  12          #include"Hfile\\PublicV.H"
  13          #define  uchar unsigned char 
  14          #define  uint  unsigned int 
  15          uchar dat;
  16          
  17          void init ()
  18          {
  19   1      //串口2波特率
  20   1              TMOD = 0x20;                             //定时器1产生波特率
  21   1              SCON = 0x50;                             //方式1,8位数据,波特率可变
  22   1              TH1=  0xfd;     
  23   1              TL1 = 0xfd;                          //波特率 9600
  24   1      //串口1波特率   
  25   1              S2CON = 0x50;                //方式1,八位数据,可变波特率
  26   1              BRT=0XFD;                                //设置波特率9600
  27   1              TR1=1;                                   //启动定时器产生串口2波特率    
  28   1              AUXR=0x10;                               //启动串口1波特率发生器
  29   1              IP=0x00;                                 //优先级默认
  30   1              EA=1;                                //开总中断
  31   1              ES=1;                                    //开串口1中断
  32   1              IE2=0x01;                                //开串口2中断
  33   1      
  34   1      }
  35          
  36          /*--------------------------------------
  37                    延时函数
  38          --------------------------------------*/
  39          void delay ( uint t )
  40          {
  41   1              uint i,j;
  42   1              for( i=0; i<t; i++)
  43   1              for( j=0; j<250; j++);
  44   1      }
  45          
  46          /*--------------------------------------
  47                    主函数
  48          --------------------------------------*/
  49          void main()
  50          {
  51   1         uchar k=10;
  52   1         P4SW|=0x20;             //配置P4.5为IO口
  53   1         P4M0|=0x10;             //配置P4.4为IO口
  54   1         P4M1|=0x10;
C51 COMPILER V9.00   PROT30                                                                01/01/2002 01:36:54 PAGE 2   

  55   1         P0=P1=P2=P3=0xff;
  56   1         P4|=0x30;
  57   1         init();             // 定时器初始化
  58   1         add=0X00;
  59   1         while(1)
  60   1         {
  61   2          if(receive==1&&bite[1]==add)
  62   2               {
  63   3              /*0=握手 1=地址 2=继电器开关 3=继电器1-8路 4=继电器9-16路 5=继电器17=24路
  64   3               *6=继电器25-30路*/
  65   3                      receive=0;
  66   3                      if(bite[2]==0x11)          //打开
  67   3                        open_X1(bite[3],0);
  68   3                      if(bite[2]==0x01)          //关闭
  69   3                        open_X1(bite[3],1);
  70   3      
  71   3                      if(bite[4]==0x12)          //打开
  72   3                        open_X2(bite[5],0);
  73   3                      if(bite[4]==0x02)          //关闭
  74   3                        open_X2(bite[5],1);
  75   3      
  76   3      
  77   3                //  IapEraseSector(0);
  78   3                //  IapProgramByte(1,bite[3]);
  79   3            // IapProgramByte(2,bite[5]);
  80   3                // IapProgramByte(3,bite[7]);
  81   3                // IapProgramByte(4,bite[9]);
  82   3                        
  83   3      
  84   3               }                   
  85   2          }   
  86   1      
  87   1      }
  88          /*--------------------------------------
  89                   串口一 发送接收中断函数
  90          --------------------------------------*/
  91          
  92          void uart_isr()  interrupt 4 using 2
  93          {
  94   1        
  95   1        ES=0;
  96   1        if( RI ) 
  97   1         {
  98   2           RI=0;
  99   2           bite[r] = SBUF;
 100   2               if(bite[0]==0XAA || bite[0]==0XAB || bite[0]==0XAC || bite[0]==0XAD)
 101   2                r++;
 102   2               if(r>=6)
 103   2               {
 104   3                receive=1;
 105   3                r=0;
 106   3               }
 107   2         }
 108   1         ES=1;
 109   1              
 110   1      }
 111          
 112          void uart2_isr()  interrupt 8 using 1
 113          {
 114   1         if( S2CON & 0x01 )
 115   1               {
 116   2                      S2CON &= ~0x01;
C51 COMPILER V9.00   PROT30                                                                01/01/2002 01:36:54 PAGE 3   

 117   2                      bite[r] = S2BUF;
 118   2                 if(bite[0]==0XAA || bite[0]==0XAB || bite[0]==0XAC || bite[0]==0XAD)
 119   2                    r++;
 120   2                 if(r>=6)
 121   2                 {
 122   3                   receive=1;
 123   3                   r=0;
 124   3                 }
 125   2               }
 126   1      
 127   1              if( S2CON & 0x02 )
 128   1              {
 129   2                              S2CON &= ~0x02;
 130   2              }
 131   1      
 132   1      }
 133          
 134          
 135          
 136          
 137          
 138          
 139          
 140          
 141          
 142          
 143          
 144          
 145          
 146          
 147          
 148          
 149          
 150          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    296    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     16       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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