描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302489986
目录
第1章LPC1114及其开发环境简介1
1.1LPC1114及其主要特性1
1.2MDK开发环境及其配置4
1.3习题9第2章时钟配置与仿真10
2.1LPC1114的时钟及其配置10
2.2LPC1114的时钟仿真21
2.3LPC1114的时钟输出端口测试25
2.4习题30第3章程序的编译与下载31
3.1编译程序31
3.2下载程序32
3.2.1Flash Magic32
3.2.2ULINK233
3.3习题36第4章通用输入输出端口及应用37
4.1实例引入37
4.2头文件解析41
4.2.1预定义分析41
4.2.2头文件应用50
4.3GPIO应用详解54
4.3.1GPIO端口操作分析54
4.3.2GPIO端口寄存器60
4.3.3GPIO引脚配置65
4.4GPIO编程实践72
4.5习题73第5章异常和中断系统及应用74
5.1异常74
5.1.1异常及向量地址74
5.1.2优先级75
5.1.3异常处理75
5.2中断系统80
5.2.1NVIC80
5.2.2寄存器及其映射81
5.2.3中断触发与处理86
5.2.4中断操作函数86
5.3外部中断88
5.3.1LPC1114外部中断88
5.3.2外部中断入口函数89
5.4外部中断编程实践90
5.5习题91第6章SysTick定时器及应用92
6.1SysTick定时器功能分析92
6.1.1内部结构92
6.1.2寄存器及其映射93
6.1.3初始值设置95
6.2SysTick定时器编程实践96
6.3习题97第7章通用定时器及应用98
7.1通用定时器概述98
7.1.1内部结构98
7.1.2寄存器及其映射98
7.2定时功能分析101
7.2.1寄存器配置101
7.2.2定时功能编程实践106
7.3计数功能分析108
7.3.1寄存器配置108
7.3.2计数功能编程实践109
7.4输入捕获功能分析112
7.4.1寄存器配置113
7.4.2输入捕获功能编程实践114
7.5PWM功能分析117
7.5.1寄存器配置117
7.5.2PWM功能编程实践122
7.6通用定时器综合实践124
7.6.1驱动LCD1602液晶屏124
7.6.2红外解码129
7.7习题136第8章通用串行口及应用137
8.1UART功能分析137
8.1.1内部结构137
8.1.2寄存器及其映射137
8.1.3寄存器配置140
8.2UART综合实践150
8.2.1接收中断150
8.2.2发送端口状态157
8.2.3选择性启动159
8.3习题164第9章A/D转换及应用165
9.1A/D转换功能分析165
9.1.1A/D转换器的特性165
9.1.2寄存器及其映射165
9.1.3寄存器配置167
9.1.4注意事项172
9.2A/D转换编程实践173
9.3习题178第10章I2C接口及应用179
10.1I2C接口功能分析179
10.1.1I2C总线179
10.1.2I2C接口的特性180
10.1.3寄存器及其映射181
10.1.4寄存器配置183
10.2I2C接口编程实践190
10.3习题199第11章SPI接口及应用200
11.1SPI接口功能分析200
11.1.1SPI接口特性200
11.1.2寄存器及其映射200
11.1.3寄存器配置202
11.2SPI接口编程实践210
11.3习题218第12章看门狗及应用219
12.1看门狗功能分析219
12.1.1内部结构及特性219
12.1.2寄存器及其映射220
12.1.3寄存器配置221
12.1.4注意事项226
12.2看门狗编程实践227
12.3习题229第13章功耗管理及应用230
13.1功耗管理230
13.1.1PMU230
13.1.2SCR寄存器233
13.1.3节能模式235
13.2功耗管理编程实践242
13.3习题246第14章复位与SWD技术247
14.1复位247
14.1.1复位源247
14.1.2上电复位249
14.1.3外部引脚复位250
14.1.4掉电检测复位251
14.2SWD调试252
14.2.1调试接口252
14.2.2连接方式254
14.3习题254第15章Flash编程固件255
15.1BootLoader256
15.2IAP258
15.3代码读保护268
15.4Flash纠错270
15.5IAP编程实践270
15.6习题280第16章电子时钟实例281
16.1实例描述281
16.2电路原理图281
16.3实例分析282
16.3.1电路分析282
16.3.2功能分析282
16.4程序代码282
16.5代码说明299
16.5.1状态机编程299
16.5.2静态局部变量302
16.5.3其他说明302
16.6习题302附录AI2C总线接口标准状态码303附录B标准ASCII码表311
参考文献313
在当前嵌入式系统的低端应用领域,以ARM CortextM0为核心的芯片有着良好的市场前景。世界各大半导体厂商(如NXP、Freescale、Atmel等)都陆续推出了基于CortextM0内核的系列芯片。随着此类芯片的大量普及,其价格也越来越低,让广大开发者以8位芯片的价格获得了32位芯片的性能,大有取代传统低端芯片之势,所以,学习和使用CortextM0开发的人也越来越多,市场潜力较大。
2010年,恩智浦(NXP)公司推出的基于ARM CortexM0内核的LPC1100系列芯片具有非常出色的性价比,随后又不断扩展升级,迅速引起业界的广泛关注。本书选取目前较为常用的LPC1114芯片,并把它当作一个32位的高级单片机来进行分析和讨论,本书在结构上也采用了传统单片机教材的形式。在编写过程中,均以官方提供的英文版数据手册为依据,书中所有引用的表格、图片、数据等都来自官方手册,但引用并非简单地对手册进行罗列翻译,而是在理解内容的基础上,结合初学者的认知规律和作者多年的教学实践经验,通过学习者易于接受的形式进行讲述,可提高学习兴趣,减小挫折感。书中讲述的内容符合初学者的认知规律,采取循序渐进的方式,力求解决在学习中可能遇到的问题,突出实际应用。
本书选取国内流行的MDKARM作为LPC1114的开发环境,用实例的方式讲述了开发中程序结构之间的关系,并详细剖析了头文件的用法,让读者不仅知其然还知其所以然。然后着重讲述LPC1114内部各组成模块的功能及实际应用,包含GPIO端口、时钟源、NVIC中断系统、系统定时器、定时器/计数器、串口、A/D转换、I2C接口、SPI接口、看门狗、功耗管理及Flash编程固件等内容。在每个章节的结尾,都会给出一个与该部分内容密切相关的实例,让学习者容易理解和掌握所讲授的内容,以此来提升学习效果。全书面向实际开发应用,注重对细节的分析,力求让读者能容易上手,快速掌握CortexM0的开发过程。
对于处理器的学习,从本质上来说就是学习处理器中各个寄存器的原理及其使用方法,为此本书讨论了LPC1114所用到的几乎所有寄存器,但并没有直接罗列所有的寄存器,而是把寄存器的学习放到了实际的例子当中,用到哪个就讨论哪个,这样能有效地避免单纯学习寄存器带来的枯燥。书中对寄存器的描述都先引用官方原文,然后再对其内容进行详细讨论。这样做不仅能提高资料的权威性,还可以避免翻译和理解上的歧义,有利于读者进行学习和参考。即便对于开发人员,本书也可作为资料手册进行查询,而不必再去翻阅官方数据手册。
书中所有程序代码及教学课件,都可以到清华大学出版社的官方网站上进行下载。本书由云南师范大学信息学院冯迅编写,希望能对有志于学习CortexM0开发的读者起到积极的帮助作用。在此,对清华大学出版社提供的大力支持表示由衷的感谢!由于编者知识局限和时间仓促,书中不足之处在所难免,恳请广大读者批评指正!
冯迅
2017年6月
评论
还没有评论。