📄 red_operate.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 + -