网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 ARM嵌入式微控制器原理与应用(基于Cortex-M0+内核LPC84X与μC\OS-Ⅲ操作系统(第2版)/清华开发者书库
分类
作者
出版社 清华大学出版社
下载
简介
内容推荐
ARM Cortex-M0+内核微控制器以其高性能、极低功耗和易用性等特点成为替代传统8051架构单片机的首选微控制器,其中以NXP公司LPC84X系列微控制器因其处理速度快、存储空间大和片内外设资源丰富而最有代表性。Micrium公司μC/OS-Ⅱ/Ⅲ系统软件是在全球范围内被广泛加载到微控制器上的嵌入式实时操作系统。本书结合微控制器LPC84X与嵌入式实时操作系统μC/OS-Ⅱ/Ⅲ详细讲述ARM微控制器原理与应用技术,主要内容包括Cortex-M0+微控制器、LPC84X硬件电路系统、IAR EWARM集成开发环境、Cortex-M0+异常与中断、片内外设驱动技术、μC/OS-Ⅱ/Ⅲ移植、μC/OS-Ⅱ/Ⅲ任务、信号量与互斥信号量以及消息邮箱与消息队列等。本书的特色在于理论与应用结合紧密且实例丰富,对学习基于Cortex-M0+微控制器和实时操作系统μC/OS-Ⅱ/Ⅲ等领域的嵌入式设计与应用开发技术,都具有颇强的指导和参考价值。
本书可作为普通高等院校电子信息工程、通信工程、物联网工程、计算机工程、软件工程、自动控制和智能仪器等相关专业的高年级本科生或研究生教材,也可作为嵌人式系统设计爱好者和工程开发人员的参考用书。
作者简介
张勇,江西财经大学软件与物联网工程学院教师。研究兴趣:嵌入式技术与信息安全技术。发表第一作者论文20余篇,出版学术专著2部,出版嵌入式教材10余部,通晓NXPLPC系列ARM微控制器和Micrium μC/OS嵌入式实时操作系统。
目录
第一篇 LPC84x典型硬件系统与芯片级软件设计
第1章 ARM Cortex-M0+内核
1.1 ARM Cortex-MO+内核特点
1.2 ARM Cortex-MO+内核架构
1.3 ARM Cortex-M0+存储器配置
1.4 ARM Cortex-MO+内核寄存器
1.4.1 内核寄存器
1.4.2 系统控制寄存器
1.5 SysTick定时器
1.6 Cortex-MO+异常
1.7 嵌套向量中断控制器
1.8 本章小结
第2章 LPC84X微控制器
2.1 LPC845微控制器特点与引脚配置
2.2 LPC845微控制器内部结构
2.3 LPC845存储器配置
2.4 LPC845NVIC中断
2.5 I/O口配置IOCON
2.6 通用目的输入/输出口GPIO
2.7 系统配置模块SYSCON
2.8 本章小结
第3章 LPC845典型硬件平台
3.1 LPC845核心电路
3.2 电源电路
3.3 LED驱动电路与蜂鸣器驱动电路
3.4 串口通信电路
3.5 用户按键电路、用户接口扩展电路和ADC电路
3.6 DS18B20电路
3.7 ZLG7289B电路
3.8 SWD、ISP和复位电路
3.9 LCD屏与电阻式触摸屏接口电路
3.10 存储器电路
3.11 声码器电路
3.12 本章小结
第4章 LED灯与蜂鸣器控制
4.1 LED灯控制
4.1.1 LPC845 GPIO口读写访问
4.1.2 Keil MDK工程框架
4.2 LPC845异常管理
4.2.1 LPC845异常
4.2.2 LED灯闪烁工程
4.3 NVIC中断管理
4.3.1 多速率定时器MRT
4.3.2 MRT定时器中断实例
4.4 蜂鸣器工作原理
4.5 LPC845外部中断
4.5.1 外部中断与模式匹配工作原理
4.5.2 LPC845外部中断实例
4.5.3 LPC845模式匹配实例
4.6 本章小结
第5章 按键与数码管显示
5.1 ZLG7289B工作原理
5.2 DS18B20工作原理
5.3 按键与数码管实例
5.4 本章小结
第6章 串口通信与声码器
6.1 串口通信
6.1.1 LPC845串口工作原理
6.1.2 串口通信实例
6.2 声码器
6.2.1 声码器工作原理
6.2.2 声码器实例
6.3 本章小结
第7章 ADC与存储器访问
7.1 LPC845微控制器ADC
7.1.1 ADC工作原理
7.1.2 ADC工程实例
7.2 AT24C128存储器
7.2.1 AT24C128访问方法
7.2.2 AT24C128访问实例
7.3 W25Q64存储器
7.3.1 W25Q64存储器访问方法
7.3.2 LPC845微控制器SPI模块
7.3.3 W25Q64访问实例
7.4 本章小结
第8章 触摸屏与LCD屏
8.1 电阻式触摸屏驱动原理
8.2 电阻式触摸屏实例
8.3 LCD屏驱动原理
8.4 LCD屏实例
8.5 本章小结
第二篇 嵌入式实时操作系统μC/OS-Ⅱ
第9章 μC/OS-Ⅱ系统与移植
9.1 μC/OS-Ⅱ系统移植
9.2 μC/OS-Ⅱ系统结构与配置
9.3 μC/OS-Ⅱ系统任务
9.3.1 空闲任务
9.3.2 统计任务
9.3.3 定时器任务
9.4 本章小结
第10章 μC/OS-Ⅱ任务管理
10.1 μC/OS-Ⅱ用户任务
10.2 μC/OS-Ⅱ多任务工程实例
10.3 统计任务实例
10.4 系统定时器
10.5 本章小结
第11章 信号量与互斥信号量
11.1 μC/OS-Ⅱ信号量
11.2 μC/OS-Ⅱ互斥信号量
11.3 信号量与互斥信号量实例
11.4 本章小结
第12章 消息邮箱与消息队列
12.1 μC/OS-Ⅱ消息邮箱
12.2 μC/OS-Ⅱ消息队列
12.3 消息邮箱与消息队列实例
12.4 本章小结
第三篇 嵌入式实时操作系统μC/OS-Ⅲ
第13章 μC/OS-Ⅲ系统与移植
13.1 μC/OS-Ⅲ发展历程
13.2 μC/OS-Ⅲ特点
13.3 μC/OS-Ⅲ应用领域
13.4 μC/OS-Ⅲ系统组成
13.4.1 μC/OS-Ⅲ配置文件
13.4.2 μC/OS-Ⅲ内核文件
13.5 μC/OS-Ⅲ自定义数据类型
13.6 μC/OS-Ⅲ移植
13.7 本章小结
第14章 μC/OS-Ⅲ任务管理
14.1 用户任务
14.1.1 任务堆栈与优先级
14.1.2 任务控制块
14.1.3 任务工作状态
14.1.4 用户任务创建过程
14.2 多任务工程实例
14.3 统计任务
14.4 定时器任务
14.5 本章小结
第15章 信号量、任务信号量和互斥信号量
15.1 信号量
15.1.1 信号量工作方式
15.1.2 信号量实例
15.2 任务信号量
15.2.1 任务信号量工作方式
15.2.2 任务信号量实例
15.3 互斥信号量
15.3.1 互斥信号量工作方式
15.3.2 互斥信号量实例
15.4 本章小结
第16章 消息队列与任务消息队列
16.1 消息队列
16.1.1 消息队列工作方式
16.1.2 消息队列实例
16.2 任务消息队列
16.2.1 任务消息队列工作方式
16.2.2
序言
第2版前言
物联网技术与互联网+技术的迅猛发展,促使电子设计
与智能控制领域发生了一次新的技术革命,这场技术革命
的典型特征在于ARM微处理器和微控制器的普及应用及嵌入
式实时操作系统(ERTOS)的普及应用。国内各高等院校与
时俱进,在电子通信与智能控制等相关专业开设了ARM与
ERTOS方面的多门课程,以培养高质量的嵌入式技术工程人
员。为了适应高等院校新技术的教学需要,同时作为清华
大学出版社“开发者书库”系列教材的出版计划之一,编
写了《ARM嵌入式微控制器原理与应用——基于Cortex-
M0+内核LPC84X与μC/OS-Ⅲ操作系统》。本书涵盖了ARM
Cortex-M0+极低功耗微控制器LPC84X的设计与应用技术以
及ERTOS系统μC/OS-Ⅱ/Ⅲ的实战应用技术。
本书出版一年以来,受到了国内广大师生和嵌入式爱
好者的喜爱,在此作者表示由衷的感谢。在过去的一年里
,收到了大量读者的宝贵反馈意见,同时结合在物联网专
业本科和研究生教学中遇到的问题,修订了本书第1版中出
现的一些小问题。特别是由于Keil MDK最新版开发软件中
芯片支撑库结构的大幅调整,使得本书原版中全部例程均
需作重大修改才能运行在新版Keil MDK下。在这种情况下
,对原书中的工程例程进行了全面的修订,形成了本书的
第2版。同时,基于IAR EWARM开发环境,也编写了以
LPC84X与ERTOS应用为核心的嵌入式教材《ARM Cortex-
M0+嵌入式微控制器原理与应用——基于LPC84X、IAR
EWARM与μC/OS-Ⅲ操作系统》,即将由清华大学出版社出
版,该书更适合那些习惯于借助EWARM进行嵌入式开发的教
研人员。
本书第2版与第1版在内容安排上相同,同样具有概念
表述准确、硬件方案开源、工程代码完备、应用实例丰富
等特点,适用于课内教学与课外实验相结合的教学方法,
也适用于结合MOOC技术和微课技术进行新型教学范式改革
,同样适用于结合电子设计大赛进行赛课结合教学。本书
配套的ARM学习电路板可以在教学过程中设计制作,可极大
地提高本书的学习成就感和学习乐趣。对于本科二年级学
生,适用内容为根据第3章内容制作ARM学习板和第1~4章
;对于本科三年级学生,根据学习基础可选用第1~8章或
第1~12章;对于研究生,适用第9~16章。结合作者的教
学经验,针对本科三年级学生,本书的课内教学宜为32学
时,实验教学不少于32学时,相关的开放实验学时为64~
96学时。
本书由江西省学位与研究生教育教学改革研究项目(
编号:JXYJG-2018-074)资助出版,特此感谢。同时,感
谢恩智浦(NXP)中国公司辛华峰经理对本书编写的关心与
支持;感谢北京博创智联科技有限公司陆海军总经理对本
书编写的关心与支持;感谢广州天嵌计算机科技有限公司
梁传智总经理对本书编写的关心与支持;感谢清华大学出
版社赵凯编辑的辛勤工作;感谢我的爱人贾晓天老师在资
料检索和LPC845学习板焊装调试方面所做的大量工作;感
谢阅读了作者已出版的教材并反馈了宝贵意见的读者们。
本书的编写通俗易懂,其自学门槛较以往的教材大大降低

由于作者水平有限,书中难免会有纰漏之处,敬请同
行专家和读者朋友批评指正(联系方式:
15270015009@qq.com)。
张勇
2019年5月
导语
本书具有以下三个方面的特色:
其一,公布了基于LPC845微控制器为核心的开源硬件平台,对嵌入式硬件开发具有颇强的指导作用。
其二,全书工程实例丰富,基于EWARM平台通过完整的工程实例详细讲述了函数级别与任务级别的程序设计方法,对于嵌入式系统应用软件开发具有颇强的指导意义。
其三,结合LPC845硬件平台,详细讲述了嵌入式实时操作系统μC/OS-Ⅱ/Ⅲ的任务管理和系统组件应用方法,对学习和应用μC/OS-Ⅱ/Ⅲ具有良好的可借鉴性。
精彩页
第3章 LPC845典型硬件平台
本章将介绍LPC845硬件开发平台及其电路原理图。LPC845开发平台包括一套LPC845学习板、一台计算机、一台ULINK2或JLink V8仿真器、一根USB转串口线和一个+5V电源适配器。LPC845学习板是硬件开源的电路板,如图3-1所示。
本章将首先介绍图3-1所示LPC845学习板的电路设计原理,本书后续章节的程序设计均基于该学习板。LPC845学习板实现了以下功能:
(1)集成电源指示LED灯;
(2)支持在系统编程(ISP)功能;
(3)具有外部复位按键;
(4)具有1个串口,可与计算机串口相连;
(5)支持SWD串行仿真调试;
(6)具有2个与GPIO口直接相连的用户按键输入;
(7)具有3个GPIO口驱动的LED灯和1个蜂鸣器;
(8)具有ZLG7289B芯片驱动的8个LED灯、16个按键和1个四合一七段数码管(带时间显示);
(9)具有1个DS18B20温度传感器;
(10)具有1个240×320点阵彩色TFT型LCD屏,带有电阻式触摸屏;
(11)支持1个ADC输入口;
(12)具有1个128KB的EEPROM存储器AT24C128;
(13)具有1个64MB的Flash存储器W25Q64;
(14)具有SYN6288声码器;
(15)扩展了4个用户I/O口;
(16)+5V单电源供电。
3.1 LPC845核心电路
LPC845学习板上与LPC845芯片直接相连的电路部分称为核心电路,如图3-2所示。
在设计LPC845核心电路时,主要有以下考虑:
(1)LPC845芯片工作在3.3V电源下,第7、26、39脚接3.3V电源,第8、25、43脚接地;
(2)LPC845芯片片上ADC模块的参考电压采用3.3V,第42、52脚接3.3V参考电压源,第41、53脚接地;
(3)使用SWD串行调试模式,第14、12脚通过网标SWDIO和SWCLK与SWD仿真接口相连接,见第3.8节;
(4)使用了第5脚作为外部复位信号输入端;
(5)PC845芯片没有使用外部晶振,而是使用片上12MHz FRO振荡器;
(6)支持在系统编程(ISP)且具有相应的串口,这要求LPC845芯片的PIO0_24和PIO0_25分别接串口的RXD和TXD(由FAIM决定),PIO0_12通过跳线端子接地。由图3-2可知,串口的RXD和TXD分别与PIO0_25和PIO0_26相连接,故需要重新配置FAIM的第1个字的第[4:0]位为0x19,第[12:8]位为0x1A(见参考文献[2]的第4章)。然后,才能实现ISP功能。
在图3-2中,LPC845的每个引脚上都有网络标号(简称网标),通过这些网标与3.2~3.11节的电路模块相连接,共同组合为完整的LPC845学习板。 3.2 电源电路
LPC845学习板的电源电路如图3-3所示。
由图3-3可知,LPC845学习板外接+5V直流电源,由J2接入。板上装有带锁扣的开关S17,+5V电源经过电源芯片AMS1117转换为+3.3V直流电源,供给LPC845学习板上的LPC845芯片和其他电路。D13为电源工作指示灯,当按下开关S17接通电源后,D13将被点亮,表示LPC845学习板处于带电工作状态。一般地,电源和地在PCB板上应布设较粗的连线(如20mil以上)。
3.3 LED驱动电路与蜂鸣器驱动电路
LPC845学习板上LED驱动电路与蜂鸣器驱动电路如图3-4所示。
如图3-2和图3-4所示,通过网标USER_LED01、USER_LED02和USER_LED03将PIO0_18、PIO0_19和PIO0_17与Q2、Q3和Q4的基极相连接,从而控制LED灯D9、D10和D11的亮与灭。通过网标USER_BELL将PIO0_24与Q6的基极相连接,从而控制蜂鸣器B2的鸣叫与静音。LED驱动电路的工作原理(以D9为例)为:当USER_LED01网标为高电平时,PNP型场效应管Q2截止,LED灯D9熄灭; 当USER_LED01网标为低电平时,PNP型场效应管Q2导通,LED灯D9点亮。同理,蜂鸣器驱动电路的工作原理为:当USER_BELL网标为高电平时,PNP型场效应管Q6截止,蜂鸣器B2不鸣叫;当USER_BELL网标为低电平时,PNP型场效应管Q6导通,蜂鸣器B2鸣叫。
3.4 串口通信电路
LPC845学习板上的串口通信电路如图3-5所示。
如图3-5和图3-2所示,LPC845芯片的PIO0_26和PIO0_25通过网标TXD232和RXD232与芯片ST3232的T2IN和R2OUT相连接。ST3232电平转换芯片支持2路串口,图3-5中仅使用了一路,J1为DB9接头,通过串口线与计算机的串口相连。
3.5 用户按键电路、用户接口扩展电路和ADC电路
LPC845学习板上的用户按键电路、用户接口扩展电路以及ADC电路如图3-6所示。
如图3-6和图3-2所示,PIO0_6和PIO0_7引脚通过网标USER_BUT1和USER_BUT2控制用户按键S18和S19。当按键S18被按下时,USER_BUT1将由高电平转变为低电平;同理,当按键S19被按下时,USER_BUT2将由高电平转变为低电平,从而可触发电平下降沿中断。J6为6针的接口,将PIO0_27和USER_LED01、USER_LED02、USER_LED03以及3.3V电源和地作为用户接口,供用户测试使用。PIO0_4引脚通过网标USER_ADC0_CH7与滑动变阻器VR1相连接,滑动变阻器提供0~3.3V变化的电压输出,借助LPC845芯片内部的ADC对该模拟电压信号进行采样量化处理。
3.6 DS18B20电路
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/2/22 18:14:35