📄 car.lst
字号:
C51 COMPILER V7.08 CAR 03/15/2008 22:03:00 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE CAR
OBJECT MODULE PLACED IN car.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE car.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2
3 #define uchar unsigned char
4 #define uint unsigned char
5
6 sbit col1 =P1^0;
7 sbit col2 =P1^1;
8 sbit col3 =P1^2;
9 sbit col4 =P1^3;
10
11 sbit l_f =P1^4;
12 sbit l_b =P1^5;
13 sbit r_f =P1^6;
14 sbit r_b =P1^7;
15
16
17 void front()
18 {
19 1 l_f =1;
20 1 l_b =0;
21 1 r_f =1;
22 1 r_b =0;
23 1 P0=0x8E; // F
24 1 }
25
26 void back()
27 {
28 1 l_f =0;
29 1 l_b =1;
30 1 r_f =0;
31 1 r_b =1;
32 1 P0=0x3E; // b
33 1 }
34
35 void left()
36 {
37 1 l_f =0;
38 1 l_b =1;
39 1 r_f =1;
40 1 r_b =0;
41 1 P0=0x1C; // L
42 1 }
43
44 void left_T()
45 {
46 1 l_f =0;
47 1 l_b =0;
48 1 r_f =1;
49 1 r_b =0;
50 1 P0=0x1C; // L turn
51 1 }
52
53 void right()
54 {
55 1 l_f =1;
C51 COMPILER V7.08 CAR 03/15/2008 22:03:00 PAGE 2
56 1 l_b =0;
57 1 r_f =0;
58 1 r_b =1;
59 1 P0=0x0E; // r
60 1 }
61
62 void right_T()
63 {
64 1 l_f =1;
65 1 l_b =0;
66 1 r_f =0;
67 1 r_b =0;
68 1 P0=0x0E; // r turn
69 1 }
70
71 void stop()
72 {
73 1 l_f =0;
74 1 l_b =0;
75 1 r_f =0;
76 1 r_b =0;
77 1 P0=0x02;
78 1 }
79
80 void delay()
81 {
82 1 uchar i;
83 1 for(i=0;i<255;i++);
84 1
85 1 }
86
87
88 void go()
89 {
90 1 uchar i=0,j=0;
91 1
92 1 if(i >= 255)
93 1 {i = 0; j = j+1;}
94 1 else
95 1 {i = i+1; delay();}
96 1
97 1
98 1 if(j <= 50)
99 1 left_T();
100 1
101 1 if(j > 50 && j <= 100)
102 1 right_T();
103 1
104 1
105 1 if(j > 100 && j <= 180)
106 1 front();
107 1
108 1
109 1 if(j > 180 && j <= 200)
110 1 right();
111 1
112 1 if(j > 200 && j <= 220)
113 1 left();
114 1
115 1 if(j > 220 && j <= 254)
116 1 back();
117 1
C51 COMPILER V7.08 CAR 03/15/2008 22:03:00 PAGE 3
118 1 if(j > 254)
119 1 stop();
120 1 }
121
122
123 void main()
124 {
125 1 P1=0x00;
126 1 P0=0x00;
127 1 while(1)
128 1 {
129 2 if(col1 ==0 && col2 ==0 && col3 ==0 && col4 ==0)
130 2 stop();
131 2
132 2 else if(col1 ==1 && col2 ==1 && col3 ==1 && col4 ==1)
133 2 go();
134 2
135 2 else if(col1 ==1 && col2 ==0 && col3 ==0 && col4 ==0)
136 2 front();
137 2
138 2 else if(col1 ==0 && col2 ==1 && col3 ==0 && col4 ==0)
139 2 back();
140 2
141 2 else if(col1 ==0 && col2 ==0 && col3 ==1 && col4 ==0)
142 2 left();
143 2
144 2 else if(col1 ==0 && col2 ==0 && col3 ==0 && col4 ==1)
145 2 right();
146 2
147 2 else if(col1 ==0 && col2 ==1 && col3 ==0 && col4 ==1)
148 2 left_T();
149 2
150 2 else if(col1 ==1 && col2 ==0 && col3 ==1 && col4 ==0)
151 2 right_T();
152 2
153 2 else stop();
154 2 }
155 1
156 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 348 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -