[51单片机] 各位大神给挑挑毛病

[复制链接]
730|5
 楼主| 小分子 发表于 2016-8-1 21:32 | 显示全部楼层 |阅读模式
  1. /****************************
  2. 独立按键,按一次按键,LED灯
  3. 左移一位
  4. ****************************/
  5. #include <reg52.h>
  6. #include <intrins.h>

  7. #define uint unsigned int
  8. #define uchar unsigned char
  9. sbit Key=P1^0;

  10. void delayms(uint z);

  11. void main()
  12. {
  13.         P0=0xFE;
  14.         Key=0x01;
  15.         while(1)
  16.         {
  17.                 if(!Key)
  18.                 {
  19.                         delayms(10);                  //延时10MS前沿消抖
  20.                         if(!Key)
  21.                         {
  22.                                 P0=_crol_(P0,1);
  23.                                 //while(!Key);         //如果不加按键释放语句,LED灯会不断左移动直到释放按键,
  24.                                                              //人为按键时间要大于10MS,所以导致Key的状态多次检测。
  25.                                                                  //同时,这个语句是消耗CPU的,最好用定时中断解决。
  26.                                 //delayms(10);         //后沿没有必要消抖,因为按键都弹上去了,除非按键损坏。
  27.                         }
  28.                 }
  29.         }
  30. }

  31. void delayms(uint z)    //延时约1MS
  32. {
  33.         uint x,y;
  34.         for(x=z;x>0;x--)
  35.         {
  36.                 for(y=114;y>0;y--);
  37.         }
  38. }


ayb_ice 发表于 2016-8-2 08:22 来自手机 | 显示全部楼层
有基本意识了,
火山LF 发表于 2016-8-2 15:48 | 显示全部楼层
楼上大神的意思是个褒义的,恭喜您啊
 楼主| 小分子 发表于 2016-8-2 21:55 | 显示全部楼层
火山LF 发表于 2016-8-2 15:48
楼上大神的意思是个褒义的,恭喜您啊

哈哈。我应该百尺芊头,更进一步啊。**长征第一步。
xgliyouquan 发表于 2016-8-2 22:42 | 显示全部楼层
希望继续努力
 楼主| 小分子 发表于 2016-8-3 11:22 | 显示全部楼层

多谢支持,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

68

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部