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

📄 被动式.lst

📁 S51单片机和LABVIEW通信。在LABVIEW输入框输入中文字符
💻 LST
字号:
C51 COMPILER V7.50   被动式                                                                11/28/2007 21:26:58 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE 被动式
OBJECT MODULE PLACED IN 被动式.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 被动式.c BROWSE DEBUG OBJECTEXTEND TABS(8)

line level    source

   1          #include <reg51.H>
   2          unsigned char bdata  dat;
   3          unsigned char bdata biaoz=0;
   4          sbit b7=biaoz^7;
   5          sbit sd7=dat^7;
   6          sbit sd6=dat^6;
   7          sbit sd5=dat^5;
   8          sbit sd4=dat^4;
   9          sbit sd3=dat^3;
  10          sbit sd2=dat^2;
  11          
  12          
  13          sbit p_7=P3^7;
  14          sbit p_6=P3^6;
  15          sbit p_5=P3^5;
  16          sbit p_4=P3^4;
  17          sbit p_3=P3^3;
  18          sbit p_2=P3^2;
  19          
  20          sfr WDTRST = 0xA6;
  21          
  22          
  23          void delay(unsigned char a);
  24          //void delay1(unsigned long a);
  25          void chu_shi();
  26          void CLRWDT();
  27          
  28          unsigned char n=0;
  29          unsigned char data RAM[3];
  30          
  31          
  32          
  33          
  34          
  35          
  36          
  37          
  38          
  39          
  40          ///////////////////////////////////////////////////
  41          /**********************主程序*****************/
  42           void main ()
  43          {
  44   1       chu_shi();
  45   1       while(1)
  46   1       {
  47   2         CLRWDT();//喂狗
  48   2         if(b7==1)//缓冲区有数据
  49   2         {
  50   3          b7=0;
  51   3          ES=0;//不允许串口中断
  52   3          EA=0;//关总中断
  53   3          
  54   3          switch(RAM[0])
  55   3          {
C51 COMPILER V7.50   被动式                                                                11/28/2007 21:26:58 PAGE 2   

  56   4           case 0:
  57   4            switch(RAM[1])
  58   4            {
  59   5             case 0:
  60   5             P0=~RAM[2];
  61   5             break;
  62   5      
  63   5             case 1:
  64   5             SBUF=P0;
  65   5             while(!TI);
  66   5             TI=0;
  67   5             break;
  68   5            }
  69   4           
  70   4           break;
  71   4      
  72   4      
  73   4      
  74   4           case 1:
  75   4            switch(RAM[1])
  76   4            {
  77   5             case 0:
  78   5             P1=RAM[2];
  79   5             break;
  80   5      
  81   5             case 1:
  82   5             SBUF=P1;
  83   5             while(!TI);
  84   5             TI=0;
  85   5             break;
  86   5            }
  87   4           break;
  88   4      
  89   4      
  90   4      
  91   4      
  92   4           case 2:
  93   4            switch(RAM[1])
  94   4            {
  95   5             case 0:
  96   5             P2=RAM[2];
  97   5             break;
  98   5      
  99   5             case 1:
 100   5             SBUF=P2;
 101   5             while(!TI);
 102   5             TI=0;
 103   5             break;
 104   5            }
 105   4           break;
 106   4      
 107   4      
 108   4      
 109   4           case 3:
 110   4            switch(RAM[1])
 111   4            {
 112   5             case 0:
 113   5             p_7=sd7;
 114   5             p_6=sd6;
 115   5             p_5=sd5;
 116   5             p_4=sd4;
 117   5             p_3=sd3;
C51 COMPILER V7.50   被动式                                                                11/28/2007 21:26:58 PAGE 3   

 118   5             p_2=sd2;
 119   5             
 120   5             
 121   5             
 122   5             break;
 123   5      
 124   5             case 1:
 125   5             SBUF=P3;
 126   5             while(!TI);
 127   5             TI=0;
 128   5             break;
 129   5            }
 130   4           
 131   4           break;
 132   4      
 133   4      
 134   4          }
 135   3      
 136   3      
 137   3      
 138   3      
 139   3          ES=1;//允许串口中断
 140   3          EA=1;//开总中断
 141   3         }
 142   2        
 143   2         else
 144   2         delay(10);
 145   2      
 146   2       }
 147   1      }
 148          
 149          
 150          
 151          void delay(unsigned char a)
 152           {
 153   1       unsigned char b;
 154   1       for(b=a;b>0;b--)
 155   1        {
 156   2         CLRWDT();//喂狗
 157   2        }
 158   1       }
 159          
 160          /*
 161          void delay1(unsigned long a)
 162           {
 163           unsigned long b;
 164           for(b=a;b>0;b--)
 165            {
 166             CLRWDT();//喂狗
 167            }
 168           }
 169          
 170          */
 171          
 172          void CLRWDT()
 173          {
 174   1      WDTRST=0x1E;
 175   1      WDTRST=0xE1;//看门狗
 176   1      }
 177          
 178          ///////////////////////////////////////////////////
 179          /**********************系统初始化*****************/
C51 COMPILER V7.50   被动式                                                                11/28/2007 21:26:58 PAGE 4   

 180          void chu_shi(void)
 181          {
 182   1       CLRWDT();//初始化看门狗
 183   1      
 184   1       TMOD=0X20;  //定时器1方式2
 185   1       //PCON=0X80;//波特率*2
 186   1       TH1=0XFD;//波特率9600
 187   1       TL1=0XFD;
 188   1       SCON=0X50;//串口方式允许接受
 189   1       ES=1;//允许串口中断
 190   1       EA=1;//开总中断
 191   1       TR1=1;//启动定时器1
 192   1      }
 193          //////////////////////////////////////////////////
 194          
 195          
 196          
 197          void uart1()interrupt 4 using 1
 198          {
 199   1       unsigned char temp;
 200   1       CLRWDT();//喂狗
 201   1       if(RI==1)//是接受中断
 202   1       {
 203   2          RI=0;
 204   2          temp=SBUF;//接受数据
 205   2          RAM[n]=temp;//保存数据
 206   2          //SBUF=temp;//返回数据
 207   2          n=n+1;
 208   2          if(n==3)
 209   2          {
 210   3           n=0;
 211   3           b7=1;
 212   3           dat=RAM[2];
 213   3           CLRWDT();//喂狗
 214   3           }
 215   2       }
 216   1       else
 217   1       TI=0;//是发射中断
 218   1      }
 219          


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