打印

简单按键问题!但是我是新手!

[复制链接]
1459|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
happyteng|  楼主 | 2009-4-18 09:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题:
P1.0接按键
P1.1口接LED
P1.2口接LED
P1.3口接LED
P1.4口接LED

如何实现
按键按第一下
P1.1的LED亮
按键按第二下
P1.2的LED亮
按键按第三下
P1.3的LED亮
按键按第四下
P1.4的LED亮

相关帖子

沙发
九浩| | 2009-4-18 13:16 | 只看该作者

很简单的!

这是我写的程序:参考一下吧!判按键是第几次按下+按键去抖+相应的灯亮!
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar num;
sbit key=P1^0;
void delay(uint z);
void main()
{
    while(1)
    {
        if(key==0)
        {
            delay(10);
            if(key==0)
            {
                while(!key);
                num++;
                if(num==5)
                num=1;
                switch(num)
                {
                    case 1:P1=0xfc;break;
                    case 2:P1=0xfa;break;
                    case 3:P1=0xf6;break;
                    case 4:P1=0xee;break;
                }
            }
        }
    }
}

void delay(uint z)
{
    uint x,y;
    for(x=z;x>0;x--)
        for(y=110;y>0;y--);
}

使用特权

评论回复
板凳
iC921| | 2009-4-18 14:04 | 只看该作者

意思是P1口能同时具有输入和输出?

使用特权

评论回复
地板
lelee007| | 2009-4-21 17:15 | 只看该作者

P1口虽然不能同时输入输出,但是可以实现LZ的这个功能

P1寄存器是可以位寻址的吧?!不知道大叔您说的什么意思阿

使用特权

评论回复
5
wangyf572| | 2009-10-29 16:16 | 只看该作者
用汇编
跳转表来实现!!

使用特权

评论回复
6
pywmiss| | 2009-10-30 08:13 | 只看该作者
没有端口了吗?一定都要放在P1口?

使用特权

评论回复
7
IC_99| | 2009-10-31 00:29 | 只看该作者
2楼的程序应该是可以实现楼主的功能的

使用特权

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

本版积分规则

2

主题

3

帖子

0

粉丝