图书前言

前    言

  《单片机原理与应用及C51程序设计》一书自2006年出版后,以其全新的编写思路、鲜明的应用性特色,受到了广大教师及学生的欢迎,重印了9次。2009年修订出版了《单片机原理与应用及C51程序设计(第2版)》,也重印了9次。为了更加适合各院校使用,编者认真听取了广大师生的意见,在《单片机原理与应用及C51程序设计(第3版)》中,我们仍然保留了第1、2版的主体框架和特色,但更加突出应用性,对实例增加了Proteus仿真,对相应的内容做了一些修订和增补调整。

  MCS-51系列单片机应用广泛,是学习单片机技术较好的系统平台,同时也是单片微型计算机应用系统开发的一个重要系列。我们承担了四川省高等教育教学改革工程人才培养质量和教学改革项目“微机、单片机、接口技术系列实验及实践教学改革”,提出的实验及实践教学改革的目标是培养应用型人才。根据理论教学和实践教学的经验,发现学生要想熟练地掌握MCS-51单片机应用系统软件设计,就必须完全理解单片机汇编语言,只有这样,才能理解并掌握MCS-51程序设计。若在用汇编语言讲授单片机原理后另外单独开设一门“MCS-51程序设计”课程,由于时间间隔的原因,学生往往不能与原理很好地联系起来进行对比学习。因此我们尝试在课堂上讲解单片机原理的同时介绍单片机C语言程序设计,避免直到进入实验室或开发实践阶段时才讲授单片机C语言程序设计以及开发环境,这样可以为开设综合实验和创新性实验奠定一定的基础。

  因此本书的目的是想在讲解单片机基本原理的同时,能兼顾汇编语言和C语言两个方面。单片机原理与应用教材大都采用汇编语言讲解和设计程序实例,但汇编语言学习困难。在实际应用系统开发调试中,特别是开发比较复杂的应用系统时,为了提高开发效率和使程序便于移植,现在多用C语言。C语言不仅学习起来容易,而且也同汇编语言一样,能够对单片机资源进行访问,因而目前大多数院校在开设单片机课程时都引入了C语言。但引入C语言后,在选教材时就发现存在两个方面的问题:第一,单片机原理与应用(含单片机C语言程序设计)的教材不多,而兼顾汇编语言和C语言的教材更少,所以可选择的余地较小;第二,单片机C语言方面的教材一般面向开发,不讲原理,属于高级教程,不适合初学者。而我们需要一本在讲单片机基本原理的同时能兼顾汇编语言和C语言两个方面的教材,以避免学生在学习“单片机原理与应用”课程时还要另外参考一本单片机C语言方面的教材。

  基于前边所讲的原因,我们一直按照“同一实例,汇编语言和C语言对比学习”的思路教学并编写教材及改版。在本书的实例中,相同的功能用汇编语言和C语言分别实现,通过用汇编语言和C语言两个方面的编程对比,使学生能够有选择地掌握一种并认识另一种。对于把“单片机原理与应用”及“MCS-51程序设计”作为两门课程分别开设的学校,也可以使用同一本教材,对学习者复习单片机原理及汇编语言知识有很大的帮助。同时,为了提高学生应用设计的能力,还介绍了目前单片机接口常用的接口芯片,列举了几个简单的单片机应用系统开发实例。

1. 第3版内容的调整

  第1章“计算机基础知识”,增加了1.2节“微型计算机的基本结构和工作原理”,为没有学习微机原理课程的读者补充相关的基础知识,学了微机原理课程的读者可以不学,另外,1.3节“单片微型计算机”由以前的1.2、1.3、1.4节合并而成。

  第2章“单片机基本原理”,做了修订。

  第3章“单片机汇编程序设计”,做了修订;3.1及3.5做了相应的修改;把第2版的第4、5章合并到第4章“单片机C语言程序设计”,只保留与标准C有区别的地方;根据实际教学流程及实验安排,把第2版的第12章提前到第5章“Keil C51集成环境的使用”,用汇编程序介绍。

  新增了第6章“Proteus软件的使用”,其中6.2节“Proteus的基本操作”以并口应用做介绍。

  第7章到第10章都增加了Proteus仿真,根据仿真对内容做了相应的调整;把第2版的第10、11章合并到第11章。

  第11章“单片机应用系统设计及举例”,也增加了Proteus仿真,根据仿真做相应的调整,并增加了11.4节“多点温度测量系统的设计”。

