科技
类型
可以朗读
语音朗读
158千字
字数
2022-10-01
发行日期
展开全部
主编推荐语
本书用实例详解的方式介绍了STM32单片机与C语言编程。
内容简介
本书主要内容有STM32单片机基础、STM32单片机的硬件系统、Keil软件与寄存器方式编程闪烁点亮LED、固件库与库函数方式编程闪烁点亮LED、按键控制LED和蜂鸣器的电路与编程实例、中断的使用与编程实例、定时器的使用与编程实例、USART串口通信与编程实例、ADC(模数转换器)的使用与编程实例等等。
本书内容由浅入深,语言通俗易懂,结构安排符合学习认知规律,适合作为初学者学习STM32单片机及编程的自学图书,也适合作为职业院校电类专业的单片机教材。
目录
- 版权信息
- 内容简介
- 前言 PREFACE
- 第1章 STM32单片机基础
- 1.1 STM32单片机简介
- 1.1.1 什么是ARM
- 1.1.2 什么是STM32单片机
- 1.1.3 STM32单片机的型号含义
- 1.2 STM32单片机的最小系统电路
- 1.2.1 STM32F103C8T6单片机介绍
- 1.2.2 STM32单片机的最小系统电路简介
- 1.2.3 最小系统实验电路板
- 1.3 程序的编写与下载
- 1.3.1 用Keil MDK5软件编写和编译程序
- 1.3.2 ST-Link下载调试器及驱动程序的安装
- 1.3.3 ST-Link下载调试器与STM32单片机的连接
- 1.3.4 连接设置与下载程序
- 1.3.5 单片机电路板通电测试
- 1.4 单片机C语言基础
- 1.4.1 常量
- 1.4.2 变量
- 1.4.3 运算符
- 1.4.4 关键字
- 1.4.5 数组
- 1.4.6 指针
- 1.4.7 结构体
- 1.4.8 枚举
- 1.4.9 循环语句(while、do…while、for语句)
- 1.4.10 选择语句(if、switch…case语句)
- 第2章 STM32单片机的硬件系统
- 2.1 单片机的内部结构与最小系统电路
- 2.1.1 单片机的引脚功能与最小系统电路
- 2.1.2 单片机的内部结构
- 2.2 存储器的地址分配(映射)
- 2.2.1 存储器的划分与地址分配
- 2.2.2 寄存器的命名
- 2.2.3 基地址与偏移地址
- 2.3 GPIO端口电路
- 2.3.1 GPIO端口的基本电路结构
- 2.3.2 输入模式的电路说明
- 2.3.3 输出模式的电路说明
- 2.4 GPIO端口寄存器
- 2.4.1 端口配置低8位寄存器(GPIOx_CRL,x=A~G)
- 2.4.2 端口配置高8位寄存器(GPIOx_CRH,x=A~G)
- 2.4.3 端口输入数据寄存器(GPIOx_IDR,x=A~G)
- 2.4.4 端口输出数据寄存器(GPIOx_ODR,x=A~G)
- 2.4.5 端口置位/复位寄存器(GPIOx_BSRR,x=A~G)
- 2.4.6 端口清0寄存器(GPIOx_BRR,x=A~G)
- 2.4.7 端口配置锁定寄存器(GPIOx_LCKR,x=A~G)
- 2.5 时钟系统与复位时钟控制寄存器(RCC)
- 2.5.1 时钟信号的种类与分配
- 2.5.2 时钟控制寄存器(RCC_CR)
- 2.5.3 时钟配置寄存器(RCC_CFGR)
- 2.5.4 APB2外设复位寄存器(RCC_APB2RSTR)
- 2.5.5 APB1外设复位寄存器(RCC_APB1RSTR)
- 2.5.6 AHB外设时钟使能寄存器(RCC_AHBENR)
- 2.5.7 APB2外设时钟使能寄存器(RCC_APB2ENR)
- 2.5.8 APB1外设时钟使能寄存器(RCC_APB1ENR)
- 2.5.9 控制/状态寄存器(RCC_CSR)
- 第3章 Keil软件与寄存器方式编程闪烁点亮LED
- 3.1 Keil MDK软件和芯片包的安装
- 3.1.1 安装Keil MDK5软件
- 3.1.2 安装芯片包
- 3.1.3 软件的启动
- 3.2 创建工程并导入程序文件
- 3.2.1 创建项目文件夹
- 3.2.2 查找并复制启动文件
- 3.2.3 新建工程
- 3.2.4 新建程序文件
- 3.2.5 将程序文件导入工程
- 3.3 用寄存器方式编写闪烁点亮LED的程序
- 3.3.1 头文件程序的编写
- 3.3.2 头文件的程序代码说明
- 3.3.3 主程序文件(main.c)的编写
- 3.3.4 主程序的程序代码说明
- 3.3.5 启动文件说明
- 3.3.6 编译程序
- 第4章 固件库与库函数方式编程闪烁点亮LED
- 4.1 STM32固件库介绍
- 4.1.1 固件库的组成
- 4.1.2 固件库一些重要文件说明
- 4.1.3 固件库帮助文件的使用
- 4.2 库函数方式编程模板的创建
- 4.2.1 创建模板文件夹并复制需要的文件
- 4.2.2 创建工程
- 4.2.3 配置工程
- 4.2.4 编写主程序模板
- 4.3 库函数方式闪烁点亮LED工程的创建与编程
- 4.3.1 利用库函数方式编程模板创建工程
- 4.3.2 在工程中新建一些文件
- 4.3.3 程序的编写与说明
- 4.4 位段(bit-band)访问方式编程闪烁点亮LED
- 4.4.1 位段区与位段别名区
- 4.4.2 位段区字节的位别名地址计算
- 4.4.3 新建工程和程序文件
- 4.4.4 程序的编写与说明
- 第5章 按键控制LED和蜂鸣器的电路与编程实例
- 5.1 按键、LED、蜂鸣器及相关电路
- 5.1.1 按键开关产生的抖动及解决方法
- 5.1.2 发光二极管(LED)
- 5.1.3 蜂鸣器
- 5.2 按键输入控制LED和蜂鸣器的电路与程序说明
- 5.2.1 电路及控制功能
- 5.2.2 创建按键输入控制LED和蜂鸣器的工程
- 5.2.3 LED端口配置程序及说明
- 5.2.4 蜂鸣器端口配置程序及说明
- 5.2.5 按键端口配置、检测程序及说明
- 5.2.6 主程序文件及说明
- 第6章 中断的使用与编程实例
- 6.1 中断基础知识
- 6.1.1 什么是中断
- 6.1.2 中断源与中断优先级
- 6.2 外部中断/事件介绍
- 6.2.1 外部中断/事件控制器(EXTI)的组成框图及说明
- 6.2.2 外部中断/事件线路的分配
- 6.2.3 外部中断的编程使用步骤
- 6.3 按键触发中断控制LED和蜂鸣器的编程与说明
- 6.3.1 创建按键触发中断控制LED和蜂鸣器的工程
- 6.3.2 中断程序及说明
- 6.3.3 主程序及说明
- 第7章 定时器的使用与编程实例
- 7.1 SysTick定时器(系统定时器)
- 7.1.1 SysTick定时器的寄存器
- 7.1.2 SysTick定时器的编程使用步骤
- 7.1.3 SysTick定时器延时闪烁点亮LED的编程实例
- 7.1.4 更换输出引脚时的程序改动
- 7.2 通用定时器
- 7.2.1 通用定时器的功能与组成
- 7.2.2 通用定时器的编程使用步骤
- 7.2.3 通用定时器中断闪烁点亮LED的编程实例
- 7.3 定时器PWM输出功能的使用与编程实例
- 7.3.1 PWM基本原理
- 7.3.2 定时器的PWM输出功能
- 7.3.3 定时器PWM输出功能的编程使用步骤
- 7.3.4 定时器PWM输出无级调节LED亮度的编程实例
- 第8章 USART串口通信与编程实例
- 8.1 串行通信基础知识
- 8.1.1 并行通信与串行通信
- 8.1.2 串行通信的两种方式
- 8.1.3 串行通信的数据传送方向
- 8.2 USART串口通信介绍
- 8.2.1 USART串口结构及说明
- 8.2.2 USART中断控制
- 8.2.3 USART串口通信的编程使用步骤
- 8.3 单片机USART串口与其他设备的连接通信电路
- 8.3.1 带有USART串口的两台设备的连接通信电路
- 8.3.2 单片机USART串口与计算机RS-232C口的连接通信电路
- 8.3.3 单片机USART串口使用CH340芯片与计算机USB口连接的通信电路与驱动安装
- 8.4 单片机USART串口与计算机通信收发数据的编程实例
- 8.4.1 编程实现的功能
- 8.4.2 创建工程
- 8.4.3 配置USART1串口的端口、参数、工作模式和中断通道的程序及说明
- 8.4.4 主程序及说明
- 8.4.5 计算机与单片机通信收发数据测试
- 8.5 用USART串口输出printf函数指定格式的数据
- 8.5.1 printf函数介绍
- 8.5.2 printf函数输出重定向为USART串口
- 8.5.3 用USART串口输出printf函数指定格式数据的工程与程序说明
- 8.5.4 直观查看printf函数往USART串口输出的数据
- 第9章 ADC(模数转换器)的使用与编程实例
- 9.1 ADC基本原理与电路
- 9.1.1 ADC基本原理
- 9.1.2 ADC电路
- 9.2 单片机ADC的结构与使用
- 9.2.1 ADC的结构与工作过程
- 9.2.2 ADC的输入通道与分组
- 9.2.3 ADC的启动与触发源选择
- 9.2.4 ADC的转换模式
- 9.2.5 ADC_CLK时钟与通道采样时间
- 9.2.6 数据寄存器与数据对齐方式
- 9.2.7 模拟看门狗(上限值和下限值)设置
- 9.2.8 ADC的编程使用步骤
- 9.3 用ADC检测电压并通信显示电压值的编程实例
- 9.3.1 用ADC检测电压并通信显示电压值的电路及说明
- 9.3.2 创建工程
- 9.3.3 配置USART1串口的程序及说明
- 9.3.4 配置ADC的程序及说明
- 9.3.5 主程序及说明
- 9.3.6 查看AD电压值
- 9.4 单片机内部温度传感器的使用与测温编程实例
- 9.4.1 单片机内部温度传感器及温度检测电路
- 9.4.2 单片机内部温度传感器检测温度并通信显示温度值的编程实例
- 9.4.3 查看内部温度传感器检测的芯片温度
- 第10章 DAC(数模转换器)的使用与编程实例
- 10.1 DA转换原理与过程
- 10.1.1 DA转换基本原理
- 10.1.2 DA转换过程
- 10.2 单片机DAC的结构与使用
- 10.2.1 DAC的结构与工作过程
- 10.2.2 DAC_CR控制寄存器说明
- 10.2.3 DAC使用的编程步骤
- 10.3 用DAC转换数据并通信显示模拟电压值的编程实例
- 10.3.1 用DAC转换数据并通信显示模拟电压值的电路及说明
- 10.3.2 创建工程
- 10.3.3 配置DAC的程序及说明
- 10.3.4 主程序及说明
- 10.3.5 查看DA值与对应的模拟电压
- 第11章 光敏传感器测光与DS18B20测温的电路与编程实例
- 11.1 光敏传感器的使用与测光编程实例
- 11.1.1 光敏传感器
- 11.1.2 用光敏电阻器检测亮度控制LED亮灭并与计算机通信的电路
- 11.1.3 用光敏电阻器检测亮度控制LED亮灭并通信显示亮度值的程序及说明
- 11.2 DS18B20数字温度传感器的使用与测温编程实例
- 11.2.1 DS18B20数字温度传感器
- 11.2.2 用DS18B20检测温度控制LED亮灭并与计算机通信的电路
- 11.2.3 用DS18B20检测温度控制LED亮灭并通信显示温度值的程序及说明
- 第12章 红外遥控与RTC实时时钟的使用与编程实例
- 12.1 红外遥控收发装置与遥控编码方式
- 12.1.1 红外线与可见光
- 12.1.2 红外线发射器与红外线发光二极管
- 12.1.3 红外线光敏二极管与红外线接收器
- 12.1.4 红外遥控的编码方式
- 12.2 红外遥控LED亮灭并通信显示接收码的电路与编程实例
- 12.2.1 红外遥控LED亮灭并通信显示接收码的电路
- 12.2.2 红外遥控LED亮灭并通信显示接收码的程序及说明
- 12.3 RTC(实时时钟)的使用与编程实例
- 12.3.1 RTC的结构与工作原理
- 12.3.2 RTC使用的编程步骤
- 12.3.3 RTC控制LED亮灭并通信显示时间的电路
- 12.3.4 RTC控制LED亮灭并通信显示时间的程序及说明
- 第13章 RS-485通信与CAN通信的原理与编程实例
- 13.1 RS-485通信基础
- 13.1.1 RS-232、RS-422和RS-485通信标准的比较
- 13.1.2 RS-485设备的通信连接
- 13.1.3 单片机TTL转RS-485电路
- 13.1.4 RS-232/RS-485转换器与USB/RS-485转换器
- 13.2 单片机与计算机RS-485通信的电路与编程实例
- 13.2.1 单片机与计算机RS-485通信的电路
- 13.2.2 单片机与计算机RS-485通信的程序及说明
- 13.3 CAN(控制器局域网络)通信基础
- 13.3.1 CAN协议的特点
- 13.3.2 CAN协议的通信连接与电平规定
- 13.3.3 CAN协议的通信帧与数据帧
- 13.3.4 CAN的位时序与位采样
- 13.3.5 多节点同时发送的优先仲裁
- 13.4 STM32单片机的CAN
- 13.4.1 特点
- 13.4.2 CAN的组成及说明
- 13.4.3 工作模式与相关寄存器
- 13.4.4 测试模式与相关寄存器
- 13.4.5 位时序与波特率的计算
- 13.4.6 标识符过滤(报文选择)
- 13.4.7 CAN中断
- 13.4.8 CAN的编程使用步骤
- 13.5 按键控制CAN通信工作模式和数据发送的电路与编程实例
- 13.5.1 按键控制CAN通信工作模式和数据发送的电路
- 13.5.2 按键控制CAN通信工作模式和数据发送的程序及说明
- 13.5.3 用XCOM串口调试助手查看CAN通信的工作模式和收发的数据
- 第14章 FSMC与液晶显示屏的使用与编程实例
- 14.1 FSMC的结构与使用
- 14.1.1 FSMC的结构框图与说明
- 14.1.2 FSMC连接管理的外部存储器地址分配
- 14.1.3 FSMC连接NOR/PSRAM的引脚信号
- 14.1.4 FSMC访问NOR/PSRAM的模式和时序
- 14.2 液晶显示屏(TFT-LCD)的结构与显示原理
- 14.2.1 液晶、偏光片与光通量控制
- 14.2.2 单色液晶显示屏的显示电路及原理
- 14.2.3 彩色液晶显示屏的显示电路及原理
- 14.2.4 彩色滤光片的排列方式
- 14.2.5 彩色液晶显示屏的结构
- 14.3 液晶显示屏的通信接口、读写时序与驱动芯片操作指令
- 14.3.1 一种常用的3.5英寸液晶显示屏
- 14.3.2 液晶显示屏的通信接口与读写时序
- 14.3.3 LCD驱动芯片ILI9341的显存(GRAM)
- 14.3.4 ILI9341驱动芯片的常用操作指令
- 14.4 FSMC控制液晶显示屏显示图像的电路与编程实例
- 14.4.1 STM32单片机连接液晶显示屏的电路
- 14.4.2 创建FSMC控制液晶显示屏显示图像的工程
- 14.4.3 提取图像的像素颜色数据
- 14.4.4 配置FSMC和读写LCD控制器的程序及说明
- 14.4.5 主程序及说明
- 14.4.6 查看程序运行时液晶显示屏显示的图像
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。