前言
当前,单片机作为嵌入式微控制器在工业测控系统、智能仪器和家用电器中得到广泛应用。虽然单片机的品种很多,但MCS-51系列单片机仍不失为单片机中的主流机型。在众多的MCS-51系列单片机中,以Atmel公司的AT89Sxx系列单片机应用最为广泛。本书所有案例项目的设计均以AT89S52单片机作为核心来介绍。
单片机的编程语言主要有汇编语言和C语言两种。其中,由于C语言在易用性、可读性、可移植性、代码开发效率等诸多方面的优势,已被越来越多的单片机开发人员所选用。鉴于此,本书所有案例均以C51语言开发。
单片机系统开发工具有多种,在硬件设计方面,本书选择简单易用的Protel99SE作为电路和PCB设计软件;在软件设计方面,选择KeilC51集成开发环境作为软件开发平台。同时,选择目前十分流行的Proteus单片机仿真软件作为简单应用系统设计的软件仿真平台,读者可在第4~10章的案例中系统学习这方面的知识。
本书通过对30个单片机应用系统案例设计过程的详细介绍,向读者全面地讲解单片机应用系统的设计过程、设计方法、注意事项等,每个案例均给出了完整的电路原理图说明,软件源码及代码注释。希望读者学习本书后能在系统设计和单片机编程方面有所提高,并能进行实际项目的开发。
本书共分10章,各章内容介绍如下:
第1章主要介绍MCS-51单片机的基础知识。通过简明扼要的介绍,使读者对51单片机的硬件结构、各个组成系统有一个完整的认识,以便在后面的案例学习中能从整体上把握单片机的系统设计。同时本章还详细介绍了本书使用的AT89S52单片机的引脚图和引脚说明。
第2 章主要介绍51 单片机开发环境的建立。分别介绍了硬件设计环境的建立,包括Protel99SE的使用,开发工具的选择,硬件开发所需的仪器等。软件开发环境的建立,包括KeilC51 集成开发环境的整体结构,KeilC51的使用。同时本章还介绍了如何使用KeilC51+Proteus搭建单片机开发的软件仿真平台及其使用方法。
第3章主要介绍单片机应用系统设计的必备知识。分别介绍了单片机应用系统的结构,单片机系统硬件的设计原则及方法和注意事项,单片机软件系统的设计原则及方法和注意事项等。另外,本章还详细介绍了单片机应用系统的软硬件抗干扰设计技术。
第4~7章主要介绍20个单片机简单应用系统的设计。这20个案例覆盖了单片机系统设计的常见模块设计和接口技术。内容包括单片机的定时器/计数器的应用、单片机的串行通信技术、单片机的系统扩展技术、单片机应用系统的接口技术、A/D与D/A转换技术。这些技术是后续进行单片机复杂应用系统设计的基础,读者务必熟练掌握。另外,为方便读者学习,这4章所有案例均可以在Keil + Proteus中进行系统仿真测试。
第8~10章主要介绍10个单片机综合应用系统的设计。这10个综合案例,均是在第4~7章的基础上进行一些模块的功能整合或扩充而成,由浅入深重点介绍了一些新模块的设计和新技术的应用,着重教会读者如何进行大规模系统的综合设计。这些案例,有些已经通过了实际项目的检验并运行良好。
本书的特点是语言简洁、图表丰富、案例代码完整且有详细的注释。案例覆盖了单片机开发过程中常见的模块设计和接口技术,部分案例已经经过了实际项目的验证并已规模应用。
本书可作为已有单片机C语言开发相关知识并想学习系统级设计技术的学生学习,也可供相关专业学生课程设计、毕业设计参考,还可以供单片机开发工程技术人员及爱好者阅读参考。
本书主要由袁东编写,另外参与本书编写的还有高淑娟、袁东、王丽娜、周毅、林小峰、刘刚、马海波、李强、吴慧、马玉刚、冯浩、唐爱琴、李子龙、王明明、蒋志等同志,在此感谢他们的辛勤劳动,以及所有在本书编写过程中给予帮助的人。
本书取材于编者实际的项目工作,案例丰富,图表清晰,代码翔实,内容覆盖面广。希望本书能对想进一步学习单片机系统设计的读者有所帮助。由于时间紧迫,案例复杂,程序和图表较多,加之编者水平有限,难免有误漏之处,恳请读者批评指正。
编者
2011年3月