2. 本书特点

  本书以实用为宗旨,用众多的实例讲解MCS-51单片机原理和硬、软件开发技术,针对同一功能,同时提供单片机汇编语言源程序和单片机C语言源程序,并实现Proteus仿真,免费提供所有源代码和电路图的资源下载。从实用的角度出发,书中配备了大量的实例,详细描述了实例的具体设计步骤,并提供单片机汇编源程序和单片机C语言源程序的详细代码,并且完整地阐述了单片机应用系统分析和开发的全过程,读者可以此作为进入单片机应用系统开发领域的首次尝试。

  本书与传统的单片机基本原理书籍相比较,更面向实际开发,与单片机C语言程序设计书籍相比,兼顾了单片机原理和汇编语言的讲解,同时提供了Proteus仿真,有利于初学者迅速掌握单片机技术。

  本书图文并茂,实用性强,为便于读者练习和自学,各章均配有少量习题。本书可作为大专院校单片机原理与应用类课程的教材,也可作为单片机原理与应用技术培训班的教材,特别适合打算学习单片机应用系统开发技术的读者,同时可供各类电子工程、自动化技术人员和计算机爱好者参考。

3. 本书内容

  本书共分11章,具体内容如下。

  第1章:计算机基础知识。

  第2章:单片机的基本原理。

  第3章:单片机汇编程序设计。

  第4章:单片机C语言程序设计。

  第5章:Keil C51集成环境的使用。

  第6章:Proteus软件的使用。

  第7章:MCS-51单片机的内部资源及编程。

  第8章:MCS-51单片机常用接口。

  第9章:D/A、A/D转换器与51单片机的接口。

  第10章:MCS-51单片机的其他接口。

  第11章:单片机应用系统设计及举例。

  附录中提供了MCS-51系列单片机指令表、C51运算符优先级和结合规则及C51库函数表,以及单片机相关的网络资源列表,以使读者找到更广阔的学习园地。

4. 如何使用本书

  对于MCS-51单片机的初学者来说,应该从本书的第1章开始进行学习,以了解MCS-51单片机技术的基本知识和MCS-51单片机的使用方法,掌握MCS-51单片机结构和相应接口芯片的具体使用方法,以及与MCS-51单片机汇编语言编程和单片机C语言编程相关的具体技术,学完1~11章,即可达到从事单片机应用系统开发的基本要求。

  对于已经具有一定MCS-51单片机技术基础,比较了解MCS-51单片机的读者来说,可以直接从第4章开始学习,重点理解和掌握使用MCS-51单片机开发应用系统的相关技术,通过对比来掌握单片机汇编语言编程和单片机C语言编程的方法,着重掌握单片机应用系统的开发过程。

  建议本书的理论课安排在60学时左右,实验16学时,如果只学习汇编程序设计或C语言程序设计,理论学习课时可适当地减少。课程学习后,可安排相应的课程设计,以便对学习内容进行巩固和加深理解。

  另外,本书在描述中把MCS-51单片机常简称为“51单片机”,书中采用了Keil ?Vision 4 软件界面,读者在学习过程中也可以采用Keil C51的最新版本,或者可以从本书提供的资源网站中搜索下载其对应的软件包,以供学习和使用。

5. 我们的经验

  根据我们的教学和开发经验,学习单片机技术,特别是学习单片机应用系统开发技术时,关键是让学习者自己迅速地找到适合自己的学习方法,必须在第一时间使学习者看到自己的学习成绩,排除“对硬件设计没有信心,畏惧编程”的心理因素。因此有必要走“依葫芦画瓢”的道路,在实验中模拟开发出简单的应用系统,然后逐渐地由浅入深,逐步进入单片机应用系统开发领域。

  为此目的,本书给出了大量实例,包括硬件电路设计和应用系统开发,我们希望读者通过大量的实例来加深对相关内容的认识和理解,尽快地把理论知识转换为解决实际问题的能力。另一方面,为方便读者快速阅读本书,书中各实例中的所有源代码和电路图均提供下载,读者可以根据自己的实际情况进行选择和使用,建议读者详细阅读第5~11章,并分析电路和程序源代码,最好能够自己在实验室模拟一个单片机应用系统实验项目进行开发练习,以此作为真正的单片机应用系统开发的起步。

6. 致谢

  本书由西华大学的谢维成和成都大学的杨加国、陈斌、杨显富共同编写,谢维成和杨加国担任主编。

  本书第1、2、3、9、11章由杨加国编写,第4章和第7章由陈斌编写,第5、6章由杨显富编写,第8、10章和附录由谢维成编写,最后由谢维成和杨加国统稿完成。另外王胜、郑海春、王孝平、杨帆、龙驹、陈永强、李茜、宋玉忠参与了本书部分图形的绘制及仿真调试工作,在此一并表示感谢。同时感谢参考文献的作者们,本书借鉴了他们的部分成果,他们的工作给了我们很大的帮助和启发。

  尽管《单片机原理与应用及C51程序设计(第3版)》是改版,我们全体参编人员已尽心尽力,但限于自身水平,书中难免出现遗漏和错误之处,恳请广大读者不吝指正。

  

  

  

                                                          编  者  

II

单片机原理与应用及C51程序设计(第3版)

  

III

前言