官方正版 STM32单片机应用与全案例实践+新概念51单片机C语言教程 ARM STM32嵌入式系统开发教程书籍编程教程 教材书籍
运费: | 免运费 |
商品详情
定价:147.0
ISBN:9787121316203
作者:沈红卫 等、郭天祥
版次:1
出版时间:2017-06
内容提要:
本书涵盖了基于ARM的STM32系统的基本概念、基本原理、应用技术。硬件原理的阐述以"够用、适用、易学”为原则,降低读者入门和理解的难度。STM32的软件设计基于固件库,方便读者上手。 本书在内容组织和框架设计上具有两个鲜明特点:全案例、基于读者学习。从读者学习的角度,组织每个章节的内容体系,对STM32常用的典型外设模块的原理及其应用设计均以若干个完整案例呈现,同时也给出了一个完整的综合性工程案例,这些都十分有利于学习者学习和模仿。 本书可作为计算机、电子、通信、机电、自动化及其相关专业的本、专科学生及研究生的教材,也可作为从事检测、自动控制等领域工作的嵌入式系统开发的工程技术人员的参考用书。
本书从单片机入门学习者的视角出发,避开了枯燥繁杂的理论介绍,,以实验过程和实验现象为主导,循序渐进地讲述51单片机C语言编程方法以及51单片机的硬件结构和功能应用。全书共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇。 本书内容丰富,实用性强,书中大部分内容均来自科研工作及教学实践,许多C语言代码可以直接应用到工程项目中。本书配有13讲近30学时的教学视频和实例代码(通过扫描二维码下载或者网站下载),可使读者更快、更好地掌握单片机知识和应用技能。本书作者还可提供与本书配套的单片机实验板。 本书可作为大学本、专科单片机课程教材,适合于51单片机的初学者和使用51单片机从事项目开发的技术人员,也可供从事自动控制、智能仪器仪表、电力电子、机电一体化等专业的技术人员参考。
作者简介:
郭天祥 ,单片机教育者,毕业于哈尔滨工程大学,单片机领域的知名人士,名下有天祥电子网站,其*大成就之一是开设了“十天学会单片机”系列课程并录制出来,该课程在网络上广泛流传至今,同时著有《十天学会51单片机视频教程》、《十天学会PIC单片机视频教程》、《十天学会AVR单片机视频教程》三本教程。
目录:
第1章 如何学习STM32 (1)
1.1 学习STM32必须具备的知识基础 (1)
1.2 STM32的基本架构和基本原理 (2)
1.2.1 什么是ARM (2)
1.2.2 什么是STM32 (3)
1.2.3 STM32的内部结构 (3)
1.2.4 典型型号—STM32F103ZET6 (5)
1.2.5 STM32的时钟树 (5)
1.3 学习STM32的*好方法是什么 (9)
1.4 学习STM32需要哪些工具或平台 (9)
1.4.1 硬件平台 (10)
1.4.2 软件平台 (11)
1.5 STM32程序开发的模式 (12)
1.5.1 基于寄存器的开发模式 (13)
1.5.2 基于ST固件库的开发模式 (20)
1.5.3 基于操作系统的开发模式 (26)
1.5.4 三种编程模式的选用建议 (27)
思考题 (27)
第2章 如何调试STM32 (28)
2.1 STM32单片机的*小系统 (28)
2.2 STM32工程模板的建立 (30)
2.2.1 STM32的固件库(Standard Peripherals Library) (30)
2.2.2 新建工程模板**步—拷贝固件库文件 (34)
2.2.3 新建工程模板第二步—新建一个KEIL工程 (35)
2.2.4 关于创建工程模板的简单小结 (41)
2.3 程序的烧写 (42)
2.3.1 基于串口的程序下载(烧写)方式 (42)
2.3.2 基于JTAG(SWD)的程序下载(烧写)方式 (44)
2.4 程序的调试 (46)
2.5 模板的使用 (48)
2.6 三个GPIO输出的范例—STM32中实现 延时的三种常用方法 (48)
2.6.1 我的**个LED工程—基于延时函数的延时 (48)
2.6.2 我的第二个LED工程—SysTick中断延时 (50)
2.6.3 我的第3个工程—定时器中断延时 (52)
2.7 GPIO口的各种输出方式及其应用 (55)
2.7.1 功能要求 (55)
2.7.2 程序实现 (56)
2.8 本章小结 (58)
思考题 (59)
第3章 GPIO及其应用—输入 (60)
3.1 单功能按键输入 (60)
3.1.1 实现思想 (60)
3.1.2 具体程序 (61)
3.2 复用功能按键输入 (64)
3.2.1 按键复用的基本概念 (64)
3.2.2 程序实现举例 (64)
3.3 非按键类开关信号输入及其实现 (67)
3.3.1 GPIO的输入方式及其特点 (67)
3.3.2 程序实现 (68)
3.4 GPIO输入输出小结 (69)
思考题 (70)
第4章 TIMER与PWM (71)
4.1 关于STM32的定时器概述 (71)
4.2 STM32定时器的简单应用 (72)
4.2.1 按周期输出方波的例子 (72)
4.2.2 实现原理 (72)
4.2.3 具体程序 (72)
4.3 STM32定时器的复杂应用—检测输入方波的频率 (77)
4.3.1 STM32定时器的其他特性 (77)
4.3.2 本例设计要求 (78)
4.3.3 硬件接口设计与测量原理 (79)
4.3.4 具体程序 (79)
4.4 PWM原理及其应用一—一个LED呼吸灯的实现 (84)
4.4.1 PWM的基本概念及其基本应用 (84)
4.4.2 STM32的PWM的实现原理 (84)
4.4.3 基于PWM的LED呼吸灯的实现思路 (88)
4.4.4 呼吸灯的实现程序 (89)
4.5 PWM原理及其应用二—通过L298N控制电机转速 (96)
4.5.1 硬件设计 (96)
4.5.2 直流电机调速与调向的原理 (97)
4.5.3 程序实现 (97)
思考题 (104)
第5章 USART及其应用 (105)
5.1 串行通信模块USART的基本应用要点 (105)
5.1.1 STM32的USART及其基本特性 (105)
5.1.2 STM32的USART应用的基本要领 (106)
5.2 一个USART的通信实现(STM32与PC)—查询法 (107)
5.2.1 功能要求 (107)
5.2.2 实现难点 (108)
5.2.3 程序实现 (108)
5.2.4 USART应用的有关事项 (114)
5.3 一个USART的通信实现(STM32与PC)—中断法 (115)
5.3.1 功能要求及通信协议设计 (115)
5.3.2 程序算法 (115)
5.3.3 本例的源程序 (116)
5.4 两个USART的通信实现 (124)
5.4.1 功能要求与通信协议 (124)
5.4.2 接口设计 (124)
5.4.3 程序实现 (125)
5.5 USART应用小结 (139)
思考题 (141)
第6章 人机界面—按键输入与液晶显示 (142)
6.1 STM32与液晶模块12864的接口实现 (142)
6.1.1 STM32与液晶模块12864的接口实现—延时法 (142)
6.1.2 STM32与液晶模块12864的接口实现—查询“忙”状态 (153)
6.2 基于液晶模块12864的菜单实现 (173)
6.2.1 程序中菜单的种类与菜单化程序的优势 (173)
6.2.2 基于液晶模块12864的菜单实现实例 (173)
6.3 矩阵键盘的接口实现 (186)
6.3.1 矩阵键盘的应用与程序设计思想 (186)
6.3.2 4×4矩阵键盘的硬件设计 (186)
6.3.3 演示程序 (187)
6.4 本章小结 (198)
思考题 (199)
第7章 同步串行接口总线SPI与I2C (200)
7.1 STM32的SPI (200)
7.1.1 SPI概述 (200)
7.1.2 STM32之SPI总线的应用要点 (201)
7.2 SPI的接口应用及其实现 (202)
7.2.1 STM32与OLED12864液晶模块的SPI接口 (202)
7.2.2 STM32的SPI1与OLED12864的接口程序 (203)
7.3 STM32的I2C总线 (223)
7.3.1 I2C总线的基本概念 (223)
7.3.2 STM32的I2C总线应用要领 (226)
7.4 STM32的I2C总线的应用举例 (227)
7.4.1 具有I2C接口的DS3231时钟模块 (227)
7.4.2 STM32与DS3231时钟模块的硬件接口 (229)
7.4.3 STM32与DS3231的软件接口及其演示实例 (229)
7.5 I2C总线稳健性设计 (247)
思考题 (247)
第8章 ADC、DAC与DMA及其应用 (248)
8.1 STM32的DMA (248)
8.1.1 STM32的DMA及其基本特性 (248)
8.1.2 STM32的DMA原理及其配置要点 (249)
8.2 STM32的ADC (251)
8.2.1 STM32的ADC的基本特性 (251)
8.2.2 STM32的ADC的程序流程与编程要点 (253)
8.3 一个三通道A/D转换的范例 (254)
8.3.1 功能要求与方案设计 (254)
8.3.2 实现程序 (256)
8.3.3 本例的中断法实现 (263)
8.4 STM32的DAC (266)
8.4.1 DAC概述 (266)
8.4.2 DAC的配置要领 (266)
8.4.3 DAC应用实例 (268)
思考题 (277)
第9章 工程实例—基于线性CCD的小车循迹系统 (278)
9.1 系统要求 (278)
9.2 线性CCD的原理及其使用 (278)
9.2.1 线性CCD传感器原理 (279)
9.2.2 线性CCD传感器应用 (280)
9.2.3 硬件接口 (281)
9.3 自适应曝光的算法设计 (281)
9.3.1 自适应曝光算法 (281)
9.3.2 模块化架构 (283)
9.4 具体程序 (285)
9.4.1 工程文件视图—文件结构 (285)
9.4.2 程序源代码 (286)
9.5 系统性能实测 (315)
9.5.1 系统实物与测试环境 (315)
9.5.2 系统实测结果 (316)
思考题 (318)
参考文献 (319)
目 录
第1篇 入门篇
第1章 基础知识必备2
1.1 单片机概述2
1.1.1 什么是单片机2
1.1.2 单片机标号信息及封装类型2
1.1.3 单片机能做什么5
1.1.4 如何开始学习单片机6
1.2 51单片机外部引脚介绍8
1.3 电平特性11
1.4 二进制和十六进制12
1.4.1 二进制12
1.4.2 十六进制13
1.5 二进制的逻辑运算13
1.6 单片机的C51基础知识介绍15
1.6.1 利用C语言开发单片机的优点15
1.6.2 C51中的基本数据类型15
1.6.3 C51数据类型扩充定义16
1.6.4 C51中常用的头文件17
1.6.5 C51中的运算符17
1.6.6 C51中的基础语句18
1.6.7 学习单片机应该掌握的主要内容18
第2章 Keil软件使用及流水灯设计19
2.1 Keil工程建立及常用按钮介绍19
2.1.1 Keil工程的建立19
2.1.2 常用按钮23
2.2 点亮**个发光二极管24
2.3 while语句35
2.4 for语句及简单延时语句37
2.5 Keil仿真及延时语句的精确计算38
2.6 不带参数函数的写法及调用42
2.7 带参数函数的写法及调用44
2.8 利用C51库函数实现流水灯45
第2篇 内外部资源操作篇
第3章 数码管显示原理及应用实现50
3.1 数码管显示原理50
3.2 数码管静态显示51
3.3 数码管动态显示55
3.4 中断概念57
3.5 单片机的定时器中断61
第4章 键盘检测原理及应用实现70
4.1 独立键盘检测70
4.2 矩阵键盘检测76
第5章 A/D和D/A工作原理84
5.1 模拟量与数字量概述84
5.2 A/D转换原理及参数指标85
5.3 ADC0804工作原理及其实现方法92
5.4 D/A转换原理及其参数指标98
5.5 DAC0832工作原理及实现方法104
5.6 DAC0832输出电流转换成电压的方法109
第6章 串行口通信原理及操作流程110
6.1 并行与串行基本通信方式110
6.2 RS-232电平与TTL电平的转换113
6.3 波特率与定时器初值的关系115
6.4 51单片机串行口结构描述118
6.5 串行口方式1编程与实现120
6.6 串行口打印在调试程序中的应用123
第7章 通用型1602、12232、12864液晶操作方法131
7.1 液晶概述131
7.2 常用1602液晶操作实例132
7.3 常用12232液晶操作实例139
7.4 常用12864液晶操作实例148
第8章 I2C总线AT24C02芯片应用157
8.1 I2C总线概述157
8.2 单片机模拟I2C总线通信159
8.3 E2PROM AT24C02与单片机的通信实例162
第9章 基础运放电路专题170
9.1 运放概述及参数介绍170
9.2 反相放大器171
9.3 同相放大器172
9.4 电压跟随器173
9.5 加法器173
9.6 差分放大器174
9.7 微分器174
9.8 积分器175
9.9 比较器176
第3篇 提高篇
第10章 定时器/计数器应用提高180
10.1 方式0应用180
10.2 方式2应用181
10.3 方式3应用183
10.4 52单片机定时器2介绍185
10.5 计数器应用191
第11章 串行口应用提高195
11.1 方式0应用195
11.2 方式2和方式3应用197
11.3 单片机双机通信199
11.4 单片机多机通信206
第12章 指针215
12.1 指针和指针变量215
12.1.1 内存单元、地址和指针215
12.1.2 指针变量的定义、赋值与引用217
12.2 指针变量的运算218
12.3 指针与数组219
12.3.1 指针与一维数组219
12.3.2 指针与多维数组221
12.4 指针与函数223
12.4.1 指针作为函数的参数223
12.4.2 指向函数的指针224
12.4.3 指针型函数226
12.5 指针与字符串227
12.5.1 字符串的表达形式227
12.5.2 字符指针作为函数参数227
12.5.3 使用字符指针与字符数组的区别228
12.6 指针数组与命令行参数229
12.6.1 指针数组的定义和使用229
12.6.2 指向指针的指针231
- 电子工业出版社有限公司
- 电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
- 扫描二维码,访问我们的微信店铺