本书以Intel 8051系列单片机的CPU、中断系统、定时/计数器、串行通信接口及汇编指令系统为重点讨论了单片机原理,并介绍了一些单片机应用系统中常用的器件。为了帮助读者将单片机原理的学习与应用结合起来,本书安排了大量的实验。实验提供了电路原理图、汇编语言程序和C语言程序,读者通过实验可以理解并掌握单片机原理,为读者自行设计单片机应用系统奠定了基础。本书可作为高等学校自动控制、电子信息工程、通信工程、机械电子工程、计算机等电子类专业为本、专科学生开设的“单片机原理与应用”课程的教材,也可用作读者自学的读本。
近十几年,嵌入式芯片的发展如火如荼,应用系统也层出不穷,特别是近几年随着高等教育教学改革的深入进行,编者觉得有必要对《单片机原理与实践指导》进行修订,以适应国家对高等教育教学质量的要求。本次修订对第1版内容进行了全面的改写:第1版的第5章、第9章和第10章经过合并、删除、增加,变成第7章;第1版的第1章、第2章、第4章、第6章、第7章和第8章经过修订,变成第1章~第6章。考虑到先修课程“C语言程序设计”中已对程序设计的基本思想和方法做了详细的讲解,而且在单片机系统开发时往往使用C语言编程,因此删除了第1版中的第3章汇编语言程序设计;但是,初学者仍有必要掌握汇编语言,使用汇编语言编程进行实验有助于真正理解单片机原理。第1版给出了并口下载线电路,考虑到目前许多计算机没有并口,编者在第2版中设计了一个简单的USB下载线,附录中提供了该下载线的电路原理图和C语言程序,读者可以自行制作下载线。修订后,本书安排了大量的实验内容,并提供了相应的实验电路、汇编语言程序和C语言程序,读者可以先按照实验程序进行实验,然后再修改程序进行实验,后达到完全根据自己的思路编写程序的目的。万丈高楼平地起,如果能够真正掌握MCS-51系列单片机的原理与应用,将有助于学习其他更复杂的微控制器原理。希望对嵌入式系统设计有兴趣的读者能够从本书出发,通过对单片机原理与实验的学习,逐步提高专业水平。本次修订分工如下:邓兴成任主编并完成第1章和附录的编写,童强完成第2、3章的编写,周大鹏完成第4章的编写,常峰完成第5章的编写,何长涛完成第6章的编写,王刚完成第7章的编写。全书由邓兴成统稿。另外,修订过程中,周麒龙同学整理了部分书稿,在此表示感谢!读者在学习本书的过程中若发现错误与不足,或者学习中有什么疑问,请发邮件,我们一起解决问题。邮箱:dengxc@uestc.edu.cn。
目录
第2版前言
第1版前言
第1章内部结构与系统结构1
1.1单片机的引脚功能及
系统结构1
1.1.1单片机的引脚功能1
1.1.2单片机系统的结构8
1.1.3单片机的小系统11
1.2单片机的内核结构11
1.2.1CPU内部的特殊功能寄存器13
1.2.2存储器结构20
1.3单片机的时序25
1.3.1机器周期与指令周期25
1.3.2状态序列25
1.3.3片外存储器的读/写时序27
1.4单片机的工作方式29
1.4.1复位方式29
1.4.2节电方式30
1.4.3看门狗定时器31
1.5实验32
1.5.1Keil C51使用简介32
1.5.2程序下载36
1.5.3LED亮灭37
1.5.4流水灯39
1.5.5看门狗定时器40
1.5.6堆栈操作42
本章小结43
习题一44
本章参考文献44
第2章指令系统45
2.1指令系统概述45
2.1.1指令分类45
2.1.2指令格式45
2.1.3指令字长和指令周期46
2.1.4符号约定46
2.2寻址方式47
2.2.1直接寻址47
2.2.2立即寻址48
2.2.3寄存器寻址49
2.2.4寄存器间接寻址49
2.2.5变址寻址50
2.2.6相对寻址51
2.2.7位寻址52
2.3数据传送类指令52
2.3.1内部数据传送指令52
2.3.2堆栈操作指令55
2.3.3数据交换指令55
2.3.4外部数据传送指令57
2.3.5查表操作指令58
2.4算术运算和逻辑运算指令59
2.4.1算术运算指令59
2.4.2逻辑运算指令64
2.5控制转移和位操作指令68
2.5.1控制转移指令68
2.5.2位操作指令72
2.6MCS-51系列单片机
常用伪指令75
2.7实验78
2.7.1指令练习78
2.7.2非编码键盘扫描83
2.7.3软件仿真86
本章小结88
习题二88
本章参考文献89
第3章中断系统90
3.1中断系统概述90
3.1.1中断的定义和作用90
3.1.2中断源91
3.1.3中断系统的功能92
3.2单片机的中断系统92
3.2.1中断源和中断标志位92
3.2.2中断请求的控制94
3.2.3中断控制系统96
3.2.4中断嵌套97
3.2.5中断响应98
3.2.6中断响应的时序98
3.2.7中断向量地址99
3.3现场的保护和恢复101
3.4中断源的初始化101
3.5外部中断源的扩展103
3.6实验105
3.6.1外部中断105
3.6.2节电方式的退出109
本章小结111
习题三111
本章参考文献111
〖1〗目录〖1〗单片机原理与实践指导第2版第4章定时/计数器112
4.1定时/计数器概述112
4.2定时/计数器的控制113
4.2.1T0和T1的控制113
4.2.2T2的控制115
4.3定时/计数器的初始化116
4.3.1初始化步骤116
4.3.2计数初值的计算117
4.4定时/计数器的工作方式118
4.4.1T0和T1的工作方式118
4.4.2T2的工作方式123
4.5定时误差的校正132
4.6定时/计数器的简单应用133
4.7实验137
4.7.1简单交通灯137
4.7.2T0和T1用作外部中断源139
4.7.3T2用作外部中断源142
4.7.4单片机电子时钟145
本章小结151
习题四151
本章参考文献152
第5章串行通信接口153
5.1串行通信153
5.1.1同步通信153
5.1.2异步通信153
5.1.3串行通信的制式155
5.2串行口的工作方式156
5.2.1串行口控制寄存器156
5.2.2串行口的工作方式159
5.2.3多机通信*166
5.3串行通信接口电路167
5.3.1RS-232接口电路167
5.3.2USB转串口电路169
5.4实验170
5.4.18段数码管的静态显示170
5.4.2单片机与计算机间的通信173
本章小结178
习题五178
本章参考文献179
第6章存储器扩展180
6.1非易失性存储器180
6.1.1并行接口EEPROM180
6.1.2I2C接口EEPROM*182
6.1.3SPI接口EEPROM*191
6.2易失性存储器202
6.2.1并行接口RAM202
6.2.2SPI接口RAM*203
6.3存储器扩展214
本章小结215
习题六216
本章参考文献216
第7章I/O接口与常用外设扩展217
7.1I/O接口扩展217
7.1.1并行I/O接口扩展217
7.1.2串行I/O接口扩展*234
7.2显示与键盘236
7.2.1液晶显示器237
7.2.2键盘*240
7.3A/D转换器242
7.3.1并行A/D242
7.3.2串行A/D*248
7.4D/A转换器255
7.4.1并行D/A255
7.4.2串行D/A*263
7.5单总线温度传感器*265
7.5.1工作原理265
7.5.2操作命令说明267
7.5.3电路连接270
7.5.4工作时序271
7.6实验273
7.6.18155H基本I/O方式273
7.6.28155H选通输出方式280
7.6.3A/D转换282
7.6.4D/A转换284
7.6.5温度检测及液晶显示285
本章小结296
习题七296
本章参考文献296
附录298
附录A简易USB接口下载线298
附录BMCS-51系列单片机
指令表309
附录CMCS-51系列单片机指令与
代码对照表313