📄 1.lst
字号:
56 1 time=0;
57 1 flag=1;
58 1 flag1=0;
59 1 ch0=0;
60 1 ch1=0;
61 1 station1=0;
62 1 motaA=1;
63 1 motaB=1;
64 1 motaC=1;
65 1 keyflag1=1;
66 1 keydata=0;
67 1 keydata1=0;
68 1 keynet1=0;
69 1 keynum=5000;
70 1 EA=1;
71 1 ET0=1;
72 1 ET1=1;
73 1 TR0=1;
74 1
75 1 while(1){
76 2 TR0=0;
77 2 ShowNum(keynum);
78 2 key();
79 2 if(keydata1==4&&flag1==0){
80 3 keydata1=0;
81 3 keynum=keynum+5000;
82 3 if(keynum>95000&&keynum<100001)keynum=99999;
83 3 if(keynum>100005){keynum=5000;}
84 3 }
85 2 if(keydata1==1){keydata1=0;TR0=1;break;}
86 2 }
87 1 flag1=1;
88 1 while(1)
89 1 {
90 2 key();
91 2 if(keyflag1==1&&station1<100005) //SW open
92 2 {
93 3 if(keydata1==2)//正转
94 3 {
95 4 if(time<=2){
96 5 motaA=0;
97 5 motaB=1;
98 5 motaC=1;
99 5 }
100 4 else if(time>=3&&time<=5)
101 4 {
102 5 motaA=1;
103 5 motaB=0;
104 5 motaC=1;
C51 COMPILER V7.06 1 02/04/2006 20:03:52 PAGE 7
105 5 }
106 4 else if(time>=6&&time<=8)
107 4 {
108 5 motaA=1;
109 5 motaB=1;
110 5 motaC=0;
111 5
112 5 }
113 4 if(time==8&&station1>10)ch0++;
114 4 if(ch0>30){ch0=0;ch1=0;
115 5 motaA=1;
116 5 motaB=1;
117 5 motaC=1;
118 5 keydata1=3;}
119 4
120 4 }
121 3 else if(keydata1==3)//反转
122 3 {
123 4 if(time<=2){
124 5 motaA=0;
125 5 motaB=1;
126 5 motaC=1;
127 5 }
128 4 else if(time>=3&&time<=5)
129 4 {
130 5 motaA=1;
131 5 motaB=1;
132 5 motaC=0;
133 5 }
134 4 else if(time>=6&&time<=8)
135 4 {
136 5 motaA=1;
137 5 motaB=0;
138 5 motaC=1;
139 5
140 5 }
141 4 if(time==8)ch1++;
142 4 if(ch1>30){ch0=0;ch1=0;
143 5 motaA=1;
144 5 motaB=1;
145 5 motaC=1;
146 5 keydata1=2;}
147 4 }
148 3
149 3 }
150 2 else {
151 3 motaA=1;
152 3 motaB=1;
153 3 motaC=1;
154 3 }
155 2 if(flag==0){clutch=0;}
156 2 else {clutch=1;}
157 2 if(station1>=keynum){
158 3 keyflag1=0;
159 3 motaA=1;
160 3 motaB=1;
161 3 motaC=1;
162 3 time=0;
163 3 flag=1;
164 3 clutch=1;
165 3 ch0=0;
166 3 ch1=0;
C51 COMPILER V7.06 1 02/04/2006 20:03:52 PAGE 8
167 3 }
168 2 ShowNum(station1);
169 2 }
170 1 }
171
172 void t0(void) interrupt 1 using 2
173 {
174 1 TH0=0xd8; //10ms定时
175 1 TL0=0xf0;
176 1 // TH0=0x3c; //50ms
177 1 // TL0=0xb0;
178 1 if(keydata1==3||keydata1==2)time++;
179 1 if(time>8){if(keydata1==3||keydata1==2)station1++;time=0;}
180 1 }
181 ////////////////////////////////////////////////////////////
C51 COMPILER V7.06 1 02/04/2006 20:03:52 PAGE 9
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _delay (BEGIN)
; SOURCE LINE # 36
;---- Variable 't' assigned to Register 'R6/R7' ----
; SOURCE LINE # 37
0000 ?C0001:
; SOURCE LINE # 38
0000 EF MOV A,R7
0001 1F DEC R7
0002 AC06 MOV R4,AR6
0004 7001 JNZ ?C0041
0006 1E DEC R6
0007 ?C0041:
0007 4C ORL A,R4
0008 6006 JZ ?C0003
; SOURCE LINE # 39
; SOURCE LINE # 40
000A 00 NOP
; SOURCE LINE # 41
000B 00 NOP
; SOURCE LINE # 42
000C 00 NOP
; SOURCE LINE # 43
000D 00 NOP
; SOURCE LINE # 44
000E 80F0 SJMP ?C0001
; SOURCE LINE # 45
0010 ?C0003:
0010 22 RET
; FUNCTION _delay (END)
; FUNCTION main (BEGIN)
; SOURCE LINE # 49
; SOURCE LINE # 50
; SOURCE LINE # 51
0000 758911 MOV TMOD,#011H
; SOURCE LINE # 52
0003 758CD8 MOV TH0,#0D8H
; SOURCE LINE # 53
0006 758AF0 MOV TL0,#0F0H
; SOURCE LINE # 56
0009 E4 CLR A
000A F500 R MOV time,A
000C F500 R MOV time+01H,A
; SOURCE LINE # 57
000E D200 R SETB flag
; SOURCE LINE # 58
0010 C200 R CLR flag1
; SOURCE LINE # 59
0012 F500 E MOV ch0,A
; SOURCE LINE # 60
0014 F500 E MOV ch1,A
; SOURCE LINE # 61
0016 F500 R MOV station1+03H,A
0018 F500 R MOV station1+02H,A
001A F500 R MOV station1+01H,A
001C F500 R MOV station1,A
; SOURCE LINE # 62
001E D290 SETB motaA
; SOURCE LINE # 63
C51 COMPILER V7.06 1 02/04/2006 20:03:52 PAGE 10
0020 D291 SETB motaB
; SOURCE LINE # 64
0022 D292 SETB motaC
; SOURCE LINE # 65
0024 D200 R SETB keyflag1
; SOURCE LINE # 66
0026 F500 R MOV keydata,A
; SOURCE LINE # 67
0028 F500 E MOV keydata1,A
; SOURCE LINE # 68
002A C200 R CLR keynet1
; SOURCE LINE # 69
002C 750088 R MOV keynum+03H,#088H
002F 750013 R MOV keynum+02H,#013H
0032 F500 R MOV keynum+01H,A
0034 F500 R MOV keynum,A
; SOURCE LINE # 70
0036 D2AF SETB EA
; SOURCE LINE # 71
0038 D2A9 SETB ET0
; SOURCE LINE # 72
003A D2AB SETB ET1
; SOURCE LINE # 73
003C D28C SETB TR0
003E ?C0004:
; SOURCE LINE # 75
; SOURCE LINE # 76
003E C28C CLR TR0
; SOURCE LINE # 77
0040 AF00 R MOV R7,keynum+03H
0042 AE00 R MOV R6,keynum+02H
0044 AD00 R MOV R5,keynum+01H
0046 AC00 R MOV R4,keynum
0048 120000 E LCALL _ShowNum
; SOURCE LINE # 78
004B 120000 E LCALL key
; SOURCE LINE # 79
004E E500 E MOV A,keydata1
0050 6404 XRL A,#04H
0052 706C JNZ ?C0006
0054 200069 R JB flag1,?C0006
; SOURCE LINE # 80
0057 F500 E MOV keydata1,A
; SOURCE LINE # 81
0059 E500 R MOV A,keynum+03H
005B 2488 ADD A,#088H
005D F500 R MOV keynum+03H,A
005F E500 R MOV A,keynum+02H
0061 3413 ADDC A,#013H
0063 F500 R MOV keynum+02H,A
0065 E4 CLR A
0066 3500 R ADDC A,keynum+01H
0068 F500 R MOV keynum+01H,A
006A E4 CLR A
006B 3500 R ADDC A,keynum
006D F500 R MOV keynum,A
; SOURCE LINE # 82
006F 7F18 MOV R7,#018H
0071 7E73 MOV R6,#073H
0073 7D01 MOV R5,#01H
0075 7C00 MOV R4,#00H
0077 AB00 R MOV R3,keynum+03H
C51 COMPILER V7.06 1 02/04/2006 20:03:52 PAGE 11
0079 AA00 R MOV R2,keynum+02H
007B A900 R MOV R1,keynum+01H
007D F8 MOV R0,A
007E D3 SETB C
007F 120000 E LCALL ?C?ULCMP
0082 401B JC ?C0007
0084 7FA1 MOV R7,#0A1H
0086 7E86 MOV R6,#086H
0088 7D01 MOV R5,#01H
008A 7C00 MOV R4,#00H
008C A800 R MOV R0,keynum
008E 120000 E LCALL ?C?ULCMP
0091 500C JNC ?C0007
0093 75009F R MOV keynum+03H,#09FH
0096 750086 R MOV keynum+02H,#086H
0099 750001 R MOV keynum+01H,#01H
009C 750000 R MOV keynum,#00H
009F ?C0007:
; SOURCE LINE # 83
009F 7FA5 MOV R7,#0A5H
00A1 7E86 MOV R6,#086H
00A3 7D01 MOV R5,#01H
00A5 7C00 MOV R4,#00H
00A7 AB00 R MOV R3,keynum+03H
00A9 AA00 R MOV R2,keynum+02H
00AB A900 R MOV R1,keynum+01H
00AD A800 R MOV R0,keynum
00AF D3 SETB C
00B0 120000 E LCALL ?C?ULCMP
00B3 400B JC ?C0006
00B5 E4 CLR A
00B6 750088 R MOV keynum+03H,#088H
00B9 750013 R MOV keynum+02H,#013H
00BC F500 R MOV keynum+01H,A
00BE F500 R MOV keynum,A
; SOURCE LINE # 84
00C0 ?C0006:
; SOURCE LINE # 85
00C0 E500 E MOV A,keydata1
00C2 6401 XRL A,#01H
00C4 6003 JZ $ + 5H
00C6 020000 R LJMP ?C0004
00C9 F500 E MOV keydata1,A
00CB D28C SETB TR0
; SOURCE LINE # 86
00CD ?C0005:
; SOURCE LINE # 87
00CD D200 R SETB flag1
00CF ?C0010:
; SOURCE LINE # 88
; SOURCE LINE # 89
; SOURCE LINE # 90
00CF 120000 E LCALL key
; SOURCE LINE # 91
00D2 200003 R JB keyflag1,$ + 6H
00D5 020000 R LJMP ?C0012
00D8 7FA5 MOV R7,#0A5H
00DA 7E86 MOV R6,#086H
00DC 7D01 MOV R5,#01H
00DE 7C00 MOV R4,#00H
00E0 AB00 R MOV R3,station1+03H
00E2 AA00 R MOV R2,station1+02H
C51 COMPILER V7.06 1 02/04/2006 20:03:52 PAGE 12
00E4 A900 R MOV R1,station1+01H
00E6 A800 R MOV R0,station1
00E8 C3 CLR C
00E9 120000 E LCALL ?C?ULCMP
00EC 4003 JC $ + 5H
00EE 020000 R LJMP ?C0012
; SOURCE LINE # 92
; SOURCE LINE # 93
00F1 E500 E MOV A,keydata1
00F3 6402 XRL A,#02H
00F5 6003 JZ $ + 5H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -