标题：LPC1100系列处理器原理及应用
图书信息
书名：LPC1100系列处理器原理及应用
  LPC1100系列处理器原理及应用封面[1]丛书名：电子信息科学与工程类专业规划教材
作  者：桂电-丰宝联合实验室
出版时间：2011年10月
页数：256页
开本：16开
I S B N ：9787121148484
定价：36.0元
内容简介
本书从基础的理论知识到实际的应用，详细介绍了LPC1100系列处理器的结构、指令、接口和应用开发实例等，是读者学习Cortex-M0应用开发的基础入门教程。全书共分5个部分，分别为：（1）嵌入式系统及ARM处理器的概述，Cortex?M0处理器的特点和技术规范；（2）LPC1100系列处理器的硬件结构和指令系统，包括LPC1100系列处理器基本结构、总线结构、存储器管理、寄存器组织、系统配置、电源管理、串行线调试、最小系统、Cortex?M0常用的指令集和寻址方式；（3）IAR公司的 EWARM集成开发环境；（4）中断系统与LPC1100接口技术，详细介绍通用I/O口、定时/计数器、串行总线（UART、SPI、I2C和CAN）、A/D转换器；（5）基于LPC1100系列处理器的综合应用实例，介绍了SPI Flash存储器的读写、波形发生器的设计、矩阵键盘与显示、温度采集4个应用开发实例。本书的所有例程均已在上海丰宝电子信息科技有限公司开发的LINPO-PS-LPC11xx实验平台测试通过，该平台可与本书配合使用。
目录
第1章  嵌入式系统概述  
1.1  嵌入式系统     
1.1.1  嵌入式系统的定义     
1.1.2  嵌入式系统的特点  
1.1.3  嵌入式实时操作系统概述     
1.2  嵌入式处理器   
1.2.1  嵌入式处理器的分类     
1.2.2  ARM微处理器     
1.2.3  Cortex-M0处理器      
习题1     
第2章   LPC1100系列处理器的硬件结构    
2.1  LPC1100系列处理器的简介      
2.1.1  LPC1100系列处理器的特点     
2.1.2  LPC1110系列处理器基本结构      
2.1.3  引脚描述      
2.2  总线结构      
2.3  存储器管理      
2.3.1  LPC1100系列处理器存储器地址映射   
2.3.2  异常向量表及其重映射      
2.3.3  Boot ROM     
2.4  寄存器组织    
2.4.1  通用寄存器      
2.4.2  特殊功能寄存器      
2.5  系统配置      
2.5.1  时钟与PLL配置     
2.5.2  外围电路复位配置      
2.6  电源管理    
2.6.1  系统工作模式      
2.6.2  电源管理单元及其他相关寄存器      
2.6.3  节电工作模式的配置     
2.7  串行线调试（SWD）  
2.7.1  串行线调试概述  
2.7.2  串行线调试的连接     
2.8  LPC1100最小系统      
2.8.1  电源系统  
2.8.2  复位系统      
2.8.3  调试接口和ISP    
2.8.4  时钟系统      
习题2    
第3章  Cortex-M0指令系统       
3.1  Cortex-M0指令概述      
3.2  Cortex-M0寻址方式      
3.2.1  立即寻址  
3.2.2  寄存器寻址     
3.2.3  寄存器间接寻址      
3.2.4  基址加变址寻址      
3.2.5  多寄存器寻址   
3.2.6  寄存器移位寻址      
3.2.7  相对寻址     
3.2.8  堆栈寻址     
3.3  Cortex-M0常用指令集      
3.3.1  存储器访问指令     
3.3.2  通用数据处理指令    
3.3.3  跳转与控制指令      
3.3.4  综合指令      
3.4  汇编应用程序举例      
3.4.1  分支程序      
3.4.2  循环程序  
3.4.3  子程序调用      
3.4.4  查表法      
3.4.5  汇编语言与C/C++的混合编程      
习题3     
第4章  IAR集成开发环境应用     
4.1  IAR EWARM集成开发环境与仿真工具    
4.1.1  IAR EWARM软件的特点  
4.1.2  仿真工具的介绍   
4.2  基于LINPO-PS-LPC11xx实验环境的搭建      
4.2.1  LINPO-PS-LPC11xx实验平台概述      
4.2.2  J-Link仿真器的物理连接与驱动安装     
4.3  工程的创建、编译与连接      
4.3.1  在IAR EWARM生成项目      
4.3.2  在IAR EWARM编译项目  
4.3.3  在IAR EWARM连接项目  
4.4  IAR C-SPY调试器     
4.4.1  C-SPY调试器的启动     
4.4.2  窗口介绍     
4.4.3  断点的设置      
4.4.4  其他功能     
4.5  C语言与汇编语言混合编程模式      
习题4   
第5章  LPC1100系列处理器中断控制系统      
5.1  NVIC概述    
5.2  中断控制过程     
5.2.1  异常类型及中断向量表     
5.2.2  中断输入及挂起行为     
5.2.3  中断优先级  
5.2.4  中断响应及返回过程      
5.3  中断源及NVIC相关寄存器  
5.3.1  中断源  
5.3.2  NVIC相关寄存器    
5.4  Cortex微控制器软件接口标准（CMSIS）中的NVIC编程    
习题5     
第6章  LPC1100系列处理器I/O口配置及其应用   
6.1  I/O口的配置    
6.1.1  I/O口的引脚模式     
6.1.2  I/O口的配置      
6.1.3  I/O配置示例   
6.2  GPIO口结构及功能   
6.2.1  GPIO口的结构特点  
6.2.2  GPIO口的配置  
6.2.3  GPIO应用示例  
习题6      
第7章  LPC1100系列处理器定时/计数器及其应用    
7.1  定时/计数器      
7.1.1  定时/计数器概述  
7.1.2  定时/计数器的配置   
7.1.3  定时/计数器应用示例    
7.2  系统节拍定时器      
7.2.1  系统节拍定时器概述  
7.2.2  系统节拍定时器的配置     
7.2.3  系统节拍定时器应用示例      
7.3  看门狗定时器  
7.3.1  看门狗定时器概述      
7.3.2  看门狗定时器的配置  
7.3.3  看门狗定时器应用示例      
习题7    
第8章  LPC1100系列处理器串行总线通信及其应用        
8.1  UART串口通信      
8.1.1  UART概述  
8.1.2  UART接口电路  
8.1.3  UART功能寄存器      
8.1.4  UART接口配置  
8.1.5  接口函数    
8.2  SPI接口     
8.2.1  概述      
8.2.2  SPI接口电路  
8.2.3  SPI功能寄存器    
8.2.4  SPI接口配置    
8.2.5  接口函数     
8.3  I2C总线    
8.3.1  I2C概述     
8.3.2  I2C接口电路     
8.3.3  I2C功能寄存器      
8.3.4  I2C接口配置     
8.3.5  接口函数     
8.4  CAN总线      
8.4.1  CAN概述  
8.4.2  CAN接口电路      
8.4.3  CAN功能寄存器描述  
8.4.4  CAN接口配置     
8.4.5  接口函数      
习题8      
第9章  LPC1100系列处理器A/D转换器及其应用    
9.1  概述      
9.1.1  A/D转换器的分类      
9.1.2  A/D转换器的主要性能指标     
9.1.3  LPC1100系列处理器A/D转换器特性  
9.2  A/D转换器接口电路      
9.3  A/D转换器功能寄存器描述      
9.3.1  寄存器总汇      
9.3.2  寄存器描述  
9.4  A/D转换器配置  
9.4.1  A/D时钟配置  
9.4.2  A/D中断配置  
9.5  应用例程     
9.5.1  A/D初始化      
9.5.2  A/D数据采集     
9.5.3  A/D中断服务程序      
9.5.4  A/D转换主函数      
习题9    
第10章  LPC1100系列处理器应用开发实践    
10.1  SPI Flash存储器的读写  
10.1.1  W25X系列Flash存储器简介    
10.1.2  W25X系列Flash存储器功能描述      
10.1.3  W25X系列Flash存储器的应用    
10.2  波形发生器的设计  
10.2.1  程序流程  
10.2.2  波形发生器的实现  
10.3  矩阵键盘与显示  
10.3.1  矩阵键盘扫描      
10.3.2  按键扫描     
10.3.3  键盘工作方式  
10.4  温度采集      
10.4.1  LM75A的功能介绍     
10.4.2  LM75A的工作模式     
10.4.3  LM75A应用  
习题10   
附录A  LPC1100系列芯片各封装引脚图    
附录B  Cortex-M0指令系统     
附录C  LPC1100微处理器汇编启动代码        
附录D  LINPO-PS-LPC11xx实验平台电路图     
参考文献
前言
随着我国信息化建设的不断发展，嵌入式技术成为发展最快、应用最广、最有前景的技术之一，嵌入式设备也不断应用到人们生活的各个领域，如电信、医疗、汽车电子、安全和消费等。广阔的应用前景导致了巨大的人才需求，据国内人才网统计，嵌入式工程师凭借其旺盛的需求荣登IT职场人气排行榜榜首，社会各界也对嵌入式人才的就业前景非常看好。
面对嵌入式系统如火如荼的发展形势，业界掀起了嵌入式系统理论和应用开发的学习热潮，各大高校也开设了相关课程。“桂电?丰宝联合实验室”在合作开发嵌入式教学平台的基础上，相继出版了嵌入式系列教材“ARM原理与嵌入式应用——基于LPC2400系列处理器和IAR开发环境”、“基于LPC3250的嵌入式Linux系统开发”。本书是“桂电-丰宝联合实验室”长期合作的又一成果，本书以LPC1100系列处理器为例，介绍Cortex-M0处理器的工作原理与应用开发。
Cortex-M0是ARM公司为了占领单片机市场而推出的一款极具竞争力的MCU，该处理器是市场上现有的最小、功耗最低、最节能的具有32位架构性能的ARM处理器。与素有“体积小、功耗低、简单易学、性能价格比高”的8051单片机相比，Cortex-M0的价格与之相当，但体积更小，功耗更低，性能更强，学习难度也与8051相当，因此，该款处理器极其适合作为入门级的首选。目前已有多家公司获得Cortex-M0处理器授权，比如新唐科技、NXP（恩智浦）等。其中，NXP的LPC1100系列处理器以其低功耗和高性能等特性，在Cortex-M0产品中占有较大市场份额。
本书从基础理论知识到实际应用，详细介绍了LPC1100系列处理器的结构、指令、接口和中断等，是读者学习Cortex-M0应用开发的基础入门教程。同时，实践是嵌入式系统课程的重要环节，缺乏实践的嵌入式系统课程是纸上谈兵。为了便于读者揣摩研习，本书的所有例程均已在上海丰宝电子信息科技有限公司开发的基于LPC1100系列处理器的实验平台——LINPO-PS-LPC11xx实验平台测试过，该平台可与本书配合使用。
本书围绕着NXP的LPC1100系列处理器及应用开发展开，共10章，5个部分，包括嵌入式系统概述、LPC1100硬件结构和指令系统、IAR EWARM集成开发环境、LPC1100接口技术与中断、基于LPC1100系列处理器的应用开发实例。
第一部分为第1章，即嵌入式系统概述，主要对嵌入式系统及ARM处理器进行了概述，对ARM处理器的结构进行了介绍，并简要介绍Cortex-M0处理器的特点和技术规范。
第二部分包括第2章和第3章，其中第2章主要介绍LPC1100系列处理器的硬件结构。内容包括LPC1100系列处理器的简介、总线结构、存储器管理、寄存器组织、系统配置、电源管理、串行线调试和最小系统等。第3章为Cortex-M0指令系统，首先对Cortex-M0指令系统进行了概述，介绍了几种常用的寻址方式，并对Cortex-M0常用的指令集进行了详细介绍，包括存储器访问指令、通用数据处理指令、跳转与控制指令和综合指令等，最后对汇编程序基本结构进行了举例说明。
第三部分为第4章，即IAR集成开发环境应用，主要介绍了IAR EWARM的特点，以及结合LPC1100系列处理器进行工程建立、编译与连接的方法，其中重点介绍了IAR C-SPY调试器的使用。此外，还介绍了如何在上海丰宝电子信息科技有限公司的LINPO-PS-LPC11xx实验平台上进行应用程序的开发与调试。
第四部分为第5～9章，主要对LPC1100系列处理器的接口技术和中断系统进行了介绍。其中，第5章介绍中断控制系统，第6章介绍通用I/O口配置及其应用，第7章介绍定时/计数器及其应用，第8章介绍LPC1100系列处理器的串行总线通信及其应用，包括UART、SPI、I2C和CAN，第9章对LPC1100系列处理器的A/D转换器及其应用进行介绍。在对接口技术进行介绍时，对接口配置的方法进行了详细描述，通过实例来引导读者更好地学习。
第五部分为第10章，是基于LPC1100系列处理器的应用开发实践。本部分介绍了4个应用开发实例，分别为SPI Flash存储器的读写、波形发生器的设计、矩阵键盘与显示、温度采集。SPI Flash存储器的读写是针对Winbond公司生产的W25X系列Flash存储器的应用，波形发生器是采用LPC1100系列处理器具有的PWM功能而设计的，矩阵键盘与显示利用了LINPO-PS-LPC11xx实验平台上的矩阵键盘，温度采集是利用具有I2C接口的LM75A数字温度传感器和温度监控器而设计的温度采集系统。
附录部分介绍了LPC1100系列芯片的各封装引脚图、Cortex-M0处理器指令集、IAR下的汇编启动代码和LINPO-PS-LPC11xx实验平台的电路图。
本书可作为高等院校电子信息类专业本科生及研究生“嵌入式系统”课程入门教程，也可作为嵌入式爱好者或从事嵌入式系统应用的人员参考。本书也可以作为工程开发的入门指导书，还可作为LPC1100处理器的开发参考手册。另外，还可以作为ARM Cortex-M0的编程入门指南。
本书由张红梅担任主编，由“桂电-丰宝联合实验室”的教师和工程师共同策划和编写，其中参与策划和编写的有张红梅、魏艺海、王鹏鹏、陈俊彦、张全君、吴阿沛。全书由张红梅负责统稿工作，郭远洋、吕兆辉、田庆阳、何燕、韦贤岁对本书进行了认真的校对。
感谢上海丰宝电子信息科技有限公司的朱玉峰总经理对本书工作的支持，感谢NXP（北京）有限公司的王鹏鹏女士、NXP（上海）有限公司的王维先生对本书提出的许多建设性意见和不辞劳苦的审阅工作。同时，也非常感谢家人的理解与支持。
由于时间仓促及作者水平有限，书中难免存在遗漏和不足之处，恳请读者批评指正。