📄 remotev3.lst
字号:
C51 COMPILER V8.08 REMOTEV3 08/10/2007 19:17:33 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE REMOTEV3
OBJECT MODULE PLACED IN remoteV3.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE remoteV3.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <at89X52.h>
2
3 #define pulse 3
4 #define period 8
5
6 int count1=period;
7 int count2=pulse;
8 int go1=0x0a;
9 int back1=0x05;
10 int leftgo1=0x32;
11 int rightgo1=0x38;
12 int reversecount=0;
13
14 void delay(int degree)
15 {
16 1 unsigned int m=0;
17 1 for(m=0;m<degree*100;m++);
18 1 }
19
20
21 void go(int degree)
22 {
23 1 int grade1=degree;
24 1 TR0=1;
25 1 P1=go1;
26 1 delay(grade1);
27 1 P1=0;
28 1 }
29
30 void back(int degree)
31 {
32 1 int grade2=degree;
33 1 TR0=1;
34 1 P1=back1;
35 1 delay(grade2);
36 1 P1=0;
37 1 }
38
39 void rightgo(int degree)
40 {
41 1 int i;
42 1 int grade3=degree;
43 1 ET0=0;
44 1 for(i=0;i<grade3;i++)
45 1 {
46 2 P1=rightgo1;
47 2 delay(10);
48 2 P1=0;
49 2 delay(3);
50 2 }
51 1
52 1 }
53
54
55 void leftgo(int degree)
C51 COMPILER V8.08 REMOTEV3 08/10/2007 19:17:33 PAGE 2
56 {
57 1 int i;
58 1 int grade4=degree;
59 1 ET0=0;
60 1 for(i=0;i<grade4;i++)
61 1 {
62 2 P1=leftgo1;
63 2 delay(10);
64 2 P1=0;
65 2 delay(3);
66 2 }
67 1 }
68
69 void reverse(void)
70 {
71 1 if(reversecount==1)
72 1 {
73 2 go1=0x0a;
74 2 back1=0x05;
75 2 leftgo1=0x02;
76 2 rightgo1=0x08;
77 2 reversecount--;
78 2 }
79 1 back1=0x0a;
80 1 go1=0x05;
81 1 leftgo1=0x01;
82 1 rightgo1=0x04;
83 1 reversecount++;
84 1
85 1 }
86
87 int recev=0;
88
89 main()
90 { TMOD=0X01;
91 1 TH0=0XEE;
92 1 TL0=0X58;
93 1 IT0=1;
94 1 EX0=1;
95 1 ET0=1;
96 1 EA=1;
97 1 TR0=1;
98 1 while(1)
99 1 {
100 2
101 2 switch(recev)
102 2 {
103 3 case 0x06: {recev=0;go(100);}break;
104 3 case 0x07: {recev=0;back(100);}break;
105 3 case 0x08: {recev=0;leftgo(100);}break;
106 3 case 0x09: {recev=0;rightgo(100);}break;
107 3 case 0x0a: {recev=0;reverse();}break;
108 3 case 0x0b: {recev=0;P1_0=0;}break;
109 3 case 0x0c: {recev=0;P1_1=0;}break;
110 3 case 0x0d: {recev=0;P1_2=0;}break;
111 3 case 0x0e: {recev=0;P1_3=0;}break;
112 3 }
113 2 }
114 1 }
115
116 void recevkey(void) interrupt 0
117 {
C51 COMPILER V8.08 REMOTEV3 08/10/2007 19:17:33 PAGE 3
118 1 recev=P0&0x0f;
119 1 }
120
121 void timer0(void) interrupt 1
122
123 {
124 1 TH0=0XEE;
125 1 TL0=0X58;
126 1 count1--;
127 1 if(count1==0)
128 1 {
129 2 count1=period;
130 2 count2=pulse;
131 2 P1_4=1;
132 2 P1_5=1;
133 2 }
134 1
135 1 count2--;
136 1 if(count2==0) {P1_4=0;P1_5=0;count2++;}
137 1
138 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 482 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 16 8
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 + -