新書推薦:
《
慈悲与玫瑰
》
售價:HK$
87.4
《
启蒙的辩证:哲学的片简(法兰克福学派哲学经典,批判理论重要文本)
》
售價:HK$
76.2
《
云中记
》
售價:HK$
76.2
《
大模型应用开发:RAG入门与实战
》
售價:HK$
89.4
《
不挨饿快速瘦的减脂餐
》
售價:HK$
67.0
《
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
》
售價:HK$
110.7
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:HK$
132.2
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:HK$
47.0
|
編輯推薦: |
单片机世界犹如江湖,而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 外部中断 / 事件线
|
內容試閱:
|
前 言 单片机的应用非常广泛,已深入到工业、农业、商业、教育、国防及日常生活等各个领域。单片机在家电方面的应用主要有彩色电视机内部的控制系统;数码相机、数码摄像机中的控制系统;中高档电冰箱、空调器、电风扇、洗衣机、加湿机和消毒柜中的控制系统;中高档微波炉、电磁灶和电饭煲中的控制系统等。单片机在通信方面的应用主要有移动电话、传真机、调制解调器和程控交换机中的控制系统;智能电缆监控系统、智能线路运行控制系统和智能电缆故障检测仪等。单片机在商业方面的应用主要有自动售货机、无人值守系统、防盗报警系统、灯光音响设备、IC 卡等。单片机在工业方面的应用主要有数控机床、数控加工中心、无人操作、机械手操作、工业过程控制、生产自动化、远程监控、设备管理、智能控制和智能仪表等。单片机在航空、航天和军事方面的应用主要有航天测控系统、航天制导系统、卫星遥控遥测系统、载人航天系统、导弹制导系统和电子对抗系统等。单片机在汽车方面的应用主要有汽车娱乐系统、汽车防盗报警系统、汽车信息系统、汽车智能驾驶系统、汽车全球卫星定位导航系统、汽车智能化检验系统、汽车自动诊断系统和交通信息接收系统等。 “单片机三剑客”采用“单片机实际电路+ 大量典型的实例程序+ 详细易懂的程序逐条说明”方式介绍3 种单片机的软硬件技术,读者在阅读程序时,除了可查看与程序对应的单片机电路外,遇到某条程序语句不明白时可查看该程序语句的详细说明,从而理解程序运行的来龙去脉。读懂并理解程序后,读者可尝试采用类似方法自己编写一些程序,慢慢就可以自己编写一些复杂的程序,从而成为单片机软件编程高手。 “单片机三剑客”包括51 单片机与C 语言编程、STM32 单片机与C 语言编程、ESP32 单片机与Python 语言编程,具体内容如下: 《单片机三剑客:51 单片机与C 语言编程》介绍了单片机入门,基本数字电路、数制与C51 语言基础,51 单片机的硬件系统,Keil C51 编程软件的使用,单片机驱动LED的电路及编程实例,单片机驱动LED 数码管的电路及编程实例,中断功能的使用及编程实例,定时器/ 计数器使用及编程实例,按键输入电路及编程实例、双色 LED 点阵的使用及编程实例,液晶显示屏的使用及编程实例,步进电动机的使用及编程实例,串行通信及编程实例,模拟I2C 总线通信及编程实例,A/D 与D/A 转换电路及编程实例,STC89C5× 系列单片机介绍。 《单片机三剑客:STM32 单片机与C 语言编程》介绍了STM32 单片机入门,单片机C语言基础,STM32 单片机的硬件介绍,Keil 软件的使用与寄存器方式编程闪烁点亮LED,固件库与库函数方式编程闪烁点亮LED,按键控制LED 和蜂鸣器的电路与编程实例,中断功能的使用与编程实例,定时器的使用与编程实例,串口通信与编程实例,模/ 数转换器(ADC) 的使用与编程实例,数/ 模转换器(DAC) 的使用与编程实例,光敏、温度传感器的检测电路及编程实例,红外线遥控与实时时钟(RTC) 的使用与编程实例,RS485 通信与CAN 通信的原理与编程实例,FSMC 与液晶显示屏的使用与编程实例。 《单片机三剑客:ESP32 单片机与Python 语言编程》介绍了ESP32 单片机与编程软件入门、Python 语言入门,LED、数码管和RGB 全彩灯电路及编程实例,按键输入与蜂鸣器、继电器电路及编程实例,直流电动机、步进电动机与舵机驱动电路及编程实例、中断、定时器与PWM 功能的使用及编程实例,ADC 与声/ 光/ 热/ 火/ 雨/ 烟传感器的使用及编程实例,常用传感器模块的使用及编程实例,超声波传感器与红外线遥控的使用及编程实例,串行通信(UART) 与实时时钟(RTC) 的使用及编程实例,单总线通信与温湿度传感器的使用及编程实例,I2C 通信控制OLED 屏与PS2 摇杆的使用及编程实例,SPI 通信与SD卡/RFID 卡的读写编程实例,单片机连接WiFi 网络与计算机进行通信,用浏览器网页控制和监视单片机,基于MQTT 协议的物联网(IoT) 通信。 为了方便学习单片机编程,读者可添加微信(etv100)或发电子邮件(etv100@163.com)免费索取编程软件和书中的程序源代码,也可在此了解与书有关的技术资源和其他图书。 本书在编写过程中得到了很多老师的支持,在此一并表示感谢。由于水平有限,书中的错误和疏漏之处在所难免,望广大读者和同仁予以批评指正。 编 者
|
|