打印

请教前辈们这个程序怎么加我想要的结果

[复制链接]
1134|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
it_yuan|  楼主 | 2013-3-22 19:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
sbit KEY=P2^0;
sbit P27=P2^7;
sbit LED=P0^1;
void delay();
void main()
{ while(1)              //不断循环
{ P27=0;
{
  while(!KEY)
  {
    delay();           //调用延时函数,作用消抖   
        if(KEY)         //再次读键盘,以判断刚才判断到的是否为抖动      

        LED=~LED;        //取反P1.1电平状态,也就是改变发光管的状态   
        }
         }
         }
         }
void delay()
{
unsigned int i=15000;
while(i--);           //不断循环的自减,直到i变为0
}
这是个单独按键控制一个灯的程序,上机测试没问题.我想的是要把4X4按键扫描出来的键值比如说KEY2来控制这个LED 程序要怎么加.我刚学的,谢谢指教  

4X4按键是用 z=x|y; 算出来的
x=P3;
      P3=0x0f;
      y=P3;
      z=x|y;
     switch(z)
        {
          case 0xee:k=0;break;
          case 0xed:k=1;break;
          case 0xeb:k=2;break;
          case 0xe7:k=3;break;
          case 0xde:k=4;break;
          case 0xdd:k=5;break;
          case 0xdb:k=6;break;
          case 0xd7:k=7;break;
          case 0xbe:k=8;break;
          case 0xbd:k=9;break;
          case 0xbb:k=10;break;
          case 0xb7:k=11;break;
          case 0x7e:k=12;break;
          case 0x7d:k=13;break;
          case 0x7b:k=14;break;
          case 0x77:k=15;break;
          }
       }
    }
   return(k);
   }

我想问问我的主程序该怎么写

相关帖子

沙发
refee| | 2013-3-24 10:32 | 只看该作者
没有看到电原理图不知道你的IO是如何实现扫键的,给个IO口扫键文档给楼主参考一下……

IO口扫键.pdf

260.28 KB

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

5

帖子

0

粉丝