LPC2124定时器实现跑马灯(2)

加上按键中断的代码进阶

  • 代码
    #include <LPC21xx.H>
    #define LED1 0x000001				//LED1=P0.0
    #define LED2 0x000002				//LED2=P0.1
    #define LED3 0x000004				//LED3=P0.2
    #define LED4 0x000008				//LED4=P0.3
    #define Btn1  	 0x00004000         //设置p0.14 btn1
    #define Btn2     0x00008000   		//设置p0.15 btn2
    typedef unsigned int uint32;
    typedef unsigned char uint8;
    
    uint8 timer0Times = 0;		//用来记录 发生定时器中断的次数
    uint8 times = 0;			//用来记录 btn2点击的次数
    uint8 b=1;					//用来记录倍数,用来控制灯亮的时间
    
    __irq void timer0_ISR (void) //定时器中断处理函数
    {
         
    	timer0Times++;
    	
    	if(timer0Times == 1*b)			//当b为1时,定时器发生第一次中断时,LED1亮		
    	{
         								//b控制灯亮周期
    		IO0CLR=LED1;
    	}
    		
    	if(timer0Times == 2*b){
         			//b为1时,发生第二次中断(第二个时间段)灯灭	
    		IO0SET=LED1; 	
    	}
    	
    		
    	if(timer0Times == 3*b){
         			//第三次中断,LED2亮
    		IO0CLR=LED2
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值