您的位置 首页 传感器

LPC2103学习板-按键测验程序

/**************ARM7(LPC2103)练习程序**************************//*****FileFunction:KEYtest*****//*****Pro

/**************ARM7(LPC2103)操练程序**************************/
/*****File Function : KEY test *****/
/*****Program Author : ClimberWin *****/
/*****MCU : LPC2103F 外部11.0592M晶振 *****/
/*****Compile Date : 2011/04/01 *****/
/*****Edition Info : V1.0*****/
/******************************************************************/
//编译环境 KEIL for ARM
//注:由于按键使用了JTAG调试引脚,所以断开调试器才能够正常运转程序
#include
#include
#define uint unsigned int
#define uchar unsigned char

#define speak (1<<21) ////蜂鸣器引脚界说
#define K1 (1<<27) //界说按键1的引脚
#define K2 (1<<28) //界说按键2的引脚
#define K3 (1<<30) //界说按键3的引脚

void speakertest(void);//蜂鸣器测验程序
void delayms(unsigned int count); //延时程序
void keytest(void) ;

/*************延时程序***************/
void delayms(unsigned int count)
{
unsigned int i,j;
for(i=0;ifor(j=0;j<5000;j++);
}

/***************************************************/
void speakertest(void)//蜂鸣器测验程序
{
uchar i;
for(i=0;i<100;i++)
{
IO0CLR=0x00200000;
delayms(1);
IO0SET=0x00200000;
delayms(1);
}
}
/*****************************************/

void keytest(void) //按键测验程序
{
uchar i1,i2,i3;
if((IO0PIN&K1)==0x00) //判别是否有按键按下
{
//按键去抖
while((IO0PIN&K1)==0x00) //判别是否有按键铺开
{
speakertest();
i1=!i1;
}

if(i1==0)
{IO0CLR=(1<<10);}
else
{IO0SET=(1<<10);}
}
if((IO0PIN&K2)==0x00) //判别是否有按键按下
{
//按键去抖
while((IO0PIN&K2)==0x00) //判别是否有按键铺开
{
speakertest();
i2=!i2;
}

if(i2==0)
{IO0CLR=(1<<11);}
else
{IO0SET=(1<<11);}
}
if((IO0PIN&K3)==0x00) //判别是否有按键按下
{
//按键去抖
while((IO0PIN&K3)==0x00) //判别是否有按键铺开
{
speakertest();
i3=!i3;
}

if(i3==0)
{IO0CLR=(1<<12);}
else
{IO0SET=(1<<12);}
}
else
{;}
}

/////////////主程序///////////////////
int main(void)
{

IO0DIR=0x0027fc00; //装备P10-P18为输出
IO0SET=0x0003fc00; //初始化LED
while(1)
{keytest();}//按键测验程序

}

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部