找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1270|回复: 1
打印 上一主题 下一主题
收起左侧

求大神老师指导一个按键控制问题

[复制链接]
跳转到指定楼层
楼主
ID:236247 发表于 2017-10-20 18:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Tiamano 于 2017-10-23 06:40 编辑

89c52
想做一个用按键控制LED开关和亮度的程序
但是总是出错
按键无法控制LED开关,但是可以控制亮度
请教大神为何
  1. #include<reg52.h>
  2. #define l_LED P2         
  3. #define l_PWM 101        
  4. #define l_MAX 100        
  5. #definel _MIN 1         
  6. sbit l_KEY_ADD=P3^0;   
  7. sbit l_KEY_DEC=P3^1;   
  8. sbit l_EKY_OFF=P3^2;
  9. void delay(unsigned int a )
  10. {
  11.         unsigned char i;
  12.         while(--a!=0)
  13.         {
  14.                 for(i=0;i<12;i++);
  15.         }
  16. }
  17. void keypros()
  18. {    l_LED=0xfe;
  19.         if(l_EKY_OFF==0)                  
  20.         {        
  21.                 delay(1000);  
  22.                 if(l_EKY_OFF==0)         
  23.                 {
  24.          l_LED=~l_LED;         
  25.                 }
  26.                 while(!l_EKY_OFF);        
  27.         }               
  28. }
  29. void Display(unsigned int jyn)
  30. {
  31. l_LED=0xfe;              
  32.         delay(jyn);               
  33.         l_LED=0xff;            
  34.         delay(l_PWM-jyn);
  35. }
  36.         void main()
  37.         {        
  38.                 unsigned int k=1;
  39.                  while(1)   
  40.                                     
  41.                 { keypros();Display(k);
  42.                         if(l_KEY_ADD==0)      
  43.                         {
  44.                                 delay(20);
  45.                                 if(l_KEY_ADD==0)  
  46.                                 {
  47.                                         k++;
  48.                                 if(k>l_MAX)         
  49.                                 {
  50.                                         k=l_MAX;         
  51.                                 }
  52.                         }
  53.                 }
  54.                 if(l_KEY_DEC==0)        
  55.                 {
  56.                         delay(20);
  57.                         if(l_KEY_DEC==0)      
  58.                                 k--;
  59.                                 if(k<jyn_MIN)
  60.                                 {k=jyn_MIN;           
  61.                                 }
  62.                         }
  63.                 }        
  64.                  }
  65.          
  66.                         
  67.                
  68.                
  69.          
复制代码

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:236247 发表于 2017-10-23 06:39 来自手机 | 只看该作者
求教大神老师修改
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表