LPC2124定时器实现跑马灯

一、keil 4新建工程

1、Create New Project,注意,最好添加进一个新建好的文件夹里,keil不会帮你新建。
2、添加设备类型:NXP目录下的LPC2124
在这里插入图片描述
3、选择启动文件Startu.s
在这里插入图片描述

4、new 一个file,保存命名为.c文件
在这里插入图片描述
5、添加进project里,右击,add
在这里插入图片描述
选中,添加
在这里插入图片描述
6、设置编译输出.hex文件
在这里插入图片描述
在这里插入图片描述
linker中勾选:
在这里插入图片描述

二、Protues仿真电路图

在这里插入图片描述

三、程序代码

3.1 初始代码:简单实现跑马灯功能

#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端口
typedef unsigned int uint32;
typedef unsigned char uint8;

uint8 timer0Times = 0;
__irq void timer0_ISR (void) 	//定时器中断处理函数
{
   
	uint32  i;
	timer0Times++;				//中断次数计数
	
	if(timer0Times == 1)		//第一次发生中断,点亮LED1
	{
   
		i=IO0SET;                       
		if((i&LED1)==0){
   		//LED灯状态获取,=0是点亮状态,低电平点亮
			IO0SET=LED1; 
		}else{
   					//=1是熄灭状态
			IO0CLR=LED1;		
		}
	}
	
	
	if(timer0Times == 2){
   		//第二次中断点亮LED2
		i=IO0SET;                         
		if((i&LED2)==0)
		{
   
			IO0SET=LED2; 
		}else
		{
   
			IO0CLR=LED2;
		}

	}
	
	
	if(timer0Times == 3){
   	//第三次中断点亮LED3
		i=IO0SET;                         
		if((i&LED3)==0)
		{
   
			IO0SET=LED3; 
		}else
		{
   
			IO0CLR=LED3;
		}

	}
		
	
		
	if(timer0Times == 4){
   	//第四次中断点亮LED4
		i=IO0SET;                         
		if
  • 8
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值