微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 第37节:数码管作为仪表盘显示跑马灯的方向,速度和状态

第37节:数码管作为仪表盘显示跑马灯的方向,速度和状态

时间:11-22 来源:互联网 点击:

  1. 对称,都是两条指令。不加也可以。
  2. beep_dr=1;//蜂鸣器是PNP三极管控制,高电平就停止鸣叫。
  3. // beep_dr=0;//蜂鸣器是PNP三极管控制,高电平就停止鸣叫。
  4. }
  5. display_drive();//数码管字模的驱动函数
  6. TH0=0xfe; //重装初始值(65535-500)=65035=0xfe0b
  7. TL0=0x0b;
  8. TR0=1;//开中断
  9. }
  10. void delay_short(unsigned int uiDelayShort)
  11. {
  12. unsigned int i;
  13. for(i=0;i
  14. {
  15. ; //一个分号相当于执行一条空语句
  16. }
  17. }
  18. void delay_long(unsigned int uiDelayLong)
  19. {
  20. unsigned int i;
  21. unsigned int j;
  22. for(i=0;i
  23. {
  24. for(j=0;j<500;j++)//内嵌循环的空指令数量
  25. {
  26. ; //一个分号相当于执行一条空语句
  27. }
  28. }
  29. }
  30. void initial_myself()//第一区 初始化单片机
  31. {
  32. /* 注释二:
  33. * 矩阵键盘也可以做独立按键,前提是把某一根公共输出线输出低电平,
  34. * 模拟独立按键的触发地,本程序中,把key_gnd_dr输出低电平。
  35. * 朱兆祺51学习板的S1就是本程序中用到的一个独立按键。
  36. */
  37. key_gnd_dr=0; //模拟独立按键的地GND,因此必须一直输出低电平
  38. led_dr=0;//关闭独立LED灯
  39. beep_dr=1; //用PNP三极管控制蜂鸣器,输出高电平时不叫。
  40. TMOD=0x01;//设置定时器0为工作方式1
  41. TH0=0xfe; //重装初始值(65535-500)=65035=0xfe0b
  42. TL0=0x0b;
  43. }
  44. void initial_peripheral() //第二区 初始化外围
  45. {
  46. ucDigDot8=0; //小数点全部不显示
  47. ucDigDot7=0;
  48. ucDigDot6=0;
  49. ucDigDot5=0;
  50. ucDigDot4=0;
  51. ucDigDot3=0;
  52. ucDigDot2=0;
  53. ucDigDot1=0;
  54. EA=1; //开总中断
  55. ET0=1; //允许定时中断
  56. TR0=1; //启动定时中断
  57. }



总结陈词:

前面花了大量的章节在讲数码管显示,按键,运动的关联程序框架,从下一节开始,我将会用八节内容来讲我常用的串口程序框架,内容非常精彩和震撼,思路非常简单而又实用。欲知详情,请听下回分解-----判断数据尾来接收一串数据的串口通用程序框架。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top