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

请输入您要查询的图书:

 

书名 单片机三剑客:STM32单片机与C语言编程
分类 科学技术-工业科技-电子通讯
作者 蔡杏山
出版社 机械工业出版社
下载
简介
编辑推荐
单片机世界犹如江湖,而STM32则是其中的翘楚,以其强大的无线功能和丰富的开发生态备受推崇。当STM32遇上C语言,简洁强大的代码便能让你的硬件如虎添翼。
无论你是初学者还是经验丰富的开发者,《单片机三剑客:STM32单片机与C语言编程》都是实现你创意项目的完美搭档。其细致入微的案例式介绍,让你在学习原理的同时轻松掌握编程方法,让你在单片机的世界里游刃有余。
内容推荐
《单片机三剑客:STM32 单片机与C 语言编程》介绍了STM32 单片机入门,单片机C语言基础,STM32 单片机的硬件介绍,Keil 软件的使用与寄存器方式编程闪烁点亮LED,固件库与库函数方式编程闪烁点亮LED,按键控制LED 和蜂鸣器的电路与编程实例,中断功能的使用与编程实例,定时器的使用与编程实例,串口通信与编程实例,模/ 数转换器(ADC) 的使用与编程实例,数/ 模转换器(DAC) 的使用与编程实例,光敏、温度传感器的检测电路及编程实例,红外线遥控与实时时钟(RTC) 的使用与编程实例,RS485 通信与CAN 通信的原理与编程实例,FSMC 与液晶显示屏的使用与编程实例。
目录
前言
第 1 章 STM32 单片机入门.1
1.1 STM32 单片机简介1
1.1.1 什么是 ARM 1
1.1.2 什么是 STM32 单片机 2
1.1.3 STM32 单片机的型号含义 3
1.2 STM32 单片机的最小系统电路3
1.2.1 STM32F103C8T6 单片机介绍 3
1.2.2 STM32 单片机的最小系统电路 4
1.2.3 最小系统实验电路板 6
1.3 程序的编写与下载7
1.3.1 用 Keil MDK5 软件编写和编译程序 7
1.3.2 ST-Link 下载调试器及驱动程序的安装 8
1.3.3 下载调试器与 STM32 单片机的连接 10
1.3.4 连接设置与下载程序 10
1.3.5 单片机电路板通电测试 12
第 2 章 单片机 C 语言基础. 13
2.1 关键字、常量与变量13
2.1.1 关键字 13
2.1.2 常量 13
2.1.3 变量 15
2.2 运算符15
2.2.1 算术运算符 16
2.2.2 关系运算符 16
2.2.3 逻辑运算符 17
2.2.4 位运算符 17
2.2.5 复合赋值运算符 18
2.3 数组、结构体、枚举和指针18
2.3.1 数组 18
2.3.2 结构体 20
2.3.3 枚举 22
2.3.4 指针 22
2.4 控制语句23
2.4.1 循环语句(while、do while、for 语句) 23
2.4.2 选择语句(if、switch…case 语句) 25
第 3 章 STM32 单片机的硬件介绍 27
3.1 单片机内部结构与最小系统电路27
3.1.1 单片机的引脚功能与最小系统电路 27
3.1.2 单片机内部结构 27
3.2 存储器的地址分配29
3.2.1 存储器的划分与地址分配 29
3.2.2 寄存器的命名 30
3.2.3 基地址与偏移地址 31
3.3 GPIO 端口电路32
3.3.1 GPIO 端口的基本电路结构 32
3.3.2 工作在输入模式时的电路原理 32
3.3.3 工作在输出模式时的电路原理 33
3.4 GPIO 端口寄存器34
3.4.1 端口配置低 8 位寄存器(GPIOx_CRL,x=A~G) 34
3.4.2 端口配置高 8 位寄存器(GPIOx_CRH,x=A~G) 34
3.4.3 端口输入数据寄存器(GPIOx_IDR,x=A~G) 35
3.4.4 端口输出数据寄存器(GPIOx_ODR,x=A~G) 36
3.4.5 端口置位 / 复位寄存器(GPIOx_BSRR,x=A~G) 36
3.4.6 端口清 0 寄存器(GPIOx_BRR,x=A~G) 36
3.4.7 端口配置锁定寄存器(GPIOx_LCKR,x=A~G) 37
3.5 时钟、复位及相关寄存器38
3.5.1 时钟信号的种类与分配 38
3.5.2 时钟控制寄存器(RCC_CR) 40
3.5.3 时钟配置寄存器(RCC_CFGR) 41
3.5.4 APB2 外设复位寄存器(RCC_APB2RSTR) 43
3.5.5 APB1 外设复位寄存器(RCC_APB1RSTR) 44
3.5.6 AHB 外设时钟使能寄存器(RCC_AHBENR) 45
3.5.7 APB2 外设时钟使能寄存器(RCC_APB2ENR) 46
3.5.8 APB1 外设时钟使能寄存器(RCC_APB1ENR) 48
3.5.9 控制 / 状态寄存器(RCC_CSR) 49
第 4 章 Keil 软件的使用与寄存器方式编程闪烁点亮 LED. 51
4.1 Keil MDK 软件和芯片包的安装51
4.1.1 Keil MDK5 软件的安装 51
4.1.2 芯片包的安装 . 53
4.1.3 软件的启动 54
4.2 创建项目工程并导入程序文件54
4.2.1 创建项目文件夹 54
4.2.2 查找并复制启动文件 55
4.2.3 新建工程 56
4.2.4 新建程序文件 57
4.2.5 将程序文件导入工程 . 58
4.3 用直接操作寄存器的方式编程闪烁点亮 LED58
4.3.1 编写头文件(.h 文件) 58
4.3.2 头文件的程序代码说明 59
4.3.3 主程序文件(main.c)的编写 61
4.3.4 主程序的程序代码说明 62
4.3.5 启动文件说明 63
4.3.6 编译程序 64
第 5 章 固件库与库函数方式编程闪烁点亮 LED 65
5.1 STM32 固件库介绍65
5.1.1 固件库的组成 65
5.1.2 固件库中一些重要文件说明 65
5.1.3 固件库帮助文件的使用 67
5.2 库函数方式编程模板的创建68
5.2.1 创建模板文件夹并复制需要的文件 68
5.2.2 创建工程 69
5.2.3 配置工程 72
5.2.4 编写主程序模板 75
5.3 库函数方式闪烁点亮 LED 的工程创建与程序编写 76
5.3.1 利用库函数方式编程模板创建工程 . 76
5.3.2 在工程中新建一些文件 76
5.3.3 程序的编写与说明 78
5.4 位段(bit-band)访问方式编程闪烁点亮 LED83
5.4.1 位段区与位段别名区 83
5.4.2 位段区字节的位的别名地址计算 84
5.4.3 新建工程和程序文件 84
5.4.4 程序的编写与说明 86
第 6 章 按键控制 LED 和蜂鸣器的电路与编程实例. 89
6.1 按键、LED、蜂鸣器及相关电路89
6.1.1 按键开关产生的抖动及解决方法 89
6.1.2 发光二极管(LED) 90
6.1.3 蜂鸣器 . 93
6.2 按键输入控制 LED 和蜂鸣器的电路与编程95
6.2.1 电路及控制功能 95
6.2.2 按键输入控制 LED 和蜂鸣器的工程创建 . 96
6.2.3 LED 端口配置的程序及说明 97
6.2.4 蜂鸣器端口配置的程序及说明 97
6.2.5 按键端口配置、检测的程序及说明 97
6.2.6 主程序文件及说明 98
第 7 章 中断功能的使用与编程实例100
7.1 中断基础知识100
7.1.1 什么是中断 100
7.1.2 中断源与中断优先级 100
7.2 外部中断 / 事件控制器(EXTI)介绍104
7.2.1 外部中断 / 事件控制器(EXTI)的组成及说明 104
7.2.2 外部中断 / 事件线路的分配 105
7.2.3 外部中断的编程使用步骤 107
7.3 按键触发中断控制 LED 和蜂鸣器的程序及说明108
7.3.1 按键触发中断控制 LED 和蜂鸣器的工程创建 108
7.3.2 中断程序及说明 109
7.3.3 主程序及说明 111
第 8 章 定时器的使用与编程实例112
8.1 SysTick 定时器(系统定时器)112
8.1.1 SysTick 定时器的寄存器 112
8.1.2 SysTick 定时器的编程使用步骤 113
8.1.3 SysTick 定时器延时闪烁点亮 LED 的编程实例 114
8.1.4 更换输出引脚时的程序改动 116
8.2 通用定时器117
8.2.1 通用定时器的功能与组成 117
8.2.2 通用定时器的编程使用步骤 120
8.2.3 通用定时器中断闪烁点亮 LED 的编程实例 123
8.3 定时器 PWM 输出功能的使用与编程实例125
8.3.1 PWM 的基本原理 125
8.3.2 定时器的 PWM 输出功能 125
8.3.3 定时器 PWM 输出功能的编程使用步骤 126
8.3.4 定时器 PWM 输出无级调节 LED 亮度的编程实例 130
第 9 章 串口通信与编程实例 134
9.1 串行通信基础知识134
9.1.1 并行通信与串行通信 134
9.1.2 串行通信的两种方式 134
9.1.3 串行通信的数据传送方向 136
9.2 USART 串口通信介绍 137
9.2.1 USART 串口结构及说明 137
9.2.2 USART 中断控制 138
9.2.3 USART 串口通信的编程使用步骤 139
9.3 单片机 USART 串口与其他设备的连接通信电路144
9.3.1 带有 USART 串口的两台设备的连接通信电路 144
9.3.2 单片机 USART 串口与计算机 RS232C 口的连接通信电路 145
9.3.3 单片机 USART 串口使用 CH340 芯片与计算机 USB 口连接的通信电路与
驱动安装146
9.4 单片机 USART 串口与计算机通信收发数据的编程实例150
9.4.1 编程实现的功能 150
9.4.2 创建工程 150
9.4.3 配置 USART1 串口的端口、参数、工作模式和中断通道的程序及说明 151
9.4.4 主程序及说明 151
9.4.5 计算机与单片机通信收发数据测试 153
9.5 用 USART 串口输出 printf 函数指定格式的数据155
9.5.1 printf 函数介绍. 155
9.5.2 printf 函数输出重新定向为 USART 串口 156
9.5.3 用 USART 串口输出 printf 函数指定格式数据的工程与程序说明 . 156
9.5.4 直观查看 printf 函数向 USART 串口输出的数据 158
第 10 章 模 / 数转换器(ADC)的使用与编程实例 161
10.1 ADC 的基本原理与电路161
10.1.1 ADC 的基本原理 161
10.1.2 ADC 电路 162
10.2 单片机 ADC 的结构与使用163
10.2.1 ADC 的结构与工作过程 164
10.2.2 ADC 的输入通道与分组 165
10.2.3 ADC 的启动与触发源选择 167
10.2.4 ADC 的转换模式 169
10.2.5 ADC_CLK 时钟与通道采样时间 171
10.2.6 数据寄存器与数据对齐方式 172
10.2.7 模拟看门狗(上限值和下限值)设置 173
10.2.8 ADC 的编程使用步骤 173
10.3 ADC 检测电压并在计算机上显示电压值的编程实例178
10.3.1 ADC 检测电压并与计算机通信的电路及说明 . 178
10.3.2 创建工程 178
10.3.3 配置 USART1 串口的程序及说明 . 178
10.3.4 配置 ADC 的程序及说明 180
10.3.5 主程序及说明 181
10.3.6 查看 ADC 转换的电压值 182
10.4 单片机内部温度传感器的使用与测温编程实例182
10.4.1 单片机内部温度传感器及温度检测电路 182
10.4.2 单片机内部温度传感器检测温度并通信显示温度值的编程实例 183
10.4.3 查看内部温度传感器检测的芯片温度 186
第 11 章 数 / 模转换器(DAC)的使用与编程实例188
11.1 D/A 转换的原理与过程188
11.1.1 D/A 转换的基本原理 . 188
11.1.2 D/A 转换过程 . 188
11.2 单片机 DAC 的结构与使用189
11.2.1 DAC 的结构与工作过程 . 189
11.2.2 DAC_CR 控制寄存器说明 . 189
11.2.3 DAC 使用的编程步骤 192
11.3 DAC 转换数据并在计算机上显示模拟电压值的编程实例194
11.3.1 DAC 转换数据并与计算机通信显示模拟电压值的电路及说明 194
11.3.2 创建工程 195
11.3.3 配置 DAC 的程序及说明 196
11.3.4 主程序及说明 196
11.3.5 查看 D/A 值与对应的模拟电压 197
第 12 章 光敏、温度传感器的检测电路与编程实例199
12.1 光敏传感器的使用与测光编程实例199
12.1.1 光敏传感器 . 199
12.1.2 光敏电阻器检测亮度控制 LED 亮灭并与计算机通信的电路 201
12.1.3 光敏电阻器检测亮度控制 LED 亮灭并通信显示亮度值的程序及说明 201
12.2 DS18B20 温度传感器的使用与测温编程实例205
12.2.1 DS18B20 数字温度传感器 205
12.2.2 DS18B20 检测温度控制 LED 亮灭并与计算机通信的电路 210
12.2.3 DS18B20 检测温度控制 LED 亮灭并通信显示温度值的程序及说明 211
第 13 章 红外线遥控、实时时钟(RTC)的使用与编程实例216
13.1 红外线遥控收发装置与遥控编码方式216
13.1.1 红外线与可见光 216
13.1.2 红外线发射器与红外线发光二极管 217
13.1.3 红外线光敏二极管与红外线接收器 218
13.1.4 红外遥控的编码方式 220
13.2 红外遥控器控制 LED 并在计算机上显示按键码的电路与编程实例221
13.2.1 红外遥控器控制 LED 的接收和与计算机通信电路 221
13.2.2 红外遥控 LED 亮灭并通信显示接收码的程序及说明 222
13.3 实时时钟(RTC)的使用与编程实例 226
13.3.1 RTC 的结构与工作原理 226
13.3.2 RTC 使用的编程步骤 226
13.3.3 RTC 控制 LED 亮灭并与计算机通信显示时间的电路 230
13.3.4 RTC 控制 LED 亮灭并通信显示时间的程序及说明 . 230
第 14 章 RS485 通信、CAN 通信的原理与编程实例234
14.1 RS485 通信基础234
14.1.1 RS232、RS422 和 RS485 通信标准的比较 . 234
14.1.2 RS485 设备的通信连接 235
14.1.3 TTL 转 RS485 信号的电路 235
14.1.4 RS232/RS485 转换器与 USB/RS485 转换器 237
14.2 单片机与计算机的 RS485 通信电路与编程实例238
14.2.1 单片机与计算机的 RS485 通信电路 238
14.2.2 单片机与计算机 RS485 通信的程序及说明 239
14.3 CAN(控制器局域网络)通信的基础知识243
14.3.1 CAN 协议的特点 . 243
14.3.2 CAN 协议的通信连接与电平规定 244
14.3.3 CAN 协议的通信帧与数据帧 245
14.3.4 CAN 的位时序与位采样 . 249
14.3.5 多节点同时发送的优先仲裁 250
14.4 STM32 单片机的 CAN 介绍251
14.4.1 特点 . 251
14.4.2 CAN 的组成及说明 251
14.4.3 工作模式与相关寄存器 252
14.4.4 测试模式与相关寄存器 255
14.4.5 位时序与波特率的计算 257
14.4.6 标识符过滤(报文选择) 258
14.4.7 CAN 中断 . 259
14.4.8 CAN 的编程使用步骤 259
14.5 按键控制 CAN 通信工作模式和数据发送的电路与编程实例263
14.5.1 按键控制 CAN 通信工作模式和数据发送的电路 263
14.5.2 按键控制 CAN 通信工作模式和数据发送的程序及说明 264
14.5.3 用串口调试助手查看 CAN 通信工作模式和收发的数据 269
第 15 章 FSMC、液晶显示屏的使用与编程实例 271
15.1 FSMC 的结构与使用271
15.1.1 FSMC 的结构框图与说明 271
15.1.2 FSMC 连接管理的外部存储器地址分配 271
15.1.3 FSMC 连接 NOR/PSRAM 的引脚信号 273
15.1.4 FSMC 访问 NOR/PSRAM 的模式与时序 275
15.2 液晶显示屏(TFT-LCD)的结构与显示原理277
15.2.1 液晶、偏光片与光通量控制 277
15.2.2 单色液晶显示屏的显示电路及原理 279
15.2.3 彩色液晶显示屏的显示电路及原理 281
15.2.4 彩色滤光片的排列方式 282
15.2.5 彩色液晶显示屏的结构 282
15.3 液晶显示屏的通信接口、读写时序与驱动芯片操作指令283
15.3.1 一种 3.5in 液晶显示屏介绍 283
15.3.2 液晶显示屏的通信接口与读写时序 284
15.3.3 LCD 驱动芯片 ILI9341 的显存(GRAM) 286
15.3.4 ILI9341 芯片的常用操作指令 .286
15.4 FSMC 控制液晶屏显示图像的电路与编程实例290
15.4.1 STM32 单片机连接液晶显示屏的电路 290
15.4.2 创建 FSMC 控制液晶屏显示图像的工程 290
15.4.3 提取图像的像素颜色数据 292
15.4.4 配置 FSMC 和读写 LCD 控制器的程序及说明 294
15.4.5 主程序及说明 299
15.4.6 查看程序运行时液晶屏显示的图像 300
随便看

 

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

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/1/31 20:39:46