📄 ji.lst
字号:
C51 COMPILER V8.08 JI 07/28/2008 18:08:23 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE JI
OBJECT MODULE PLACED IN JI.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE JI.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4
5 sbit t1 = P3^0;
6 sbit t2 = P3^1;
7 sbit a1 = P1^0;
8 sbit a2 = P1^1;
9 sbit a3 = P1^2;
10 sbit a4 = P1^3;
11
12 sbit a10 = P2^0; // 避 障
13 sbit a11 = P2^1;
14 sbit a12 = P2^2;
15
16 sbit a13 = P2^3; // 寻 光
17 sbit a14 = P2^4;
18 sbit a15 = P2^5;
19
20 sbit M= P3^6; // 寻 黑 线
21 sbit L= P3^7;
22 sbit R= P3^5;
23
24 uint SpeedA=40;
25 uint SpeedB=40;
26 uint m0=0;
27 uint m1=0;
28
29 void FX(uint f){
30 1 switch(f)
31 1 {
32 2 case 0: a1 = 0;a2 = 0;a3 = 0;a4 = 0; break; //停 车
33 2 case 1: a1 = 1;a2 = 0;a3 = 1;a4 = 0; break; //前 进
34 2 case 2: a1 = 0;a2 = 1;a3 = 0;a4 = 1; break; //倒 退
35 2 case 3: a1 = 0;a2 = 1;a3 = 1;a4 = 0; break; //右 转
36 2 case 4: a1 = 1;a2 = 0;a3 = 0;a4 = 1; break; //左 转
37 2 case 5: a1 = 0;a2 = 0;a3 = 1;a4 = 0; break;
38 2 case 6: a1 = 1;a2 = 0;a3 = 0;a4 = 0; break;
39 2
40 2 }
41 1 }
42
43 void delay(uint z) {
44 1 uint x,y;
45 1 for(x=z;x>0;x--)
46 1 for(y=125;y>0;y--);
47 1 }
48
49 void main(void)
50 {
51 1 delay(1000) ;
52 1 delay(1000) ;
53 1 TH0 = 0x86;
54 1 TL0 = 0xE8;
55 1 TH1 = 0x86;
C51 COMPILER V8.08 JI 07/28/2008 18:08:23 PAGE 2
56 1 TL1 = 0xE8;
57 1 TMOD = 0x11;
58 1 TR0 = 1;
59 1 TR1 = 1;
60 1 ET0 = 1;
61 1 ET1 = 1;
62 1 EA = 1;
63 1 FX(0);
64 1 while(1){
65 2
66 2
67 2 /* if( M==0){ //寻黑线
68 2 FX(1);
69 2 }
70 2 else if(L==0) {
71 2 FX(4);}
72 2
73 2 else if(R==0) {
74 2 FX(3);}
75 2
76 2
77 2
78 2
79 2
80 2 /* if(a11==0){ //避 障
81 2 delay(200);
82 2 if(a11==0){
83 2 delay(200);
84 2 FX(0);
85 2 if(a11==0 && a10==1 && a12==1){
86 2
87 2 FX(0);
88 2 delay(1000) ;
89 2 FX(2) ;
90 2 delay(400) ;
91 2 FX(0) ;
92 2
93 2 delay(1000);FX(3);delay(800); }
94 2 }
95 2 }
96 2
97 2
98 2
99 2
100 2
101 2
102 2 if( a11==0&&a12==0 ) {
103 2 delay(200);
104 2 if( a11==0&&a12==0 ) {
105 2 FX(0);
106 2 delay(1000) ;
107 2 FX(2) ;
108 2 delay(400) ;
109 2 FX(0) ;
110 2
111 2 delay(1000);FX(3); delay(800);}
112 2 }
113 2
114 2
115 2
116 2
117 2
C51 COMPILER V8.08 JI 07/28/2008 18:08:23 PAGE 3
118 2 if( a10==0 && a11==0 ) {
119 2 delay(200);
120 2 if( a10==0 && a11==0 ) {
121 2
122 2 FX(0);
123 2 delay(1000) ;
124 2 FX(2) ;
125 2 delay(400) ;
126 2 FX(0) ;
127 2
128 2 delay(1000);FX(4); delay(800);
129 2 }
130 2 } */
131 2
132 2 if(a14==0 && a13==1&& a15==1) { //寻 光
133 3
134 3 FX(1);}
135 2
136 2 else if(a13==0) {
137 3
138 3 FX(3);
139 3 if(a14==0){
140 4 FX(1);
141 4 }
142 3 }
143 2 else if(a15==0) {
144 3
145 3 FX(4);
146 3 if(a14==0){
147 4 FX(1);
148 4 }
149 3 }
150 2
151 2 else{
152 3 FX(1);
153 3 }
154 2
155 2
156 2
157 2
158 2 }
159 1 }
160
161
162
163
164 void time0_int() interrupt 1 using 1
165 {
166 1 TR0=0;
167 1 TH0=0x86;
168 1 TL0=0xE8;
169 1 m1=m1 + 1;
170 1 if(m1< SpeedA){
171 2 t1 = 1;
172 2 }
173 1 else
174 1 t1 = 0;
175 1 if(m1== 40){
176 2 m1=0;
177 2 }
178 1 TR0 = 1;
179 1 }
C51 COMPILER V8.08 JI 07/28/2008 18:08:23 PAGE 4
180
181 void time1_int() interrupt 3 using 1
182 {
183 1 TR1=0;
184 1 TH1=0x86;
185 1 TL1=0xE8;
186 1 m0=m0 + 1;
187 1 if(m0 < SpeedB){
188 2 t2=1;
189 2 }
190 1 else t2 = 0;
191 1 if(m0 == 40){
192 2 m0=0;
193 2 }
194 1 TR1 = 1;
195 1 }
196
197 void int0() interrupt 0 using 1
198 {
199 1 ET0 = 1;
200 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 330 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 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 + -