书籍详情

轻松玩转ARM Cortex-M3微控制器:基于LPC1788系列

轻松玩转ARM Cortex-M3微控制器:基于LPC1788系列

作者:刘波文 编著

出版社:北京航空航天大学出版社

出版时间:2015-01-01

ISBN:9787512414198

定价:¥118.00

购买这本书可以去
内容简介
  本书以ARM Cortex M3内核LPC1788微控制器为讲述对象,分成基础篇、入门篇、进阶篇,覆盖了LPC1788微控制器基本外设应用、嵌入式实时操作系统μC/OS II、μC/OS III、FreeRTOS、TCP/IP协议栈LwIP、μIP,以及嵌入式图形系统μC/GUI的应用,软件与硬件兼顾,涉及理论但更偏重于实践。全书共分为20章,所讲述的18个实例涵盖了最常用的外设以及典型的应用,实例设计中软件架构清晰,层次分明,跨平台可移植性强。本书可作为高等院校计算机、电子信息工程、自动控制等专业本科生、研究生的嵌入式系统教材,也可供从事ARM和嵌入式软件开发的科研人员、从业人员和高等院校师生使用。
作者简介
暂缺《轻松玩转ARM Cortex-M3微控制器:基于LPC1788系列》作者简介
目录
基础篇 第1章LPC178x系列微控制器概述3 1.1CortexM3处理器概述3 1.1.1CortexM3配置选项3 1.1.2LPC178x/177x系列微控制器型号与分类4 1.1.3LPC178x/177x系列微控制器主要特点5 1.1.4LPC178x/177x系列微控制器结构概述7 1.1.5LPC178x/177x系列微控制器存储器映射9 1.1.6片上存储器10 1.1.7片上外设及基址10 1.2CMSIS软件接口标准12 1.2.1CMSIS层与软件架构13 1.2.2CMSIS文件结构14 第2章开发工具概述22 2.1常用开发工具概览22 2.1.1RealView MDK开发环境22 2.1.2IAR EWARM开发环境23 2.1.3JLink仿真器24 2.1.4ULINK2仿真器25 2.2LPC1788评估板简述26 2.2.1开发板概览26 2.2.2开发板外设接口I/O分配29 2.3RealView MDK开发环境快速入门31 2.3.1工程项目的建立31 2.3.2工程项目的配置33 2.3.3编写演示代码35 2.3.4工程项目的编译36 2.3.5程序下载与调试37 2.4IAR开发环境快速入门40 2.4.1IAR工程项目的快速建立40 2.4.2编译和链接应用程序46 2.4.3仿真调试48 入门篇 第3章GPIO端口应用55 3.1I/O端口配置概述55 3.1.1I/O端口配置描述55 3.1.2I/O端口控制寄存器功能描述58 3.2GPIO端口概述62 3.2.1引脚描述63 3.2.2GPIO寄存器描述63 3.3GPIO及I/O配置常用库函数72 3.3.1GPIO端口库函数功能详解72 3.3.2引脚连接配置库函数功能详解82 3.4GPIO端口应用实例88 3.4.1设计目标88 3.4.2硬件电路设计88 3.4.3实例软件设计89 3.5实例总结96 第4章实时时钟应用97 4.1实时时钟(RTC)概述97 4.1.1RTC基本配置98 4.1.2RTC引脚描述99 4.2RTC寄存器描述99 4.2.1RTC中断100 4.2.2混合寄存器组101 4.2.3完整时间寄存器组103 4.2.4时间计数器组104 4.2.5通用寄存器组106 4.2.6报警寄存器组106 4.3RTC常用库函数107 4.4RTC应用实例118 4.4.1设计目标118 4.4.2硬件电路设计119 4.4.3实例软件设计119 4.5实例总结124 第5章定时器应用125 5.1定时器(Timer)概述125 5.1.1定时器的基本配置126 5.1.2定时器的引脚描述127 5.2Timer寄存器描述127 5.2.1中断寄存器128 5.2.2定时器控制寄存器129 5.2.3定时器/计数器129 5.2.4预分频寄存器129 5.2.5预分频计数器129 5.2.6匹配控制寄存器130 5.2.7匹配寄存器0~3131 5.2.8捕获寄存器0~1131 5.2.9捕获控制寄存器131 5.2.10外部匹配寄存器132 5.2.11计数控制寄存器132 5.2.12DMA操作133 5.3Timer常用库函数134 5.4Timer应用实例142 5.4.1设计目标142 5.4.2硬件电路设计142 5.4.3实例软件设计143 5. 5实例总结151 第6章模/数转换器应用152 6.1模/数转换器(ADC)概述152 6.1.1ADC的基本配置153 6.1.2ADC的引脚描述153 6.1.3ADC的操作153 6.2ADC寄存器描述154 6.2.1ADC控制寄存器155 6.2.2ADC全局数据寄存器156 6.2.3ADC中断使能寄存器157 6.2.4ADC数据寄存器0~7158 6.2.5ADC状态寄存器159 6.2.6ADC调节寄存器159 6.3ADC常用库函数160 6.4ADC应用实例165 6.4.1设计目标165 6.4.2硬件电路设计165 6.4.3实例软件设计166 6. 5实例总结173 第7章数/模转换器应用174 7.1数/模转换器(DAC)概述174 7.1.1DAC的基本配置175 7.1.2DAC的引脚描述175 7.1.3DAC的操作175 7.2DAC寄存器描述176 7.2.1D/A转换器寄存器176 7.2.2D/A转换器控制寄存器177 7.2.3D/A转换器计数器值寄存器177 7.3常用库函数178 7.3.1DAC驱动库178 7.3.2通用DMA控制器常用库函数180 7.4DAC应用实例183 7.4.1设计目标183 7.4.2硬件电路设计184 7.4.3实例软件设计184 7. 5实例总结191 第8章脉宽调制器应用192 8.1脉宽调制器(PWM)概述192 8.1.1脉宽调制器的基本配置194 8.1.2脉宽调制器的引脚描述195 8.1.3单沿和双沿控制规则的采样波形195 8.2PWM寄存器描述197 8.2.1PWM中断寄存器197 8.2.2PWM定时器控制寄存器198 8.2.3PWM计数控制寄存器199 8.2.4PWM定时器/计数器199 8.2.5PWM预分频寄存器200 8.2.6PWM预分频计数器寄存器200 8.2.7PWM匹配控制寄存器200 8.2.8PWM匹配寄存器202 8.2.9PWM捕获控制寄存器202 8.2.10PWM捕获寄存器203 8.2.11PWM控制寄存器203 8.2.12PWM锁存使能寄存器204 8.3PWM常用库函数205 8.4PWM应用实例211 8.4.1设计目标211 8.4.2硬件电路设计211 8.4.3实例软件设计212 8. 5实例总结219 第9章电机控制脉宽调制器应用220 9.1电机控制脉宽调制器概述220 9.1.1电机控制脉宽调制器的基本配置220 9.1.2电机控制脉宽调制器的引脚描述222 9.2电机控制脉宽调制器寄存器描述222 9.2.1MCPWM控制寄存器223 9.2.2MCPWM捕获控制寄存器225 9.2.3MCPWM中断寄存器227 9.2.4MCPWM计数控制寄存器229 9.2.5MCPWM定时器/计数器0~2寄存器231 9.2.6MCPWM界限0~2寄存器231 9.2.7MCPWM匹配0~2寄存器232 9.2.8MCPWM死区时间寄存器233 9.2.9MCPWM通信格式寄存器234 9.2.10MCPWM捕获寄存器234 9.3MCPWM的应用操作235 9.3.1脉宽调制236 9.3.2映射寄存器和同时更新238 9.3.3快速中止(ABORT)238 9.3.4捕获事件238 9.3.5外部事件计数(计数器模式)239 9.3.6三相直流模式239 9.3.7三相交流模式240 9.3.8中断源240 9.4MCPWM常用库函数241 9.5MCPWM应用实例248 9.5.1设计目标248 9.5.2硬件电路设计248 9.5.3实例软件设计249 9. 6实例总结255 第10章通用异步收发器应用256 10.1通用异步收发器(UART)概述256 10.1.1通用异步收发器的基本配置260 10.1.2通用异步收发器的引脚描述261 10.2UART寄存器描述262 10.2.1UARTn接收缓冲寄存器(RBR)263 10.2.2UARTn发送保持寄存器(THR)263 10.2.3UARTn除数锁存器LSB/MSB寄存器(DLL,DLM)264 10.2.4UARTn中断使能寄存器(IER)264 10.2.5UARTn中断标识寄存器(IIR)265 10.2.6UARTn FIFO控制寄存器(FCR)266 10.2.7UARTn线控制寄存器(LCR)267 10.2.8UARTn Modem控制寄存器(MCR)268 10.2.9UARTn线状态寄存器(LSR)268 10.2.10UARTn Modem状态寄存器(MSR)270 10.2.11UARTn高速缓存寄存器(SCR)271 10.2.12UARTn自动波特率控制寄存器(ACR)271 10.2.13UARTn分数分频器寄存器(FDR)271 10.2.14UARTn发送使能寄存器(TER)272 10.2.15UARTn的RS485控制寄存器(RS485CTRL)273 10.2.16UARTn的RS485地址匹配寄存器(RS485ADRMATCH)274 10.2.17UARTn的RS485延时值寄存器(RS485DLY)274 10.2.18UART4过采样寄存器OSR274 10.2.19UART4智能卡接口控制寄存器SCICTRL275 10.2.20UART4同步模式控制寄存器(SYNCCTRL)276 10.2.21UART4 IrDA控制寄存器276 10.3UART常用库函数277 10.4UART应用实例289 10.4.1设计目标289 10.4.2硬件电路设计289 10.4.3实例软件设计291 10.5实例总结298 第11章串行同步端口控制器应用299 11.1串行同步端口概述299 11.1.1串行同步端口基本配置299 11.1.2串行同步端口的引脚描述300 11.2SSP寄存器描述300 11.2.1SSPn 控制寄存器0(CR0)301 11.2.2SSPn 控制寄存器1(CR1)301 11.2.3SSPn数据寄存器(DR)302 11.2.4SSPn状态寄存器(SR)302 11.2.5SSPn时钟预分频寄存器(CPSR)303 11.2.6SSPn中断使能置位/清零寄存器(IMSC)303 11.2.7SSPn原始中断状态寄存器(RIS)304 11.2.8SSPn 使能中断状态寄存器(MIS)304 11.2.9 SSPn中断清零寄存器(ICR)304 11.2.10SSPn DMA控制寄存器(CMACR)305 11.3SSP常用库函数305 11.4SSP外设应用实例312 11.4.1设计目标312 11.4.2硬件电路设计312 11.4.3实例软件设计315 11. 5实例总结318 第12章I2S数字音频接口应用319 12.1I2S总线接口概述319 12.1.1I2S总线接口的基本配置321 12.1.2I2S接口的引脚描述321 12.2I2S寄存器描述322 12.2.1数字音频输出寄存器(I2SDAO)322 12.2.2数字音频输入寄存器(I2SDAI)323 12.2.3发送缓冲寄存器(I2STXFFO)324 12.2.4接收缓冲寄存器(I2SRXFIFO)324 12.2.5状态反馈寄存器(I2SSTATE)324 12.2.6DMA配置寄存器1(I2SDMAI)324 12.2.7DMA配置寄存器2(I2SDMA2)325 12.2.8中断请求控制寄存器(I2SIRQ)325 12.2.9发送时钟速率寄存器(I2STXRATE)326 12.2.10接收时钟速率寄存器(I2SRXRATE)326 12.2.11发送时钟位速率寄存器(I2STXBITRATE)327 12.2.12接收时钟位速率寄存器(I2SRXBITRATE)327 12.2.13发送模式控制寄存器(I2STXMODE)327 12.2.14接收模式控制寄存器(I2SRXM0DE)328 12.3I2S常用库函数328 12.4I2S数字音频接口播放器应用实例337 12.4.1设计目标337 12.4.2硬件电路设计337 12.4.3实例软件设计343 12.5实例总结351 第13章SD卡接口应用352 13.1SD卡接口概述352 13.1.1SD卡接口的基本配置353 13.1.2SD卡接口的引脚描述353 13.2SD卡接口寄存器描述353 13.2.1电源控制寄存器(MCOPower)354 13.2.2时钟控制寄存器(MCIClock)355 13.2.3参数寄存器(MCIArgument)355 13.2.4命令寄存器(MCICommand)356 13.2.5命令响应寄存器(MCIRespCommand)356 13.2.6响应寄存器0~3(MCIResponse0~3)357 13.2.7数据定时器寄存器357 13.2.8数据长度寄存器(MCIDataLength)357 13.2.9数据控制寄存器(MCIDataCtrl)358 13.2.10数据计数器寄存器(MCIDataCnt)358 13.2.11状态寄存器(MCIStatus)359 13.2.12清零寄存器(MCIClear)360 13.2.13中断屏蔽寄存器(MCIMask)360 13.2.14FIFO计数器寄存器(MCIFifoCnt)361 13.2.15数据FIFO寄存器(MCIFIFO)361 13.3SD卡接口的常用库函数361 13.4基于SD卡接口的文件系统实例373 13.4.1设计目标373 13.4.2硬件电路设计373 13.4.3实例软件设计374 13. 5实例总结400 第14章LCD控制器与触摸应用401 14.1LCD控制器概述401 14.1.1LCD上电与掉电顺序403 14.1.2LCD控制器的基本配置404 14.1.3LCD控制器的引脚描述404 14.2LCD控制器寄存器描述404 14.2.1LCD配置和计时控制寄存器(LCD_CFG)405 14.2.2水平时序控制寄存器(LCD_TIMH)405 14.2.3垂直时序控制寄存器(LCD_TIMV)406 14.2.4时钟与信号极性控制寄存器(LCD_POL)407 14.2.5线端控制寄存器(LCD_LE)408 14.2.6上面板帧基址寄存器(LCD_UPBASE)409 14.2.7下面板帧基址寄存器(LCD_LPBASE)409 14.2.8LCD控制寄存器(LCD_CTRL)409 14.2.9中断屏蔽寄存器(LCD_INTMSK)411 14.2.10原始中断屏蔽寄存器(LCD_INTRAW)411 14.2.11中断屏蔽状态寄存器(LCD_INTSTAT)412 14.2.12中断清零寄存器(LCD_INTCLR)412 14.2.13上面板当前地址寄存器(LCD_UPCURR)413 14.2.14下面板当前地址寄存器(LCD_LPCURR)413 14.2.15彩色调色板寄存器(LCD_PAL)413 14.2.16光标图像寄存器(CRSR_IMG)414 14.2.17光标控制寄存器(CRSR_CTRL)414 14.2.18光标配置寄存器(CRSR_CFG)415 14.2.19光标调色板寄存器0(CRSR_PAL0)415 14.2.20光标调色板寄存器1(CRSR_PAL1)416 14.2.21光标XY位置寄存器(CRSR_XY)416 14.2.22光标剪裁位置寄存器416 14.2.23光标中断屏蔽寄存器(CRSR_INTMSK)417 14.2.24光标中断清零寄存器(CRSR_INTCLR)417 14.2.25光标原始中断状态寄存器(CRSR_INTRAW)417 14.2.26光标中断屏蔽状态寄存器(CRSR_INTSTAT)418 14.3LCD控制器的常用库函数418 14.4LCD控制器应用实例422 14.4.1设计目标422 14.4.2硬件电路设计422 14.4.3文字显示实例软件设计427 14.4.4触摸屏校准实例软件设计435 14.5实例总结440 第15章以太网接口应用441 15.1以太网接口概述441 15.1.1以太网模块的内部结构与特性441 15.1.2以太网数据包443 15.1.3以太网接口的基本配置444 15.1.4以太网接口的引脚描述445 15.2以太网接口寄存器描述446 15.2.1MAC寄存器组447 15.2.2控制寄存器组454 15.2.3接收过滤寄存器组461 15.2.4模块控制寄存器组463 15.2.5描述符与状态465 15.3以太网接口的常用库函数471 15.4以太网接口应用实例479 15.4.1设计目标480 15.4.2硬件电路设计480 15.4.3简易网页浏览实例软件设计492 15.4.4μIP实例软件设计505 15.5实例总结523 进阶篇 第16章嵌入式实时操作系统μC/OSII的移植与应用527 16.1嵌入式系统μC/OSII概述527 16.1.1μC/OSII系统特点527 16.1.2μC/OSII系统内核529 16.1.3任务管理538 16.1.4时间管理 540 16.1.5任务之间的通信与同步 540 16.1.6内存管理542 16.2如何在LPC1788微处理器上移植μC/OSII系统543 16.2.1移植μC/OSII系统必须满足的条件543 16.2.2初识μC/OSII嵌入式系统544 16.2.3重提μC/OSII嵌入式系统移植要点559 16.3应用实例560 16.3.1设计目标560 16.3.2硬件电路设计560 16.3.3μC/OSII系统软件设计560 16.4实例总结564 第17章LwIP移植与应用实例565 17.1以太网概述565 17.1.1以太网的网络传输介质565 17.1.2以太网数据帧格式568 17.1.3嵌入式系统的以太网协议570 17.2LwIP协议栈概述572 17.2.1LwIP协议栈的整体架构和进程模型572 17.2.2LwIP协议栈的API接口573 17.2.3LwIP内存管理591 17.3LwIP协议栈基于μC/OSII系统的移植592 17.3.1LwIP协议栈的源文件结构593 17.3.2LwIP协议栈的移植593 17.4应用实例607 17.4.1设计目标607 17.4.2系统软件设计607 17.5实例总结613 第18章嵌入式实时操作系统FreeRTOS应用614 18.1嵌入式系统FreeRTOS概述614 18.1.1FreeRTOS系统的特点614 18.1.2FreeRTOS系统的任务管理615 18.1.3FreeRTOS系统的队列管理626 18.1.4FreeRTOS系统的信号量629 18.1.5FreeRTOS系统的资源管理633 18.1.6FreeRTOS系统的内存管理635 18.1.7联合程序638 18.2如何在LPC1788微控制上器移植FreeRTOS系统644 18.2.1初识FreeRTOS嵌入式系统645 18.2.2FreeRTOS系统的移植646 18.2.3FreeRTOS系统的可配置参数项654 18.3FreeRTOS应用实例657 18.4实例总结660 第19章嵌入式图形系统μC/GUI的移植与应用661 19.1嵌入式图形系统μC/GUI661 19.1.1μC/GUI系统的软件结构661 19.1.2文本显示662 19.1.3数值显示664 19.1.42D图形库666 19.1.5字体671 19.1.6颜色672 19.1.7存储设备674 19.1.8视窗管理器674 19.1.9窗口对象676 19.1.10对话框687 19.1.11抗锯齿688 19.1.12输入设备690 19.1.13时间函数692 19.2μC/GUI系统的移植692 19.2.1初识μC/GUI系统692 19.2.2细说μC/GUI系统的移植701 19.2.3μC/GUI系统的触摸屏驱动704 19.2.4μC/OSII系统环境下支持μC/GUI系统705 19.3设计目标708 19.4系统软件设计708 19.5实例总结719 第20章嵌入式实时操作系统μC/OSIII的移植与应用720 20.1嵌入式系统μC/OSIII概述720 20.1.1μC/OSIII系统的特点720 20.1.2代码的临界段725 20.1.3任务管理726 20.1.4任务就绪表740 20.1.5任务调度742 20.1.6上下文切换748 20.1.7时间管理749 20.1.8资源管理750 20.1.9信号量754 20.1.10事件标志组765 20.1.11消息传递772 20.1.12内存管理782 20.2如何在LPC1788处理器上移植μC/OSIII系统784 20.2.1移植μC/OSIII系统必须满足的条件784 20.2.2初识μC/OSIII嵌入式系统785 20.3设计目标808 20.4μC/OSIII系统软件设计808 20.5实例总结814 参考文献815        
猜您喜欢

读书导航