您的位置 首页 嵌入式

ARM7学习—按键测验程序(LPC2103 IO0PIN)

今天一直在学习按键测试程序,看上去很简单,按键嘛谁都会用,很多种单片机里都是用过了,但是今天还是遇到了一个问题,而且花了我半天的时…

今日一向在学习按键测验程序,看上去很简单,按键嘛谁都会用,很多种单片机里都是用过了,可是今日仍是遇到了一个问题,并且花了我半响的时刻调试和找问题。刚开始我不会用LPC2103的GPIO,后来查了数据手册,知道了读取IO口的办法是读取IOPIN寄存器,LPC2103运用的是IO0PIN。我程序写好,把按键经过串口反应信息。可是我一向测验没按键的时分输入按键口状况不安稳,有按键的时分仍是很安稳的。我认为程序出错了,一向在修正程序,可是仍是相同的状况。后来静下心来想了下,是否IO装备错了?可是查看了好多遍,IO是装备为输入,没什么问题的。后来总算想起来了,我没在按键的IO口加上拉电阻,曾经我在51 STC AVR单片机的按键口都不加上拉电阻的,由于IO内部有上拉能够装备的,成果我看了下LPC2103,没找到。所以我外部加了个10K的上拉电阻,这回再测验,OK了,哈哈!真快乐!一下是示例程序:我从我整个程序了挑出了按键部分程序,串口通讯程序没增加上去。

//#include
//#include

#define K1 (1<<19) //界说按键1的引脚

void keytest(void);

void keytest(void) //按键测验程序
{
if((IO0PIN&K1)==0x00) //判别是否有按键按下
{
//按键去抖
while((IO0PIN&K1)==0x00) //判别是否有按键铺开
{
delayms(100);
}
UART0_SendStr(“K1”);
}
else
{;}
}

////////////主程序///////////////

int mian()

{

PINSEL0 |= 0x00000005; //设置I/O连接到UART0,其他为一般GPIO口
PINSEL1 |= 0x00000000;
UART0_INT(); //串口初始化

while(1)

{keytest();}//按键测验程序

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/267179.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部