内容简介
第一部分 嵌入式系统概述与玩转mbed
第1章 嵌入式系统、微控制器与ARM
1.1嵌入式系统简介
1.1.1什么是嵌入式系统
1.1.2嵌入式系统示例
1.2微处理器与微控制器
1.2.1计算机主要组件
1.2.2微控制器
1.3嵌入式系统的开发流程
1.3.1程序语言:C/C++有什么特别之处
1.3.2开发周期
1.4进入ARM世界
1.4.1关于ARM的历史
1.4.2技术细节:RISC的意义
1.4.3 Cortex内核
本章回顾
习题
参考文献
第2章 mbed开发板
2.1 mbed简介
2.1.1 mbed体系结构
2.1.2 LPC 1768微控制器
2.2 mbed入门教程
2.2.1步骤1:连接mbed到PC
2.2.2步骤2:创建mbed账户
2.2.3步骤3:运行程序
2.2.4步骤4:编译程序
2.2.5步骤5:下载程序二进制代码
2.2.6步骤6:修改程序代码
2.3开发环境
2.3.1 mbed编译器和API
2.3.2 C/C++的使用
本章回顾
习题
参考文献
第3章 数字输入和输出
3.1开始编写程序
3.1.1思考第一个程序
3.1.2了解mbed的API函数
3.1.3分析while循环
3.2用电压表示逻辑值
3.3 mbed数字输出
3.3.1发光二极管的使用
3.3.2 mbed外部引脚的使用
3.4 mbed数字输入
3.4.1开关与数字系统的连接
3.4.2 DigitalIn API
3.4.3用if语句响应开关输入
3.5简单的光电设备接口
3.5.1光敏反射和透射传感器
3.5.2光敏传感器与mbed开发板的连接
3.5.3七段数码管显示
3.5.4七段数码管与mbed开发板的连接
3.6驱动大型直流负载
3.6.1使用晶体管驱动
3.6.2用mbed进行电机驱动控制
3.6.3驱动多个七段数码管
3.7小项目:字母计数器
本章回顾
习题
参考文献
第4章 模拟输出
4.1数据转换简介
4.2 mbed开发板上的模拟输出
4.2.1产生恒定的输出电压
4.2.2锯齿波
4.2.3测试DAC分辨率
4.2.4产生正弦波
4.3另一种形式的模拟量输出:脉冲宽度调制
4.4 mbed开发板上的脉冲宽度调制
4.4.1使用mbed的PWM信号源
4.4.2一些PWM输出实验
4.4.3控制小电机的速度
4.4.4用软件方式产生PWM
4.4.5伺服控制
4.4.6输出到一个压电转换器
本章回顾
习题
参考文献
第5章 模拟输入
5.1数模转换
5.1.1模-数转换器
5.1.2范围、分辨率和量化
5.1.3采样频率
5.1.4 mbed开发板上的模拟输入
5.2模拟输入和输出混合应用
5.2.1用可变电压控制LED亮度
5.2.2用PWM控制LED亮度
5.2.3 PWM频率控制
5.3模拟输入数据的处理
5.3.1在计算机屏幕上显示数值
5.3.2将ADC输出调整到识别范围内
5.3.3采用平均值降低噪声
5.4一些简单的模拟传感器
5.4.1光敏电阻
5.4.2集成电路温度传感器
5.5分析数据转换时间
5.6小项目:二维光跟踪
本章回顾
习题
参考文献
第6章 高级编程技术
6.1思考程序设计和程序结构带来的好处
6.2函数
6.3程序设计
6.3.1使用流程图定义代码结构
6.3.2伪代码
6.4在mbed开发板上使用函数
6.4.1实现七段数码管计数器
6.4.2函数重用
6.4.3一个使用函数且更复杂的程序
6.5在C/C++中使用多个文件
6.5.1 C/C++程序编译过程概述
6.5.2 C/C++预处理器和预处理器指令
6.5.3 #ifndef伪指令
6.5.4全局地使用mbed对象
6.6模块化程序示例
本章回顾
习题
第7章 串行通信
7.1同步串行通信简介
7.2串行外围接口
7.2.1 SPI简介
7.2.2 mbed开发板上的SPI
7.2.3设置mbed SPI主设备
7.2.4创建SPI数据链路
7.3智能仪表和SPI加速器
7.3.1 ADXL345加速器简介
7.3.2简单ADXL345程序开发
7.4 SPI评估
7.5 I2C总线
7.5.1 I2C总线简介
7.5.2 mbed开发板上的I2C总线
7.5.3设置I2C数据链路
7.6用I2C总线标准的温度传感器通信
7.7 SRF08超声波测距仪的使用
7.8 I2C总线评估
7.9异步串行数据通信
7.9.1异步串行通信简介
7.9.2 mbed开发板上的异步串行通信应用
7.9.3同宿主计算机的同步串行通信应用
7.10小项目:多节点I2C总线
本章回顾
习题
参考文献
第8章 液晶显示器
8.1显示技术
8.1.1液晶技术简介
8.1.2液晶字符显示
8.2使用PC 1602F LCD
8.2.1 PC 1602F显示器简介
8.2.2连接PC 1602F到mbed开发板
8.2.3 LCD接口的模块化编程
8.2.4初始化显示
8.2.5向LCD发送显示数据
8.2.6完整的LCP.cpp定义
8.2.7使用LCD函数
8.2.8向指定位置添加数据
8.3使用mbed开发板的TextLCD库
8.4在LCD上显示模拟输入数据
8.5更先进的LCD
8.5.1彩色LCD
8.5.2控制SPI标准的LCD手机显示屏
8.6小项目:数字水平仪
本章回顾
习题
参考文献
第9章 中断、定时器和任务
9.1嵌入式系统中的定时和任务
9.1.1定时器和中断
9.1.2任务
9.1.3事件触发任务和时间触发任务
9.2响应事件触发的事件
9.2.1轮询
9.2.2中断简介
9.3简单的mbed中断
9.4深入理解中断
9.4.1 LPC 1768中断
9.4.2测试中断延迟
9.4.3禁用中断
9.4.4模拟输入中断
9.4.5中断总结
9.5定时器
9.5.1数字计数器
9.5.2使用计数器作为定时器
9.5.3 mbed上的定时器
9.6使用mbed定时器
9.6.1使用多个mbed定时器
9.6.2测试定时器延迟
9.7使用mbed超时
9.7.1超时应用简单示例
9.7.2超时进阶应用
9.7.3用超时测试反应时间
9.8使用mbed断续装置
9.8.1节拍器中使用断续装置
9.8.2思考多任务节拍器程序
9.9实时时钟
9.10开关去除抖动
9.11小项目
9.11.1独立节拍器
9.11.2加速度计阈值中断
本章回顾
习题
第10章 存储器与数据管理
10.1存储器综述
10.1.1存储器功能类型
10.1.2基本电子存储器类型
10.2使用mbed的数据文件
10.2.1回顾部分所需的C/C++库函数
10.2.2定义mbed的本地文件系统
10.2.3打开和关闭文件
10.2.4写入和读取文件数据
10.3 mbed数据文件存取示例
10.3.1文件存取
10.3.2字符串文件存取
10.3.3使用格式化数据
10.4使用mbed的外部存储器
10.5指针简介
10.6小项目:加速度计阈值的记录
本章回顾
习题
参考文献
第二部分 高级和专家级应用
第11章 数字信号处理
11.1数字信号处理器简介
11.2数字滤波示例
11.3 mbed DSP示例
11.3.1数字数据的输入和输出
11.3.2信号重构
11.3.3添加一个数字低通滤波器
11.3.4添加一个激活按钮
11.3.5数字高通滤波器
11.4延迟/回声效果
11.5使用wave音频文件
11.5.1波形信息的头部
11.5.2用mbed读取wave文件的头部
11.5.3读取、输出单声道wave数据
11.6 DSP小结
11.7小项目:立体声播放器
11.7.1基本功能的立体声播放器
11.7.2拥有PC接口的立体声播放器
11.7.3拥有手机显示接口的便携式立体声播放器
本章回顾
习题
参考文献
第12章 高级串行通信
12.1高级串行通信协议简介
12.2蓝牙串行通信
12.2.1蓝牙简介
12.2.2蓝牙模块RN-41和RN-42的接口
12.2.3通过蓝牙发送mbed数据
12.2.4从主机终端应用程序接收的蓝牙数据
12.2.5两个mbed之间通过蓝牙通信
12.3 USB简介
12.3.1使用mbed模拟USB鼠标
12.3.2从mbed端发送USBMIDI数据
12.4以太网简介
12.4.1以太网概述
12.4.2实现简单的mbed以太网通信
12.4.3 mbed之间的以太网通信
12.5用mbed进行本地网络和Internet通信
12.5.1用mbed作为HTTP客户端
12.5.2用mbed作为HTTP文件服务器
12.5.3用远程过程调用修改mbed输出
12.5.4用远程JavaScript接口控制mbed
本章回顾
习题
参考文献
第13章 控制系统
13.1控制系统简介
13.1.1闭环和开环控制系统
13.1.2闭环巡航控制示例
13.1.3比例控制
13.1.4 PID控制
13.2闭环数字罗盘示例
13.2.1 HMC6352数字罗盘的使用
13.2.2 360°旋转伺服系统的实现
13.2.3闭环控制算法的实现
13.3基于控制器局域网控制数据通信
13.3.1控制器局域网
13.3.2 mbed上的CAN总线
本章回顾
习题
参考文献
第14章 mbed库函数入门
14.1简介
14.2控制寄存器概念
14.3数字输入/输出
14.3.1 mbed数字输入/输出控制寄存器
14.3.2数字输出的应用
14.3.3添加第二个数字输出
14.3.4数字输入
14.4深入了解控制寄存器
14.4.1引脚功能选择寄存器和引脚模式寄存器
14.4.2功率控制寄存器和时钟选择寄存器
14.5使用DAC
14.5.1 mbed DAC控制寄存器
14.5.2 DAC的应用
14.6使用ADC
14.6.1 mbed ADC控制寄存器
14.6.2 ADC应用
14.6.3改变ADC转换速度
14.7控制寄存器使用小结
本章回顾
习题
参考文献
第15章 项目扩展
15.1去往何方
15.2 mbed Pololu机器人
15.3高级音频项目
15.4物联网
15.5 mbed LPC 11 U24简介
15.6从mbed到实际生产
15.7结束语
参考文献
附录A 数制系统
附录B C语言基础
附录C mbed技术资料
附录D 配件清单
附录E Tera Term终端模拟器