第1章 STC15系列单片机基础 1
1.1 IAP 15W4K58S4单片机的性能特点 1
1.2 IAP15W4K58S4单片机体系结构 2
1.2.1 体系结构 2
1.2.2 引脚功能 4
1.3 IAP 15W4K58S4单片机的存储器结构 6
1.4 IAP15W4K58S4单片机的时钟与复位 10
1.4.1 时钟 10
1.4.2 复位 11
1.5 IAP 15W4K58S4单片机存储器的使用 14
1.5.1 片内Flash存储器 14
1.5.2 片内扩展XRAM存储器 15
1.5.3 片外扩展RAM存储器的总线管理 16
1.5.4 片内数据Flash存储器 17
1.6 IAP 15W4K58S4单片机的并行I/O端口 18
1.6.1 并行I/O端口的工作模式 18
1.6.2 并行I/O端口使用注意事项 20
1.7 IAP 15W4K58S4单片机的在线仿真调试 22
第2章 Keil C51应用程序设计 31
2.1 Keil C51程序设计的基本语法 31
2.1.1 Keil C51程序的一般结构 31
2.1.2 数据类型 32
2.1.3 常量、变量及其存储模式 33
2.1.4 运算符与表达式 34
2.2 C51程序的基本语句 37
2.2.1 表达式语句 37
2.2.2 复合语句 37
2.2.3 条件语句 37
2.2.4 开关语句 38
2.2.5 循环语句 38
2.2.6 goto、 break、 continue语句 39
2.2.7 返回语句 39
2.3 函数 40
2.3.1 函数的定义与调用 40
2.3.2 中断服务函数与寄存器组定义 41
2.4 Keil C51编译器对ANSI C的扩展 42
2.4.1 存储器类型与编译模式 42
2.4.2 关于bit、 sbit、 sfr、 sfr16数据类型 43
2.4.3 一般指针与基于存储器的指针及其转换 46
2.4.4 C51编译器对ANSI C函数定义的扩展 47
2.5 C51编译器的数据调用协议 50
2.5.1 数据在内存中的存储格式 50
2.5.2 目标代码的段管理 51
2.6 与汇编语言程序的接口 53
2.6.1 参数传递规则 53
2.6.2 C51与汇编语言混合编程举例 57
2.7 绝对地址访问 59
2.7.1 采用扩展关键字“at”或指针定义变量的绝对地址 59
2.7.2 采用预定义宏指定变量的绝对地址 60
2.8 Keil C51库函数 61
2.8.1 本征库函数 61
2.8.2 字符判断转换库函数 61
2.8.3 输入输出库函数 62
2.8.4 字符串处理库函数 66
2.8.5 类型转换及内存分配库函数 68
2.8.6 数学计算库函数 69
第3章 中断系统与定时器/计数器 70
3.1 中断系统结构 70
3.2 与中断相关的特殊功能寄存器 71
3.2.1 中断允许寄存器 71
3.2.2 中断优先级寄存器 73
3.2.3 中断标志寄存器 73
3.3 中断响应 75
3.4 中断系统应用编程 77
3.4.1 外部中断 78
3.4.2 中断源扩展 78
3.4.3 中断嵌套 80
3.5 定时器/计数器的逻辑结构 81
3.6 与定时器/计数器相关的特殊功能寄存器 82
3.7 定时器/计数器的工作方式 84
3.7.1 定时器/计数器T0和T1的工作方式 84
3.7.2 定时器/计数器T2、 T3、 T4的工作方式 87
3.7.3 可编程时钟输出 88
3.8 定时器/计数器应用举例 89
3.8.1 定时器工作方式应用 90
3.8.2 计数器工作方式应用 94
3.8.3 利用定时器产生音乐 94
第4章 串行口 98
4.1 串行通信的一般概念 98
4.2 与串行口1相关的特殊功能寄存器 99
4.3 串行口1的工作方式 101
4.3.1 工作方式0——串/并转换 101
4.3.2 工作方式1、 2、 3——串行通信 101
4.3.3 波特率计算 103
4.4 串行口1的应用 104
4.4.1 串/并转换 104
4.4.2 双机串行通信 106
4.4.3 主-从式多机串行通信 108
4.4.4 单片机与PC通信 113
4.4.5 LAP15W4K58S4单片机与PC的USB总线通信接口 114
4.5 串行口1的中继广播方式 115
4.6 串行口2 115
4.7 串行口3 116
4.8 串行口4 117
4.9 串行口硬件引脚的切换 118
第5章 PCA可编程计数器阵列 120
5.1 PCA模块的逻辑结构 120
5.2 与PCA模块相关的特殊功能寄存器 121
5.3 PCA模块的工作模式 123
5.3.1 捕获模式 123
5.3.2 软件定时器模式 124
5.3.3 高速脉冲输出模式 124
5.3.4 脉宽调制PWM输出模式 125
5.4 PCA模块功能引脚的切换 126
5.5 PCA模块的应用 127
第6章 SPI同步串行接口 132
6.1 SPI接口的逻辑结构 132
6.2 与SPI接口相关的特殊功能寄存器 133
6.3 SPI接口的通信方式及数据格式 134
6.3.1 通信方式 134
6.3.2 数据格式 136
6.4 SPI接口功能引脚的切换 137
6.5 SPI接口的应用 138
第7章 片内比较器与增强型PWM模块 140
7.1 片内比较器的逻辑结构 140
7.2 与比较器相关的特殊功能寄存器 140
7.3 片内比较器的应用 142
7.4 增强型PWM模块的逻辑结构 143
7.5 与PWM模块相关的特殊功能寄存器 144
7.6 PWM模块功能引脚的切换 146
7.7 PWM模块功能的应用 146
第8章 片内A/D转换器与低功耗应用 149
8.1 片内A/D转换器的逻辑结构 149
8.2 与片内A/D转换器相关的特殊功能寄存器 150
8.3 片内A/D转换器的应用 151
8.4 与低功耗相关的特殊功能寄存器 153
8.5 低功耗模式的应用 154
8.5.1 空闲与掉电工作模式 154
8.5.2 低功耗应用举例 155
第9章 键盘与显示接口扩展 160
9.1 LED数码管显示接口 160
9.1.1 I/O端口驱动LED数码管 161
9.1.2 单个74HC595驱动多位LED数码管 162
9.2 键盘接口 165
9.2.1 编码键盘 167
9.2.2 非编码键盘 169
9.2.3 采用I/O端口实现的矩阵键盘接口 170
9.2.4 采用片内ADC实现的矩阵键盘接口 173
9.3 点阵字符型LCD模块应用接口 177
9.3.1 点阵字符型LCD模块简介 177
9.3.2 点阵字符型LCD模块与单片机的8位数据接口 182
9.3.3 点阵字符型LCD模块与单片机的4位数据接口 185
9.4 无字库12864点阵图型液晶模块应用接口 188
9.5 带字库12864点阵图型液晶模块应用接口 195
9.5.1 带字库12864点阵图型液晶模块与单片机的并行接口 200
9.5.2 带字库12864点阵图型液晶模块与单片机的串行接口 204
第10章 数/模与模/数转换接口扩展 208
10.1 数/模转换器接口扩展 208
10.1.1 DAC0832与单片机的接口 208
10.1.2 DAC 1208与单片机的接口 214
10.1.3 串行DAC芯片TLC5615与单片机的接口 215
10.2 模/数转换器接口扩展 218
10.2.1 ADC0809与单片机的接口 218
10.2.2 ICL7135与单片机的接口 221
10.2.3 串行ADC芯片TLC549与单片机的接口 225
第11章 I2C总线接口扩展 229
11.1 I2C总线简介 229
11.2 I2C总线结构与数据传输 229
11.3 I2C总线通用驱动程序 232
11.4 I2C接口器件24C04的读写程序 234
11.5 I2C接口A/D-D/A转换芯片PCF8591应用 238
11.6 I2C接口时钟芯片PCF8563应用 249
第12章 单片机综合应用编程实例 261
12.1 有关C51编程的若干实际应用技巧 261
12.2 C51调用汇编语言函数及生成应用库文件 266
12.2.1 C51调用汇编语言函数 266
12.2.2 在μVision4中生成应用库文件 270
12.3 红外遥控系统 272
12.3.1 功能要求 272
12.3.2 硬件电路设计 272
12.3.3 软件程序设计 272
12.4 PWM脉宽调制系统 282
12.4.1 功能要求 282
12.4.2 硬件电路设计 283
12.4.3 软件程序设计 283
12.5 点阵LED显示屏 293
12.5.1 功能要求 293
12.5.2 硬件电路设计 293
12.5.3 软件程序设计 294
12.6 DTMF收发系统 296
12.6.1 功能要求 296
12.6.2 硬件电路设计 296
12.6.3 软件程序设计 299
12.7 DS18B20多点温度监测系统 311
12.7.1 功能要求 311
12.7.2 硬件电路设计 312
12.7.3 软件程序设计 315
12.8 STH11数字温湿度测量系统 323
12.8.1 功能要求 323
12.8.2 硬件电路设计 323
12.8.3 软件程序设计 327
12.9 SD卡WAV音频播放器 332
12.9.1 功能要求 332
12.9.2 硬件电路设计 332
12.9.3 软件程序设计 333
附录A STC15系列单片机指令表 344
附录B STC-ISP工具软件简介 350
参考文献 353