第1章 单片机基础知识 1
1.1 计算机中的数制和信息编码 1
1.1.1 数制与转换 1
1.1.2 数值编码 3
1.1.3 常用的编码 4
1.2 单片机概述 6
1.2.1 单片机的定义 6
1.2.2 单片机的发展历程 7
1.2.3 单片机的应用 8
1.2.4 常用的单片机种类 8
1.3 STC8G2K64S4单片机的结构 10
1.3.1 STC8G2K64S4单片机的内部结构 10
1.3.2 STC8G2K64S4单片机的CPU结构 10
1.3.3 STC8G2K64S4单片机的存储器结构 13
1.3.4 STC8G2K64S4单片机的时钟 17
1.3.5 STC8G2K64S4单片机的系统复位 19
1.3.6 STC8G2K64S4单片机的电源管理 22
1.4 STC8G2K64S4小系统电路 23
本章小结 26
本章习题 26
第2章 单片机应用开发与仿真工具 29
2.1 Keil C51软件的使用 29
2.1.1 软件安装 29
2.1.2 开发环境配置 30
2.1.3 创建工程项目 31
2.1.4 程序编译与调试 36
2.2 STC-ISP软件的使用 39
2.2.1 STC-ISP软件程序下载 39
2.2.2 其他功能应用 40
2.3 Proteus软件的使用 40
2.3.1 Proteus软件特点 40
2.3.2 Proteus电路原理图绘制 41
2.3.3 Proteus虚拟仿真 46
本章小结 46
本章习题 46
第3章 C51程序设计 48
3.1 C51语言的特点 48
3.2 C51语言的语法基础 49
3.2.1 标识符 49
3.2.2 关键字 49
3.2.3 数 据 51
3.2.4 运算符和表达式 53
3.2.5 程序语句 55
3.2.6 函 数 58
3.3 C51语言应用举例 60
3.3.1 C51对单片机中的地址访问实例 60
3.3.2 C51对单片机的外设资源访问实例 61
本章小结 62
本章习题 62
第4章 通用输入/输出(I/O)接口结构及应用 64
4.1 通用I/O接口的功能 64
4.2 通用I/O接口的工作模式及结构 64
4.2.1 准双向口工作模式 65
4.2.2 推挽输出工作模式 66
4.2.3 高阻输入工作模式 66
4.2.4 开漏工作模式 66
4.3 通用I/O接口设置 67
4.3.1 设置内部4.1 kΩ上拉电阻 67
4.3.2 设置I/O接口的对外输出速度 68
4.3.3 设置I/O接口的电流驱动能力 _______68
4.3.4 设置I/O接口的数字/模拟控制 68
4.3.5 设置I/O接口的施密特触发控制 68
4.4 通用I/O接口典型应用电路 69
4.4.1 典型发光二极管控制电路 69
4.4.2 典型三极管驱动电路 69
4.4.3 混合电压供电系统3 V/5 V器件I/O接口互连 69
4.4.4 I/O接口上电复位为低电平 70
4.5 通用I/O接口的应用案例 70
4.5.1 发光二极管闪烁灯设计 70
4.5.2 流水灯设计 71
4.5.3 LED数码管显示器与应用编程设计 73
4.5.4 液晶LCD1602显示接口与应用编程设计 77
4.5.5 键盘操作与应用编程设计 84
本章小结 91
本章习题 91
第5章 中断系统及外部中断应用 93
5.1 中断系统概述 93
5.2 STC8G系列单片机的中断系统结构 94
5.2.1 中断源及中断请求标志 96
5.2.2 中断允许控制 97
5.2.3 中断优先级设置 99
5.3 STC8G系列单片机的中断响应 100
5.3.1 中断响应条件 100
5.3.2 中断响应过程 100
5.4 STC8G系列单片机的外部中断及应用开发案例 102
5.4.1 STC8G系列单片机外部中断寄存器配置 102
5.4.2 外部中断应用 103
本章小结 106
本章习题 106
第6章 定时/计数器结构及应用 108
6.1 定时/计数器的工作原理 108
6.2 STC8G系列单片机定时/计数器(T0/T1)的结构 110
6.3 STC8G系列单片机定时/计数器(T0/T1)的工作方式 113
6.3.1 方式0(16位自动重载模式) 113
6.3.2 方式1(16位定时模式) _______116
6.3.3 方式2(8位自动重载模式) 116
6.3.4 方式3(不可屏蔽中断的16位自动重载模式) 117
6.4 STC8G系列单片机定时/计数器(T2) 118
6.4.1 定时/计数器T2的电路结构 118
6.4.2 定时/计数器T2的寄存器 118
6.4.3 定时/计数器T2的工作模式 120
6.5 STC8G系列单片机定时/计数器(T3/T4) 121
6.5.1 定时/计数器T3/T4的电路结构 121
6.5.2 定时/计数器T3/T4的寄存器 121
6.5.3 定时/计数器T3/T4的工作模式 123
6.6 STC8G系列单片机定时/计数器应用开发案例 124
6.6.1 定时/计数器应用开发步骤 124
6.6.2 定时闪烁灯设计 125
6.6.3 数字时钟设计 126
6.6.4 高速时钟输出设计 130
本章小结 132
本章习题 132
第7章 串行通信接口及应用 134
7.1 串行通信基础 134
7.1.1 并行通信与串行通信 134
7.1.2 串行同步通信和异步通信 135
7.1.3 串行通信的传输方向 137
7.1.4 串行通信的数据校验 137
7.2 STC8G系列单片机串行口1 138
7.2.1 串行口1的结构 138
7.2.2 串行口1的寄存器 139
7.2.3 串行口1的工作方式 142
7.3 STC8G系列单片机串行口2 148
7.3.1 串行口2的寄存器 148
7.3.2 串行口2的工作方式与波特率 150
7.3.3 串行口硬件引脚的切换 150
7.4 STC8G系列单片机串行口3和串行口4 151
7.4.1 串行口3和串行口4的寄存器 151
7.4.2 串行口3和串行口4的工作方式0 153
7.4.3 串行口3和串行口4的工作方式1 335 ?'3153
7.5 STC8G系列单片机串行口应用设计案例 153
7.5.1 双机通信设计 153
7.5.2 多机通信设计 156
7.5.3 单片机与PC之间的通信设计 161
本章小结 166
第8章 A/D转换器结构及应用 169
8.1 A/D转换的基本原理 169
8.2 STC8G系列单片机的A/D转换器 170
8.2.1 ADC模块的结构 170
8.2.2 ADC模块的寄存器 171
8.2.3 ADC相关的计算公式 174
8.3 STC8G系列单片机 A/D转换的应用开发步骤 175
8.4 数字电压表设计 175
本章小结 177
本章习题 178
第9章 PWM 模块结构及应用 179
9.1 PWM 模块的工作原理 179
9.2 STC8G系列单片机PWM 模块的结构 180
9.3 STC8G系列单片机PWM 模块的寄存器 181
9.3.1 PWM 时钟选择寄存器PWMnCKS 181
9.3.2 PWM 计数器寄存器PWMnCH、PWMnCL 182
9.3.3 PWM 比较值寄存器PWMniT1、PWMniT2 183
9.3.4 输出控制寄存器 183
9.3.5 PWM 配置寄存器 184
9.3.6 中断及其他相关寄存器 186
9.4 STC8G系列单片机PWM 模块应用开发案例 187
9.4.1 PWM 应用步骤 187
9.4.2 呼吸灯设计 188
9.4.3 互补对称带死区的PWM 设计 189
本章小结 190
本章习题 191
第10章 PCA模块结构及应用 192
10.1 STC8G系列单片机PCA模块的结构 192
10.2 STC8G系列单片机PCA模块的寄存器 193
10.2.1 PCA模块控制寄存器CCON 193
10.2.2 PCA模块模式寄存器CMOD __________194
10.2.3 PCA模块计数器寄存器CH、CL 194
10.2.4 PCA模块模式控制寄存器CCAPM0、CCAPM1、CCAPM2 195
10.2.6 PCA模块PWM 模式控制寄存器 196
10.2.7 引脚切换寄存器 AUXR1(P_SW1) 196
10.3 STC8G系列单片机PCA模块的工作模式及应用开发案例 197
10.3.1 输入捕获模式应用开发设计 197
10.3.2 软件定时模式应用开发设计 200
10.3.3 高速脉冲输出模式应用开发设计 201
10.3.4 PWM 模式应用开发设计 202
本章小结 204
本章习题 204
第11章 同步串行外设接口SPI结构及应用 206
11.1 同步串行外设接口SPI的工作原理 206
11.1.1 同步串行外设接口SPI的组成 206
11.1.2 同步串行外设接口SPI的通信协议 207
11.2 STC8G系列单片机同步串行外设接口SPI的结构 208
11.3 STC8G系列单片机同步串行外设接口SPI的寄存器 209
11.3.1 SPI控制寄存器SPCTL 209
11.3.2 SPI状态寄存器SPSTAT 210
11.3.3 SPI数据寄存器SPDAT 210
11.3.4 中断相关寄存器 211
11.4 STC8G系列单片机同步串行外设接口SPI应用开发案例 211
11.4.1 单主单从应用设计 211
11.4.2 互为主从应用设计 213
本章小结 216
本章习题 216
第12章 I2C总线结构及应用 218
12.1 I2C总线的工作原理 218
12.1.1 I2C总线组成结构 218
12.1.2 I2C总线数据传输协议 219
12.2 STC8G系列单片机的I2C总线结构 222
12.3 STC8G系列单片机的I2C总线寄存器 222
12.3.1 I2C配置寄存器I2CCFG 餩__*__223
12.3.2 I2C主机控制寄存器I2CMSCR 223
12.3.3 I2C主机辅助控制寄存器I2CMSAUX 224
12.3.4 I2C主机状态寄存器I2CMSST 224
12.3.6 I2C从机状态寄存器I2CSLST 225
12.3.7 I2C从机地址寄存器I2CSLADR 226
12.3.8 I2C数据寄存器I2CTXD/I2CRXD 226
12.3.9 I2C中断相关寄存器 226
12.3.10 I2C引脚切换寄存器 227
12.4 基于I2C总线的 AT24C02的IC卡设计 227
12.4.1 分 析 227
12.4.2 硬件电路设计 228
12.4.3 程序设计 228
本章小结 233
本章习题 234
第13章 直流电机驱动系统开发设计 235
13.1 单片机应用系统的开发流程 235
13.1.1 需求分析 235
13.1.2 概要设计 235
13.1.3 详细设计 236
13.1.4 系统测试 236
13.2 单片机应用系统的可靠性设计 236
13.2.1 硬件抗干扰 237
13.2.2 软件抗干扰 238
13.3 单片机应用系统的数字滤波技术 239
13.4 单片机应用系统的组成结构 241
13.5 直流电机驱动系统设计 242
13.5.1 直流电机驱动系统任务要求 242
13.5.2 直流电机驱动系统方案设计 242
13.5.3 直流电机驱动系统硬件设计 243
13.5.4 直流电机驱动系统软件设计 245
本章小结 252
本章习题 252
参考文献 253