单片机应用技术(C语言版)(第三版) / 高等职业教育电子信息类系列教材
¥40.00定价
作者: 单正娅
出版时间:2025-05
出版社:西安电子科技大学出版社
江苏省高等学校重点教材
- 西安电子科技大学出版社
- 9787560676128
- 3-1
- 549833
- 16开
- 2025-05
- 自动化技术、计算机技术
- 高职
目录
项目一 单片机最小系统设计 1
1.1 单片机与单片机应用系统概述 1
1.1.1 单片机概述 1
1.1.2 单片机应用系统概述 2
1.2 MCS-51系列单片机组成结构 2
1.2.1 MCS-51系列单片机的内部结构 2
1.2.2 MCS-51系列单片机的引脚 4
1.2.3 MCS-51系列单片机I/O口结构 5
1.3 MCS-51系列单片机的存储器结构 10
1.3.1 程序存储器 10
1.3.2 片内数据存储器 11
1.3.3 片外数据存储器 14
1.4 单片机最小系统电路 14
1.4.1 单片机时钟电路 15
1.4.2 单片机复位电路 16
1.5 单片机系统开发软件 Keil C51 16
1.5.1 Keil C51软件概述 16
1.5.2 Keil C51软件的使用 17
任务1 点亮1盏LED小灯 20
1.6 仿真软件Proteus 22
1.6.1 Proteus ISIS简介 22
1.6.2 Keil C51和Proteus联调示例 24
习题1 27
项目二 流水灯系统设计 29
2.1 单片机的C语言 29
2.1.1 C语言的特点 29
2.1.2 C语言程序的基本结构及其流程图 30
2.2 C51的数据与运算 32
2.2.1 C51的数据与数据类型 32
2.2.2 常量与变量 34
2.2.3 C51的数据存储类型与8051存储器结构 35
2.2.4 8051特殊功能寄存器(SFR)及其C51定义 37
2.2.5 位变量(BIT)及其C51定义 38
2.2.6 C51运算符 38
2.3 C51流程控制语句 44
2.3.1 表达式语句和复合语句 44
2.3.2 选择语句 45
2.3.3 循环语句 48
任务2 1盏LED小灯的闪烁控制 51
2.4 C语言的函数 53
2.4.1 函数分类和延时函数的编写 53
2.4.2 函数调用 56
任务3 8盏LED小灯的闪烁控制 56
2.5 数组的概念 59
2.5.1 一维数组 60
2.5.2 二维数组 60
2.5.3 字符数组 61
任务4 8盏流水灯的设计 61
任务5 花样灯的设计 65
习题2 69
项目三 交通灯系统设计 71
3.1 单片机的中断系统 71
3.1.1 中断的概念 71
3.1.2 MCS-51中断系统的结构 71
3.1.3 中断的控制 72
3.1.4 中断处理过程 74
3.1.5 中断源扩展方法 76
任务6 可控流水灯的设计 77
3.2 定时/计数器 78
3.2.1 定时/计数器概述 79
3.2.2 定时/计数器的控制寄存器 80
3.2.3 定时/计数器的工作方式 82
3.2.4 定时/计数器的初始化 85
3.2.5 定时/计数器的应用实例 86
任务7 时间间隔1 s的流水灯设计 90
任务8 模拟交通灯(含特殊和紧急)控制系统设计 90
习题3 94
项目四 电子万年历系统设计 96
4.1 单片机与LED数码管接口 96
4.1.1 LED数码管的结构及原理 96
4.1.2 LED数码管的静态显示 97
4.1.3 LED数码管的动态显示 99
任务9 LED数码管显示的简易秒表设计 101
4.2 单片机与字符型LCD液晶显示模块接口 104
4.2.1 LCD液晶显示器 104
4.2.2 字符型LCD液晶显示模块与单片机接口 104
4.2.3 字符型LCD液晶显示模块的应用 105
任务10 字符型LCD液晶显示广告牌控制 108
4.3 单片机与键盘接口 111
4.3.1 按键简介 111
4.3.2 独立式按键 112
4.3.3 矩阵式按键 116
任务11 具有简单控制功能的电子万年历设计 118
习题4 123
项目五 数据采集与输出系统设计 124
5.1 单片机数据采集A/D转换器 124
5.1.1 A/D转换器的基本知识 124
5.1.2 典型A/D转换器芯片ADC0809的结构与引脚 127
5.1.3 单片机与ADC0809的接口电路 128
任务12 简易数字电压表的设计 131
5.2 单片机输出控制D/A转换器 134
5.2.1 D/A转换器的基本知识 134
5.2.2 典型D/A转换器芯片DAC0832的结构与引脚 138
5.2.3 单片机与DAC0832的接口电路 139
任务13 简易信号发生器的设计 142
5.3 DS18B20温度传感器 147
5.3.1 DS18B20温度传感器简介 147
5.3.2 单片机与DS18B20的接口电路 152
任务14 带数显的温度计的设计 153
习题5 160
项目六 串行通信系统设计 162
6.1 串行通信概述 162
6.1.1 串行通信与并行通信 162
6.1.2 串行通信的制式 162
6.1.3 串行通信的分类 163
6.2 单片机的串行接口 164
6.2.1 串行口寄存器结构 164
6.2.2 串行口的工作方式 166
6.2.3 初始化 168
6.3 单片机通信 170
6.3.1 双机通信 170
6.3.2 多机通信 172
6.3.3 PC和单片机之间的通信 173
任务15 单片机之间的双机通信 175
6.4 I2C串行通信 176
6.4.1 I2C总线简介 176
6.4.2 I2C总线的通信规约 177
6.4.3 串行EEPROM的扩展 177
任务16 单片机扩展串行EEPROM 180
习题6 185
项目七 STM32单片机开发简介 186
7.1 STM32单片机概述 186
7.1.1 STM32的架构 186
7.1.2 STM32最小系统 189
7.2 STM32编程基础 191
7.2.1 STM32库开发方式 191
7.2.2 利用固件库在Keil 4下建立工程 192
7.2.3 STM32单片机编程思路 198
任务17 点亮LED灯 199
任务18 基于STM32F10X单片机的USART通信设计 201
习题7 203
项目八 综合应用 205
8.1 基于51单片机的蓝牙智能灯控系统设计 205
8.2 基于51单片机的Wi-Fi智能遥控小车系统设计 211
8.3 基于STM32的蓝牙红外测温智控系统设计 217
习题8 226
附录 常用的C51标准库函数 227
参考文献 231
1.1 单片机与单片机应用系统概述 1
1.1.1 单片机概述 1
1.1.2 单片机应用系统概述 2
1.2 MCS-51系列单片机组成结构 2
1.2.1 MCS-51系列单片机的内部结构 2
1.2.2 MCS-51系列单片机的引脚 4
1.2.3 MCS-51系列单片机I/O口结构 5
1.3 MCS-51系列单片机的存储器结构 10
1.3.1 程序存储器 10
1.3.2 片内数据存储器 11
1.3.3 片外数据存储器 14
1.4 单片机最小系统电路 14
1.4.1 单片机时钟电路 15
1.4.2 单片机复位电路 16
1.5 单片机系统开发软件 Keil C51 16
1.5.1 Keil C51软件概述 16
1.5.2 Keil C51软件的使用 17
任务1 点亮1盏LED小灯 20
1.6 仿真软件Proteus 22
1.6.1 Proteus ISIS简介 22
1.6.2 Keil C51和Proteus联调示例 24
习题1 27
项目二 流水灯系统设计 29
2.1 单片机的C语言 29
2.1.1 C语言的特点 29
2.1.2 C语言程序的基本结构及其流程图 30
2.2 C51的数据与运算 32
2.2.1 C51的数据与数据类型 32
2.2.2 常量与变量 34
2.2.3 C51的数据存储类型与8051存储器结构 35
2.2.4 8051特殊功能寄存器(SFR)及其C51定义 37
2.2.5 位变量(BIT)及其C51定义 38
2.2.6 C51运算符 38
2.3 C51流程控制语句 44
2.3.1 表达式语句和复合语句 44
2.3.2 选择语句 45
2.3.3 循环语句 48
任务2 1盏LED小灯的闪烁控制 51
2.4 C语言的函数 53
2.4.1 函数分类和延时函数的编写 53
2.4.2 函数调用 56
任务3 8盏LED小灯的闪烁控制 56
2.5 数组的概念 59
2.5.1 一维数组 60
2.5.2 二维数组 60
2.5.3 字符数组 61
任务4 8盏流水灯的设计 61
任务5 花样灯的设计 65
习题2 69
项目三 交通灯系统设计 71
3.1 单片机的中断系统 71
3.1.1 中断的概念 71
3.1.2 MCS-51中断系统的结构 71
3.1.3 中断的控制 72
3.1.4 中断处理过程 74
3.1.5 中断源扩展方法 76
任务6 可控流水灯的设计 77
3.2 定时/计数器 78
3.2.1 定时/计数器概述 79
3.2.2 定时/计数器的控制寄存器 80
3.2.3 定时/计数器的工作方式 82
3.2.4 定时/计数器的初始化 85
3.2.5 定时/计数器的应用实例 86
任务7 时间间隔1 s的流水灯设计 90
任务8 模拟交通灯(含特殊和紧急)控制系统设计 90
习题3 94
项目四 电子万年历系统设计 96
4.1 单片机与LED数码管接口 96
4.1.1 LED数码管的结构及原理 96
4.1.2 LED数码管的静态显示 97
4.1.3 LED数码管的动态显示 99
任务9 LED数码管显示的简易秒表设计 101
4.2 单片机与字符型LCD液晶显示模块接口 104
4.2.1 LCD液晶显示器 104
4.2.2 字符型LCD液晶显示模块与单片机接口 104
4.2.3 字符型LCD液晶显示模块的应用 105
任务10 字符型LCD液晶显示广告牌控制 108
4.3 单片机与键盘接口 111
4.3.1 按键简介 111
4.3.2 独立式按键 112
4.3.3 矩阵式按键 116
任务11 具有简单控制功能的电子万年历设计 118
习题4 123
项目五 数据采集与输出系统设计 124
5.1 单片机数据采集A/D转换器 124
5.1.1 A/D转换器的基本知识 124
5.1.2 典型A/D转换器芯片ADC0809的结构与引脚 127
5.1.3 单片机与ADC0809的接口电路 128
任务12 简易数字电压表的设计 131
5.2 单片机输出控制D/A转换器 134
5.2.1 D/A转换器的基本知识 134
5.2.2 典型D/A转换器芯片DAC0832的结构与引脚 138
5.2.3 单片机与DAC0832的接口电路 139
任务13 简易信号发生器的设计 142
5.3 DS18B20温度传感器 147
5.3.1 DS18B20温度传感器简介 147
5.3.2 单片机与DS18B20的接口电路 152
任务14 带数显的温度计的设计 153
习题5 160
项目六 串行通信系统设计 162
6.1 串行通信概述 162
6.1.1 串行通信与并行通信 162
6.1.2 串行通信的制式 162
6.1.3 串行通信的分类 163
6.2 单片机的串行接口 164
6.2.1 串行口寄存器结构 164
6.2.2 串行口的工作方式 166
6.2.3 初始化 168
6.3 单片机通信 170
6.3.1 双机通信 170
6.3.2 多机通信 172
6.3.3 PC和单片机之间的通信 173
任务15 单片机之间的双机通信 175
6.4 I2C串行通信 176
6.4.1 I2C总线简介 176
6.4.2 I2C总线的通信规约 177
6.4.3 串行EEPROM的扩展 177
任务16 单片机扩展串行EEPROM 180
习题6 185
项目七 STM32单片机开发简介 186
7.1 STM32单片机概述 186
7.1.1 STM32的架构 186
7.1.2 STM32最小系统 189
7.2 STM32编程基础 191
7.2.1 STM32库开发方式 191
7.2.2 利用固件库在Keil 4下建立工程 192
7.2.3 STM32单片机编程思路 198
任务17 点亮LED灯 199
任务18 基于STM32F10X单片机的USART通信设计 201
习题7 203
项目八 综合应用 205
8.1 基于51单片机的蓝牙智能灯控系统设计 205
8.2 基于51单片机的Wi-Fi智能遥控小车系统设计 211
8.3 基于STM32的蓝牙红外测温智控系统设计 217
习题8 226
附录 常用的C51标准库函数 227
参考文献 231