书籍详情
嵌入式微处理器原理与应用:基于ARM Cortex-M3微控制器(第2版)
作者:严海蓉,李达,杭天昊,时昕 著
出版社:清华大学出版社
出版时间:2019-02-01
ISBN:9787302518112
定价:¥59.00
购买这本书可以去
内容简介
本书系统地论述了ARM CortexM3嵌入式微处理器的原理、架构、编程与系统开发方法,并以STM32微处理器为样本,给出了丰富的设计示例与综合实例。本书共分9章,分别介绍了一般嵌入式微处理器的开发方法、CortexM3体系结构、CortexM3指令集、CortexM3特性、C语言与汇编语言混合编程、CortexM3连接外设方式、CortexM3的驱动软件编写一级综合应用实例等内容。 本书的每个案例包含了相关外接器件或者协议介绍、硬件电路设计、驱动软件编写三大部分,所有案例代码均经过验证,器件和协议也是近期通用的。 本书适合作为高等学校电子信息类专业、计算机类专业、嵌入式类专业、物联网类专业本科生及研究生的“嵌入式系统原理及应用”课程的教材,也适合作为相关领域工程技术人员的参考用书。
作者简介
严海蓉 北京工业大学嵌入式软件与系统系,副教授,国级教学团队骨干成员。长期从事嵌入式系统和嵌入式微处理器应用系统等方面的科研与教学工作,为本科生和研究生开设了“嵌入式微处理器原理及应用”、“嵌入式操作系统”等课程。曾被评为国家专利局佳校园发明奖优秀指导教师、北京工业大学优秀硕士学位论文指导教师,并获得北京市优秀教学成果二等奖。独立编写了《嵌入式微处理器与应用》一书,发表学术论文30余篇,授权专利7项。
目录
目录
第1章绪论
1.1微处理器定义
1.2ARM发展历程
1.3ARM体系结构与特点
1.4处理器选型
1.4.1嵌入式微处理器选型的考虑因素
1.4.2嵌入式微处理器选型示例
第2章ARM核体系结构
2.1寄存器
2.2ALU
2.3存储部件
2.4中断控制
2.5总线
2.6外围接口I/O
2.7流水线
2.8ARM协处理器接口
第3章ARM指令集
3.1指令简介
3.2ARM寻址方式
3.2.1数据处理指令的操作数的寻址方式
3.2.2字及无符号字节的Load/Store指令的寻址方式
3.2.3杂类Load/Store指令的寻址方式
3.2.4批量Load/Store指令的寻址方式
3.2.5协处理器Load/Store指令的寻址方式
3.3Cortex指令集
3.3.1数据传送类指令
3.3.2数据处理指令
3.3.3其他计算类指令
3.3.4饱和运算
3.3.5无条件跳转指令
3.3.6标志位与条件转移指令
3.3.7IFTHEN指令块
3.3.8Barrier隔离指令
3.3.9其他一些有用的指令
3.3.10对内存的互斥访问
3.4伪指令
3.5内嵌汇编
第4章CortexM3特性
4.1特殊功能寄存器
4.2中断建立全过程的演示
4.3复位序列
4.4中断咬尾
4.5晚到异常
4.6位带操作
4.7互斥访问
第5章C语言与汇编语言混编
5.1ATPCS与AAPCS
5.2嵌入式C编写与编译
5.3C语言与汇编语言混编规范
5.3.1内嵌汇编
5.3.2汇编程序中访问C全局变量
5.3.3C语言与汇编语言的相互调用
5.4C语言与汇编语言混编实践
5.4.1Keil使用和STM32固件库
5.4.2建立自己的第一个Keil程序
第6章STM32输入/输出
6.1pin配置
6.1.1单独的位设置或位清除
6.1.2外部中断/唤醒线
6.1.3复用功能
6.1.4软件重新映射I/O复用功能
6.1.5GPIO锁定机制
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.1GPIO_DeInit函数
6.5.2GPIO_AFIODeInit函数
6.5.3GPIO_Init函数
6.5.4GPIO_StructInit函数
6.5.5GPIO_ReadInputDataBit函数
6.5.6GPIO_ReadInputData函数
6.5.7GPIO_ReadOutputDataBit函数
6.5.8GPIO_ReadOutputData函数
6.5.9GPIO_SetBits函数
6.5.10GPIO_ResetBits函数
6.5.11GPIO_WriteBit函数
6.5.12GPIO_Write函数
6.5.13GPIO_PinLockConfig函数
6.5.14GPIO_EventOutputConfig函数
6.5.15GPIO_EventOutputCmd函数
6.5.16GPIO_PinRemapConfig函数
6.5.17GPIO_EXTILineConfig函数
6.6GPIO控制LED灯
6.6.1硬件设计
6.6.2软件设计
6.7GPIO控制蜂鸣器
6.7.1硬件设计
6.7.2软件设计
6.8跑马灯实验
6.8.1硬件设计
6.8.2软件设计
6.9LCD1602驱动
6.9.1硬件设计
6.9.2软件设计
6.101wire总线
第7章串行通信模块与中断程序
7.1接口与通信标准
7.1.1I2C接口
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步进电动机
7.7GPS模块定位数据读取
7.7.1GPS模块定位原理
7.7.2硬件设计
7.7.3软件实现
7.8Profibus总线
7.8.1Profibus的组成
7.8.2Profibus的传输
7.8.3ProfibusDP实现案例
第8章STM32带操作系统编程
8.1RAM、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.3ZStack软件框架
9.3.1任务调度
9.3.2ZigBee无线传输系统开发
9.4计算机端程序开发
附录ASTM32F10x.h中的定义
附录BLCD1602程序
第1章绪论
1.1微处理器定义
1.2ARM发展历程
1.3ARM体系结构与特点
1.4处理器选型
1.4.1嵌入式微处理器选型的考虑因素
1.4.2嵌入式微处理器选型示例
第2章ARM核体系结构
2.1寄存器
2.2ALU
2.3存储部件
2.4中断控制
2.5总线
2.6外围接口I/O
2.7流水线
2.8ARM协处理器接口
第3章ARM指令集
3.1指令简介
3.2ARM寻址方式
3.2.1数据处理指令的操作数的寻址方式
3.2.2字及无符号字节的Load/Store指令的寻址方式
3.2.3杂类Load/Store指令的寻址方式
3.2.4批量Load/Store指令的寻址方式
3.2.5协处理器Load/Store指令的寻址方式
3.3Cortex指令集
3.3.1数据传送类指令
3.3.2数据处理指令
3.3.3其他计算类指令
3.3.4饱和运算
3.3.5无条件跳转指令
3.3.6标志位与条件转移指令
3.3.7IFTHEN指令块
3.3.8Barrier隔离指令
3.3.9其他一些有用的指令
3.3.10对内存的互斥访问
3.4伪指令
3.5内嵌汇编
第4章CortexM3特性
4.1特殊功能寄存器
4.2中断建立全过程的演示
4.3复位序列
4.4中断咬尾
4.5晚到异常
4.6位带操作
4.7互斥访问
第5章C语言与汇编语言混编
5.1ATPCS与AAPCS
5.2嵌入式C编写与编译
5.3C语言与汇编语言混编规范
5.3.1内嵌汇编
5.3.2汇编程序中访问C全局变量
5.3.3C语言与汇编语言的相互调用
5.4C语言与汇编语言混编实践
5.4.1Keil使用和STM32固件库
5.4.2建立自己的第一个Keil程序
第6章STM32输入/输出
6.1pin配置
6.1.1单独的位设置或位清除
6.1.2外部中断/唤醒线
6.1.3复用功能
6.1.4软件重新映射I/O复用功能
6.1.5GPIO锁定机制
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.1GPIO_DeInit函数
6.5.2GPIO_AFIODeInit函数
6.5.3GPIO_Init函数
6.5.4GPIO_StructInit函数
6.5.5GPIO_ReadInputDataBit函数
6.5.6GPIO_ReadInputData函数
6.5.7GPIO_ReadOutputDataBit函数
6.5.8GPIO_ReadOutputData函数
6.5.9GPIO_SetBits函数
6.5.10GPIO_ResetBits函数
6.5.11GPIO_WriteBit函数
6.5.12GPIO_Write函数
6.5.13GPIO_PinLockConfig函数
6.5.14GPIO_EventOutputConfig函数
6.5.15GPIO_EventOutputCmd函数
6.5.16GPIO_PinRemapConfig函数
6.5.17GPIO_EXTILineConfig函数
6.6GPIO控制LED灯
6.6.1硬件设计
6.6.2软件设计
6.7GPIO控制蜂鸣器
6.7.1硬件设计
6.7.2软件设计
6.8跑马灯实验
6.8.1硬件设计
6.8.2软件设计
6.9LCD1602驱动
6.9.1硬件设计
6.9.2软件设计
6.101wire总线
第7章串行通信模块与中断程序
7.1接口与通信标准
7.1.1I2C接口
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步进电动机
7.7GPS模块定位数据读取
7.7.1GPS模块定位原理
7.7.2硬件设计
7.7.3软件实现
7.8Profibus总线
7.8.1Profibus的组成
7.8.2Profibus的传输
7.8.3ProfibusDP实现案例
第8章STM32带操作系统编程
8.1RAM、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.3ZStack软件框架
9.3.1任务调度
9.3.2ZigBee无线传输系统开发
9.4计算机端程序开发
附录ASTM32F10x.h中的定义
附录BLCD1602程序
猜您喜欢