📄 wxjm.lst
字号:
C51 COMPILER V7.09 WXJM 12/02/2008 21:16:16 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE WXJM
OBJECT MODULE PLACED IN wxjm.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE wxjm.c BROWSE DEBUG OBJECTEXTEND SRC(.\wxjm.SRC)
line level source
1 #include <stc89c51rc.h>
2 #include <rs232_def.h>
3 #include <intrins.h>
4
5 sbit RFBIT = P3^2;
6
7 void delay_ms(void) //毫秒延时
8 {
9 1 unsigned int i;
10 1 for (i=0;i<140;i++)
11 1 {
12 2 }
13 1 }
14
15 void delay_nms(unsigned int n) //延时周期
16 {
17 1 unsigned int i;
18 1 for (i=0;i<n;i++)
19 1 {
20 2 delay_ms();
21 2 }
22 1 }
23
24 unsigned long decode(void) //无线解码
25 {
26 1 unsigned long DATA; //记录数据
27 1 unsigned char count,i; //暂时计数
28 1
29 1 /*一共接收三字节*/
30 1
31 1 DATA=0; //
32 1 for (count=0;count<24;count++) //开始收集
33 1 {
34 2
35 2 /*测量高电平宽度*/
36 2
37 2 i=0; //宽度计数
38 2 while (RFBIT) //高位计数
39 2 {
40 3 #pragma asm
41 3 nop;
42 3 #pragma endasm
43 3
44 3
45 3 i++; //计数增加
46 3
47 3 if (i>192) goto end; //限时解码
48 3 }
49 2
50 2 /*分辨出电平高低*/
51 2
52 2 DATA*=2; //数据左移
53 2
54 2 if (i<64) //分辨高低
55 2 {
C51 COMPILER V7.09 WXJM 12/02/2008 21:16:16 PAGE 2
56 3 if (!((56>i)&(i>24))) goto end; //电平合法
57 3 DATA+=0; //记低电平
58 3 }
59 2
60 2 else
61 2 {
62 3 if (!((168>i)&(i>72))) goto end; //电平合法
63 3 DATA+=1; //记高电平
64 3 }
65 2
66 2 /*测量低电平宽度*/
67 2
68 2 while (!(RFBIT)) //低位计数
69 2 {
70 3 #pragma asm
71 3 nop;
72 3 #pragma endasm
73 3
74 3
75 3 i++; //计数增加
76 3
77 3 if (i>224) goto end; //限时解码
78 3 }
79 2
80 2 /*低电平是否过窄*/
81 2
82 2 if (i<96) goto end; //对比宽度
83 2 }
84 1
85 1 /*解码成功返结果*/
86 1
87 1 return DATA; //成功返回
88 1
89 1 /*有误码结束解码*/
90 1
91 1 end:
92 1 return 0; //误码结束
93 1 }
94
95 void main(void)
96 {
97 1
98 1
99 1
100 1 while (1)
101 1 {
102 2 //DATA =decode(); //解码程序
103 2
104 2 P3 = 0xff;
105 2 _nop_();
106 2 P3 = 0;
107 2 _nop_();
108 2
109 2 }
110 1 }
111
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 249 ----
CONSTANT SIZE = 11 ----
XDATA SIZE = ---- ----
C51 COMPILER V7.09 WXJM 12/02/2008 21:16:16 PAGE 3
PDATA SIZE = ---- ----
DATA SIZE = 4 6
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -