📄 mc145170.lst
字号:
213 2 CLK=1;
214 2 _nop_();
215 2 }
216 1
217 1 //
218 1 ENB=0;
219 1 for(i=0;i<8;i++)
220 1 {
221 2 CLK=0;
222 2 _nop_();
223 2 if(i==4)
224 2 DIN=1;
225 2 else
226 2 DIN=0;
227 2 CLK=1;
228 2 _nop_();
229 2 }
230 1
231 1 ENB=1;
232 1
233 1 }
234 /**************************************
235 名称:changefrequence
236 功能:改变频率的任务函数
237 输入参数:无
238 输出参数:无
239 *************************************/
C51 COMPILER V8.01 MC145170 03/16/2008 21:34:52 PAGE 5
240 /*void changefrequence(void)
241 {
242 switch(Menu1)
243 { case 1: mc145170reset();
244 Delay5Ms();
245 writec(0x6f);
246 Delay5Ms();
247 write_R24(BaseFre);
248 Delay5Ms();
249 write_N(Frequence);
250 ePutUint(15,1,Frequence);
251 Delay5Ms();
252 Menu1=2;
253
254 break;
255 case 2://输入的按键对应的数码从显示屏右端移入
256 switch(MyKey)
257 {case 0:break;
258 case 1:
259 Frequence=Frequence+1;//递增
260 write_N(Frequence);
261 ePutUint(15,1,Frequence);
262 MyKey=0;
263 break;
264 case 2:
265 Frequence=Frequence-5;//递减
266 write_N(Frequence);
267 ePutUint(15,1,Frequence);
268 MyKey = 0;//清按键缓冲区,表示按键值已经取走
269 break;
270 case 3:
271 MyKey = 0;//清按键缓冲区,表示按键值已经取走
272 Menu1=1;
273 break;
274 }
275 break;
276
277 }
278 } */
279 Set_all_Mc145170()
280 {
281 1 mc145170reset();
282 1 Delay5Ms();
283 1 writec(0x6f);
284 1 Delay5Ms();
285 1 write_R24(BaseFre);
286 1 Delay5Ms();
287 1 write_N(Frequence);
288 1 Delay5Ms();
289 1 }
290
291 //////////////////////////////////////////数字各位分离程序/////////////////////////////
292 void MakeDate(int show_answer)
293 { char i;
294 1 for(i=0;i<7;i++)
295 1 {c[i] = show_answer%10;
296 2 show_answer = show_answer/10;
297 2 }
298 1 if(c[6]==0)
299 1 {c[6]=10;
300 2 if(c[5]==0)
301 2 {c[5]=10;
C51 COMPILER V8.01 MC145170 03/16/2008 21:34:52 PAGE 6
302 3 if(c[4]==0)
303 3 {c[4]=10;
304 4 if(c[3]==0)
305 4 {c[3]=10;
306 5 if(c[2]==0)
307 5 {c[2]=10;
308 6 if(c[1]==0)
309 6 {c[1]=10;}
310 6 }
311 5 }
312 4 }
313 3 }
314 2 }
315 1 }
316
317 display_fre() //显示频率
318 {
319 1 char j = 0;
320 1 MakeDate(Frequence) ; //分离数字
321 1 for(j=0;j<8;j++)
322 1 {
323 2 XBYTE[0x8100]=~(0x80>>j); //选择数码管显示位数
324 2 XBYTE[0x8200]=DisplayBuffer[c[j]]; //显示数字
325 2 delay_1ms();
326 2 }
327 1
328 1 }
329
330 keybord()
331 {
332 1 XBYTE[0x8200] = 0;
333 1 if(P1_0 == 0)
334 1 {
335 2 Delay5Ms();
336 2 Delay5Ms();
337 2 Delay5Ms();
338 2 Delay5Ms();
339 2 Frequence = Frequence + 50;
340 2 write_N(Frequence);
341 2 }
342 1
343 1 else if(P1_1 == 0)
344 1 {
345 2 Delay5Ms();
346 2 Delay5Ms();
347 2 Delay5Ms();
348 2 Delay5Ms();
349 2 Frequence = Frequence - 50;
350 2 write_N(Frequence);
351 2 }
352 1 }
353
354 /**************************************
355 名称:main
356 功能:主函数
357 输入参数:无
358 输出参数:无
359 *************************************/
360 main()
361 {
362 1 //EA = 0;
363 1 Set_all_Mc145170(); //一个函数把mc145170所有寄存器设置好
C51 COMPILER V8.01 MC145170 03/16/2008 21:34:52 PAGE 7
364 1
365 1 while(1)
366 1 {
367 2 display_fre();
368 2 keybord() ;
369 2 }
370 1
371 1 }
372
373
374
375 /*05级单片机板程序
376 main()
377 {
378 EA = 0;
379 Set_all_Mc145170(); //一个函数把mc145170所有寄存器设置好
380
381 while(1)
382 {
383 P3_7 = 1;
384 if(P3_2 == 0)
385 {
386 P3_7 = 0;
387 Delay400Ms() ;
388 Delay400Ms() ;
389 Frequence = Frequence + 100;
390
391 }
392
393 if(P3_3 == 0)
394 {
395 P3_7 = 0;
396 Delay400Ms() ;
397 Delay400Ms() ;
398 Frequence = Frequence - 100;
399
400 }
401 if(P3_4 == 0)
402 {
403 P3_7 = 0;
404 Delay400Ms() ;
405
406 mc145170reset();
407 Delay5Ms();
408 writec(0x6f);
409 Delay5Ms();
410 write_R24(BaseFre);
411 Delay5Ms();
412 write_N(Frequence);
413 // ePutUint(15,1,Frequence);
414 Delay5Ms();
415 }
416 }
417
418 } */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 531 ----
CONSTANT SIZE = 13 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
C51 COMPILER V8.01 MC145170 03/16/2008 21:34:52 PAGE 8
DATA SIZE = 10 2
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 + -