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