嵌入式微处理器原理与应用——基于ARM Cortex-M3微控制器(STM32系列) / 高等学校电子信息类专业系列教材
¥34.50定价
作者: 严海蓉、薛涛等
出版时间:2014年12月
出版社:清华大学出版社
- 清华大学出版社
- 9787302383789
- 1-1
- 159005
- 16开
- 2014年12月
- 工学
- 计算机科学与技术
- TP360.21
- 电工电子
- 高职高专
内容简介
严海蓉、薛涛、曹群生、时昕编著的《嵌入式微 处理器原理与应用--基于ARM Cortex-M3微控制器 (STM32系列高等学校电子信息类专业系列教材)》系 统论述了ARM Cortex-M3嵌入式微处理器的原理、架 构、编程与系统开发方法,并以STM32微处理器为样 本,给出了丰富的设计示例与综合实例。本书共分为 8章,分别介绍了嵌入式微处理器的开发方法、 Cortex-M3的体系结构、Cortex-M3的指令集、 Cortex-M3的功能特性、C语言与汇编语言混合编程、 Cortex-M3的外设、Cortex-M3的驱动、Cortex-M3应 用综合实例等内容。
本书适合作为高等学校电子信息类专业与计算机 类专业本科生及研究生的“嵌入式系统原理及应用” 课程的教材,也适合作为相关领域工程技术人员的参 考用书。
本书适合作为高等学校电子信息类专业与计算机 类专业本科生及研究生的“嵌入式系统原理及应用” 课程的教材,也适合作为相关领域工程技术人员的参 考用书。
目录
第1章 绪论
1.1 微处理器定义
1.2 ARM发展历程
1.3 ARM体系结构与特点
1.4 处理器选型
1.4.1 嵌入式微处理器选型的考虑因素
1.4.2 嵌入式微处理器选型示例
第2章 ARM核体系结构
2.1 寄存器
2.2 ALU
2.3 存储部件
2.4 中断控制
2.5 总线
2.6 外围接口I/O
2.7 流水线
2.8 ARM协处理器接口
第3章 ARM指令集
3.1 指令简介
3.2 ARM寻址方式
3.2.1 数据处理指令的操作数的寻址方式
3.2.2 字及无符号字节的Load/Store指令的寻址方式
3.2.3 杂类Load/Store指令的寻址方式
3.2.4 批量Load/Store指令的寻址方式
3.2.5 协处理器Load/Store指令的寻址方式
3.3 Cortex指令集
3.3.1 数据传送类指令
3.3.2 数据处理指令
3.3.3 其他计算类指令
3.3.4 饱和运算
3.3.5 无条件跳转指令
3.3.6 标志位与条件转移指令
3.3.7 IF-THEN指令块
3.3.8 Barrier隔离指令
3.3.9 其他一些有用的指令
3.3.10 对内存的互斥访问
3.4 伪指令
3.5 内嵌汇编
第4章 Cortex-M3特性
4.1 特殊功能寄存器
4.2 中断建立全过程的演示
4.3 复位序列
4.4 中断咬尾
4.5 晚到异常
4.6 位带操作
4.7 互斥访问
第5章 C语言与汇编语言混编
5.1 ATPCS与AAPCS
5.2 嵌入式C编写与编译
5.3 C语言与汇编语言混编规范
5.3.1 内嵌汇编
5.3.2 汇编程序中访问C全局变量
5.3.3 C语言与汇编语言的相互调用
5.4 C语言与汇编语言混编实践
5.4.1 Keil使用和STM32固件库
5.4.2 建立自己的第一个Keil程序
第6章 STM32输入/输出
6.1 pin配置
6.1.1 单独的位设置或位清除
6.1.2 外部中断/唤醒线
6.1.3 复用功能
6.1.4 软件重新映射I/O复用功能
6.1.5 GPIO锁定机制
6.1.6 输入配置
6.1.7 输出配置
6.1.8 复用功能配置
6.1.9 模拟输入配置
6.2 输入/输出基本概念(寄存器、输入/输出类型)
6.2.1 基本概念
6.2.2 寄存器详解
6.2.3 复用I/O配置寄存器
6.2.4 通用I/O和AFIO使用的配置步骤
6.3 通用I/O锁定机制
6.4 系统时钟
6.4.1 时钟配置
6.4.2 时钟输出的使能控制
6.5 输入/输出常用固件库函数
6.5.1 GPIO_Delnit函数
6.5.2 GPIO_AFIODelnit函数
6.5.3 GPIO_Init函数
6.5.4 GPIO_StructInit函数
6.5.5 GPIO_ReadInputDataBit函数
6.5.6 GPIO_ReadlnputData函数
6.5.7 GPIO_ReadOutputDataBit函数
6.5.8 GPIO_ReadOutputData函数
6.5.9 GPIO_SetBits函数
6.5.1 0GPIO_ResetBits函数
6.5.1 1GPIO_WriteBit函数
6.5.1 2GPIO_Write函数
6.5.1 3GPIO_PinLockConfig函数
6.5.1 4GPIO_EventOutputConfig函数
6.5.1 5GPIO_EventOutputCmd函数
6.5.1 6GPIO_PinRemapConfig函数
6.5.1 7GPIO_EXTILineConfig函数
6.6 GPIO控制LED灯
6.6.1 硬件设计
6.6.2 软件设计
6.7 GPIO控制蜂鸣器
6.7.1 硬件设计
6.7.2 软件设计
6.8 跑马灯实验
6.8.1 硬件设计
6.8.2 软件设计
6.9 LCD1602驱动
6.9.1 硬件设计
6.9.2 软件设计
第7章 串行通信模块与中断程序
7.1 接口与通信标准
7.1.1 I2C接口
7.1.2 通用同步/异步收发器(USART)
7.1.3 串行外设接口(SPI)
7.1.4 控制器区域网络(CAN)
7.1.5 通用串行总线(USB)
7.2 串口USART实例
7.3 扫描键盘
7.4 继电器
7.5 脉宽调制
7.6 步进电动机
第8章 STM32带操作系统编程
8.1 RAM、Flash启动
8.2 小型操作系统sTM32移植
8.2.1 μCOS-Ⅱ内核简介
8.2.2 开始移植
8.2.3 程序开发模式讨论
第9章 综合案例
9.1 硬件连接方式
9.2 驱动软件编写
9.2.1 串口通信
9.2.2 数据采集
9.2.3 小车的方向控制
9.2.4 小车的速度控制
9.3 Z-Stack软件框架
9.3.1 任务调度
9.3.2 ZigBee无线传输系统开发
9.4 计算机端程序开发
附录A STM32F10x.h中的定义
附录B LCD1602程序
1.1 微处理器定义
1.2 ARM发展历程
1.3 ARM体系结构与特点
1.4 处理器选型
1.4.1 嵌入式微处理器选型的考虑因素
1.4.2 嵌入式微处理器选型示例
第2章 ARM核体系结构
2.1 寄存器
2.2 ALU
2.3 存储部件
2.4 中断控制
2.5 总线
2.6 外围接口I/O
2.7 流水线
2.8 ARM协处理器接口
第3章 ARM指令集
3.1 指令简介
3.2 ARM寻址方式
3.2.1 数据处理指令的操作数的寻址方式
3.2.2 字及无符号字节的Load/Store指令的寻址方式
3.2.3 杂类Load/Store指令的寻址方式
3.2.4 批量Load/Store指令的寻址方式
3.2.5 协处理器Load/Store指令的寻址方式
3.3 Cortex指令集
3.3.1 数据传送类指令
3.3.2 数据处理指令
3.3.3 其他计算类指令
3.3.4 饱和运算
3.3.5 无条件跳转指令
3.3.6 标志位与条件转移指令
3.3.7 IF-THEN指令块
3.3.8 Barrier隔离指令
3.3.9 其他一些有用的指令
3.3.10 对内存的互斥访问
3.4 伪指令
3.5 内嵌汇编
第4章 Cortex-M3特性
4.1 特殊功能寄存器
4.2 中断建立全过程的演示
4.3 复位序列
4.4 中断咬尾
4.5 晚到异常
4.6 位带操作
4.7 互斥访问
第5章 C语言与汇编语言混编
5.1 ATPCS与AAPCS
5.2 嵌入式C编写与编译
5.3 C语言与汇编语言混编规范
5.3.1 内嵌汇编
5.3.2 汇编程序中访问C全局变量
5.3.3 C语言与汇编语言的相互调用
5.4 C语言与汇编语言混编实践
5.4.1 Keil使用和STM32固件库
5.4.2 建立自己的第一个Keil程序
第6章 STM32输入/输出
6.1 pin配置
6.1.1 单独的位设置或位清除
6.1.2 外部中断/唤醒线
6.1.3 复用功能
6.1.4 软件重新映射I/O复用功能
6.1.5 GPIO锁定机制
6.1.6 输入配置
6.1.7 输出配置
6.1.8 复用功能配置
6.1.9 模拟输入配置
6.2 输入/输出基本概念(寄存器、输入/输出类型)
6.2.1 基本概念
6.2.2 寄存器详解
6.2.3 复用I/O配置寄存器
6.2.4 通用I/O和AFIO使用的配置步骤
6.3 通用I/O锁定机制
6.4 系统时钟
6.4.1 时钟配置
6.4.2 时钟输出的使能控制
6.5 输入/输出常用固件库函数
6.5.1 GPIO_Delnit函数
6.5.2 GPIO_AFIODelnit函数
6.5.3 GPIO_Init函数
6.5.4 GPIO_StructInit函数
6.5.5 GPIO_ReadInputDataBit函数
6.5.6 GPIO_ReadlnputData函数
6.5.7 GPIO_ReadOutputDataBit函数
6.5.8 GPIO_ReadOutputData函数
6.5.9 GPIO_SetBits函数
6.5.1 0GPIO_ResetBits函数
6.5.1 1GPIO_WriteBit函数
6.5.1 2GPIO_Write函数
6.5.1 3GPIO_PinLockConfig函数
6.5.1 4GPIO_EventOutputConfig函数
6.5.1 5GPIO_EventOutputCmd函数
6.5.1 6GPIO_PinRemapConfig函数
6.5.1 7GPIO_EXTILineConfig函数
6.6 GPIO控制LED灯
6.6.1 硬件设计
6.6.2 软件设计
6.7 GPIO控制蜂鸣器
6.7.1 硬件设计
6.7.2 软件设计
6.8 跑马灯实验
6.8.1 硬件设计
6.8.2 软件设计
6.9 LCD1602驱动
6.9.1 硬件设计
6.9.2 软件设计
第7章 串行通信模块与中断程序
7.1 接口与通信标准
7.1.1 I2C接口
7.1.2 通用同步/异步收发器(USART)
7.1.3 串行外设接口(SPI)
7.1.4 控制器区域网络(CAN)
7.1.5 通用串行总线(USB)
7.2 串口USART实例
7.3 扫描键盘
7.4 继电器
7.5 脉宽调制
7.6 步进电动机
第8章 STM32带操作系统编程
8.1 RAM、Flash启动
8.2 小型操作系统sTM32移植
8.2.1 μCOS-Ⅱ内核简介
8.2.2 开始移植
8.2.3 程序开发模式讨论
第9章 综合案例
9.1 硬件连接方式
9.2 驱动软件编写
9.2.1 串口通信
9.2.2 数据采集
9.2.3 小车的方向控制
9.2.4 小车的速度控制
9.3 Z-Stack软件框架
9.3.1 任务调度
9.3.2 ZigBee无线传输系统开发
9.4 计算机端程序开发
附录A STM32F10x.h中的定义
附录B LCD1602程序