📄 led.lst
字号:
119 2 C = 0;
120 2 n = 0;
121 2 }
122 2 else
123 2 {
124 2 */
125 2
126 2 ledout = 0xff;
127 2 ledout = ledtable[display[0]];
128 2 Disdata = ledout;
129 2 if(tmp < 10) //小数点判别
130 2 {
131 3 E = 0;
132 3 }
133 2 A = 0;
134 2 D = 1;
135 2 C = 0;
136 2 //第6个数码显示完毕,转向7位显示
137 2 // }
138 2 place = 6;
139 2 break;
140 2 case 6:
141 2 A = 0;
142 2 D = 1;
143 2 C = 0;
144 2 ledout = 0xff;
145 2 ledout = ledtable[display[1]];
146 2 Disdata = ledout;
147 2 if((tmp>=10) && (tmp<100)) //小数点判别
148 2 {
149 3 E = 0;
150 3 }
151 2 A = 1;
152 2 D = 0;
153 2 C = 0;
154 2
155 2 place = 7; //第7个数码显示完毕,转向8位显示
156 2 break;
157 2 case 7:
158 2 A = 1;
159 2 D = 0;
160 2 C = 0;
161 2 ledout = 0xff;
162 2 ledout = ledtable[display[2]];
163 2 Disdata = ledout;
164 2 A = 0;
165 2 D = 0;
166 2 C = 0;
167 2 place = 0; //第8个数码显示完毕,转向1位显示
168 2 break;
169 2 }
170 1 }
171
172
173 /************将实际电压值转化为LED要显示的BCD码*******************/
174 void test(void)
175 {
176 1 unsigned int int_disv;
177 1 unsigned int int_number;
178 1 unsigned int int_temp;
C51 COMPILER V8.02 LED 01/17/2007 05:33:06 PAGE 4
179 1
180 1 if(power < 10)
181 1 {
182 2 int_disv = (unsigned int)(power * 10);
183 2 disv[0] = int_disv / 10; //取商 取出十位数字 送第一个LED显示
184 2 disv[1] = int_disv % 10; //取余,取出个位数字 送第二个LED显示
185 2 }
186 1 else
187 1 {
188 2 int_disv = (unsigned int)(power * 10);
189 2 disv[0] = int_disv / 100; //取商 取出十位数字 送第一个LED显示
190 2 disv[1] = (int_disv % 100)/10; //取余,取出个位数字 送第二个LED显示
191 2 }
192 1
193 1
194 1
195 1
196 1
197 1 if(current < 10)
198 1 {
199 2 int_number = (unsigned int)(current*100); //对ADC0809检查出的电压进行取整
200 2 disa[0] = int_number / 100; //取出第1位送入第三个数码管
201 2 disa[1] = ((int_number % 100) / 10); //取出第2位送入第四个数码管
202 2 disa[2] = (int_number % 10); //取出小数位送入第五个数码管
203 2 }
204 1 else
205 1 {
206 2 int_number = (unsigned int)(current*100); //对ADC0809检查出的电压进行取整
207 2 disa[0] = int_number / 1000; //取出第1位送入第三个数码管
208 2 disa[1] = ((int_number % 1000) / 100); //取出第2位送入第四个数码管
209 2 disa[2] = ((int_number %100) /10); //取出小数位送入第五个数码管
210 2 }
211 1
212 1
213 1
214 1
215 1
216 1 if(tmp < 10)
217 1 {
218 2 int_temp = (unsigned int)(tmp*100); //对ADC0809检查出的电压进行取整
219 2 display[0] = int_temp / 100; //取出第1位送入第三个数码管
220 2 display[1] = ((int_temp % 100) / 10); //取出第2位送入第四个数码管
221 2 display[2] = (int_temp % 10); //取出小数位送入第五个数码管
222 2 }
223 1 else
224 1 {
225 2 int_temp = (unsigned int)(tmp*100); //对ADC0809检查出的电压进行取整
226 2 display[0] = int_temp / 1000; //取出第1位送入第三个数码管
227 2 display[1] = ((int_temp % 1000) / 100); //取出第2位送入第四个数码管
228 2 display[2] = ((int_temp %100) /10); //取出小数位送入第五个数码管
229 2 }
230 1 }
231
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 849 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 7
IDATA SIZE = ---- ----
C51 COMPILER V8.02 LED 01/17/2007 05:33:06 PAGE 5
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 + -