ARM CortexM0嵌入式系统开发与实践 ——基于NXP LPC1100系列
file:///C:/Users/LENOVO/AppData/Local/Temp/msohtml1/04/clip_image002.jpg
目 录
第1章NXPLPC1100系列芯片概述... 1
1.1 NXP公司简介... 1
1.2 NXP LPC1100系列芯片简介... 2
1.2.1 NXP LPC1000系列概述... 2
1.2.2 NXP LPC1100系列特点... 2
1.2.3 NXP LPC1300系列特点... 3
1.2.4 NXP LPC1700系列特点... 3
1.2.5 LPC1100/1300/1700系列区别... 3
1.3 NXP LPC1100系列芯片内部结构... 3
1.4 NXP LPC1100系列芯片的家族... 5
1.5 LPC1100对比8位/16位单片机优势... 6
1.6 NXP LPC1100系列芯片应用... 8
1.7思考与练习... 10
第2章ARMCortex-M0体系结构... 11
2.1 ARM系列处理器简介... 11
2.1.1 ARM的由来... 11
2.1.2 ARM家族... 12
2.1.3 ARM体系版本... 15
2.2 Cortex-M0处理器... 16
2.2.1 Cortex-M0处理器简介... 16
2.2.2 Cortex-M0处理器结构... 16
2.2.3 Cortex_M0处理器优势... 17
2.3数据类型... 19
2.4工作模式... 19
2.5 堆栈... 19
2.6存储模式... 19
2.7寄存器组... 21
2.8思考与练习... 24
第3章 解剖NXP LPC1100硬件结构... 25
3.1 NXP LPC1100封装和引脚... 25
3.2 复位系统... 27
3.3 时钟系统... 27
3.3.1 振荡器简介... 28
3.3.2 时钟源的选择... 28
3.3.3 PLL工作原理... 31
3.4 存储器和存储器映射... 34
3.4.1 片上存储器... 34
3.4.2 存储器映射... 35
3.4.3重映射及引导块... 37
3.5思考与练习... 39
第4章NXPLPC1100系列低功耗特性管理... 40
4.1 节能模式简介... 40
4.2节能模式的设置... 40
4.2.1 运行模式... 40
4.2.2 睡眠模式... 42
4.2.2.1 睡眠模式相关寄存器... 42
4.2.2.2 如何进入和退出睡眠模式... 42
4.2.3 深度睡眠模式... 43
4.2.3.1 深度睡眠模式简介... 43
4.2.3.2 深度睡眠模式相关寄存器... 43
4.2.3.3 如何进入和退出深度睡眠模式... 45
4.2.4 深度掉电模式... 45
4.2.4.1 深度掉电模式相关寄存器... 45
4.2.4.2 如何进入和退出深度掉电模式... 46
4.3 低功耗特性分析... 47
4.4思考与练习... 48
第5章 认识NXP LPC1100的语言... 49
5.1 编程语言简介... 49
5.2汇编语言编程指令... 49
5.2.1指令集... 49
5.2.2 Cortex-M0指令集... 50
5.2.3 Cortex-M0指令结构... 50
5.2.4最简单的指令应用—跳转指令... 52
5.2.5访问存储器的指令应用... 53
5.2.6最重要的指令应用—数据处理指令... 56
5.3 嵌入式C语言编程... 62
5.3.1 嵌入式C语言程序结构... 62
5.3.2 嵌入式C语言基础知识... 63
5.4 CMSIS标准... 69
5.4.1 CMSIS 简介... 69
5.4.2 CMSIS 架构... 69
5.4.3 CMSIS规范... 70
5.4.4 CMSIS 文件结构... 71
5.5 思考与练习... 75
第6章 NXP LPC1100系列开发环境... 76
6.1开发环境简介... 76
6.2 LPCXpresso-CN开发平台... 76
6.2.1 NXP LPCXpresso-CN开发平台硬件资源... 76
6.2.2 KeiluVision4开发环境... 77
6.2.2 CoLinkEx调试器... 85
6.3 LPCXpresso开发平台... 93
6.3.1LPCXpresso硬件资源介绍... 93
6.3.2 LPCXpresso IDE开发环境... 93
6.3.3 利用LPC-Link调试器进行调试和下载... 99
6.4 Flash Magic下载软件... 102
6.5 IAR EWARM开发环境介绍... 103
6.6 实例... 104
6.7 思考与练习... 104
第7章NXPLPC1100系列最小系统... 105
7.1 最小系统构成... 105
7.2 电源电路... 105
7.3 时钟电路... 106
7.4 复位电路... 107
7.5 SWD调试接口电路... 108
7.6 ISP下载接口... 108
7.7 完整最小系统原理图... 109
7.8思考与练习... 111
第8章 NXPLPC1100系列GPIO接口应用... 112
8.1 基本输入输出接口(GPIO)... 112
8.1.1 GPIO概述... 112
8.1.2 GPIO应用... 112
8.2引脚连接模块... 114
8.2.1 引脚配置... 115
8.2.2引脚配置相关寄存器... 115
8.2.3 GPIO相关寄存器... 119
8.2.4 GPIO读写操作... 120
8.3 GPIO应用程序设计... 121
8.4思考与练习... 124
第9章NXPLPC1100系列中断应用... 125
9.1 中断概述... 125
9.1.1中断中的术语... 125
9.1.2 异常概述... 126
9.2 中断机制... 128
9.2.1降低嵌套中断延迟新技术... 128
9.2.2 中断处理过程... 128
9.3中断源... 129
9.4中断相关寄存器... 130
9.5外部中断... 131
9.5.1外部中断概述... 131
9.5.2外部中断寄存器... 131
9.5.3 外部中断相关寄存器的设置... 134
9.5.4 外部中断应用程序设计... 134
9.6思考与练习... 139
第10章 NXPLPC1100 系列定时器应用... 140
10.1 定时器... 140
10.1.1什么是定时器... 140
10.1.2 LPC1100定时器特点... 140
10.1.3定时器相关引脚... 141
10.1.4定时器相关寄存器... 142
10.1.5定时器中断设置方法... 148
10.1.6定时器初始化模块... 148
10.1.7定时器应用程序设计... 151
10.2 SysTick定时器... 154
10.2.1 概述... 154
10.2.2 相关寄存器... 155
10.2.3 SysTick定时器中断... 156
10.2.4 SysTick定时计算... 156
10.3 看门狗定时器(WDT)... 157
10.3.1 什么是看门狗定时器... 157
10.3.2 LPC1100看门狗定时器简介... 158
10.3.3 相关寄存器... 159
10.3.4 看门狗基本操作... 161
10.4思考与练习... 162
第11章NXPLPC1100系列UART串行通信应用... 163
11.1 什么是异步串行通信... 163
11.2 LPC1100 UART的特点,引脚及连接方法... 164
11.3 UART相关寄存器... 167
11.4 UART基本操作例程... 176
11.5 UART应用程序设计... 178
11.6思考与练习... 181
第12章NXPLPC1100系列I2C总线接口应用... 181
12.1 I2C总线概述... 181
12.2 LPC1100 I2C总线特性... 183
12.3 I2C总线引脚... 184
12.4 I2C相关寄存器... 184
12.5 I2C操作模式及配置... 189
12.6 I2C应用程序设计... 198
12.7思考与练习... 207
第13章 NXPLPC1100系列SSP同步串口应用... 208
13.1 SSP总线概述... 208
13.2 SSP相关引脚... 209
13.3 SSP总线帧传输格式... 209
13.4 SSP相关寄存器... 212
13.5 SSP中断模式... 217
13.6 SSP基本操作例程... 218
13.7 SSP 应用程序设计... 220
13.8思考与练习... 223
第14章 NXPLPC1100系列ADC应用... 224
14.1 ADC概述... 224
14.2 LPC1100 ADC特点... 228
14.3 ADC引脚... 228
14.4 ADC相关寄存器... 228
14.5 ADC中断设置... 232
14.6 ADC应用程序设计... 232
14.7思考与练习... 236
第15章 LED电子胸牌设计实例... 237
15.1 LED电子胸牌简介... 237
15.2 12 x 36 LED胸牌设计要求... 237
15.3 12 x 36 LED胸牌设计实现... 237
15.3.1 硬件电路分析... 237
15.3.2 软件分析... 241
15.3.3 C语言程序清单... 242
附录A重要函数说明... 268
附录BCortex-M0指令集... 271
参考文献... 273
ARMCortexM0嵌入式系统开发与实践
——基于NXP LPC1100系列
韩春贤刘兴杰韩艳君编著
内容 简 介
本书强调基础知识,侧重实际应用,深入浅出地介绍了NXP LPC1100系列芯片的应用。全书共15章,第1章概述NXP LPC1100芯片,通过与单片机对比体现其优势。第2~5章分别介绍CortexM0体系结构、LPC1100硬件结构、低功耗特性、嵌入式C语言语法结构。第6章介绍NXP LPCXpressoCN和LPCXpresso两个开发平台。第7~14章介绍LPC1100基本外设,将实验合理地穿插在每个任务中,结合作者多年的设计经验讲述典型应用程序设计思路并给出源代码。第15章以一款LED电子胸牌的应用案例给读者提供更大的发挥空间。本书共享所有程序源代码,读者可到北京航空航天大学出版社网站下载。
本书语言简洁,思路清晰,可作为高等院校电子工程、自动化、电气工程、计算机科学与技术等专业的教材和参考书,也可作为CortexM0和LPC1100系列相关工程技术人员的参考书。
北京航空航天大学出版社出版发行
北京市海淀区学院路37号(邮编100191)http://www.buaapress.com.cn
发行部电话:(010)82317024传真:(010)82328026
读者信箱: emsbook@gmail.com邮购电话:(010)82316936
前言
随着嵌入式技术的快速发展,要求嵌入式产品界面更友好,功能更强大,因此市场对更高性能、更低价格、更低功耗的MCU的需求越来越强烈。恩智浦半导体(NXPSemiconductors)公司开始寻找8位单片机的替代品,虽然现在基于CortexM3内核的32位芯片在市场上越来越流行,价格也比ARM7时代降低不少,能够替代部分高端8位和16位MCU市场,但其相比低端的8位单片机市场应用仍然没有优势,不能完全满足更低价格的要求,不能成为8位单片机的替代品。为了进一步占领低端市场,ARM公司在2009年2月推出了CortexM0处理器,它是市场上现有的内核最小、能耗最低、价格最低的ARM处理器。该处理器能耗非常低、门数量少、代码占用空间小,使得MCU开发人员能够以8位处理器的价位,获得32位处理器的性能。超低门数还使其能够用于模拟信号设备和混合信号设备及MCU应用中,可望明显节约系统成本。
NXP公司推出世界首款功能性ARM CortexM0硅芯片。CortexM0处理器在小尺寸、低功耗和高能效方面取得重大突破,其简约的特性使之成为当今市场上最方便易用的架构之一。作为第一家CortexM0处理器授权合作方,2009年NXP公司在硅谷嵌入式系统大会第1010展台展示功能完善的CortexM0硅芯片,重点展示CortexM0处理器的能效表现以及在代码密度方面的重大改进;2010年初,在市场上广泛推出基于CortexM0处理器的LPC1100系列产品,目标市场包括电池供电的产品应用、电子计量、消费电子外围设备、远程传感器以及几乎所有的16位应用;随后不断扩展,陆续推出LPC1200、LPC11C00、LPC11U00、LPC11A00、LPC11D00等系列产品,引起业界广泛关注。现在已有多家公司获得CortexM0处理器授权,比如新唐科技、ST等。
目前MCU更新很快,虽然各官方网站有相关的技术资料,但CortexM0内核的NXP LPC1100系列芯片的书籍还比较少,特别是适合初学者和作为学校教材的书籍更是罕见。为了解决这一问题,从初学者的角度出发,我们以多年的项目开发经验和教学研究经验为基础,汇总了近几年积累的数十家企业对嵌入式产品的要求,进行了深入的研究,编写了这本书。
本书介绍了基于CortexM0内核的NXP公司生产的LPC1100系列产品的应用,强调基础知识,侧重实际应用,提供程序源代码。本书共有15章,各章内容安排如下:
第1章是对NXP LPC1100系列芯片的特点、内部结构、家族进行介绍,特别是与单片机对比介绍了LPC1100芯片的优势,并对LPC1100系列芯片的应用领域做了详细的介绍。
第2章介绍内核CortexM0体系结构,分别介绍了ARM家族系列版本,CortexM0处理器的结构特点、优势,CortexM0支持的数据类型、工作模式、堆栈、存储模式和寄存器组。
第3章介绍的LPC1100硬件结构包括引脚封装、存储器、复位系统和时钟系统。
第4章介绍LPC110芯片低功耗性能管理,具体介绍了LPC1100的几种节能模式,并通过实验进行低功耗分析,说明LPC110芯片低功耗特性。
第5章介绍LPC1100系列支持语言,详细介绍汇编语言指令集和编程结构、嵌入式C语言编程结构和相关知识,以及CMSIS库。
前言
ARMCortexM0嵌入式系统开发与实践——基于NXPLPC1100系列
第6章介绍两个常用的LPC1100系列芯片开发平台,一个是NXP LPCXpressoCN开发平台,包括硬件开发平台、开发环境和调试工具;第二个是LPCXpresso开发平台,包括硬件开发平台、开发环境和调试工具。
第7章介绍LPC1100系列芯片的最小系统组成。
第8章介绍LPC1100系列的GPIO接口应用,包括GPIO引脚、寄存器的使用,并以驱动LED亮灭为实例介绍应用程序的设计。
第9章介绍LPC1100系列芯片中断系统,详细介绍了中断概念、异常类型、中断机制、中断源、中断相关寄存器,特别重点介绍外部中断寄存器和外部中断应用程序设计。
第10章介绍LPC1100系列芯片定时器,包括通用定时器、2个32位定时器、2个16位定时器、系统定时器以及看门狗定时器,具体介绍了通用定时器的寄存器、初始化程序和定时器应用设计。
第11章介绍LPC1100异步串行通信UART,详细介绍了串行通信相关的引脚、寄存器使用方法和应用程序设计。
第12章介绍I2C总线串行通信,详细介绍了I2C相关引脚、I2C总线特性和应用程序设计。
第13章介绍SSP同步串行通信,详细介绍了SSP引脚、传输数据格式、寄存器、中断模式和应用程序设计。
第14章介绍了LPC1100系列芯片的ADC引脚、寄存器、中断设置和应用程序设计。从第8章到第14章都是采用基于任务驱动的方式深入浅出地介绍了基本外设。
第15章是关于LED电子胸牌的具体应用实例分析,通过这个具体实例的开发过程,使读者进一步了解LPC1100系列芯片嵌入式系统开发的过程和提高读者的开发技术水平。
支持分享
支持分享
有电子文档的书么 可以发给我么 多谢了 791019994@qq.com
1111111111111111111111111111111111111111
这是什么意思啊,有内容吗
谢谢小编分享资料!
谢谢小编分享资料!
谢谢小编分享资料!
扯淡的玩艺儿!
没有内容呀?
书呢?
谢谢小编分享,有例程吗?
结果没有分享出来哦!一张封面图片!
谢谢,我要下载
shushushushushushushushu
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
mei you le
有电子文档的书么 可