前言 单片机自从20世纪70年代推出以来,经过50多年的发展,由于其可靠性高、体积小巧、抗干扰能力强等特点,因此越来越广泛地应用于工业控制、智能仪器仪表、家用电器等领域。很多高校也都将其重新列入人才培养方案中的必修课程,并作为学习ARM嵌入式系统、FPGA设计等更高级技术的前修课程。 目前关于单片机开发的参考书籍和资料有很多,但大多数要么是过于理论化,要么采用传统的先理论后实践的教学方法。此外,大多数参考资料都将内容重点放在C51语言的基础知识及程序设计方面。编者长期从事单片机和嵌入式系统的教学和科研工作,在多年的教学实践中,对单片机课程的教学大纲和教学内容做了深入的研讨和总结,结合电子信息类等相近专业的人才培养方案和相关课程对毕业要求指标的支撑,对51系列单片机和MCU课程讲授和学习内容的重点做了深入的分析。编者认为: 相对于高端的嵌入式微处理器和系统,单片机硬件结构简单、汇编语言指令系统精简,特别适合作为学习微机原理及接口技术的首选机型。通过对汇编语言的学习,读者能够更深入地理解微机底层的工作原理,编写更为高效的应用程序,为高档微处理器的学习和复杂电子系统的设计打下扎实的基础。建议在单片机和MCU课程的教学过程中,将重点放在汇编语言的介绍,而在后续嵌入式系统等课程中再重点学习嵌入式C语言。 根据上述思想,编者编写了本书,主要介绍51单片机汇编语言程序设计。在此基础上,对C51的基本概念也用了一章的篇幅专门进行介绍。本书的主要特色如下。 (1) 案例式教学、阶梯式学习。 大部分章节在简要介绍相关必备知识(磨刀霍霍)的基础上,提供了大量实践案例,结合介绍51单片机的硬件体系结构和汇编语言程序设计方法。所有实践案例都在Keil μVision 4.0和Proteus 8.15版本上调试通过(小试牛刀),并且对所有案例所涉及的硬件和程序都有详尽的讲解(庖丁解牛)。对于难点内容和相关知识的高级应用,各章也给出了大量的实践案例,以便帮助读者做进一步提升(牛气冲天)。 建议读者首先将各案例上机调试成功,再深入学习案例中相关的理论知识,这样有助于激发学习兴趣和培养学习的自信心。在此基础上,调试各章最后提供的综合案例和设计练习题目,对所学内容做进一步的巩固和提升,以便于读者综合实践能力的培养。 (2) 内容组织合理,体系结构严密。 在传统的资料中,首先都有专门章节全面介绍单片机内部的体系结构和汇编语言指令系统。对于初学者来说,其中很多概念晦涩难懂,也无法立即体验到实际应用效果,造成了严重的学习障碍。本书在前面2章只是对51单片机体系结构和汇编语言中的部分常用指令做了简要介绍,更多的内容融入后续各章的实践案例中,结合案例进行深入学习。 (3) 语言浅显易懂,表述逻辑严密。 编者有高校学报编辑工作背景,因此在语言描述、文字表达等方面具备深厚的文字基础。本书内容与初学者的认知过程相适应,文字表述浅显易懂、内容组织逻辑性强。 本书的主要内容分为10章。 第1章介绍51单片机的基本概念和51单片机的体系结构,其中重点是存储器结构及相关概念。 第2章介绍51单片机汇编语言基础,主要包括51单片机汇编语言程序和指令的基本格式、汇编语言程序中数据的表示方法、51单片机的指令系统中几类常用的指令、单片机中汇编语言指令和程序的执行过程、机器周期和指令周期的基本概念、汇编语言程序调试和原理图仿真工具软件的基本用法。 第3章介绍51单片机的并口与外部中断,主要包括并口的基本结构和使用方法,结合案例介绍指令系统中的位操作指令、条件转移指令、循环移位指令和分支与循环程序的基本结构及编写方法、堆栈的概念和子程序的设计方法、中断的基本概念和51单片机的外部中断。 第4章介绍51单片机系统中常用的人机接口器件及简单人机接口的设计和实现方法,包括LED数码管和矩阵键盘的基本工作原理及其与单片机的接口电路和汇编语言程序设计方法。在此基础上,也结合案例介绍了现代单片机系统中广泛使用的点阵和液晶显示控制技术。 第5章介绍51单片机的定时/计数器和串口,这是51单片机中集成的两大重要资源,主要内容包括定时计数和串行通信的基本概念、51单片机中定时/计数器和串口的基本结构及程序控制方法。 第6章介绍51单片机资源的并行扩展技术,主要包括存储器和并口扩展的基本方法。在此基础上,结合案例介绍了8155扩展芯片的基本使用方法。 第7章介绍51单片机资源的串行扩展技术,主要介绍了广泛使用的3种串行扩展总线协议和接口,包括各种协议的基本概念、单片机实现各种总线接口的基本方法,并通过大量案例介绍了几种典型串行总线接口芯片的基本用法。 第8章介绍51单片机系统中的模拟外设,主要包括DAC和ADC的基本概念和原理、DAC0832和ADC0809的典型应用及其与51单片机的接口设计方法。在此基础上,也结合第7章的内容介绍了采用串行总线接口的MAX1241和PCF8591芯片的基本使用方法。 第9章简要介绍51单片机应用系统设计和开发的基本方法,主要包括应用系统的基本组成、隔离和驱动技术,并结合两个综合案例介绍了应用系统设计和开发的基本步骤与方法。 第10章简要介绍C51程序的基本概念及简单程序的编写方法,主要包括C51程序的基本结构和调试方法、C51程序中的数据类型、存储类型和变量、基本运算、指针与绝对地址访问、函数与中断服务函数。 本书所有内容全部由编者一人撰写而成,确保知识体系的完整性和前后内容的连贯性。在编写过程中也参阅了大量文献,对本书所列参考文献中的各位作者表示衷心感谢。由于时间仓促,书中难免有不足之处,恳请读者批评指正。 随书附赠主要教学资源(请扫描封底书圈二维码,免费注册登录下载): (1) 例题和综合设计题代码; (2) 思考练习题参考解答; (3) 教学PPT; (4) 课程大纲、实验大纲、实验讲义; (5) 重难点讲解微课视频; (6) 部分芯片手册。 编者2024年2月