前言
MCS-51系列单片机的应用很广泛,是学习单片机技术较好的系统平台,同时也是开发单片机应用系统的一个重要CPU系列。目前,单片机原理与应用教材大都采用汇编语言讲解和设计程序实例,但汇编语言学习起来会比较困难。在实际的应用系统开发调试中,特别是开发比较复杂的应用系统时,为了提高开发效率和使程序便于移植,现在多用C语言。C语言不仅学习方便,而且同汇编语言一样也能够对单片机的资源进行访问,因而目前大多数院校在开设单片机课程时都引入了C语言。但引入C语言后,在选用教材时发现存在几个方面的问题:
第一,单片机原理与应用(含单片机C语言程序设计)的教材很多,而兼顾汇编语言和C语言的教材很少,所以可选择的余地较小。
第二,单片机C语言方面的教材一般面向开发,不讲原理,属于高级教程,不适合初学者。
第三,在减少学分的大背景下,有的学校在未开设“微型计算机原理”课程的情况下直接开设“单片机原理及应用”课程,目前的大部分单片机技术教材显得入门困难。
而我们需要一本在不开设“微型计算机原理”课程的情况下,直接学习单片机技术的教材。可以在讲单片机基本原理的同时能兼顾汇编语言和C语言两个方面,以避免学生在学习“单片机原理与应用”课程时还要另外参考一本单片机C语言方面的教材。基于此,我们在2005年承担了四川省高等教育教学改革工程人才培养质量和教学改革项目“微机、单片机、接口技术系列实验及实践教学改革”,并于2008年获得四川省高等教育教学成果奖三等奖。我们提出的实验及实践教学改革的目标是培养应用型人才。根据理论教学和实践教学的经验,我们发现学生要想熟练掌握MCS-51单片机应用系统软件设计,就必须完全理解单片机汇编语言,只有这样才能理解并掌握C51程序设计。因此我们在课堂上讲解单片机原理的同时兼顾汇编语言和C语言两个方面,对比讲解,效果明显,避免直到进入实验室或开发实践阶段时才讲授单片机C语言程序设计及开发环境,为开设综合实验和创新性实验及单片机应用系统设计奠定一定的基础。
2006年我们在清华大学出版社出版了《单片机原理与应用及C51程序设计》一书,以其新的编写思路、鲜明的应用性特色,受到了广大教师与学生的欢迎,已经重印9次。2009年对第1版进行了修订和补充,出版了《单片机原理与应用及C51程序设计(第2版)》,更加适合各院校使用,已经重印8次。编者认真听取了广大师生的意见,为解决未开设“微型计算机原理”课程直接开设“单片机原理及应用”课程的需求,均衡内容与篇幅,我们保留了《单片机原理与应用及C51程序设计》的核心思路,增加了“微型计算机原理”的基础知识,并重新组织了内容,分成单片机原理、接口及应用系统设计三部分讲解,更加突出应用系统设计方法,适当加入了Proteus ISIS仿真的内容,特别增加了单片机应用系统设计实训参考方案的内容。
在本书的实例中,相同的功能分别用汇编语言和C语言来实现,通过用汇编语言和C语言两个方面的编程对比,使学生能够有选择地掌握一种语言并认识另一种语言。同时,为了提高学生应用设计的能力,还介绍了目前单片机接口常用的接口芯片,列举了几个简单的单片机应用系统开发实例。
1.本书特点
本书以实用为宗旨,用众多的实例讲解了MCS-51单片机原理和软硬件开发技术,针对同一功能,同时提供单片机汇编源程序和单片机C语言源程序,读者可以此作为进入单片机应用系统开发领域的首次尝试。
本书与传统的单片机基本原理书籍相比较,更面向实际开发,与单片机C语言程序设计书籍相比,兼顾了单片机原理和汇编语言的讲解,有利于初学者迅速掌握单片机技术,并且可以在未学“微型计算机原理”的情况下直接学习“单片机原理及应用”。
本书图文并茂,实用性强,为便于读者自学和练习,各章均配有少量习题。本书可作为大专院校单片机原理与应用类课程的教材,也可作为单片机原理与应用技术培训班的教材,特别适合于打算学习单片机应用系统开发技术的读者,同时可供信息、测控、计算机、机电、自动化等各类技术人员和计算机爱好者学习参考。
2.本书内容
本书共分11章,从内容上可分4部分,具体内容如下。
第一部分:单片微机系统原理
第1章,计算机基础知识及微处理器,主要介绍单片微机系统必备的基础知识、微处理器和单片机。
第2章,MCS-51单片机原理与结构,详细介绍MCS-51单片机的工作原理。
第3章,MCS-51单片机指令系统,介绍包括寻址方式、MCS-51单片机指令系统等汇编源程序设计的相关技术细节。
第4章,MCS-51单片机程序设计,主要介绍MCS-51单片机汇编程序设计和C语言程序设计,并列举了大量实例及详细代码,在应用的时候可以直接修改使用。
第二部分:单片机接口技术及应用
第5章,MCS-51单片机常用接口。
第6章,MCS-51单片机与D/A、A/D转换器的接口。
第7章,MCS-51单片机的其他接口。
第三部分:单片机应用系统设计
第8章,单片机应用系统设计及举例,用3个简单的单片机应用系统设计为例来讲解单片机应用系统的设计技术。
第9章,Keil μVision IDE集成环境的使用。
第10章,Proteus软件的使用。
第11章,单片机应用系统设计实训。
第四部分:与单片机技术相关的附录
附录中提供了MCS-51系列单片机指令表和C51的库函数,以及与单片机相关的资源网站列表,以使读者找到更广阔的学习园地。
3.如何使用本书
对于未学习“微型计算机原理”课程的读者或者MCS-51单片机的初学者来说,应该从本书的第1章开始进行学习,以了解微机的工作原理和MCS-51单片机技术的基本知识,掌握MCS-51单片机结构和相应接口芯片的具体使用方法,以及与MCS-51单片机汇编语言编程和单片机C语言编程相关的具体技术,学完第1~11章,即可达到从事单片机应用系统开发的基本要求。
对于已经具有一定MCS-51单片机技术基础,比较了解MCS-51单片机的读者来说,可以直接从第4章开始学习,重点理解和掌握使用MCS-51单片机开发应用系统的相关技术,通过对比来掌握单片机汇编语言编程和单片机C语言编程的方法,着重掌握单片机应用系统的开发过程。
建议本书的理论课安排50~60学时,实验16学时,如果只学习汇编程序设计或C语言程序设计,理论学习课时可适当减少。课程学完后,可安排相应的应用系统设计实训或课程设计,以便对学习内容进行巩固和加深理解。
另外,本书在描述中把MCS-51单片机简称为“单片机”,书中采用了Keil C51和Proteus ISIS软件界面,读者在学习过程中也可以采用Keil C51和Proteus ISIS的最新版本,或者从本书提供的资源网站中搜索下载其对应的软件包,以供学习和使用。若需要单片机应用系统设计实训母板的读者,可联系scxweicheng@yahoo.com.cn。
4.我们的经验
根据我们的教学和开发经验,学习单片机技术,特别是学习单片机应用系统开发技术,关键是让读者迅速找到适合自己的学习方法,在第一时间使读者看到自己的学习成绩,排除“对硬件设计没有信心,畏惧编程”的心理因素。因此有必要走“依葫芦画瓢”的道路,在实验中模拟开发出简单的应用系统,然后由浅入深,逐步进入单片机应用系统开发领域。
为此本书给出了大量实例,包括硬件电路设计和应用系统开发,我们希望读者通过大量的实例来加深对相关内容的认识和理解,尽快地把理论知识转换为解决实际问题的能力。另一方面,为方便读者快速阅读本书,书中各实例中的所有源代码和电路图均可从华信教育资源网www.hxedu.com.cn免费下载,读者可以根据自己的实际情况进行选择和使用,建议读者详细阅读第5~11章,并分析电路和程序源代码,最好能够自己在实验室中选择一个单片机应用系统实训项目进行开发练习,以此作为真正的单片机应用系统开发的起步。
5.致谢
本书由西华大学的谢维成、蒋文波和成都大学的杨加国、杨显富共同编写,谢维成和杨加国担任主编,蒋文波、杨显富担任副主编。
本书第1、9章由蒋文波编写,第2、3、5、6章由杨加国编写,第4、7、8、11章由谢维成编写,第10章和附录由杨显富编写,最后由谢维成和杨加国统稿完成。另外,王胜、郑海春、王孝平、陈永强、赵华颖参与了本书部分章节图形的绘制以及程序的调试工作,在此一并表示感谢。同时感谢参考文献中提到的作者,本书借鉴了他们的部分成果,他们的工作给了我们很大的帮助和启发。
尽管我们全体参编人员已尽心尽力,但限于自身水平,书中难免出现遗漏和错误之处,恳请广大读者不吝指正。
编者