📄 recesive.lst
字号:
C51 COMPILER V6.14 RECESIVE 06/03/2005 16:58:01 PAGE 1
C51 COMPILER V6.14, COMPILATION OF MODULE RECESIVE
OBJECT MODULE PLACED IN .\recesive.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\recesive.c DEBUG OBJECTEXTEND
stmt level source
1 #include <AT89x051.H>
2 unsigned long check;
3 unsigned char ok;
4 unsigned char receivebits;
5 unsigned char receivebytes;
6 unsigned char recedata;
7 unsigned char start;
8
9 int i;
10 int j;
11
12 void main(void)
13 {
14 1 check=0;
15 1 SP=0X59;
16 1 P3_0=1;
17 1 EX0=1;
18 1 IT0=1;
19 1 EA=1;
20 1 ok=0;
21 1
22 1
23 1 while(1)
24 1 {
25 2 P3_1=1;
26 2 P3_1=0;
27 2
28 2 if(ok==1)
29 2 {
30 3
31 3 if((recedata&0x01)==0x01)
32 3 P3_3=0;
33 3 else
34 3 P3_3=1;
35 3
36 3 if((recedata&0x02)==0x02)
37 3 P3_4=0;
38 3 else
39 3 P3_4=1;
40 3 if((recedata&0x04)==0x04)
41 3 P3_5=0;
42 3 else
43 3 P3_5=1;
44 3
45 3 if((recedata&0x08)==0x08)
46 3 P3_7=0;
47 3 else
48 3 P3_7=1;
49 3
50 3 ok=0;
51 3
52 3 }
53 2
54 2 }
55 1 }
C51 COMPILER V6.14 RECESIVE 06/03/2005 16:58:01 PAGE 2
56
57
58 receivedata() interrupt 0 using 3
59 {
60 1 if(start==0)
61 1 {
62 2 check=check<<1;
63 2 if(P3_0==1)
64 2 check++;
65 2 if(check==0x99887766)
66 2 start=1;
67 2 }
68 1 else
69 1 {
70 2 receivebits++;
71 2 recedata=recedata<<1;
72 2 if(P3_0==1)
73 2 recedata++;
74 2 if(receivebits==8)
75 2 {
76 3 receivebits=0;
77 3 start=0;
78 3 ok=1;
79 3 }
80 2
81 2 }
82 1
83 1 }
84
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 203 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 13 ----
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 + -