📄 pull in test.lst
字号:
C51 COMPILER V7.06 PULL_IN_TEST 01/12/2006 19:52:28 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE PULL_IN_TEST
OBJECT MODULE PLACED IN PULL IN TEST.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE PULL IN TEST.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg51.h>
2 #define uint unsigned int
3 #define uchar unsigned char
4 //#define VOL_CON 4095
5 #define VOL_CON 3412
6 #define TIME_CON_T0 240
7 #define TIME_CON_T1 1000
8 sbit S_NO=P1^0;
9 sbit S_NC=P1^1;
10 sbit HOLD_D=P1^2;
11 sbit FAST=P1^3;
12 sbit MID=P1^4;
13 sbit SLOW=P1^5;
14 sbit SQR=P1^6;
15 sbit RMP=P1^7;
16 sbit PULL_THR_IN=P3^2;
17 sbit D=P3^4;
18 sbit AB=P3^5;
19 sbit A=P3^6;
20 uchar SPEED;
21 uint Z=0;
22 uint DIGIT_VAL=0;
23 static bit RISE=0;
24 static char WAVE;
25 static uint Y=0;
26 static bit NO_JUGHT=0;
27 void DELAY(uint A);
28 void T0_SRV(void);
29 void T1_SRV(void);
30 void VOLT_OUT(void);
31 void HOLD(void);
32 void SCAN_INPUT(void);
33 void main(void)
34 {
35 1 bit data START=0;
36 1 P0=0;
37 1 P2=0;
38 1 TMOD=0X11;
39 1 ET0=1;
40 1 ET1=1;
41 1 EA=1;
42 1 PT1=1;
43 1 HOLD_D=1;
44 1 while(1)
45 1 {
46 2 SCAN_INPUT();
47 2 VOLT_OUT();
48 2 if(START==0&&(SQR==0||RMP==0))
49 2 {
50 3 TL0=-(SPEED*TIME_CON_T0)%256;
51 3 TH0=-(SPEED*TIME_CON_T0)/256;
52 3 TL1=-TIME_CON_T1%256;
53 3 TH1=-TIME_CON_T1/256;
54 3 TR0=1;
55 3 START=1;
C51 COMPILER V7.06 PULL_IN_TEST 01/12/2006 19:52:28 PAGE 2
56 3 }
57 2 if(SQR!=0&&RMP!=0)
58 2 {
59 3 START=0;
60 3 DIGIT_VAL=0;
61 3 }
62 2 }
63 1 }
64 void DELAY(uint A)
65 {
66 1 TR0=0;
67 1 TR1=1;
68 1 while(A!=Z);
69 1 TR1=0;
70 1 TR0=1;
71 1 Z=0;
72 1 }
73 void T1_SRV(void) interrupt 3 using 2
74 {
75 1 TL1=-TIME_CON_T1%256;
76 1 TH1=-TIME_CON_T1/256;
77 1 Z++;
78 1 }
79 void T0_SRV(void) interrupt 1 using 1
80 {
81 1 TL0=-(SPEED*TIME_CON_T0)%256;
82 1 TH0=-(SPEED*TIME_CON_T0)/256;
83 1 switch(WAVE)
84 1 {
85 2 case 0:
86 2 {
87 3 if(Y==VOL_CON)
88 3 {
89 4 DIGIT_VAL=DIGIT_VAL^0XFFFF;
90 4 Y=0;
91 4 }
92 3 else
93 3 {
94 4 Y++;
95 4 }
96 3 } break;
97 2 case 1:
98 2 {
99 3 if(RISE==0)
100 3 {
101 4 if(DIGIT_VAL>=VOL_CON)
102 4 {
103 5 RISE=1;
104 5 //DELAY(1);
105 5 }
106 4 else
107 4 {
108 5 DIGIT_VAL++;
109 5 }
110 4 }
111 3 if(RISE==1)
112 3 {
113 4 if(DIGIT_VAL==0)
114 4 {
115 5 RISE=0;
116 5 //DELAY(1);
117 5 }
C51 COMPILER V7.06 PULL_IN_TEST 01/12/2006 19:52:28 PAGE 3
118 4 else
119 4 {
120 5 DIGIT_VAL--;
121 5 }
122 4 }
123 3 } break;
124 2 }
125 1 }
126 void VOLT_OUT(void)
127 {
128 1 P0=DIGIT_VAL%256;
129 1 P2=DIGIT_VAL/256;
130 1 }
131 void HOLD(void)
132 {
133 1 HOLD_D=0;
134 1 DELAY(700);
135 1 HOLD_D=1;
136 1 }
137 void SCAN_INPUT(void)
138 {
139 1 if(FAST==0) SPEED=1;
140 1 if(MID==0) SPEED=2;
141 1 if(SLOW==0) SPEED=3;
142 1 if(SQR==0)
143 1 {
144 2 if(WAVE==1) DIGIT_VAL=0;
145 2 WAVE=0;
146 2 HOLD_D=0;
147 2 }
148 1 if(RMP==0)
149 1 {
150 2 WAVE=1;
151 2 if(D==0)
152 2 {
153 3 if(PULL_THR_IN==0)
154 3 {
155 4 HOLD();
156 4 }
157 3 }
158 2 if(AB==0)
159 2 {
160 3 if(NO_JUGHT==0)
161 3 {
162 4 if(S_NO==0)
163 4 {
164 5 NO_JUGHT=1;
165 5 HOLD();
166 5 }
167 4 }
168 3 if(NO_JUGHT==1)
169 3 {
170 4 if(S_NO==1)
171 4 {
172 5 NO_JUGHT=0;
173 5 HOLD();
174 5 }
175 4 }
176 3 }
177 2 if(A==0)
178 2 {
179 3 if(NO_JUGHT==0)
C51 COMPILER V7.06 PULL_IN_TEST 01/12/2006 19:52:28 PAGE 4
180 3 {
181 4 if(S_NO==0)
182 4 {
183 5 NO_JUGHT=1;
184 5 HOLD();
185 5 }
186 4 }
187 3 if(NO_JUGHT==1)
188 3 {
189 4 if(S_NO==1)
190 4 {
191 5 NO_JUGHT=0;
192 5 }
193 4 }
194 3 }
195 2 }
196 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 361 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 8 ----
IDATA SIZE = ---- ----
BIT SIZE = 2 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -