前言
当今世界科学技术飞速发展,以前需要花费大量的时间和精力来搭建一个模拟电路,同时大量的元器件也增加了产品的成本;而现在只需要一块小小的单片机芯片,写入相应功能的程序,便可以代替以前分立元器件组成的电路了。相信读者掌握了单片机技术后,无论是在产品开发还是工作上,都会有意想不到的惊喜。
本书作者着眼于快速入门、通俗易懂、趣味学习、学以致用的指导思想。以理论与实践相结合为主线,通过通俗易懂的讲解,丰富的实例,图文并茂的编排,以及配套光盘中各程序实例的视频演示录像,使读者能够轻松地掌握单片机的基础知识,并使读者具有初步开发、设计单片机产品的能力。相信读者通过本书的学习,即使是一位单片机的“门外汉”,也能运用单片机的知识来解决一些实际问题,将知识转化为生产力。
本书共分为五部分内容:单片机基础知识、C程序设计知识、单片机入门基础实例、单片机高级应用实例、配套学习套件的使用说明。
单片机基础知识:介绍单片机的发展历史,揭开它的神秘之处。初学者最关心的一个实际问题是单片机到底能够做哪些事?这也是我们要学习单片机技术的理由之一。当我们明确了学习目标后,就需要做好学习实践平台的准备,在本书中将一一为读者进行讲解,如单片机学习的有效方法和途径,单片机的内部结构、引脚定义、存储器、寄存器、定时/计数器、中断系统、串行通信等相关知识,让读者对单片机有实质性的了解。
C程序设计知识:经常会有人问,使用单片机用C语言好,还是用汇编语言好。这两种语言都有各自的特点。汇编语言的优点是比较灵活,但程序不易理解,对产品的升级、维护不太有利;而C语言已有了非常丰富的库函数供用户使用,因为它是高级语言,程序代码的编写也非常人性化,易于阅读、理解,C语言已经成为一门在整个计算机业都普遍应用的语言。因此,本书也是以C语言来进行描述的,我们将会介绍C语言的数据类型、运算符、表达式,分支与循环控制语句,编译预处理与位运算,数组与函数,指针、结构体与共用体等知识,使读者具有C语言程序设计的能力。
单片机入门基础实例:前面几章讲的都是理论知识内容,由于单片机是一门实践性非常强的技术,即使有再多的理论基础,也必须通过较多的实践操作才能真正学好这门技术。因此,在这部分章节中,我们将为读者先引入一系列具有趣味性、简单易懂的基础实验实例,如点亮一个发光管,流水灯控制,按键、蜂鸣器、数码管、继电器的操作和使用,串行通信等。在此,我们暂时不求技术深,只求让读者明白单片机到底是如何来实现我们所需要的特定功能的,我们又是如何通过软件的程序来最终从硬件功能上反映出来的。
单片机高级应用实例:熟悉了前面介绍的基础实例,想必读者已经对单片机有了一定程度的认识,知道实现怎么样的功能,应该写怎么样的程序。在这部分内容中,我们将为读者做一些单片机高级应用实例的介绍,让读者从单片机知识学习的水平升华到产品开发的程度。有液晶显示、步进电动机控制、I2C总线原理、数字温度传感器应用、无线通信控制、SD卡读写、PWM应用、LED点阵显示屏、红外线遥控的软件解码、模-数转换器应用实例、DS1302时钟芯片的应用等。看完这部分内容,相信读者已经跨入了单片机世界的大门,并具有初步的产品开发能力了,剩下的是靠时间来积累实践经验了。
配套学习套件的使用说明:详细地介绍了与本书相配套的AVR单片机综合学习系统的原理与使用方法。“AVR单片机综合学习系统”是综合多年经验开发出的多功能AVR单片机平台。集成常用的单片机外围硬件,提供ISP程序下载和JTAG仿真接口。系统附带众多C语言例子程序,可以让读者在最短的时间内,全面地了解掌握单片机编程技术,特别适合于单片机初学者、大中专院校学生、单片机工程师及实验室选用。这部分内容详细地介绍了如何使用AVR单片机综合学习系统来进行程序编写、开发、设计的全过程。
为了方便广大读者的学习交流,读者可以访问网站http://www.hificat.com来做互相交流。同时,如果读者对本书中所用到的学习器材、设备有兴趣的话,也可以访问我们的网站查询购买方法。当然,更新更详细的学习资料及内容,也都会定期地放到网上供读者使用。
参加本书编写的还有徐金林、卢水英、邵磊、邵晶晶、彭敏芳、戴婧、魏巍、韩珈骏、蔡东琦、孙燕、沈媛媛、徐富军、庄建清、王琴、杨青、杨丹枫、杨莺、许敏、卢剑、金向红等。我们衷心地希望本书能够对从事单片机技术工作的读者有所帮助。
由于本书程序实例和演示图表比较多,作者水平有限,难免会有错误与不妥之处,请广大读者批评指正。
作者
2011年10月