第1章 嵌入式系统概述 1
1.1 单片机与嵌入式系统简介 1
1.1.1 单片机及其发展概况 1
1.1.2 单片机的特点和应用 1
1.1.3 嵌入式系统 3
1.1.4 单片机应用系统的组成 4
1.2 STC12C5A60S2系列单片机总体介绍 4
1.3 一个STC12C5A60S2系列单片机的应用实例 6
第2章 STC系列单片机硬件结构 8
2.1 STC系列单片机总体结构 8
2.1.1 STC系列单片机总体结构框图及功能 8
2.1.2 STC12C5A60S2系列单片机引脚功能 12
2.2 STC12C5A60S2系列单片机存储结构 15
2.2.1 STC12C5A60S2系列单片机存储器的特点 15
2.2.2 程序存储器 16
2.2.3 数据存储器 16
2.3 工作方式和时序 23
2.3.1 复位方式 23
2.3.2 程序执行工作方式 25
2.3.3 省电工作方式 25
2.4 STC系列单片机的时钟 28
第3章 指令系统 30
3.1 指令系统简介 30
3.1.1 指令格式 30
3.1.2 指令分类及符号说明 31
3.2 寻址方式 32
3.3 指令系统 36
3.3.1 数据传送类指令 36
3.3.2 算术运算类指令 42
3.3.3 逻辑运算类指令 45
3.3.4 控制转移类指令 48
3.3.5 位操作类指令 52
3.3.6 子程序调用与返回指令 54
3.4 汇编语言程序设计基础 56
3.4.1 汇编语言程序的组成 56
3.4.2 伪指令 57
3.4.3 程序设计步骤及技术 59
第4章 中断系统 61
4.1 中断系统的概念 61
4.1.1 中断及中断源 61
4.1.2 中断嵌套 61
4.2 中断系统结构及中断控制 62
4.2.1 中断源和中断请求标志 62
4.2.2 中断允许控制 65
4.2.3 中断优先级控制 66
4.3 中断处理 69
4.3.1 中断响应 69
4.3.2 中断处理 70
4.3.3 中断返回 70
4.4 中断响应后中断请求的撤除 70
4.5 中断测试程序举例 71
第5章 定时器/计数器 73
5.1 定时器/计数器概述 73
5.2 定时器/计数器的控制 74
5.2.1 定时器/计数器控制寄存器TCON 74
5.2.2 定时器/计数器工作模式寄存器TMOD 75
5.2.3 辅助寄存器AUXR 76
5.2.4 时钟输出和掉电唤醒寄存器WAKE_CLKO 76
5.3 定时器/计数器的工作模式 77
5.3.1 工作模式0(13位定时器/计数器) 77
5.3.2 工作模式1(16位定时器/计数器) 78
5.3.3 工作模式2(8位自动重装模式) 79
5.3.4 工作模式3(两个8位计数器) 79
5.4 定时器/计数器应用实例 80
5.4.1 定时器/计数器的设置 80
5.4.2 模式1的应用 81
5.4.3 模式2的应用 82
5.4.4 模式3的应用 83
5.4.5 定时器/计数器的综合应用 83
第6章 串行口及其应用 85
6.1 串行口概述 85
6.2 串行口控制 86
6.2.1 串行口控制寄存器SCON 86
6.2.2 电源控制寄存器PCON 88
6.2.3 串行口数据缓冲寄存器SBUF 88
6.2.4 辅助寄存器AUXR 89
6.2.5 独立波特率发生器寄存器BRT 89
6.2.6 从机地址控制寄存器SADEN和SADDR 89
6.2.7 与串行口中断相关的寄存器IE、IP和IPH 89
6.3 串行口的工作方式 90
6.3.1 工作方式0 91
6.3.2 工作方式1 91
6.3.3 工作方式2和工作方式3 92
6.4 波特率设置 93
6.5 串行口应用 94
6.5.1 串行口方式0的应用 94
6.5.2 串行口在其他方式下的应用 97
6.5.3 双机通信 99
6.5.4 多机通信 105
第7章 I/O口的结构及其应用 110
7.1 I/O口的工作模式 110
7.1.1 准双向口输出 110
7.1.2 强推挽输出 111
7.1.3 仅为输入(高阻)配置 111
7.1.4 开漏输出 111
7.2 I/O口的配置 112
7.2.1 P0口的配置 112
7.2.2 P1、P2、P3、P4和P5口的相关寄存器 113
7.2.3 P4口的特殊应用 114
7.3 I/O口的应用 115
7.3.1 三极管控制电路 115
7.3.2 发光二极管控制电路 115
7.3.3 如何让I/O口上电复位时为低电平 116
第8章 A/D转换器 117
8.1 A/D转换器的结构 117
8.2 A/D转换器的控制 118
8.2.1 P1口模拟功能控制寄存器P1ASF 119
8.2.2 ADC控制寄存器ADC_CONTR 120
8.2.3 A/D转换结果寄存器ADC_RES、ADC_RESL 121
8.2.4 与A/D中断有关的寄存器 122
8.3 A/D转换器的应用实例 122
第9章 同步串行外围接口(SPI接口) 126
9.1 同步串行外围接口(SPI接口)概述 126
9.2 同步串行外围接口(SPI接口)的控制 127
9.2.1 SPI控制寄存器SPCTL 128
9.2.2 SPI状态寄存器SPSTAT 129
9.2.3 SPI数据寄存器SPDAT 129
9.2.4 将SPI功能从P1口设置到P4口的辅助寄存器AUXR1 129
9.3 同步串行外围接口(SPI接口)的数据通信方式 129
9.3.1 主/从模式的设置 129
9.3.2 数据传输模式的设置 130
9.4 同步串行外围接口(SPI接口)的应用 132
9.4.1 单主机—单从机通信方式应用 132
9.4.2 单主机—多从机通信方式应用 135
第10章 PCA/PWM模块 139
10.1 PCA/PWM模块概述 139
10.2 PCA/PWM模块的控制 140
10.2.1 PCA控制寄存器CCON 141
10.2.2 PCA模式寄存器CMOD 142
10.2.3 PCA比较/捕获寄存器CCAPM0和CCAPM1 143
10.2.4 PCA的16位计数器——低8位CL和高8位CH 144
10.2.5 PCA捕获寄存器——CCAPnL(低位字节)和CCAPnH(高位字节) 144
10.2.6 PWM模式辅助寄存器——PCA_PWM0和PCA_PWM1 145
10.2.7 辅助寄存器1——AUXR1 145
10.3 PCA/PWM模块的工作模式 145
10.3.1 捕获模式 145
10.3.2 16位软件定时器模式 146
10.3.3 高速输出模式 147
10.3.4 脉宽调制模式(PWM) 148
10.4 PCA/PWM接口的应用 149
10.4.1 用PCA功能实现16位定时器的应用 149
10.4.2 PCA输出PWM功能的应用 151
第11章 STC12系列单片机开发/编程工具 153
11.1 在系统可编程(ISP)原理 153
11.2 STC12C5A60S2系列在系统可编程(ISP)的典型应用 153
11.3 ISP控制软件界面使用说明 155
11.3.1 电脑端的ISP控制软件 155
11.3.2 STC单片机的仿真 156
11.4 程序设计与编译 157
11.4.1 Keil C简介 157
11.4.2 Cx51简介 158
11.4.3 Cx51开发工具简介 164
第12章 应用系统开发实例 169
12.1 系统设计与调试过程 169
12.2 倒计时器的设计 170
12.3 数字电压表的设计 175
12.4 基于DS18B20的简易数字温度计的设计 180
参考文献 190