第1章 单片机最小系统 1
1.1单片机概述 1
1.1.1单片机简介 1
1.1.2常用单片机介绍 3
1.2 AT89C51单片机的引脚功能 5
1.2.1电源及时钟引脚 5
1.2.2控制引脚 6
1.2.3输入/输出引脚 7
1.3单片机最小系统 8
1.3.1时钟电路与时序 8
1.3.2复位电路 10
1.3.3单片机最小系统的组成结构 12
1.4让单片机动起来——模拟开关灯 13
1.4.1模拟开关灯设计要求 13
1.4.2模拟开关灯电路设计 14
1.4.3模拟开关灯程序设计 17
1.4.4 Proteus仿真结果 18
本章小结 19
习题与思考题 20
第2章 AT89C51单片机的编程结构 21
2.1 AT89C51单片机的硬件组成 21
2.2 AT89C51单片机的CPU 23
2.2.1运算器 24
2.2.2控制器 26
2.3 AT89C51单片机的存储器结构 26
2.3.1数据存储器空间 27
2.3.2程序存储器空间 32
2.4 C51程序设计基础 33
2.4.1 C51程序设计概述 33
2.4.2 C51语言中的数据类型与存储方式 35
2.4.3 C51语言中的存储类型 37
2.4.4 C51语言中的特殊功能寄存器及位变量定义 40
2.4.5 C51语言的指针 42
2.4.6 C51语言中的中断服务函数 44
2.4.7 C51库函数 45
2.5 AT89C51单片机片内并行端口的原理及编程 46
2.5.1 AT89C51单片机并行I/O端口的结构 46
2.5.2并行I/O端口的C51编程举例 50
本章小结 58
习题与思考题 59
第3章 AT89C51单片机的输入/输出外设接口 61
3.1LED数码管显示原理及接口设计 61
3.1.1 LED数码管的工作原理 61
3.1.2 LED数码管静态显示方式 63
3.1.3 LED数码管动态显示方式 64
3.1.4 LED数码管显示器设计实例 66
3.2键盘的接口设计 71
3.2.1键盘接口概述 71
3.2.2独立式按键及其接口电路 74
3.2.3矩阵式键盘及其接口电路 76
3.2.4键盘接口案例设计 78
3.3 LED点阵应用设计 85
3.3.1 LED点阵概述 85
3.3.2 LED点阵接口电路 87
3.3.3 LED点阵应用实例 88
3.4 AT89C51与液晶显示器的接口 91
3.4.1 LCD显示器的分类 92
3.4.2点阵字符型液晶显示器 92
3.4.3 LCD显示器与单片机的接口与应用 97
本章小结 99
习题与思考题 100
第4章 单片机的中断系统 101
4.1AT89C51单片机的中断系统结构 102
4.1.1 AT89C51单片机的中断源 102
4.1.2中断请求标志寄存器 103
4.1.3中断控制 104
4.2 AT89C51单片机的中断处理过程 106
4.2.1中断响应的条件 106
4.2.2中断响应过程 107
4.2.3中断响应时间 107
4.2.4中断请求的撤销 108
4.3 AT89C51单片机中断系统的编程 109
4.3.1中断服务函数 109
4.3.2中断系统C51编程举例 110
本章小结 114
习题与思考题 114
第5章 AT89C51单片机的定时器/计数器 115
5.1定时器/计数器的结构和工作原理 115
5.1.1定时器/计数器的结构 115
5.1.2定时器/计数器的工作原理 116
5.2定时器/计数器的控制 116
5.2.1工作方式寄存器TMOD 117
5.2.2定时器/计数器控制寄存器TCON 117
5.3定时器/计数器的工作方式 118
5.3.1方式0 118
5.3.2方式1 119
5.3.3方式2 120
5.3.4方式3 120
5.4定时器/计数器的编程与应用 121
本章小结 129
习题与思考题 130
第6章 单片机的串行口 131
6.1串行通信方式概述 131
6.1.1串行通信分类 132
6.1.2数据的传输模式 134
6.1.3波特率 135
6.2串行口的结构 135
6.2.1 AT89C51单片机串行口的硬件结构 135
6.2.2数据缓冲寄存器SBUF 136
6.2.3串行口控制寄存器SCON 137
6.2.4特殊功能寄存器PCON 139
6.3串行口口的4种工作方式 139
6.3.1方式0 139
6.3.2方式1 144
6.3.3方式2 144
6.3.4方式3 145
6.3.5各工作方式下波特率的计算 145
6.4串行通信的应用 147
6.4.1单片机与单片机串行通信 147
6.4.2主从式多机通信的应用 151
6.4.3利用串行口实现的键盘/显示器接口 156
6.5串行通信接口标准RS-232 160
本章小结 162
习题与思考题 162
第7章 单片机的常用外围接口扩展技术 163
7.1单片机常用数字电路芯片 164
7.1.1缓冲器 164
7.1.2译码器 166
7.1.3锁存器 167
7.1.4移位寄存器 169
7.2单片机外部存储器的扩展 171
7.2.1单片机系统扩展原理及存储器扩展编址技术 171
7.2.2程序存储器的扩展 172
7.2.3数据存储器的扩展 174
7.3单片机并行I/O口的扩展 176
7.3.I采用TTL电路扩展I/O口 176
7.3.2采用可编程芯片8255扩展I/O口 177
7.4可编程外围定时器/计数器8253 180
7.4.1 8253的结构与引脚 180
7.4.2 8253的工作方式和控制字 182
7.4.3 8253与单片机的接口 183
7.5外部中断的扩展 184
7.5.1采用定时器/计数器溢出中断扩展外部中断源 185
7.5.2采用中断源查询法扩展外部中断源 185
7.5.3采用优先编码器扩展外部中断源 185
7.6串行扩展技术 188
7.6.I移位寄存器串行扩展技术 188
7.6.2 I2C总线串行扩展技术 191
7.6.3 SPI总线串行扩展技术 194
7.7 HD7279可编程数码管/键盘控制接口芯片 197
7.7.1 HD7279芯片简介 197
7.7.2 HD7279与C51单片机的硬件连接及程序设计 202
7.8实时日历/时钟DS 12C887 205
7.8.1 DS 12C887简介 205
7.8.2 DS 12C887与C51单片机的硬件连接及程序设计 206
本章小结 209
习题与思考题 210
第8章 单片机的D/A与A/D转换器及应用 211
8.1 AT89C51与DAC的接口 211
8.1.1 D/A转换器 211
8.1.2 AT89C51与8位D/A转换器0832的设计 215
8.2 AT89C51与ADC的接口 221
8.2.1 A/D转换器 221
8.2.2 AT89C51与ADC0809的接口 225
8.2.3 AT89C51与AD 1674的接口 227
8.3 AT89C51与V/F转换器 232
8.3.1用V/F实现A/D转换的原理 232
8.3.2常用V/F转换器LMX31 233
8.3.3 V/F转换器与AT89C51接口 234
8.4 D/A与A/D转换器应用实例 236
8.4.1简易直流电源的设计 236
8.4.2简单数字电压表的设计 237
本章小结 239
习题与思考题 240
第9章 单片机应用系统的开发与调试 242
9.1单片机应用系统开发的一般过程 242
9.1.1单片机应用系统设计的性能 242
9.1.2单片机应用系统设计的一般步骤 243
9.2单片机应用系统的仿真开发与调试 245
9.2.1单片机应用系统的仿真 245
9.2.2单片机应用系统的调试 248
9.3单片机的抗干扰性和可靠性设计 250
9.3.1硬件抗干扰技术 250
9.3.2软件抗干扰技术 252
9.4单片机应用系统的开发实例 254
本章小结 260
习题与思考题 261
第10章 典型单片机综合应用系统实例 262
10.1十字路口交通灯控制系统 262
10.1.1设计要求 262
10.1.2设计原理 262
10.1.3仿真结果 267
10.2 8位竞赛抢答器 267
10.2.1设计要求 267
10.2.2设计原理 268
10.2.3仿真结果 272
10.3基于DS18B20的数字温度计 273
10.3.1设计要求 273
10.3.2设计原理 273
10.3.3仿真结果 282
习题与思考题 283
参考文献 284
附录A Proteus软件应用简介 285
附录B Keil C51软件使用简介 302