• 单片机三剑客:STM32单片机与C语言编程
21年品牌 40万+商家 超1.5亿件商品

单片机三剑客:STM32单片机与C语言编程

正版保障 假一赔十 可开发票

55.23 6.3折 88 全新

库存75件

广东广州
认证卖家担保交易快速发货售后保障

作者蔡杏山 著

出版社机械工业出版社

ISBN9787111756224

出版时间2024-07

装帧平装

开本16开

定价88元

货号17338192

上书时间2025-01-06

灵感书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
前言 第 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

内容摘要
《单片机三剑客:STM32 单片机与C 语言编程》介绍了STM32 单片机入门,单片机C语言基础,STM32 单片机的硬件介绍,Keil 软件的使用与寄存器方式编程闪烁点亮LED,固件库与库函数方式编程闪烁点亮LED,按键控制LED 和蜂鸣器的电路与编程实例,中断功能的使用与编程实例,定时器的使用与编程实例,串口通信与编程实例,模/ 数转换器(ADC) 的使用与编程实例,数/ 模转换器(DAC) 的使用与编程实例,光敏、温度传感器的检测电路及编程实例,红外线遥控与实时时钟(RTC) 的使用与编程实例,RS485 通信与CAN 通信的原理与编程实例,FSMC 与液晶显示屏的使用与编程实例。

主编推荐
单片机世界犹如江湖,而STM32则是其中的翘楚,以其强大的无线功能和丰富的开发生态备受推崇。当STM32遇上C语言,简洁强大的代码便能让你的硬件如虎添翼。 无论你是初学者还是经验丰富的开发者,《单片机三剑客:STM32单片机与C语言编程》都是实现你创意项目的完美搭档。其细致入微的案例式介绍,让你在学习原理的同时轻松掌握编程方法,让你在单片机的世界里游刃有余。

精彩内容
《单片机三剑客:STM32 单片机与C 语言编程》介绍了STM32 单片机入门,单片机C语言基础,STM32 单片机的硬件介绍,Keil 软件的使用与寄存器方式编程闪烁点亮LED,固件库与库函数方式编程闪烁点亮LED,按键控制LED 和蜂鸣器的电路与编程实例,中断功能的使用与编程实例,定时器的使用与编程实例,串口通信与编程实例,模/ 数转换器(ADC) 的使用与编程实例,数/ 模转换器(DAC) 的使用与编程实例,光敏、温度传感器的检测电路及编程实例,红外线遥控与实时时钟(RTC) 的使用与编程实例,RS485 通信与CAN 通信的原理与编程实例,FSMC 与液晶显示屏的使用与编程实例。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP