标题: avr 单片机独立按键控制一个led [打印本页]

作者: l似水流年    时间: 2018-1-28 16:22
标题: avr 单片机独立按键控制一个led
新手学习,如何用独立按键控制一个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();}
}




作者: hange_v    时间: 2018-1-28 21:53
用while(1)试试,你是刚学单片机吗?
作者: yishuihan1    时间: 2018-1-28 22:05
新手过来学习学习
作者: l似水流年    时间: 2018-1-29 11:02
hange_v 发表于 2018-1-28 21:53
用while(1)试试,你是刚学单片机吗?

怎么加?试了不行
作者: hztaiao    时间: 2018-1-29 15:01
引脚怎么定义的?
作者: gst    时间: 2018-1-31 22:42
在if前边写个while  不停监测 按键的状态  你这个  还没等你按 程序可能都结束了  加个循环
作者: iandrogan    时间: 2018-2-1 11:00
if(key==0x0E)
  {show();}

改成
while(1)
{
    if(key==0x0E)
       {show();}
}
作者: tlhuang168    时间: 2018-2-1 22:04
过来学习学习
作者: buyy51dan    时间: 2018-2-1 23:19
刚刚学 看着代码头疼
作者: 青桑叶    时间: 2018-2-2 14:58
if条件总为假吧?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1