LPC1768之定时器TIMER0

发布者:RadiantExplorer最新更新时间:2018-06-27 来源: eefocus关键字:LPC1768  定时器  TIMER0 手机看文章 扫描二维码
随时随地手机看文章


/*************************************************************************************  

* main.c:  the main file 

* NXP --> LPC1768

*

*   

* Author : light

* Date : 2012-4-23  

*

* Email : lightwu@hotmail.com

***************************************************************************************/

 

#include

#include "GPIO.h"

 

volatile uint32_t Timer0Cont = 0;

/********************************************************************************

** Descriptions :timer0 initialze

**

** parameters :None

** Returned value :None

*********************************************************************************/

void Timer0Init(void) 

{

LPC_SC->PCONP |= (1<<1); //打开功率控制

LPC_TIM0->TCR |= (1<<1); //复位定时器

LPC_TIM0->PR   = 0x00; //预分频清零

LPC_TIM0->MR0  = 10000; //匹配寄存器与定时器计数器值相比较

LPC_TIM0->IR  |= 0XFF; //清所有中断标志位

LPC_TIM0->MCR |= ((1<<1)|(1<<0)); //MR0与TC值匹配时将产生中断,TC复位

LPC_TIM0->TCR  = (1<<0); //启动定时器

NVIC_EnableIRQ(TIMER0_IRQn);               /* enable irq in nvic              */

}

/********************************************************************************

** Descriptions :Timer0 interrupt

**

** parameters :None 

** Returned value :None

*********************************************************************************/

void TIMER0_IRQHandler(void)

{

LPC_TIM0->IR |= (1<<0); //清中断标志

Timer0Cont++;

}

/*----------------------------------------------------------------------------

  The main Function 

 *----------------------------------------------------------------------------*/

int main(void)

{

int loc;

SystemInit();

Timer0Init(); 

LedInit();

while(1)

{

if(1000 == Timer0Cont)

{

Timer0Cont = 0;

loc = ~loc;

if(!loc)

{

LedNOn(1);

LedNOn(2);

}

else

{

LedNOff(1);

LedNOff(2);

}

}

/* LedNOn(loc);

DelayMs(1000);

LedNOff(loc);

DelayMs(1000);

*/

}

}


关键字:LPC1768  定时器  TIMER0 引用地址:LPC1768之定时器TIMER0

上一篇:LPC1768 -- RTC使用方法
下一篇:LPC1768实现精准延时——Systick的使用

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

