第1章 AT89S52单片机硬件结构和原理 1
1.1 AT89S52单片机的内部结构及特点 1
1.2 AT89S52单片机引脚及其功能 3
1.3 AT89S52单片机存储器配置 5
1.4定时器 8
1.5复位及复位电路 10
1.6时钟电路及操作时序 11
1.7输入/输出接口 13
思考题及习题 16
第2章 指令系统 18
2.1汇编语言 18
2.2寻址方式 19
2.3 AT89S52单片机的指令系统 21
2.4程序设计语言及编程思路 38
思考题及习题 42
第3章C语言程序设计知识 45
3.1 C51语言基础 45
3.2 C语言程序的基本结构 50
3.3 KeilC的实际应用 59
3.4数码管C编程实例 63
3.5一位数码管显示(静态显示) 65
3.6多位数码管动态扫描显示 67
3.7按键(包括矩阵键盘) 69
3.8电子钟编程(包括数码管选择与显示数据修改) 74
3.9单片机C语言编程技巧与规范 76
3.10用C语言和汇编语言编写的基本程序模块对比 79
3.11 C语言和汇编语言混合编程 83
思考题与习题 91
第4章 中断控制、定时/计数器与串行口 92
4.1 I/O口的控制方式 92
4.2中断控制 94
4.3定时/计数器 107
4.4串行通信系统 141
思考题及习题 167
第5章 液晶屏显示 171
5.1 1602液晶屏 171
5.2 1602的使用 173
5.3常用的程序段和初始化 176
5.4 1602字符型LCD显示演示程序 178
5.5 12864液晶 178
5.6 12864液晶屏显示演示 185
思考题及习题 185
第6章EEPROM 186
6.1 EEPROM和虚拟IIC总线扩展I/O口 186
6.2 IIC总线EEPROM芯片AT24C02 186
6.3 AT24C02的使用 187
6.4常用程序段 191
6.5 AT24C02的具体使用办法 193
6.6将数据写入24C02 193
6.7将数据从24C02中读出 193
6.8 AT24C02断电保护功能编程示范(C语言版) 193
6.9串行扩展AT93C46特点、引脚功能和指令系统 193
6.10 AT93C46读写应用 195
第7章 模数、数模转换器 197
7.1 AD0804介绍 198
7.2 AD0804接口设计 199
7.3由AT89S52读取ADC转换值 201
7.4并行A/D转换器ADC0809及其接口电路 202
7.5串行A/D ADC0832及其接口电路 205
7.6数模转换器 207
7.7测量DAC输出电压值 209
7.8 DAC0832及其接口电路 210
7.9 DAC0832应用 213
7.10 DA/AD转换PCF8591 215
思考题及习题 216
第8章 直流电机与步进电机 217
8.1直流电机介绍 217
8.2直流电机的驱动及控制 218
8.3认识步进电机 219
思考题及习题 223
第9章 实时时钟 224
9.1认识时钟芯片 224
9.2 DS1302的原理与控制 224
9.3实用时钟 229
思考题及习题 229
第10章 温度传感器 230
10.1温度传感器DS18B20 230
10.2 DS18B20工作过程 233
10.3工作时序 235
10.4实例程序 236
10.5热电阻 237
第11章 红外遥控 239
11.1红外遥控基本原理 239
11.2红外遥控器及其编码 240
11.3红外遥控的接收及其解码 241
11.4实例程序 242
附录1 8051指令表 243
附录2 CGRAM中文字符与字符字模关系对照表 246
参考文献 247