ARM Cortex-M0嵌入式系统开发与实践_第1页
ARM Cortex-M0嵌入式系统开发与实践_第2页
ARM Cortex-M0嵌入式系统开发与实践_第3页
ARM Cortex-M0嵌入式系统开发与实践_第4页
ARM Cortex-M0嵌入式系统开发与实践_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录TOC\o"1-4"\h\z\u第1章NXPLPC1100系列芯片概述 错误!未定义书签。1.1NXP公司简介 错误!未定义书签。1.2NXPLPC1100系列芯片简介 错误!未定义书签。1.2.1NXPLPC1000系列概述 错误!未定义书签。1.2.2NXPLPC1100系列特点 错误!未定义书签。1.2.3NXPLPC1300系列特点 错误!未定义书签。1.2.4NXPLPC1700系列特点 错误!未定义书签。1.2.5LPC1100/1300/1700系列区别 错误!未定义书签。1.3NXPLPC1100系列芯片内部结构 错误!未定义书签。1.4NXPLPC1100系列芯片的家族 错误!未定义书签。1.5LPC1100对比8位/16位单片机优势 错误!未定义书签。1.6NXPLPC1100系列芯片应用 错误!未定义书签。1.7思考与练习 错误!未定义书签。第2章ARMCortex-M0体系结构 错误!未定义书签。2.1ARM系列处理器简介 错误!未定义书签。2.1.1ARM的由来 错误!未定义书签。2.1.2ARM家族 错误!未定义书签。2.1.3ARM体系版本 错误!未定义书签。2.2Cortex-M0处理器 错误!未定义书签。2.2.1Cortex-M0处理器简介 错误!未定义书签。2.2.2Cortex-M0处理器结构 错误!未定义书签。2.2.3Cortex_M0处理器优势 错误!未定义书签。2.3数据类型 错误!未定义书签。2.4工作模式 错误!未定义书签。2.5堆栈 错误!未定义书签。2.6存储模式 错误!未定义书签。2.7寄存器组 错误!未定义书签。2.8思考与练习 错误!未定义书签。第3章解剖NXPLPC1100硬件结构 错误!未定义书签。3.1NXPLPC1100封装和引脚 错误!未定义书签。3.2复位系统 错误!未定义书签。3.3时钟系统 错误!未定义书签。3.3.1振荡器简介 错误!未定义书签。3.3.2时钟源的选择 错误!未定义书签。3.3.3PLL工作原理 错误!未定义书签。3.4存储器和存储器映射 错误!未定义书签。3.4.1片上存储器 错误!未定义书签。3.4.2存储器映射 错误!未定义书签。3.4.3重映射及引导块 错误!未定义书签。3.5思考与练习 错误!未定义书签。第4章NXPLPC1100系列低功耗特性管理 错误!未定义书签。4.1节能模式简介 错误!未定义书签。4.2节能模式的设置 错误!未定义书签。4.2.1运行模式 错误!未定义书签。4.2.2睡眠模式 错误!未定义书签。睡眠模式相关寄存器 错误!未定义书签。如何进入和退出睡眠模式 错误!未定义书签。4.2.3深度睡眠模式 错误!未定义书签。深度睡眠模式简介 错误!未定义书签。深度睡眠模式相关寄存器 错误!未定义书签。如何进入和退出深度睡眠模式 错误!未定义书签。4.2.4深度掉电模式 错误!未定义书签。深度掉电模式相关寄存器 错误!未定义书签。如何进入和退出深度掉电模式 错误!未定义书签。10.1.5定时器中断设置方法 错误!未定义书签。10.1.6定时器初始化模块 错误!未定义书签。10.1.7定时器应用程序设计 错误!未定义书签。10.2SysTick定时器 错误!未定义书签。10.2.1概述 错误!未定义书签。10.2.2相关寄存器 错误!未定义书签。10.2.3SysTick定时器中断 错误!未定义书签。10.2.4SysTick定时计算 错误!未定义书签。10.3看门狗定时器(WDT) 错误!未定义书签。10.3.1什么是看门狗定时器 错误!未定义书签。10.3.2LPC1100看门狗定时器简介 错误!未定义书签。10.3.3相关寄存器 错误!未定义书签。10.3.4看门狗基本操作 错误!未定义书签。10.4思考与练习 错误!未定义书签。第11章NXPLPC1100系列UART串行通信应用 错误!未定义书签。11.1什么是异步串行通信 错误!未定义书签。11.2LPC1100UART的特点,引脚及连接方法 错误!未定义书签。11.3UART相关寄存器 错误!未定义书签。11.4UART基本操作例程 错误!未定义书签。11.5UART应用程序设计 错误!未定义书签。11.6思考与练习 错误!未定义书签。第12章NXPLPC1100系列I2C总线接口应用 错误!未定义书签。12.1I2C总线概述 错误!未定义书签。12.2LPC1100I2C总线特性 错误!未定义书签。12.3I2C总线引脚 错误!未定义书签。12.4I2C相关寄存器 错误!未定义书签。12.5I2C操作模式及配置 错误!未定义书签。12.6I2C应用程序设计 错误!未定义书签。12.7思考与练习 错误!未定义书签。第13章NXPLPC1100系列SSP同步串口应用 错误!未定义书签。13.1SSP总线概述 错误!未定义书签。13.2SSP相关引脚 错误!未定义书签。13.3SSP总线帧传输格式 错误!未定义书签。13.4SSP相关寄存器 错误!未定义书签。13.5SSP中断模式 错误!未定义书签。13.6SSP基本操作例程 错误!未定义书签。13.7SSP应用程序设计 错误!未定义书签。13.8思考与练习 错误!未定义书签。第14章NXPLPC1100系列ADC应用 错误!未定义书签。14.1ADC概述 错误!未定义书签。14.2LPC1100ADC特点 错误!未定义书签。14.3ADC引脚 错误!未定义书签。14.4ADC相关寄存器 错误!未定义书签。14.5ADC中断设置 错误!未定义书签。14.6ADC应用程序设计 错误!未定义书签。14.7思考与练习 错误!未定义书签。第15章LED电子胸牌设计实例 错误!未定义书签。15.1LED电子胸牌简介 错误!未定义书签。15.212x36LED胸牌设计要求 错误!未定义书签。15.312x36LED胸牌设计实现 错误!未定义书签。15.3.1硬件电路分析 错误!未定义书签。15.3.2软件分析 错误!未定义书签。15.3.3C语言程序清单 错误!未定义书签。附录A重要函数说明 错误!未定义书签。附录BCortex-M0指令集 错误!未定义书签。参考文献 错误!未定义书签。ARMCortexM0嵌入式系统开发与实践——基于NXPLPC1100系列韩春贤刘兴杰韩艳君编著内容简介本书强调基础知识,侧重实际应用,深入浅出地介绍了NXPLPC1100系列芯片的应用。全书共15章,第1章概述NXPLPC1100芯片,通过与单片机对比体现其优势。第2~5章分别介绍CortexM0体系结构、LPC1100硬件结构、低功耗特性、嵌入式C语言语法结构。第6章介绍NXPLPCXpressoCN和LPCXpresso两个开发平台。第7~14章介绍LPC1100基本外设,将实验合理地穿插在每个任务中,结合作者多年的设计经验讲述典型应用程序设计思路并给出源代码。第15章以一款LED电子胸牌的应用案例给读者提供更大的发挥空间。本书共享所有程序源代码,读者可到北京航空航天大学出版社网站下载。本书语言简洁,思路清晰,可作为高等院校电子工程、自动化、电气工程、计算机科学与技术等专业的教材和参考书,也可作为CortexM0和LPC1100系列相关工程技术人员的参考书。图书在版编目(CIP)数据ARMCortexM0嵌入式系统开发与实践:基于NXPLPC1100系列/韩春贤等编著.北京:北京航空航天大学出版社,2013.8ISBN9787512412019Ⅰ.①A…Ⅱ.①韩…Ⅲ.①微处理器-系统设计Ⅳ.①TP332中国版本图书馆CIP数据核字(2013)第164116号版权所有,侵权必究。ARMCortexM0嵌入式系统开发与实践——基于NXPLPC1100系列韩春贤刘兴杰韩艳君编著责任编辑刘晓明*北京航空航天大学出版社出版发行北京市海淀区学院路37号(邮编100191)http://发行部电话:(010)82317024传真:(010)82328026读者信箱:emsbook@邮购电话:(010)82316936有限公司印装各地书店经销*开本:710×10001/16印张:20.75字数:442千字2013年8月第1版2013年8月第1次印刷印数:3000册ISBN9787512412019定价:45.00元若本书有倒页、脱页、缺页等印装质量问题,请与本社发行部联系调换。联系电话:(010)82317024前言····随着嵌入式技术的快速发展,要求嵌入式产品界面更友好,功能更强大,因此市场对更高性能、更低价格、更低功耗的MCU的需求越来越强烈。恩智浦半导体(NXPSemiconductors)公司开始寻找8位单片机的替代品,虽然现在基于CortexM3内核的32位芯片在市场上越来越流行,价格也比ARM7时代降低不少,能够替代部分高端8位和16位MCU市场,但其相比低端的8位单片机市场应用仍然没有优势,不能完全满足更低价格的要求,不能成为8位单片机的替代品。为了进一步占领低端市场,ARM公司在2009年2月推出了CortexM0处理器,它是市场上现有的内核最小、能耗最低、价格最低的ARM处理器。该处理器能耗非常低、门数量少、代码占用空间小,使得MCU开发人员能够以8位处理器的价位,获得32位处理器的性能。超低门数还使其能够用于模拟信号设备和混合信号设备及MCU应用中,可望明显节约系统成本。NXP公司推出世界首款功能性ARMCortexM0硅芯片。CortexM0处理器在小尺寸、低功耗和高能效方面取得重大突破,其简约的特性使之成为当今市场上最方便易用的架构之一。作为第一家CortexM0处理器授权合作方,2009年NXP公司在硅谷嵌入式系统大会第1010展台展示功能完善的CortexM0硅芯片,重点展示CortexM0处理器的能效表现以及在代码密度方面的重大改进;2010年初,在市场上广泛推出基于CortexM0处理器的LPC1100系列产品,目标市场包括电池供电的产品应用、电子计量、消费电子外围设备、远程传感器以及几乎所有的16位应用;随后不断扩展,陆续推出LPC1200、LPC11C00、LPC11U00、LPC11A00、LPC11D00等系列产品,引起业界广泛关注。现在已有多家公司获得CortexM0处理器授权,比如新唐科技、ST等。目前MCU更新很快,虽然各官方网站有相关的技术资料,但CortexM0内核的NXPLPC1100系列芯片的书籍还比较少,特别是适合初学者和作为学校教材的书籍更是罕见。为了解决这一问题,从初学者的角度出发,我们以多年的项目开发经验和教学研究经验为基础,汇总了近几年积累的数十家企业对嵌入式产品的要求,进行了深入的研究,编写了这本书。本书介绍了基于CortexM0内核的NXP公司生产的LPC1100系列产品的应用,强调基础知识,侧重实际应用,提供程序源代码。本书共有15章,各章内容安排如下:第1章是对NXPLPC1100系列芯片的特点、内部结构、家族进行介绍,特别是与单片机对比介绍了LPC1100芯片的优势,并对LPC1100系列芯片的应用领域做了详细的介绍。第2章介绍内核CortexM0体系结构,分别介绍了ARM家族系列版本,CortexM0处理器的结构特点、优势,CortexM0支持的数据类型、工作模式、堆栈、存储模式和寄存器组。第3章介绍的LPC1100硬件结构包括引脚封装、存储器、复位系统和时钟系统。第4章介绍LPC110芯片低功耗性能管理,具体介绍了LPC1100的几种节能模式,并通过实验进行低功耗分析,说明LPC110芯片低功耗特性。第5章介绍LPC1100系列支持语言,详细介绍汇编语言指令集和编程结构、嵌入式C语言编程结构和相关知识,以及CMSIS库。前言ARMCortexM0嵌入式系统开发与实践——基于NXPLPC1100系列第6章介绍两个常用的LPC1100系列芯片开发平台,一个是NXPLPCXpressoCN开发平台,包括硬件开发平台、开发环境和调试工具;第二个是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系列芯片嵌入式系统开发的过程和提高读者的开发技术水平。在本书的编写过程中得到了各方面的大力支持和帮助。首先得到了NXP公司的大力支持,为我们提供了开发板和调试器,特别要感谢NXP公司的资深工程师、经理王朋朋以及张宇、辛华锋给予的很多指导和大力支持,同时也非常感谢北京品佳电子资深经理何悦生以及李鹏辉、李廷耀为我们提供实验环境和很多技术前沿信息。其次感谢天津冶金职业技术学院电子信息工程系张涛主任、赵喆老师给予的鼓励与支持。还要感谢以下人员的支持:汤荣秀、王阔、韩翠玉、徐登、王淑玲、张艳丽、赵静、曹玲换、韩增元、尹杰、韩金芬、崔丹丹、李静、高丽萍、李森、王海强、李振杰等。最后感谢北京航空航天大学出版社的编辑对本书出版做出的有益建议和大量的帮助。本书由韩春贤制定了目录,设计写作思路和风格,对全书进行统稿,并编写了第2~10章、附录A和附录B。韩艳君编写了第1章。刘兴杰编写了第11~15章。由于时间仓促,加上作者编写水平有限,书中难免存在一些缺陷和不妥之处,恳请广大读者批评指正。有兴趣的朋友,请发送邮件到bhcbslx@,与本书策划编辑进行交流。韩春贤2013年5月本教材还配有教学课件,需要用于教学的教师,请与北京航空航天大学出版社联系。北京航空航天大学出版社联系方式如下:通信地址:北京市海淀区学院路37号北京航空航天大学出版社嵌入式系统事业部邮编:100191电话:01082317035传真:01082328026Email:emsbook@CortexM3是ARM公司最新推出的针对微控制器应用的32位内核,提供了业界领先的高性能和低成本的解决方案,已成为MCU应用的热点和主流。在传统的单片机领域中,有一些不同于通用32位CPU应用的要求。例如在工控领域,用户要求具有更快的中断速度,CortexM3采用了TailChaining中断技术,完全基于硬件进行中断处理,最多可减少12个时钟周期数,在实际应用中可减少70%的中断。ARMCortexM3处理器结合了多种突破性技术,使芯片供应商可以提供超低费用的芯片,仅33000门的内核性能就可达1.25DMIPS/MHz。该处理器还集成了许多紧耦合系统外设,令系统能满足下一代产品的控制需求。NXP公司推出的基于CortexM3内核的LPC17xx系列微控制器的操作频率可达100MHz,采用3级流水线和哈佛结构,带独立的本地指令和数据总线以及用于外设的性能稍低的第三条总线。ARMCortexM3CPU还包含一个支持随机跳转的内部预取指单元。基于CortexM3内核的LPC17xx微控制器的外设组件包括高达512KB的Flash存储器、64KB的数据存储器、以太网MAC、USB主机/从机/OTG接口、8通道的通用DMA控制器、4个UART、2条CAN通道、2个SSP控制器、SPI接口、3个I2C接口、2输入和2输出的I2S接口、8通道的12位ADC、10位DAC、电机控制PWM、正交编码器接口、4个通用定时器、6输出的通用PWM、带独立电池供电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论