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

📄 wuxian_rx22.lst

📁 #include <stc12c2052AD.H>// 标准库的头文件 #include <intrins.h> #include <absacc.h> #d
💻 LST
字号:
C51 COMPILER V7.06   WUXIAN_RX22                                                           07/18/2008 14:57:00 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE WUXIAN_RX22
OBJECT MODULE PLACED IN WUxian_RX22.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE WUxian_RX22.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //#include <stc12c2052AD.H>// 标准库的头文件
   2          #include <reg51.h>
   3          #include <intrins.h>
   4          #define uchar unsigned char 
   5          #define uint unsigned int 
   6          bit           read_flag=0;
   7          sbit baojing=P1^4;
   8          unsigned char time;
   9          void init_serialcomm(void)
  10          {
  11   1          SCON  = 0x50;       //SCON: serail mode 1 8 UART enable ucvr 
  12   1          TMOD |= 0x20;       //TMOD: timer 1 mode 2 8 reload 
  13   1          PCON |= 0x00;     
  14   1          TH1   = 0x40;      
  15   1          IE   |= 0x90;       //Enable Serial Interrupt 
  16   1          TR1   = 1;          // timer 1 run 
  17   1          TI=1; 
  18   1          
  19   1      }
  20          
  21          //向串口发送一个字符 
  22          void sen(unsigned char ch)  
  23          {
  24   1          SBUF=ch;
  25   1          while(TI==0);
  26   1          TI=0;
  27   1      }
  28          void delay(uint t)
  29          {
  30   1              uchar i;
  31   1      while(t--)
  32   1            { for (i=200;i>0;i--);
  33   2                    {}}
  34   1      }
  35          uchar jingdi(void)
  36          
  37          {
  38   1      uchar i,temp;
  39   1      temp=1;
  40   1      
  41   1      for(i=3;i>0;i--) 
  42   1                       {   
  43   2      baojing=0;
  44   2      delay(500);
  45   2      baojing=1;
  46   2      delay(100);
  47   2                 }
  48   1      return temp;
  49   1        }
  50          
  51          /*void serial () interrupt 4 using 3 
  52          {
  53              if(RI)
  54              {
  55                  unsigned char ch;
C51 COMPILER V7.06   WUXIAN_RX22                                                           07/18/2008 14:57:00 PAGE 2   

  56                  RI = 0;
  57                          TI=1;
  58             ch=SBUF;
  59          sen(ch);
  60             
  61          read_flag=1;
  62                }
  63          read_flag=0;
  64          }
  65          */
  66          
  67          main()
  68          {   unsigned char sj, j,q,k,i;
  69   1              //uchar shuju[1];
  70   1          init_serialcomm();  //初始化串口 
  71   1         baojing=0;
  72   1         delay(100);
  73   1         baojing=1;
  74   1         while(1)
  75   1          {
  76   2      start:  
  77   2                      RI = 0;
  78   2           if(j==5||q==5)///if1
  79   2                             {j=0;
  80   3                                 q=0;
  81   3                                 jingdi();
  82   3                                 goto start;
  83   3                                 }
  84   2               else{
  85   3                    for(k=5;k>0;k--)
  86   3                            delay(100);
  87   3                         RI = 0;
  88   3                         sen(0x02);
  89   3                           if(RI==1){                  //2if
  90   4                                          sj=SBUF;
  91   4                              delay(200);
  92   4                             sen(sj);
  93   4                                  if ((i==0)&&(sj==0x09))  //3if
  94   4                                                    {
  95   5                                                      j=0;
  96   5                                              
  97   5                                                          q=0;
  98   5                                                              for(k=5;k>0;k--)
  99   5                                                              delay(100);
 100   5                                                              sen(sj);
 101   5                                                      goto start;
 102   5                                                              }
 103   4                                      else{
 104   5                                                 j++;
 105   5                                   
 106   5                                                          q=0;
 107   5                                             goto start;
 108   5                                              }   //3if                        //判断是否接收到数据如果是66继续报接收信号!如果接受不到开始记数超过一定时间报警

⌨️ 快捷键说明

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