利用LPC1788的定时器0实现10ms单位的计数器,即每10ms计数增加1.
初始化定时器0
init_timer(1,599990); //10ms为单位 599990=10(60000000/1000-1),LPC1788工作在120MHZ,经PLL分频后的外设时钟PeripheralClock为60MHZ
函数原型:
uint32_t init_timer ( uint8_t timer_num, uint32_t TimerInterval )
{
timer0_counter = 0;
LPC_SC->PCONP |= (0x01<<1);
LPC_TIM0->MR0 = TimerInterval;
LPC_TIM0->MCR = 3; /* Interrupt and Reset on MR0 */
NVIC_EnableIRQ(TIMER0_IRQn);
return (TRUE);
}
使能定时器
LPC_TIM0->TCR = 1;
定时中断处理
void TIMER0_IRQHandler (void)
{
LPC_TIM0->IR = 0x1<<0; /* clear interrupt flag */
timer0_counter++;
return;
}
关键字:LPC1788 10ms单位 计数器
引用地址:
LPC1788实现10ms单位的计数器
推荐阅读最新更新时间:2024-03-16 16:24
51单片机的计时器和计数器
一·定时器和计数器的原理 它们随着计数器的输入脉冲自行加1,每来一个脉冲,计数器自动贾1,当计数器全为1时,再输入一个脉冲计数器回0,且计数器的溢出使相应的中断标志位置1,向CPU发出中断请求。 处于定时模式则表示时间已到,处于计数模式则表示计数已满。 二· 定时器结构 定时/计数器实质上是一个加1计数器。它随着计数器的输入脉冲进行自加1,也就是每来一个脉冲,计数器就自动加1,,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使相应的中断标志位置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。
[单片机]
100进制计数器
100进制计数器 异步级联法组成的100进制计数器 定义集成计数器的高低位,1#芯片为低位(相当于个位);2#芯片为高位,(相当于十位),从低位开始计数,把计数脉冲CP送入1#(低位)集成计数器的CP端。B.寻找进位信号,进位端C发出的就是进位信号,这是从0~9的计数过程中,计数到Q3Q2Q1Q0=1001(9)时,发出的高电平信号。C.74LS160是CP上升沿有效的集成计数器,高位芯片需要一个脉冲上升沿进行触发计数,并且,就进位的时机而言,应该在低位芯片的状态是9à0(Q3Q2Q1Q0=1001à0000)时刻,此时,进位输出端C:从1à0,这是一个下降沿,这也是我们需要的进位信号,只是信号边沿不对。可以用一个非门进行
[模拟电子]
FX系列PLC的计数器C的功能、结构和计数过程
l 功能:对内部元件X、Y、M、S、T、C的信号进行计数。 l 结构:线圈、触点、设定值寄存器、当前值寄存器。 l 地址编号:字母C+(十进制)地址编号 (C0~ C255) l 设定值: 等于计数脉冲的个数。用常数K设定。 l 16位低速计数器 Ø 通用加计数器:C0~C99(100点);设定值区间为K1~K32767 Ø 停电保持加计数器:C100~C199(100点);设定区间为K1~K32767 特点:停电保持计数器在外界停电后能保持当前计数值不变,恢复来电时能累计计数。 l 原理:计数信号每接通一次(上升沿到来),加计数器的当前值加1,当前值达到设定值时,计数器触点动作;复位信号接通时计数器复位。 l 计数器处于复位
[嵌入式]
LPC1768@100MHz和LPC1788@120MHz的PLL0设置
对于搞软件开发的来说,弄一些硬件相关参数总觉得有点没底。做了几年,总算知道锁相环(PLL)的作用是把一个输入频率“放大”后输出,虽然对PLL的电路原理还是一窍不通。最近研究LPC1788和LPC1768的主频时发现两者的PLL0配置相差挺多的,于是耐着性子啃了User manual,总算理清楚了(作为软件开发者,某些太细节的硬件原理就不去深究了)。 首先LPC1788工作在120MHz是没问题的,但LPC1768的最高频率只能是100MHz(LPC1769可以到120MHz,但估计大陆很少有人会去用这片子)。 LPC1788 的PLL原理图 其中MSEL和PSEL分别是指PLL倍频器值(
[单片机]
环形计数器构成的顺序脉冲发生器
环形计数器构成的顺序脉冲发生器,如图 所示是由4位环形计数器构成的4输出顺序脉冲发生器。
[模拟电子]
西门子S7-200 SMART PLC计数器指令介绍
计数器的功能是对输入脉冲进行计数。S7-200系列PLC有三种类型的计数器:加计数器CTU(递增计数器)、减计数器CTD(递减计数器)和加减计数器CTUD。计数器的编号为C0~C255。三种计数器如图4-8所示。 图4-8 三种计数器 加计数器(CTU) 加计数器的特点是:当CTU输入端(CU)有脉冲输入时开始计数,每来一个脉冲上升沿计数值加1;当计数值达到设定值(PV)后状态变为1且继续计数,直到最大值32767。如果R端输入为ON或其他复位指令对计数器执行复位操作,计数器的状态将变为0,计数值也清0。 1.指令说明 加计数器指令说明如表4-12所示。 表4-12 加计数器指令说明 2.指令使用举例 加计数器指令使用
[嵌入式]
STM32之通用定时器计数器模式
#include stm32f10x.h /* RCC时钟配置 */ void RCC_config() { ErrorStatus HSEStartUpStatus; /* RCC寄存器设置为默认配置 */ RCC_DeInit(); /* 打开外部高速时钟 */ RCC_HSEConfig(RCC_HSE_ON); /* 等待外部高速时钟稳定 */ HSEStartUpStatus = RCC_WaitForHSEStartUp(); if(HSEStartUpStatus == SUCCESS) { /* 设置HCLK = SYSCLK */ RCC_HCLKConfig(RCC_SYSCLK_Div1); /
[单片机]
DS1318与8051微控制器的接口
应用笔记演示了使用DS1318历时计数器计算天数。软件实例中包括基本的操作程序,并给出了应用电路的原理图。 DS1318引脚配置 计数器概述 该应用笔记演示了如何使用DS1318历时计数器,DS1318具有44位计数器,可提供244µs的计时分辨率。44位计数器通过6个8位寄存器(图1)进行访问。 图1. DS1318的44位计数器配置 从概念上来说,44位计数器可以分成一个12位亚秒级计数器和一个分辨率为一秒的32位计数器(图2)。如果应用种不需要亚秒级分辨率,则可访问32位秒计数器。 图2. 12位亚秒计数器和32位秒计数器。 在本应用笔记提供的示例中,软件子程序每秒一次连续读取32位秒计数器的数值,并通过8
[单片机]