单片机原理及应用
2013-4
华中科技大学出版社
当今单片机嵌入式技术已经渗入到我们生活的各个方面,广泛应用于工业控制、仪器仪表、办公设备、汽车电子、医疗仪器、家用电器和娱乐电子等领域。MCS 51系列8位单片机,以其经典的架构、不断扩展的功能、开放的体系和易于实现的控制等特点,盛行30多年而不衰。本书围绕MCS 51这一经典单片机,系统介绍其内部功能结构、软硬件资源的原理与应用,以及以51单片机为核心如何进行扩展外部电路从而提升系统功能的方法。希望通过51单片机的学习,读者能够掌握单片机系统开发的基本思想和方法,而不仅仅只是掌握51单片机技术本身。本着“扎实的基础、开放的思想、实战的能力”的思想,本书力求在内容取舍、顺序编排、实例组织和教学方法上有所改进,使读者能够快速理解单片机内部各功能模块的应用特点,掌握控制电路设计和程序开发的基本工具和方法。从系统功能需求出发,来构思系统硬件和软件的构成,综合硬件与软件各自的优势,对系统各部分构成进行选择,再到实现产品整体设计思想,进而提高综合运用计算机软硬件知识来解决实际问题的能力。本书从应用角度出发,按照汇编和C51语言编程两条线,组织应用实例,让读者以汇编入手,理解程序对单片机硬件直接控制,最终过渡到用C51实现单片机系统编程。所采用的实例既兼顾讲课需要,又可以扩展为实际工程应用。同时书中提供了完整的开发实例,并讲解了开发的基本步骤和开发工具,方便读者通过实际应用掌握单片机应用系统的开发。本书共分10章,主要内容包括计算机基础知识、单片机的硬件结构和原理、汇编指令系统、单片机程序设计、单片机的中断与定时、单片机串行通信、单片机存储器扩展、单片机I/O口扩展、单片机A/D和D/A扩展、单片机综合应用。本书既可以作为高等院校自动化、电气工程及其自动化、计算机应用、通信工程、控制工程、电子信息工程,以及机电类等专业的教学用书,也可供有关院校师生和从事有关单片机应用与产品开发等工作的工程技术人员参考。读者阅读此书,需要掌握一些数字电路和C语言基础方面的知识。本书由武汉理工大学徐汉斌、湖北工业大学商贸学院熊才高、武汉工程大学邮电信息学院刘璐玲、武汉东湖学院蔡丽、武汉理工大学华夏学院肖凌俊编著。第1、4、10章由徐汉斌编写,第2、5章由熊才高编写,第3章由肖凌俊编写,第6、7章由刘璐玲编写,第8章由熊才高、徐汉斌编写,第9章由蔡丽编写。全书由徐汉斌负责整理和统稿。本书在编写过程中参考了相关企业的产品资料和同行作者的有关文献,在此对书中所引用的参考文献、引用的相关教材与资料的作者、译者和出版单位一并表示衷心的感谢!由于编者的水平有限,加之单片机及其应用技术也在不断发展,故书中难免存在不完善及欠妥之处,恳请同行及广大读者批评指正。
第1章计算机基础知识(1) 1.1计算机原理概述(1) 1.2二进制数在计算机中的应用(3) 1.3程序设计常用进制数(9) 1.4BCD码与ASCII码(11) 本章小结(13) 习题(13) 第2章单片机的硬件结构和原理(15) 2.180C51单片机芯片的基本结构(15) 2.280C51单片机的引脚功能(16) 2.380C51单片机的内部组成和内部结构(19) 2.480C51单片机的并行口结构与操作(28) 2.580C51单片机的时序与低功耗(34) 2.680C51单片机的最小系统(38) 本章小结(38) 习题(39) 第3章汇编指令系统(40) 3.1汇编指令格式构成(40) 3.280C51单片机指令的寻址方式(41) 3.380C51单片机指令分类(45) 本章小结(62) 习题(62) 第4章单片机程序设计(65) 4.1程序设计概述(65) 4.2汇编语言的伪指令(66) 4.3C51程序设计基础(68) 4.4程序基本结构形式(75) 4.580C51单片机程序设计举例(80) 4.6Keil与Proteus设计工具(86) 本章小结(100) 习题(100) 第5章单片机的中断与定时(103) 5.1中断概念(103) 5.280C51单片机的中断控制系统(105) 5.380C51中断处理过程(108) 5.4中断的编程和应用举例(110) 5.5单片机的定时/计数器(114) 本章小结(126) 习题(126) 单片机原理及应用目录第6章单片机串行通信(131) 6.1串行通信基础知识(131) 6.2单片机串行口(135) 6.3I2C通信实现(146) 6.4SPI通信实现(155) 本章小结(157) 习题(158) 第7章单片机存储器扩展(159) 7.1存储器分类(159) 7.2单片机并行扩展(160) 7.3存储器并行扩展(165) 7.4存储器串行扩展(174) 本章小结(177) 习题(177) 第8章单片机I/O口扩展(178) 8.1用TTL芯片扩展简单的I/O接口(178) 8.2可编程并行I/O口8255A(180) 8.3单片机键盘扩展(192) 8.4单片机显示扩展(198) 本章小结(207) 习题(207) 第9章单片机A/D与D/A扩展(208) 9.1模数与数模转换(209) 9.2A/D并行转换接口(223) 9.3D/A并行转换接口(234) 9.4A/D与D/A串行转换接口(241) 本章小结(248) 习题(249) 第10章单片机综合应用(252) 10.1单片机应用系统开发的基本方法(252) 10.2时钟秒表设计(257) 10.3A/D和D/A综合应用系统设计(283) 本章小结(301) 习题(301) 参考文献(302)
版权页: 插图: (3)执仃中断服务程序。 中断响应过程的前两步是由中断系统内部自动完成的,而中断服务的执行过程则由用户程序完成。 5.3.3中断的返回 根据单片机中断子系统工作机制,首先CPU响应中断,其次执行中断服务程序,最后返回到曾经被中断过的程序处,继续执行原程序,此过程称为中断返回。另外,根据51系列单片机关于中断返回的规定,中断服务程序的最后一条指令必须使用中断返回指令“RETI”。 RETI指令功能包括以下几点:其一,将中断响应时压入堆栈保存的断点地址弹出送回,CPU从原来中断的地方继续执行程序;其二,将相应的优先级状态触发器置0,通知中断系统,中断服务程序已执行完毕,并可响应低优先级中断源申请。RETI指令有别于子程序返回RET指令。 5.4 中断的编程和应用举例 前几节内容,通过对80C51单片机中断的基本概念、硬件结构、工作原理、特殊寄存器功能和工作流程关系等中断基本知识的学习,初步建立起中断工作机制具有约定性和可编程性的基本特点,为我们应用中断工作方式奠定了理论基础。只有理论联系实际,学以致用,才能真正掌握所学内容,提升应用能力。 从软件的角度看,中断控制实质上就是对4个与中断有关的特殊功能寄存器TCON、SCON、IE和IP进行管理和控制。只要这些寄存器的相应位按照人们的要求进行状态设置,CPU就会按照人们的意志对中断源进行管理和控制。 5.4.1中断程序设计举例 中断的编程具有一定的规律性,又有较大的灵活性。其规律性一方面体现在编程的框架上,即主程序和中断服务程序格局;另一方面体现在相关特殊寄存器的设置上,即初始化设定类似性。其灵活性主要体现在应用对象的多样性上。 1.中断程序设计步骤 80C51单片机中断子系统由IE、IP、SCON和TCON管理,而且它们在上电复位时均为OOH。另外,要考虑栈区的深度和SP的设定。由于中断程序的引入,对主程序人口地址和中断入口地址需重新确定它们的实际地址。根据80C51单片机中断工作机制,其软件由主程序和中断服务组成,有关中断设置称为中断初始化,一般不独立编写,而是包含在主程序中,并根据需要通过几条指令来实现。而中断服务程序是结合实际需要的独立程序段,它为中断源的特定要求服务,以中断返回指令结束。
《高等学校"十二五"规划教材:单片机原理及应用》编辑推荐:MCS51系列8位单片机,以其经典的架构、不断扩展的功能、开放的体系和易于实现的控制等特点,盛行30多年而不衰。《高等学校"十二五"规划教材:单片机原理及应用》围绕MCS51这一经典单片机,系统介绍其内部功能结构、软硬件资源的原理与应用,以及以51单片机为核心如何进行扩展外部电路从而提升系统功能的方法。希望通过51单片机的学习,读者能够掌握单片机系统开发的基本思想和方法,而不仅仅只是掌握51单片机技术本身。