STM32F407定时器编码器模式
void encoder_left_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_ICInitTypeDef TIM_ICInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);//开启TIM3时钟 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD,ENABLE);//开启GPIOB时钟 GPIO_PinAFConf
[单片机]
STM32F407<font color='red'>定时器</font>编码器模式
MSP430学习笔记——定时器(续)
同时定时器A还有3个捕获/比较寄存器CCRx,3个捕获/比较控制寄存器CCTLx。 在捕获比较模块中,可读可写。其中CCR0经常用作周期寄存器,其他CCRx相同。 CCTLx捕获/比较寄存器 CMx:选择捕获模式 CCISx:捕获/比较的输入选择 SCS:1,捕获输入信号与定时器时钟信号同步;0,异步捕获 SCCI:被所存的CCI输入信号和EQUx锁存,通过SCCI读出来。 CAP:0,比较模式;1,捕获模式 OUTMODx:选择输出模式 CCI:捕获/比较的输入信号。选择的输入信号通过该位来读出 CCIFGx :捕获比较中断标志。 捕获模式:寄存器CCRx捕获了定时器TAR值时置位 比较模式:定时器TAR值等于寄存器
[单片机]
MSP430学习笔记——<font color='red'>定时器</font>(续)
飞兆半导体FT8010重启定时器,简化手机重启任务
消费者对具有丰富功能的手机的需求不断上升,使得智能电话日益流行,由多个或不完善的软件系统而产生的问题也随之出现。其中以 “白屏死机”问题为最严重,这时智能电话被“锁定”,用户通常需要取下电池以便进行重启。 飞兆半导体 公司 (Fairchild Semiconductor) 推出的定制 重启定时器 FT8010,可让用户通过触摸指定功能键来重启便携设备。FT8010带有可配置的时间选择引脚,是专为手机和智能电话设计人员而设的手机锁定硬件重启的理想 解决方案 。 FT8010是可调节的高集成度 单芯片 解决方案,提供7.5秒和11.5秒两种重启时间选择,相较使用两至三个 分立器件 的分立式解决方案更能增强设计的灵活
[工业控制]
ATMEGA128单片机定时器+数码管显示
#define SS 0 #define SCK 1 #define MOSI 2 #define MISO 3 #define SS_H() PORTB|=(1 SS) #define SS_L() PORTB&=~(1 SS) //注意,不要漏掉了() #define led0_en() {DDRB|=1 4;PORTB|=(1 4);} //开第一个数码管的位选 #define led0_dis() {DDRB|=1 4;PORTB&=~(1 4);} //关第一个数码管的位选 #define led1_en() {DDRB|=1 5;PORTB|=(1 5);} #define led1_dis() {DDRB|=1 5;
[单片机]
STM32F4之定时器
STM32F407有14个定时器,其中有12个16位的定时器,2个32位的定时器 这几种定时器的区别 定时器的溢出时间计算: Tout(溢出时间)=(ARR+1)(PSC+1)/Tclk ARR:自动重装载寄存器,用于装载计数器 PSC:PSC预分频器(分频范围1~65535) Tclk:外设时钟周期,可以在STM32F407的芯片手册中找到时钟框图 (备注:ARR是代表计数值,而外设时钟经过分频之后,为ARR提供计数时钟,【即每个时钟来,ARR就加1】) 用定时器3,做一个实验: 目标使用定时器进行500ms的led闪烁 //声明一个GPIO结构体变量 GPIO_InitTypeDe
[单片机]
STM32F4之<font color='red'>定时器</font>
STM32定时器控制led灯亮灭
SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置 系统时钟 SYSCLK 等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产 生一次中断,以此循环往复。 在使用时,只需要配置前三个寄存器,最后一个校准寄存器不需要使用。 接下来,利用 SysTick 产生 1s 的时基,LED 以 1s 的频率闪烁。 1、设置重装载寄存器的值 2、清除当前数值寄存器的值 3、配置控制与状态寄存器 配置头文件: void PendSV_Handler(void) { }
[单片机]
STC89C52单片机定时器/计数器详解(含程序和定时器2)
89C51和89C52还是有一些区别的,首先我们要明确,89C51有两个计数器T0和T1,89C52还有一个T2。   PS—串行口中断优先级控制位   PT1—TC1中断优先级控制位   PX1—外部中断1优先级控制位   PT0—TC0中断优先级控制位   PX0—外部中断0优先级控制位   同优先级的中断请求,按默认顺序响应。   【说明】   1. 本文里类似的x均可取值为0或1。   2. TC指TImer/Counter,即定时器/计数器。   3. 机器周期是单片机的基本操作周期,一个机器周期内单片机完成一项基本操作,如取指等。一个机器周期包含12个时钟周期。时钟周期是时钟频率的倒数。   4. T
[单片机]
STC89C52单片机<font color='red'>定时器</font>/计数器详解(含程序和<font color='red'>定时器</font>2)
需更换电池的倒计时数字定时器
只需 MCU、LCD、32kHz 晶振以及一个电阻即可构成一部基本的倒计时定时器,而且只需一颗普通的钮扣电池就能实现连续超过 10 年的工作时间。有两大关键性设计可最小化功耗并尽可能延长电池使用寿命,一是认真选择电池,二是充分利用 MCU 的低功耗模式。   我们之所以选择 CR2032 锂离子钮扣电池,主要是因为它占地较小,可以支持便携式应用,放电曲线较平,可直接驱动LCD,无需补偿,而且漏电极低,能够实现更长的工作时间。典型的 CR2032 额定容量为 "200mA,工作时间可维持数小时。为了实现连续工作 10 年的设计目标,平均系统电流消耗应不得超过 2.28μA,电流消耗的计算方式为电池能量值除以应用的工作寿命,如
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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