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

📄 red_operate.lst

📁 红外调试程序
💻 LST
字号:
C51 COMPILER V7.50   RED_OPERATE                                                           05/08/2007 11:12:02 PAGE 1   


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

line level    source

   1          /****************************************************************************************************/
   2          //****说明:本函数用于红外设防/撤防中的接受红外部分
   3          //创建日期:2007.3.28
   4          //创建人  :STONE
   5          /****************************************************************************************************/
   6          #include <REGX51.H>
   7          #include <ini_51.h>               //51单片机状态初始化
   8          /****************************************************************************************************/
   9          #define   led_p P0
  10          sbit led=P2^6;
  11          /****************************************************************************************************/
  12          //全局变量的定义
  13          unsigned char personal_ID[4]={0x00};  //存放接收到的红外码
  14          unsigned char personal_ID_buf[6]={0x00};  //个人ID的缓存,用来装待验证的个人ID
  15          /****************************************************************************************************/
  16          //端口定义
  17          sbit warnning=P0^1;
  18          /****************************************************************************************************/
  19          //函数名称:red_data_rec
  20          //函数功能:操纵串口接收数据
  21          //入口参数:无
  22          //出口参数:无
  23          //****备注:规定一组红外码共有4个字节组成,在本函数中就是要接收到这四个字节。
  24          void red_data_rec(void)
  25          {
  26   1        unsigned char red_rec_num;   //定义红外接收字节的个数
  27   1        unsigned char start_byte=0x00;  //数据包同步字节
  28   1        unsigned char   end_byte=0x00;  //数据包结束字节
  29   1        unsigned char i=0;
  30   1        EA=0;
  31   1        for(red_rec_num=0;red_rec_num<6;red_rec_num++)   //一组身份ID由4个字节组成
  32   1          {
  33   2            while(RI==0)      //当接收中断标志位没有置位,等待
  34   2                  {;}
  35   2                RI=0;              //接收中断标志位置位时清零
  36   2                personal_ID_buf[red_rec_num]=SBUF;  //接收数据 
  37   2            personal_ID_buf[red_rec_num]=!personal_ID_buf[red_rec_num];
  38   2           }
  39   1                led=0;
  40   1                led_p=personal_ID_buf[3];
  41   1        if(personal_ID_buf[0]==0x05)
  42   1         {
  43   2           if(personal_ID_buf[5]==0x50)
  44   2                {
  45   3                  for(i=0;i<4;i++)
  46   3                        {
  47   4                           personal_ID[i]=personal_ID_buf[i+1];   //接收到的数据包结束字相同,则接收数据
  48   4                        }
  49   3                 }
  50   2              }
  51   1        EA=1;
  52   1      }
  53          /****************************************************************************************************/
  54          

C51 COMPILER V7.50   RED_OPERATE                                                           05/08/2007 11:12:02 PAGE 2   


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