设计要求: 设计一个基于Timer0,要求1ms定时中断?

答: 代码如下(开发环境:路虎NPC1768开发板)

/* Include files */
/* <<add include files here>> */
#include "lpc17xx_libcfg.h"
#include "lpc17xx.h"/* Add Private Types */
/* <<add private type here >> */#define CCLK    100000000
#define PCLK0   CCLK/4/* Add Private Variables */
/* <<add private variables here >> *//* Add Private Functions */
/* <<add private functions here >> */void Init_Timer0(void)
{LPC_TIM0->CTCR=0;  //定时器模式LPC_TIM0->PR=0;LPC_TIM0->PC=0;LPC_TIM0->TC=0;        //计数寄存器清零LPC_TIM0->MR0=PCLK0/1000-1;LPC_TIM0->MCR=0x03; //匹配后产生中断和复位TCLPC_TIM0->TCR=1;  //启动定时器0NVIC_EnableIRQ(TIMER0_IRQn);
}/*** @brief Main program body*/
int c_entry(void)
{/* <<add code here >> */LPC_GPIO2->FIODIR = 0xff;               /* LEDs PORT2 are Output */LPC_GPIO2->FIOPIN = 0x00;Init_Timer0();while(1);return 1;
}void TIMER0_IRQHandler(void)
{LPC_TIM0->IR |= 1; //清除MR0LPC_GPIO2->FIOPIN ^= (1<<0);__NOP();
}/* Support required entry point for other toolchain */
int main (void)
{return c_entry();
}

程序点拨: 第一次玩NPC单片机的,或者说之前玩的是STM32, 可能对定时器里的PR和PC这两个寄存器有点蒙,它们的默认值是0,

说简单点,PR是对PCLK进一步分配,PC值计数,计数到跟PR值相等的时候TC值才加1,可以将PR理解成Timerx的预分频寄存器;

初始化时候PC保持默认值0就可以了。

还有一点需要注意下:

CPU主频默认是100MHz,外设主频默认是四分之一CCLK!!!

看下面的截图就知道上面各个模块的当前频率值了:

LPC1768 Timer0详细Demo使用示例相关推荐

  1. vue form validate 多个input_Vue表单校验插件Vuerify使用详细教程及示例

    点击右上方红色按钮关注"web秀",让你真正秀起来 前言 表单校验,在开发中是非常常见的,为了防止用户误操作,填写错误数据,亦或是防止用户恶意提交数据等,都需要前端同学来做一些简单 ...

  2. 【自然框架】元数据的数据库结构的详细说明和示例(三):项目与数据库字段的关联...

    [自然框架]PowerDesigner 格式的元数据的表结构 [自然框架]元数据的数据库结构的详细说明和示例(一):项目描述部分 [自然框架]元数据的数据库结构的详细说明和示例(二):数据库描述部分 ...

  3. set在python中的用法_python中set的用法:详细源码示例

    这篇文章主要为大家详细介绍了python中set的用法:详细源码示例,具有一定的参考价值,可以用来参考一下. set函数基本用法感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. python ...

  4. mysql创建表分区详细介绍及示例

    mysql创建表分区详细介绍及示例 1. 基本概念 1.1 什么是表分区? 1.2 表分区与分表的区别 1.3 表分区有什么好处? 1.4 分区表的限制因素 2. 如何判断当前MySQL是否支持分区? ...

  5. 6、Druid的Roll up详细介绍及示例

    Apache Druid 系列文章 1.Druid(Imply-3.0.4)介绍及部署(centos6.10).验证 2.Druid的入门示例(使用三种不同的方式摄入数据和提交任务) 3.Druid的 ...

  6. 一封传话聚合推送各语言demo代码示例

    一封传话聚合推送各语言demo代码示例 前言 查看一封传话的API文档的GET请求只需一行代码,在url上拼接head和body参数即可完成推送.这里针对body数据量较大的情况,给出各语言实现的de ...

  7. SpringBoot教程(6) @Conditional 详细讲解和示例

    @Conditional 详细讲解和示例 一.@Conditional简介 二.示例:加载2个Bean 1. 定义Person类 2. 利用@Configuration + @Bean加载2个Bean ...

  8. 【Proteus仿真】STC15单片机+LCD1602驱动显示时间(DEMO)示例

    [Proteus仿真]STC15单片机+LCD1602驱动显示时间(DEMO)示例 Proteus仿真 Proteus加载 STC15单片机说明 在Proteus里面唯一能找到的 STC15一款支持仿 ...

  9. 【SAP Abap】SAP ALV开发(REUSE_ALV_GRID_DISPLAY_LVC)全网最详细 DEMO

    SAP ALV开发(REUSE_ALV_GRID_DISPLAY_LVC)全网最详细 DEMO 1.ALV 简介 2.演示程序 1.ALV 简介 ALV 报表程序,是我们在 SAP 项目中最常开发的程 ...

最新文章

  1. 1200亿次日均位置服务响应、20亿公里日均轨迹里程,百度地图发布新一代人工智能地图生态全景
  2. 这款NLP神器火了!关键词一键提取、结果高度可视化,堪称「小白进阶大神」的实用工具包 | 开源...
  3. 访问远程数据库,把远程数据库当做本地库来用
  4. pycharm python3区别_1.安装Python3和PyCharm
  5. GraphQL一些hello world级别的例子
  6. python验证码 识别代码不准_谈谈Python进行验证码识别的一些想法
  7. [css] 怎么IE6下在使用margin:0 auto;无法使其居中?
  8. 有了门面,程序会更加体面!- pos软件基于三层架构 -09
  9. php调取 zabbix实时数据_Zabbix监控系统部署详细步骤
  10. 关于快逸报表超链接的使用方式。
  11. UTF-8 without BOM
  12. 安装orbslam2
  13. uni-app小程序如何自定义标题内容(如何解决小程序标题不居中)
  14. excel显著性检验_使用Excel2016比较两组数据显著性差异
  15. 伊利洛伊大学厄巴纳-香槟分校计算机专业,伊利诺伊大学厄巴纳香槟分校哪些专业比较好?...
  16. JavaScript重写alert方法
  17. qq消息定时自动发送的简单实现策略
  18. 数据源EPMSSqlDataSource的使用
  19. C++ Primer 读书笔记04
  20. DELL笔记本电源检测功率匹配、充不进电

热门文章

  1. leecode100题(自用)
  2. 加密朋克中隐藏的严重Bug
  3. 中国联通6G白皮书笔记
  4. 64位win7禁用驱动程序签名强制
  5. 高斯消元相关问题学习和模板整理
  6. 2020ICPC·小米 网络选拔赛热身赛 I-Integration
  7. 99%的人没弄懂volatile的设计原理,更别说灵活运用了
  8. Java 入门练习(6 - 10)
  9. Navicat首次连接MySQL8.0出现错误#1045 - Access denied for user ‘root‘@‘localhost‘(using password: YES)的解决办法
  10. 学python要有多少英语词汇量_北大保安小哥英语词汇量一万五,还有小哥会python!...