打印
[STM32F1]

如何用独立按键控制一个led灯

[复制链接]
857|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenho|  楼主 | 2021-8-13 22:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何用独立按键控制一个led灯,按下时候灯亮,下面我写的,求解失败原因及方法,谢谢
#include<iom16v.h>
#include<macros.h>
#define unit unsigned int
#define uchar unsigned char

void show()
{
DDRA|=0X84;
PORTA|=BIT(2);
PORTA&=~BIT(7);


DDRB=0XFF;
PORTB=0XFE;
}
void main()
{
uchar key;
DDRD|=0X0F;
PORTD|=0X0F;

DDRD&=0XF0;

key=PIND;
key=key&0x0f;

if(key==0x0E)
  {show();}
}

使用特权

评论回复
沙发
stly| | 2021-8-13 22:47 | 只看该作者

用while(1)试试,你是刚学单片机吗?

使用特权

评论回复
板凳
llljh| | 2021-8-13 22:50 | 只看该作者

楼主你的引脚怎么定义的?

使用特权

评论回复
地板
heweibig| | 2021-8-13 22:52 | 只看该作者
在if前边写个while  不停监测 按键的状态

使用特权

评论回复
5
gongche| | 2021-8-13 22:54 | 只看该作者

if(key==0x0E)
  {show();}

改成
while(1)
{
    if(key==0x0E)
       {show();}
}

使用特权

评论回复
6
dingy| | 2021-8-13 22:56 | 只看该作者
你的if条件总为假吧?

使用特权

评论回复
7
pengf| | 2021-8-13 22:59 | 只看该作者
C+微机原理+模/数只是起步

使用特权

评论回复
8
stly| | 2021-8-13 23:01 | 只看该作者
少一个循环

使用特权

评论回复
9
huanghuac| | 2021-8-13 23:03 | 只看该作者
加while循环就行了

使用特权

评论回复
10
jiajs| | 2021-8-13 23:05 | 只看该作者
没有加循环啊

使用特权

评论回复
11
chuxh| | 2021-8-13 23:06 | 只看该作者
很简单的问题

使用特权

评论回复
12
chenho|  楼主 | 2021-8-13 23:09 | 只看该作者

嗯,我再好好缕一缕吧,有了好消息及时通知大家

使用特权

评论回复
13
观海| | 2021-9-8 18:36 | 只看该作者
额 循环有问题的啦

使用特权

评论回复
14
guanjiaer| | 2021-9-8 18:43 | 只看该作者
自己仿真一下就知道哪里有问题了

使用特权

评论回复
15
heimaojingzhang| | 2021-9-8 18:45 | 只看该作者
千万不要死循环哈

使用特权

评论回复
16
keaibukelian| | 2021-9-8 18:47 | 只看该作者
把哪部分改过就好了

使用特权

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

本版积分规则

748

主题

9853

帖子

5

粉丝