第1章 概述 1
1.1 基本概念 1
1.2 单片机的发展概况 1
1.3 单片机的特性 2
1.4 常用单片机系列及其特性 3
1.5 MCS-51系列单片机 5
1.6 单片机系统应用 7
1.7 SOC与单片机 7
思考练习题 9
第2章 单片机硬件结构 10
2.1 单片机的基本结构 10
2.1.1 单片机基本功能模块配置 10
2.1.2 单片机内部逻辑结构 11
2.1.3 CPU的结构和特点 12
2.1.4 单片机其他结构模块 13
2.2 单片机的封装与引脚功能 14
2.3 I/O结构及功能 16
2.4 单片机存储器的组织结构 18
2.4.1 程序存储器 18
2.4.2 数据存储器 19
2.5 单片机辅助电路 22
2.5.1 时钟电路 22
2.5.2 复位和复位电路 23
2.6 单片机的工作时序 25
2.6.1 单片机CPU时序基本概念 25
2.6.2 单片机的取指和执行时序 26
2.6.3 单片机访问外部存储器的时序 27
2.7 单片机的低功耗和编程工作方式 28
2.8 看门狗定时器 30
思考练习题 31
第3章 指令系统与汇编语言程序设计 32
3.1 指令系统简介 32
3.2 寻址方式 33
3.3 单片机汇编指令 37
3.3.1 数据传送指令 37
3.3.2 算术运算指令 39
3.3.3 逻辑运算指令 41
3.3.4 移位指令 42
3.3.5 控制转移类指令 43
3.3.6 子程序调用/返回指令 44
3.3.7 位操作指令 45
3.4 单片机汇编程序设计 46
3.4.1 单片机编程语言 46
3.4.2 汇编语言伪指令 47
3.4.3 汇编语言程序设计的流程 48
3.5 汇编语言程序的基本结构 49
3.5.1 顺序程序设计 49
3.5.2 分支程序设计 49
3.5.3 循环程序设计 53
3.5.4 子程序设计 54
思考练习题 57
第4章 单片机的定时/计数器与中断 60
4.1 定时/计数器概述 60
4.1.1 定时/计数器基本构成 60
4.1.2 对TO和T1的控制方式 61
4.2 定时/计数器的4种工作方式 62
4.3 定时/计数器T2 64
4.3.1 控制寄存器T2CON 65
4.3.2 模式寄存器T2MOD 66
4.4 定时/计数器使用示例 66
4.5 单片机的中断系统 68
4.5.1 单片机的中断源 70
4.5.2 中断控制寄存器的设置 70
4.5.3 中断响应过程 73
4.5.4 中断请求的撤销方法 74
4.6 中断应用编程实例 75
思考练习题 80
第5章 串行通信接口 81
5.1 串行通信简介 81
5.1.1 串行通信数据传输方式 81
5.1.2 串行通信的方式 83
5.2 单片机串行通信接口 83
5.2.1 单片机串行口的硬件结构 83
5.2.2 串行口的工作方式 85
5.2.3 串行通信波特率的计算 88
5.3 单片机串行通信应用示例 88
5.3.1 串行口工作方式0的应用 89
5.3.2 单片机间双机通信 90
5.3.3 单片机间多机通信 93
5.3.4 单片机与PC机的通信 94
5.4 RS-232C标准 95
5.4.1 RS-232C标准串行通信接口 95
5.4.2 RS-232C标准与TTL标准之间的转换 97
5.5 RS-485串行通信 98
5.5.1 RS-485串行总线标准 98
5.5.2 RS-485接口标准的半双工和全双工 99
思考练习题 101
第6章 单片机基本扩展技术 102
6.1 51单片机最小系统 102
6.1.1 片内有ROM型单片机最小系统 102
6.1.2 片内无ROM型单片机最小系统 103
6.1.3 单片机系统总线 104
6.2 存储器的扩展 104
6.2.1 单片机常用接口存储器的分类 105
6.2.2 程序存储器的扩展 105
6.2.3 随机存储器的扩展 111
6.3 单片机并行I/O扩展 114
6.4 单片机键盘接口技术 115
6.4.1 按键抖动问题 115
6.4.2 独立式按键接口和键盘消抖动程序编写 116
6.4.3 矩阵式键盘接口编程 117
6.5 LED显示器及其接口技术 120
6.5.1 LED数码显示器的结构 120
6.5.2 单片机与LED数码管的接口电路设计 121
6.5.3 键盘、LED显示器组合接口电路设计 122
6.5.4 串行I/O口扩展技术 124
6.5.5 利用串行口实现键盘/显示器接口 126
6.6 LCD液晶显示器接口技术 128
6.6.1 LCM 1602简介 128
6.6.2 LCM 1602模块应用举例 131
6.7 单片机串行总线扩展技术 134
6.7.1 单总线及单总线器件 134
6.7.2 单总线温度传感器DS18B20 135
6.7.3 单片机红外串行通信 140
思考练习题 141
第7章 单片机扩展DAC和ADC 144
7.1 DAC基本原理和重要参数 144
7.2 DAC器件接口技术 146
7.2.1 8位D/A转换器DAC0832 146
7.2.2 SPI串行DAC TLV5637与单片机的接口 148
7.3 ADC器件接口技术 150
7.3.1 A/D转换器的性能指标 150
7.3.2 并行ADC器件ADC0809的接口技术 151
7.3.3 串行ADC器件MAX187/189的接口技术 154
7.3.4 串行精密ADC器件ADS1100的接口技术 155
7.3.5 串行高速ADC器件ADS7816的接口技术 159
7.3.6 高速微功耗串行ADC器件TLV2541的接口技术 161
7.3.7 双通道A/D转换芯片ADC0832的接口技术 164
7.3.8 高速同步10位串行A/D转换器的接口技术 166
思考练习题 167
第8章 基于单片机核的SOC技术 170
8.1 单片机扩展FPGA及单片机核应用技术 171
8.1.1 FPGA扩展方案及其系统设计流程 171
8.1.2 基于单片机IP软核的SOC设计方案 175
8.2 单片机扩展FPGA设计实例 177
8.2.1 串进并出/并进串出双向端口扩展模块设计 177
8.2.2 8位四通道数据交换扩展模块设计 179
8.2.3 存储器读写的FPGA扩展模块设计 181
8.2.4 四通道PWM信号发生器接口模块设计 183
8.2.5 移相信号发生器扩展模块设计 184
8.2.6 里萨如图波形发生器扩展模块设计 185
8.2.7 数字电压表扩展模块设计 187
8.2.8 数字频率计扩展模块设计 188
8.2.9 等精度频率计扩展模块设计 189
8.2.10 直流电机闭环控制扩展电路模块设计 191
8.3 基于单片机IP核的FPGA片上系统设计 192
8.3.1 单片机扩展串进并出/并进串出模块的FPGA片上系统设计 192
8.3.2 单片机扩展SRAM模块的FPGA片卜系统设计 196
8.3.3 单片机扩展ADC采样控制模块的FPGA片上系统设计 197
8.3.4 单片机扩展移相信号发生器模块的FPGA片卜系统设计 197
8.3.5 单片机扩展直流电机控制模块的FPGA片上系统设计 197
8.3.6 单片机扩展数字频率计模块的FPGA片上系统设计 198
8.3.7 单片机扩展等精度频率测试模块的FPGA片上系统设讨 198
实验与设计 199
8-l 单片机串口扩展FPGA片上系统设计 199
8-2 单片机数据交换FPGA扩展电路设计 200
8-3 扩展外部数据存储器的FPGA单片系统设计 200
8-4 四通道PWM信号发生器及其单片机控制系统设计 200
8-5 移相信号发生器的FPGA片上系统设计 201
8-6 里萨如图波形发生器的FPGA片上系统设计 202
8-7 数字电压表FPGA单片系统设计 202
8-8 数字频率计与单片机串行通信接口功能设计 203
8-9 直流电机测控FPGA单片系统设计 203
8-10 等精度频率计FPGA单片系统设计 203
8-11 其于FPGA的红外双向通信电路设计 204
第9章 单片机C51语言程序设计 205
9.1 单片机的C语言概述 205
9.2 C51入门 206
9.2.1 C51的数据类型 206
9.2.2 特殊功能寄存器 208
9.2.3 C51的存储类型 209
9.2.4 C51的运算符及表达式 212
9.2.5 C51的流程控制语句 214
9.2.6 函数与C51中断服务函数 217
9.2.7 指针与指定地址的存储器访问 219
9.2.8 51应用要点归纳 221
9.3 C51编程举例 221
9.3.1 C51程序实现I/O端口的操作 222
9.3.2 C51实现内部定时器操作 222
9.3.3 C51实现简易交通灯控制 223
9.3.4 C51实现串口操作 226
9.4 Keil C51集成开发环境 226
9.4.1 Keil C51的编译流程 227
9.4.2 创建工程 227
9.4.3 输入C源文件 228
9.4.4 C程序编译 229
9.4.5 程序调试 229
9.4.6 生成HEX目标文件 230
9.5 C语言与汇编语言的混合编程 231
9.5.1 C51程序中嵌入汇编代码 231
9.5.2 C51程序中调用汇编子程序 232
思考练习题 234
参考文献 235
附录A MCS-51单片机指令表 236
附录B 单片机SOC实验开发系统简介 238
B.1 KX-7C5E+型单片机SOC开发系统 238
B.2 KX-DN5/7系列单片机SOC系统 241
B.3 单片机SOC设计实验标准扩展模块 242
附录C STC89C单片机编程下载方法 245