前言
与单片机有关的电子产品开发是单片机技术应用的重要过程。单片机开发包含硬件和软件设计两部分,其中硬件主要指电路和相关的部件,软件主要指运行在单片机内的程序。单片机系统电路由单片机与外部器件按照一定的电气特性连接而成,直观地反映系统的组成结构。由于电路直观易懂,初学者在了解单片机及其外部常用器件的引脚功能与特性基础上,能很快掌握电路的工作原理。
单片机系统功能靠程序运行实现,因此,程序设计是单片机系统开发的重点,也是长期困扰单片机初学者的一个难点。本书把程序设计作为重点内容,并从最简单的项目入门,通过项目引导、任务驱动式学习,逐步带领读者深入学习单片机项目开发的编程技巧。
项目设计更能驱动读者的学习兴趣及创新意识,采用项目教学的方式,也是快速掌握单片机技术的新形式、新手段。本书所列举的单片机项目以实际应用为基础,总结了单片机产品开发实践过程中所涉及的系统、程序和电路,以功能实现为设计目标,设计难度和深度阶梯设置。书中内容从易到难共安排了32个项目,并对所有项目的实现过程做详细的指导。学习过程中,为充分发挥读者的自主学习能力,思考题中的项目只给出了相关的程序和电路,具体的设计步骤由读者自己完成。以上所有项目的程序均采用C语言精简设计,内容完整、运行可靠。程序可以通过仿真电路运行,也可以直接下载到实验开发板上运行。
在所安排的项目集中,项目1~13为单片机程序设计的基础,以8051单片机系列为主,重点训练读者的单片机C语言程序设计能力,其中电子表设计内容为检验程序设计能力的实训项目;项目14~29为提高内容,主要介绍单片机外部器件的应用,以提升读者系统设计能力;项目30~32主要介绍STC系列单片机片内资源的应用技术。部分综合设计项目包含程序设计、电路设计、电路组装与调试,项目的实现要求读者有一定的硬件和软件设计基础。
本书按照单片机技术开发应用深度和难度共分为7章,项目设计内容主要分布在第3~7章中。其中第1章由李国厚编写,主要介绍单片机系统电路组成与设计基础,读者需掌握单片机内部结构和外部一般特性,并对单片机系统运行做简单了解;第2章由曲培新编写,主要介绍单片机开发常用的软件和硬件实验平台,读者需掌握单片机程序设计工具Keil、电路仿真软件Proteus以及市场主流STC系列单片机的程序下载工具;第3、4章由白林锋编写,主要介绍单片机开发技术的基础,在充分挖掘单片机内部资源的基础上,不断深入地讲解单片机C语言程序设计技巧;第5、6章由左现刚编写,主要介绍单片机系统常用的外部器件,是设计复杂单片机系统的硬件和软件的基础;第7章由王应军编写,主要介绍STC系列单片机内部功能部件的应用和程序设计技巧。
为了便于读者快速掌握单片机开发能力,本书所列举的项目从电路设计、程序设计原理入手,并利用电路仿真、硬件运行手段验证项目设计的完整性。配套的B107型实验开发板学习套件提供了项目设计完整的程序和电路,以及相关的教学材料。
本书适合单片机产品开发与项目设计培训人员、单片机技术认证培训人员和单片机相关的竞赛培训人员阅读,也可用于大专院校电子信息类专业的单片机原理与应用课程教学或单片机技术实习、实训指导。由于作者水平有限,书中难免存在错误和不妥之处,敬请广大读者不吝指正。
编者