📄 left.lst
字号:
C51 COMPILER V7.01 LEFT 03/17/2006 15:45:12 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE LEFT
OBJECT MODULE PLACED IN left.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE left.c BROWSE DEBUG OBJECTEXTEND TABS(6)
stmt level source
1 #include <AT89X51.H>
2
3 unsigned char i=0;
4 char t1;
5 char key;
6 char t;
7 unsigned char k;
8
9 void delay10ms(void)
10
11 { unsigned char i,j;
12 1
13 1 for(i=20;i>0;i--)
14 1 for(j=248;j>0;j--);
15 1 }
16
17 /*void delay3s(void)
18
19 { unsigned char m,i,j;
20 for(m=10;m>0;m--)
21 for(i=20;i>0;i--)
22 for(j=248;j>0;j--);
23
24 }
25 */
26 xianshi()
27 {
28 1
29 1 if(P1_0==0) {/*P1=0xfe;*/P0=0x06;t=1;}
30 1 if(P1_1==0) {/*P1=0xfd;*/P0=0x5b;t=2;}
31 1 if(P1_2==0) {/*P1=0xfb;*/P0=0x4f;t=3;}
32 1 if(P1_3==0) {/*P1=0xf7;*/P0=0x66;t=4;}
33 1 if(P1_4==0) {/*P1=0xef;*/P0=0x6d;t=5;}
34 1 if(P1_5==0) {/*P1=0xdf;*/P0=0x7d;t=6;}
35 1
36 1 }
37
38 keys()
39 {
40 1 if(P2_2==0) {delay10ms(); if(P2_2==0) {key=1;} }
41 1 if(P2_3==0) {delay10ms(); if(P2_3==0) {key=2;} }
42 1 if(P2_4==0) {delay10ms(); if(P2_4==0) {key=3;} }
43 1 if(P2_5==0) {delay10ms(); if(P2_5==0) {key=4;} }
44 1 if(P2_6==0) {delay10ms(); if(P2_6==0) {key=5;} }
45 1 if(P2_7==0) {delay10ms(); if(P2_7==0) {key=6;} }
46 1 }
47
48 void down(void) //运动
49 {
50 1 P3_7=1;P3_6=0;
51 1 }
52
53 void up(void)
54 {
55 1 P3_7=0;P3_6=1;
C51 COMPILER V7.01 LEFT 03/17/2006 15:45:12 PAGE 2
56 1 }
57
58 void stop(void)
59 {
60 1 P3_7=0;P3_6=0;
61 1 }
62
63
64 void t0(void) interrupt 0 using 0 // 中断
65 {
66 1
67 1 keys();
68 1
69 1 if(P3_6==1&P3_7==0)
70 1 {
71 2 if(key-t1<0)
72 2 {
73 3 while(key-t>0){up();xianshi();keys();}
74 3
75 3 if(key-t==0) {stop();}
76 3
77 3 for(k=10;k>0;k--) {delay10ms();}
78 3 }
79 2
80 2 if(key-t1>0 )
81 2 {
82 3 while(t1-t>0) {up();xianshi();keys();}
83 3 //if(t1-t==0) {stop();}
84 3 //for(k=10;k>0;k--) {delay10ms();}
85 3
86 3 //while(key-t>0){up();xianshi();keys();}
87 3
88 3 //if(key-t==0) {stop();}
89 3 for(k=10;k>0;k--) {delay10ms();}
90 3 }
91 2 }
92 1 if(P3_6==0&P3_7==1)
93 1 {
94 2 if(key-t1>0)
95 2 {
96 3 while(key-t<0) {down();xianshi();keys();}
97 3
98 3 if(key-t==0){stop();}
99 3
100 3 for(k=10;k>0;k--) {delay10ms();}
101 3 }
102 2 if(key-t<0)
103 2 {
104 3 while(t1-t<0) {down();xianshi();keys();}
105 3
106 3 if(t1-t==0) {stop();}
107 3
108 3 for(k=10;k>0;k--) {delay10ms();}
109 3 }
110 2 }
111 1 }
112
113
114 void main(void)
115
116 { //P3=0xff;
117 1 //P2=0xff; // 键盘
C51 COMPILER V7.01 LEFT 03/17/2006 15:45:12 PAGE 3
118 1 // P1=0xff; //霍耳开关
119 1 // P0=0xff; //显示
120 1
121 1 EX0=1;
122 1
123 1 while(1)
124 1 {
125 2 xianshi();
126 2 keys();
127 2 //key=t;
128 2 if(P2==0xff){key=t;}
129 2
130 2 if(key-t==0) { stop();}
131 2 if(key-t>0) { t1=key;while(t1-t>0) {up();xianshi();keys(); EA=1;}
132 3
133 3 if(key-t>0)
134 3 {
135 4 while(key-t>0)
136 4 {up();xianshi();keys();}
137 4 }
138 3 }
139 2
140 2 if(key-t<0) { t1=key;while(t1-t<0) {down();xianshi();keys();EA=1;}
141 3 if(key-t<0)
142 3 { while(key-t<0)
143 4 {
144 5 down();xianshi();keys();
145 5 }
146 4 }
147 3 }//if(t1-t<0){stop();}}
148 2
149 2 }
150 1 }
151
152
153
154
155
156
157
158
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 593 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 5 ----
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 + -