LPC2103学习板-按键测试程序
/**************ARM7(LPC2103)练习程序**************************/ #define speak (1<21) ////蜂鸣器引脚定义 void speakertest(void);//蜂鸣器测试程序 /*************延时程序***************/ /***************************************************/ void keytest(void) //按键测试程序 if(i1==0) if(i2==0) if(i3==0) /////////////主程序/////////////////// IO0DIR=0x0027fc00; //配置P10-P18为输出 }
/*****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 K1 (1<27) //定义按键1的引脚
#define K2 (1<28) //定义按键2的引脚
#define K3 (1<30) //定义按键3的引脚
void delayms(unsigned int count); //延时程序
void keytest(void) ;
void delayms(unsigned int count)
{
unsigned int i,j;
for(i=0;i
}
void speakertest(void)//蜂鸣器测试程序
{
uchar i;
for(i=0;i<100;i++)
{
IO0CLR=0x00200000;
delayms(1);
IO0SET=0x00200000;
delayms(1);
}
}
/*****************************************/
{
uchar i1,i2,i3;
if((IO0PIN&K1)==0x00) //判断是否有按键按下
{
//按键去抖
while((IO0PIN&K1)==0x00) //判断是否有按键放开
{
speakertest();
i1=!i1;
}
{IO0CLR=(1<10);}
else
{IO0SET=(1<10);}
}
if((IO0PIN&K2)==0x00) //判断是否有按键按下
{
//按键去抖
while((IO0PIN&K2)==0x00) //判断是否有按键放开
{
speakertest();
i2=!i2;
}
{IO0CLR=(1<11);}
else
{IO0SET=(1<11);}
}
if((IO0PIN&K3)==0x00) //判断是否有按键按下
{
//按键去抖
while((IO0PIN&K3)==0x00) //判断是否有按键放开
{
speakertest();
i3=!i3;
}
{IO0CLR=(1<12);}
else
{IO0SET=(1<12);}
}
else
{;}
}
int main(void)
{
IO0SET=0x0003fc00; //初始化LED
while(1)
{keytest();}//按键测试程序
LPC2103按键测 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)