单片机是单片微型计算机,它是针对控制与检测应用而设计的,也称为微控制器。它具有芯片体积小、集成度高、功能强、抗干扰能力强、性价比高等特点,被广泛地应用在工业自动化、仪器仪表、航空航天、消费电子、电力电子、汽车电子、计算机外设等领域。自20世纪80年代MCS51系列单片机问世以来,经历了三十多年发展,在共享Intel公司8051内核技术的基础上,众多的半导体公司经过不断的技术更新,推出了庞大的系列兼容产品,使MCS51系列单片机依然在各个应用领域扮演着重要的角色。
本书为普通高等学校和高等职业学校的电气工程及其自动化、自动化和其他相关专业编写,希望通过学习本书的内容,掌握MCS51单片机的工作原理及其使用方法,掌握MCS51单片机的硬件接口设计和汇编语言设计方法,了解单片机应用的方式和开发步骤。本书也可作为从事单片机技术开发的技术人员的参考书。
本书共分为10章,第1章为单片机概述和相关的数学基础知识。第2章介绍了单片机的内部结构和工作原理。第3章采用例程解释指令功能的方法,详细地介绍了指令系统及指令的用法。第4~6章分别介绍了单片机的中断系统、定时器/计数器和串行口的工作原理,通过应用案例系统地讨论了它们的使用方法。第7~10章为单片机的基本应用技术,包括汇编语言程序设计、存储器扩展、基于并行接口的I/O口扩展和串行总线接口的I/O扩展等内容,系统地介绍了常见典型程序的设计方法,阐述了存储器、键盘、显示器、I/O接口、D/A、A/D等扩展技术。为了兼顾强化应用和便于自学的目的,书中提供了大量的例程和应用实例,并对其进行了较细致的论述,在每章之后设计了针对性较强的习题。
本书在再版时,继承了第1版的特色,重视基础理论,强调应用能力的培养,通过例题和应用实例引导读者理解和掌握知识点,力求做到循序渐进、深入浅出、结合实际、面向应用。同时,对第1版的内容做了删减和补充:
(1) 因为Intel 8279在实际应用中使用较少,本书删除了键盘/显示器接口芯片8279的内容。
(2) C8051F系列单片机是一款高档的、基于8051内核的单片机,其结构复杂,由于篇幅限制,不能清楚地阐述它的构成和原理,因此,删除了第1版的第11章关于C8051F×××的内容。
(3) 针对目前串行总线接口技术的应用越来越广泛,重新编写了第10章,重点介绍了基于8051单片机接口模拟I2C和SPI总线的方法及其应用。并在第3章和第9章介绍了基于单片机接口模拟芯片时序的程序设计方法和应用例程。
(4) 对第8章和第9章的内容进行了调整,删除了第8章有关EEPROM芯片28C64的内容,充实了键盘处理程序的设计例程。
(5) 重新设计了课后复习思考题,以便读者自测和复习。
在吸收近年国内外同类教材优点的基础上,经过改版,本书具有以下几个方面的特点:
(1) 例程和应用实例丰富,采用流程框图、思路说明和源代码注释多种方式解释设计方法,复习思考题覆盖知识面广,便于读者自学。
(2) 指令系统功能用实例解释,把指令的功能和用法融合在例程中,便于正确地理解和使用指令。
(3) 针对中断系统、定时器、串行口、接口技术等应用性较强的内容,总结了应用程序设计的基本步骤和框架,设计了多种应用的实例程序,便于读者掌握和理解其应用的难点和实现方法。
本书适用课时为32~72学时,并在授课的同时安排适当学时的课程实验。
本书由长安大学电子与控制工程学院的段晨东教授主编,第1~7章、第10章由段晨东编写,第9章由长安大学电子与控制工程学院的张文革高级工程师编写,第8章及附录部分由长安大学电子与控制工程学院的李斌高级工程师编写,全书由段晨东统稿。在编写过程中研究生魏文同学参与了第10章的例程设计和调试工作。研究生魏文、王慧娟、谷文婷、高精隆、李常磊、高鹏同学参与了文稿的初查和程序的测试工作,并一起完成了课后复习思考题的解答工作。另外,他们采用Proteus对书中应用部分的例程进行了模拟调试和功能验证。在本书再版编写时,长安大学电子与控制工程学院的高云霞副教授、西安工程大学的于长丰副教授提出了宝贵的意见,在此表示诚挚的谢意。作者在书中采用了部分单片机网络论坛上的例程及实现方法,由于难以在参考文献中注明,在此对其作者表示敬意。
单片机技术具有不断发展、应用性强、涉及知识面广的特点,由于作者的理论水平、实践经验和从事研究领域的局限性,书中难免存在不足和错误之处,希望读者不吝赐教。
段晨东
2013年6月