LPC2103学习板-按键测试程序

发布者:创新思维最新更新时间:2016-09-06 来源: eefocus关键字:LPC2103  按键测试 手机看文章 扫描二维码
随时随地手机看文章
LPC2103学习板-按键测试程序 - 小文 - 小文电子设计
/**************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;i  for(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();}//按键测试程序

}


关键字:LPC2103  按键测试 引用地址:LPC2103学习板-按键测试程序

上一篇:嵌入式USB主机的硬件设计
下一篇:LPC2103学习板-蜂鸣器练习程序

推荐阅读最新更新时间:2024-03-16 15:08

S3C6410开发板按键驱动代码分析及测试代码分析
在本文中,我们对S3C6410开发板按键驱动代码的实现过程进行分析,然后通过一个实例对按键功能进行测试。在本文的资源中包含了设备驱动的源码和测试的源码。 一、设备驱动源码分析 按键的设备驱动主要实现了模块的初始化、模块的卸载、设备打开、设备关闭、设备读取、设备阻塞功能。 1、模块初始化 模块的初始化的源码如下所示。 static int __init dev_init(void) { int ret; ret = misc_register(&misc); printk (DEVICE_NAME tinitializedn ); return ret; } 这段代码只实现了一个功能,就是使用mi
[单片机]
基于ARM处理器与GPRS技术的水厂监控系统
    目前远程监控主要有以下方式:短距离长线监控、通过市话网、通过Internet网络、通过自组网络(CDPD网)及通过数传电台监控。     短距离长线监控和通过自组网络自行建设通信网络,信号质量得以保证,但建网初期投资巨大,运营期间维护耗费较高;通过市话网和Internet方式,通信效果好,信号量大,运营费用相对低廉,但接入网络受到限制,且网络运行效果取决于网络运营商,难以达到工业现场覆盖面;数传电台出现较早、应用广泛,信号传输实时性好、运行费用低,但建网初期投资巨大、传输范围有限,易受空间无线信号干扰。     通用分组无线业务GPRS(General Packet Radio Service)是在现有GSM系统上
[嵌入式]
PIC16F72单片机---按键测试程序
/*************PIC16F72单片机程序******************************/ /*************************************************************/ /*****File Function : 按键测试程序 *****/ /*****Program Author : ZhengWen(ClimberWin) *****/ /*****MCU : PIC16F72 外部晶振6MHZ *****/ /*****Compile Date : 2010/11/9 ****
[单片机]
LPC2103的PWM编程
LPC2103的PWM编程 1. 在PINSEL0/1寄存器中设置好需要输出PWM波的管脚功能; 2. CTCR寄存器设置为定时器模式(默认复位值即可); 3. 开启PWMCON中相应的MAT位输出PWM功能; 4. 设置PWM定时时间和占空比等参数: 1) 设置PR寄存器值,即PCLK分频系数,分频后时钟作为TC的计数时钟; 2) 设置匹配寄存器值,需要设置两个匹配寄存器值,假设MR0为PWM输出匹配寄存器,那么需要设置该寄存器计数值,其次,还需要在MR1/2/3中任选一个作为匹配后复位,也就是说,MR1/2/3的值要大于MR0的值。在PWM运行时,初始PWM输出为0,当TC和MR0匹配则PWM输出1
[单片机]
MSP430G2553测试程序(状态机检测按键
//原始状态P1.6亮,P1.0暗,利用状态机进行按键检测,按下并释放的瞬间P1.0翻转,P1.6翻转 // // MSP430G2xx3 // ----------------- // /|| XIN|- // | | | // --|RST XOUT|- // P1.3|KEY P1.6|-- LED // | P1.0|-- LED // Built with IAR Embedded Workbench Version: 5.40 / // Timer A0 interrupt service routine #pragma vector=TIMER0_A0_VECTOR
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved