新書推薦:
《
爱琴海的光芒 : 千年古希腊文明
》
售價:NT$
908.0
《
不被他人左右:基于阿德勒心理学的无压力工作法
》
售價:NT$
301.0
《
SDGSAT-1卫星热红外影像图集
》
售價:NT$
2030.0
《
股市趋势技术分析(原书第11版)
》
售價:NT$
1010.0
《
汉匈战争全史
》
售價:NT$
454.0
《
恶的哲学研究(社会思想丛书)
》
售價:NT$
500.0
《
当你沉默时(悬疑推理 反PUA 反家暴 女性独立小说,揭秘情感PUA的真相,女性自我救赎的文学典范)
》
售價:NT$
255.0
《
不止江湖
》
售價:NT$
449.0
|
內容簡介: |
本书介绍STM32单片机的工作原理及工程应用,共10章,主要内容包括Cortex-M3处理器、STM32F103x单片机、基于标准库的软件编程、STM32CubeMX环境编程、Proteus应用范例、基于littleVGL的UI设计、STM32F103x实现FFT和FIR、基于STM32的电子称重系统、基于物联网云平台的家庭语音控制器系统、集成开发环境。本书强调工程应用性,书中提供了大量的工程案例。本书可作为高等院校电子、通信、自动化、物联网、计算机等专业单片机应用类课程的教材,也可供从事单片机应用系统开发的工程技术人员参考。
|
關於作者: |
姜余祥,男,北京联合大学智慧城市学院副教授,多年来一直从事单片机、电子系统设计、嵌入式系统应用以及电子信息类大学生竞赛的教学与指导工作。
|
目錄:
|
第1章 Cortex-M3处理器 1.1 概述 1.2 处理器基本结构 1.2.1 内部功能单元 1.2.2 Cortex-M3总线接口 1.2.3 存储器映射 1.3 处理器基础 1.3.1 流水线 1.3.2 异常与中断 1.3.3 寄存器组 1.3.4 复位 1.4 习题 第2章 STM32F103x单片机 2.1 产品概述 2.2 存储器和总线构架 2.2.1 系统构架 2.2.2 片内外设寄存器地址映射 2.3 启动模式 2.4 复位与时钟控制 2.4.1 复位控制 2.4.2 时钟控制 2.5 软件启动过程 2.5.1 RCC寄存器描述 2.5.2 启动代码 2.6 通用和复用功能I/O接口(GPIO和AFIO) 2.6.1 GPIO功能描述 2.6.2 GPIO寄存器描述 2.6.3 AFIO及调试配置 2.6.4 基于寄存器描述的GPIO编程 2.6.5 基于库函数的GPIO编程 2.6.6 I/O引脚按位输出高、低电平的3种方法 2.7 习题 第3章 基于标准库的软件编程 3.1 创建Template_Demo工程 3.1.1 新建工程文件 3.1.2 复制官方标准库中的源文件 3.1.3 在工程中添加工作组和.c文件 3.1.4 添加.h文件路径 3.1.5 在工程中添加SYSTEM组 3.1.6 配置编译环境 3.1.7 编辑main.c文件 3.1.8 工程的编译 3.2 创建Template_Print工程 3.2.1 新建工程文件 3.2.2 配置Options for Target窗口 3.2.3 模拟仿真 3.3 GPIO 3.3.1 HARDWARE文件夹 3.3.2 GPIO初始化 3.3.3 编写代码 3.3.4 仿真设置 3.3.5 模拟仿真 3.4 定时器/计数器 3.4.1 STM32通用定时器简介 3.4.2 通用定时器的寄存器 3.4.3 定时器TIM3编程 3.4.4 模拟仿真 3.5 通用同步/异步收发器(USART) 3.5.1 USART简介 3.5.2 USART寄存器 3.5.3 USART1编程 3.5.4 USART1代码的仿真调试 3.5.5 USART2编程 3.6 模数转换器(ADC) 3.6.1 ADC功能简介 3.6.2 ADC寄存器描述 3.6.3 ADC编程 3.6.4 ADC代码的仿真调试 3.7 PWM 3.7.1 PWM功能简介 3.7.2 PWM寄存器描述 3.7.3 PWM编程 3.7.4 输出4路PWM信号 3.8 习题 第4章 STM32CubeMX环境编程 4.1 安装STM32CubeMX环境 4.1.1 安装JRE 4.1.2 安装STM32CubeMX 4.1.3 安装HAL库 4.2 新建DEMO_LED工程 4.2.1 选择MCU型号 4.2.2 资源配置 4.2.3 Project Manager选项卡 4.2.4 生成工程文件 4.2.5 编辑DEMO_LED工程文件 4.2.6 仿真运行DEMO_LED工程文件 4.2.7 SysTick(滴答)定时器 4.3 GPIO的查询方式 4.3.1 创建KEY工程文件 4.3.2 编辑KEY工程文件 4.3.3 仿真运行KEY工程文件 4.4 GPIO的中断方式 4.4.1 创建KEY(EX7)工程文件 4.4.2 STM32的中断处理机制 4.4.3 编辑KEY(EX7)工程文件 4.4.4 仿真运行KEY(EX7)工程文件 4.5 定时器TIM3 4.5.1 创建TIM3工程文件 4.5.2 编辑TIM3工程文件 4.5.3 仿真运行TIM3工程文件 4.6 异步串行通信 4.6.1 创建USART1工程文件 4.6.2 USART1工程文件关键函数 4.6.3 构建printf函数 4.6.4 查询接收数据 4.6.5 中断发送数据 4.6.6 中断接收数据 4.7 A/D转换 4.7.1 创建A/D转换工程文件 4.7.2 A/D转换工程文件关键代码 4.7.3 编写A/D转换采集代码 4.7.4 仿真运行A/D转换工程文件 4.8 习题 第5章 Proteus应用范例 5.1 LED 5.1.1 GPIO的输出控制编程 5.1.2 LED电路原理图 5.1.3 Proteus基本操作 5.2 KEY 5.2.1 GPIO的输入检测编程 5.2.2 KEY电路原理图 5.2.3 仿真操作步骤 5.3 EXTI(KEY) 5.3.1 GPIO的中断编程 5.3.2 EXTI(KEY)电路原理图 5.3.3 仿真操作步骤 5.4 TIM3(LED) 5.4.1 TIM3(LED)的中断编程 5.4.2 TIM3(LED)电路原理图 5.4.3 仿真操作步骤 5.5 USART1通信 5.5.1 USART1通信的应用编程 5.5.2 USART1通信电路原理图 5.5.3 仿真操作步骤 5.6 USART1控制 5.6.1 串口通信协议 5.6.2 串口命令的应用编程 5.6.3 串口控制驱动电路原理图 5.6.4 仿真操作步骤 5.7 ADC 5.7.1 ADC1(通道1)数据采集编程 5.7.2 ADC采集电路原理图 5.7.3 仿真操作步骤 5.8 I2C总线 5.8.1 GPIO模拟I2C总线时序 5.8.2 AT24C02的读写编程 5.8.3 I2C电路原理图 5.8.4 仿真操作步骤 5.9 7段数码管显示电路 5.9.1 数码管结构概述 5.9.2 按键控制数码管 5.9.3 串口控制数码管 5.9.4 数码管静态显示 5.9.5 数码管动态显示 5.10 LCD1602 5.10.1 LCD1602简介 5.10.2 编程实现指令集 5.10.3 LCD1602电路连接图 5.10.4 仿真操作步骤 5.11 LCD12864 5.11.1 LCD12864简介 5.11.2 定义字模数组 5.11.3 LCD12864电路连接图 5.11.4 编程实现LCD12864指令集 5.11.5 仿真操作步骤 5.12 DS1302 5.12.1 DS1302电路连接图 5.12.2 DS1302编程 5.12.3 仿真操作步骤 5.13 DS18B20 5.13.1 DS18B20电路连接图 5.13.2 DS18B20编程 5.13.3 仿真操作步骤 5.14 DHT11 5.14.1 DHT11电路连接图 5.14.2 DHT11编程 5.14.3 仿真操作步骤 5.15 环境温湿度采集系统 5.15.1 设计需求 5.15.2 创建工程模板 5.15.3 添加光照传感器APDS-9002 5.15.4 添加日历时钟DS1302 5.15.5 添加温湿度传感器DHT11 5.15.6 环境温湿度采集系统集成 5.16 习题 第6章 基于littleVGL的UI设计 6.1 简介 6.2 littleVGL开发环境 6.2.1 常规配置项 6.2.2 在工程中添加文件 6.2.3 编辑文件 6.2.4 编译运行 6.3 littleVGL的“Hello world!” 6.3.1 在工程中添加文件 6.3.2 编辑文件 6.3.3 编译运行 6.4 常用控件 6.4.1 编辑文件(页面设计) 6.4.2 编译运行 6.5 字体和图片 6.5.1 UTF-8编码 6.5.2 图标字体 6.5.3 获得字体字库文件 6.5.4 图片格式文件转换为C语言数组格式文件 6.5.5 编辑文件(显示汉字和定制图标) 6.5.6 编译运行 6.6 定时器与回调函数 6.6.1 编辑文件 6.6.2 编译运行 6.7 基于littleVGL的温湿度采集系统 6.7.1 编辑文件 6.7.2 编译运行 6.8 littleVGL例程的移植 6.8.1 在STM32上运行littleVGL例程 6.8.2 在STM32上运行lvgl_routine6 6.9 习题 第7章 STM32F103x实现FFT和FIR 7.1 MATLAB常用函数 7.1.1 MATLAB绘制曲线波形 7.1.2 数组操作 7.2 MATLAB的串口使用 7.2.1 Instrument Control Toolbox工具箱 7.2.2 基于命令行配置串口 7.2.3 常用操作命令 7.3 MATLAB实现FFT 7.3.1 两个单频合成信号的幅频特性 7.3.2 两个单频+随机合成信号的幅频特性 7.4 使用STM32F103x实现FFT 7.4.1 设计描述 7.4.2 资源文件 7.4.3 main.c关键函数 7.4.4 运行结果 7.4.5 MATLAB数据分析 7.5 使用MATLAB设计数字滤波器 7.5.1 有限冲激响应(FIR)滤波器设计 7.5.2 低通滤波器验证 7.6 Keil 5自带FIR例程 7.6.1 设计描述 7.6.2 FIR例程关键代码 7.6.3 MATLAB 代码验证 7.6.4 生成Keil 5自带例程滤波器系数.h文件 7.7 使用STM32F103x实现FIR 7.7.1 复制文件 7.7.2 完善main.c文件内容 7.7.3 配置编译环境 7.7.4 运行结果对比 7.8 习题 第8章 基于STM32的电子称重系统 8.1 系统概述 8.2 系统主要模块介绍 8.2.1 单片机最小系统 8.2.2 称重模块 8.2.3 语音模块 8.2.4 LCD显示模块 8.2.5 键盘模块 8.2.6 报警电路 8.3 仿真器下载程序 8.3.1 通过ST-Link方式下载 8.3.2 操作流程 8.4 实测结果 8.5 习题264 第9章 基于物联网云平台的家庭语音控制器系统 9.1 系统概述 9.1.1 系统组成 9.1.2 终端设备 9.1.3 设计任务 9.2 巴法云平台 9.2.1 配置巴法云平台 9.2.2 巴法云平台接入协议 9.2.3 巴法云平台接入协议测试环境 9.3 天猫精灵接入巴法云平台实现语音控制终端设备 9.3.1 接入设备主题命名规范 9.3.2 同步到天猫精灵APP 9.3.3 天猫精灵APP我家 9.4 WiFi无线模块ESP8266 9.4.1 概述 9.4.2 AT指令集 9.4.3 配置ESP8266模块进入透传状态 9.4.4 测试接入协议 9.4.5 ESP8266模块退出透传状态 9.4.6 ESP8266模块使用串口调试助手连接巴法云平台流程 9.5 习题 第10章 集成开发环境 10.1 安装Keil 5 10.2 编辑模式283 10.2.1 Options for Target窗口 10.2.2 调试器 10.2.3 Manage Project Items窗口 10.2.4 设置编码类型 10.2.5 工程的编译 10.3 调试模式 10.3.1 常用调试信息交互窗口 10.3.2 常用Debug命令 10.3.3 自定义函数hello word 10.3.4 定义函数输出数组内容 10.3.5 定义信号
|
|