单片机补充案例--速度反馈控制LED灯柱状图

举报
zhangrelay 发表于 2021/07/15 01:24:05 2021/07/15
【摘要】 说明:速度快LED显示灯多,速度慢LED显示灯少,显示次序从下向上。 设备: 码盘 端口 使用外部中断和定时器中断,实现里程计测速,从S到dS(V)的过程。 结合高等数学和离散时间系统,理解机器人车轮转速系统的积分和导数等概念。 程序: #include<8052.h> #define LSA P1_5#defin...

说明:速度快LED显示灯多,速度慢LED显示灯少,显示次序从下向上。

设备:

使用外部中断和定时器中断,实现里程计测速,从S到dS(V)的过程。

结合高等数学和离散时间系统,理解机器人车轮转速系统的积分和导数等概念。

程序:


  
  1. #include<8052.h>
  2. #define LSA P1_5
  3. #define LSB P1_6
  4. #define LSC P1_7
  5. unsigned char speed = 0;
  6. unsigned char cnt = 0;
  7. void EXint_Init(void);
  8. void Delayms(unsigned int);
  9. void EXINT0() __interrupt 0;
  10. void Timer0() __interrupt 1;
  11. void main()
  12. {
  13. EXint_Init();
  14. LSA=0;
  15. LSB=0;
  16. LSC=0;
  17. while(1)
  18. {
  19. ;
  20. }
  21. }
  22. void EXint_Init()
  23. {
  24. IT0=1;
  25. IT1=0;
  26. // IPH=0x40;
  27. PX1=1;
  28. EA=1;
  29. EX0=1;
  30. TMOD = 0x01;//设置定时器T0工作方式1
  31. TL0 = 47104%256;//计数器初值
  32. TH0 = 47104/256;
  33. TR0 = 1;//启动定时器
  34. ET0 = 1;//开中断
  35. EX1=1;
  36. }
  37. void Delayms(unsigned int xms)
  38. {
  39. unsigned int i,j;
  40. for(i = xms;i > 0;i--)
  41. {
  42. for (j = 110;j > 0;j--);
  43. }
  44. }
  45. void EXINT0() __interrupt 0
  46. {
  47. speed++;
  48. }
  49. void Timer0() __interrupt 1 //定时器 T0 中断响应
  50. {
  51. TL0 = 47104%256; //计数器初值
  52. TH0 = 47104/256;
  53. cnt++; //计数值自加 1
  54. if (cnt > 4) //判断 T0 溢出是否达到 5 次
  55. {
  56. switch(speed)
  57. {
  58. case 0: {P0=0xff;} break;
  59. case 1: {P0=0xfe;} break;
  60. case 2: {P0=0xfc;} break;
  61. case 3: {P0=0xf8;} break;
  62. case 4: {P0=0xf0;} break;
  63. case 5: {P0=0xe0;} break;
  64. case 6: {P0=0xc0;} break;
  65. case 7: {P0=0x80;} break;
  66. default:{P0=0x00;}
  67. }
  68. Delayms(1);
  69. cnt=0;
  70. speed=0;
  71. }
  72. }

 

文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。

原文链接:zhangrelay.blog.csdn.net/article/details/109667066

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。