温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
单片机
技术
C51
程序设计
普通高等教育机电类“十三五”规划教材 本书获福州外语外贸学院学术著作出版基金资助 单片机技术及C51程序设计(第 2 版)唐 颖 阮 越主 编 程菊花 任条娟 谭保华副主编 黄震梁参 编 内 容 简 介 全书分为 11 章,内容包括单片机的基本概念、MCS-51 系列单片机内部结构、指令系统和汇编语言程序设计、Keil C51 语法及程序设计、MCS-51 系列单片机内部硬件资源及应用、系统功能的扩展、键盘与显示接口、A/D 与 D/A 转换接口、单片机的其他接口、综合应用实例、单片机应用系统设计等。第 14 章主要介绍 MCS-51 单片机的内部结构、指令系统和 C51 结构,从第 5 章开始介绍 MCS-51 系列单片机的接口及应用。本书除了在第 19 章中给出许多相关实例,还专门在第 10、11 章,给出了大量的设计性实例和系统设计实例。本书中的实例一般采用汇编语言与 C 语言编程对照的方式编写,仅在第 10、11 章较复杂的实例中采用 C 语言编程。力求通过应用实例,使读者在学习中既可以进行类比编程,又可以开阔思路,提高实际编程效率和工作能力。本书按照培养应用型本科人才的教学要求编写,语言通俗易懂,内容翔实、实用性强。适合作为各类普通高校相关专业、相关课程的教材或教学参考书,也可作为需要使用单片机技术的工程技术人员的实用参考书。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容 版权所有,侵权必究 图书在版编目(CIP)数据 单片机技术及 C51 程序设计/唐颖,阮越主编2 版北京:电子工业出版社,2017.1 普通高等教育机电类“十三五”规划教材 ISBN 978-7-121-30503-0 I.单 II.唐阮 .单片微型计算机C 语言程序设计高等学校教材 .TP368.1 TP312.8 中国版本图书馆 CIP 数据核字(2016)第 287103 号 责任编辑:郭穗娟 印 刷:装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:7871 092 1/16 印张:20.5 字数:525 千字 版 次:2012 年 6 月第 1 版 2017 年 1 月第 2 版 印 次:2017 年 1 月第 1 次印刷 定 价:45.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询方式:(010)88254502, 第 2 版前言 随着单片机制造技术的飞速发展及其开发条件的普及,单片机开发的产品已广泛地应用在家电、通信、医疗设备、工业控制、航空航天和军事方面。其中,MCS-51 系列单片机是各高校进行单片机教学的典型机型,在我国得到了较广泛的应用。为了适应本科单片机课程的应用性教学改革及缩小学校教学和企业应用之间的距离,2012 年编者在电子工业出版社的大力支持下,出版了本书第 1 版。第 1 版教材以传统的汇编语言与单片机 C 语言对照编程的方式,介绍了 MCS-51 系列单片机的原理、结构及应用设计,较好地达到了通过汇编程序设计帮助学生更好地理解单片机的内部结构与特性,并通过 C 语言程序设计提高学生的综合设计与实际应用能力的教学目的。本书第 1 版经过在 4 年多的使用,编者也感到了原内容在单片机接口应用和多方位实例介绍等方面还存在不足。因此,借单片机技术及 C51 程序设计(第 2 版)教材出版的机会,针对原教材的不足之处进行了修订,具体修改内容如下:(1)为了加强大部分初学者对数字、字符等信息在计算机内存储方式的认知,在第 1 章“基础知识”中增加了一节“信息在计算机中的表示方法”,重点介绍补码在计算机运算中的应用特点。(2)在实际应用中,常常会碰到需要汇编语言与 C 语言和混合编写的问题。因此在第 4章中增加了一节“汇编语言与 C 语言混合编程”,重点介绍汇编语言与 C 语言混合编程的编程规则。(3)为了加强读者对单片机内部硬件资源的理解和应用,在第 5 章中对中断系统和定时/计数器的实例进行了增加与修改,以求更全面、更详尽地介绍它们的设计和应用方式。(4)为使教学内容更符合学生的认知过程,在对第 4、7 章中的内容进行局部修改的基础上对部分小节的顺序进行了调整。(5)为了加强对单片机外部接口应用的教学,使学生更多地接触各类常用的接口器件,在介绍基本接口(按键、LED 数码管、A/D 转换器、D/A 转换器)的基础上,增加了第 9 章“MCS-51系列单片机的其他接口”的内容。在这章中主要介绍了常用的单片机与液晶显示器、时钟日历芯片、I2C 总线芯片的接口及编程方法,为开展单片机综合设计及接口应用的实践教学提供了方便。单片机技术及 C51 程序设计(第 2 版)IV(6)注重实践能力的培养是本教材编写的出发点。为使读者更好地掌握各章节的内容和知识点,对每章后的习题进行了精心的编排,增加一些章节的习题量,使其能尽量涵盖所学的知识点,起到复习和巩固知识的作用。本书由浙江树人大学的唐颖、阮越、程菊花、任条娟、黄震梁和湖北工业大学的谭保华共同编写。全书由唐颖、阮越主编并统稿。在本书的编写过程中,借鉴了许多教材的宝贵经验,在此谨向这些作者表示诚挚的感谢。由于编者水平有限,时间仓促,不妥之处在所难免,衷心希望广大读者批评指正。编 者 2016 年 10 月 第 1 版前言 MCS-51 系列单片机是各高校进行单片机教学的典型机型,在我国得到了较广泛的应用。以往单片机原理及应用课程的教学基本上都是采用汇编语言进行讲解和设计程序的,虽然汇编语言编写程序具有对硬件操作方便,编写的程序代码短、实时性强等优点,但可读性和可移植性都较差。当前,单片机的种类很多,企业选用的单片机也不尽相同,而各大学所讲授的大多是 51系列单片机。由于不同种类单片机的指令系统不同,汇编语言不能通用,且编程繁杂。为培养能尽快适应社会需求的应用型技术人才,使毕业生到企业后,面对各种不同类型的单片机,不需要经过再学习就能直接上手,我们对单片机的教学进行了改革,根据掌握知识结构的规律和实际应用的要求,在单片机的教学内容中增加了用 C 语言程序设计实现单片机应用的内容,使教学能更紧密地与企业人才需求相结合。单片机技术是一门应用性很强的专业课,其理论和实践技能是从事电类专业技术人员所不可缺少的。作者多年从事“单片机原理及应用”课程的教学与实践指导,因此希望能将其教学积累加入教材,对教材进行重新改编。本教材中单片机的机型选用 51 系列单片机,结合目前应用非常广泛的 C51 程序设计及 Keil C51 编译器,在汇编程序设计的基础上,增加了用 C 语言进行单片机程序设计的内容,且加入 C51 编程方法的教学与实践,以配合教学内容的改革。在教材的编写中,作者非常重视理论与实践的密切结合。书中给出了很多应用实例,且采用汇编语言与 C 语言对照编程的方法,力图通过汇编程序设计来帮助学生更好地理解和掌握单片机的内部结构与特性,同时通过 C 语言程序设计来提高学生的综合设计和实际应用能力。本教材的特点主要体现在:(1)深入浅出地介绍单片机内部结构和指令系统,通过简单的汇编程序理解和加深对单片机内部结构,特别是存储器和并行口的理解。(2)增加单片机 C 语言应用程序设计内容,注重实例的引导。在程序设计的编写中,采用由实例引导,总结、归纳语法的方式,轻松地引导读者进入 C 语言编程的环境,尽量减少枯燥和压力感。(3)在单片机接口、应用等章节中,同一示例的讲解分别采用汇编和 C 语言两种编程方式进行对比,以达到能同时兼顾汇编语言和 C 语言两个方面的教学目的。(4)注重实践能力的培养。本书除了在每个应用章节中给出许多的相关实例,还专门组织了第 9、10 章,给出大量的设计性实例和系统设计实例,作为前几章学习后的综合应用,供实验、课程设计及学生课外设计时参考。单片机技术及 C51 程序设计(第 2 版)VI 本书由浙江树人大学的唐颖、程菊花、任条娟、谭保华、黄震梁、阮越共同编写。其中第1、2、7、8 章由唐颖编写,第 5、6 章由程菊花编写,第 3 章由任条娟编写,第 4 章及 10 章的部分章节由黄震梁编写,第 9、10 章的部分章节由阮越编写,由唐颖主编并统稿完成。在本书的编写过程中,借鉴了许多教材的宝贵经验,在此谨向这些作者表示诚挚的感谢。由于编者水平有限,时间仓促,不妥之处在所难免,衷心希望广大读者批评指正。编 者 2012 年 2 月 目 录 第 1 章 基础知识.1 1.1 信息在计算机中的表示方法.1 1.1.1 数在计算机内的表示.1 1.1.2 字符在计算机内的表示.5 1.2 单片机的基本概念和特点.5 1.2.1 基本概念.5 1.2.2 单片机的主要特点.6 1.3 单片机的发展概况及应用领域.7 1.3.1 发展概况.7 1.3.2 单片机的应用.10 1.4 单片机主要类型介绍及分类.10 1.4.1 常用系列单片机产品及性能简介.10 1.4.2 MCS-51 系列单片机分类.12 1.4.3 AT89 系列单片机分类.14 1.4.4 其他公司的 51 系列单片机.15 本章小结.15 习题 1.16 第 2 章 MCS-51 系列单片机的内部结构和引脚.17 2.1 MCS-51 系列单片机内部结构和引脚说明.17 2.1.1 MCS-51 系列单片机内部结构框图.18 2.1.2 MCS-51 系列单片机外部引脚说明.21 2.2 MCS-51 系列单片机存储器.23 2.2.1 程序存储器.24 2.2.2 数据存储器.25 2.3 MCS-51 系列单片机并行 I/O 接口.28 2.3.1 P0 口结构及功能.29 2.3.2 P1 口结构及功能.30 2.3.3 P2 口结构及功能.30 2.3.4 P3 口结构及功能.31 2.4 MCS-51 系列单片机的时钟电路与时序.32 2.4.1 时钟电路.32 2.4.2 CPU 时序.32 单片机技术及 C51 程序设计(第 2 版)VIII 2.4.3 MCS-51 系列单片机的复位电路.34 2.4.4 MCS-51 系列单片机的掉电和节电方式.35 本章小结.37 习题 2.37 第 3 章 MCS-51 系列单片机指令系统和汇编语言程序设计.39 3.1 指令系统基本概念.39 3.1.1 指令基本格式.39 3.1.2 指令分类.40 3.1.3 指令描述符号介绍.40 3.2 MCS-51 系列单片机的寻址方式.41 3.3 MCS-51 系列单片机的指令系统.43 3.3.1 数据传送类指令.44 3.3.2 算术运算类指令.50 3.3.3 逻辑运算及移位指令.56 3.3.4 位操作类指令.59 3.3.5 控制转移类指令.62 3.4 汇编程序设计示例.67 3.4.1 汇编程序伪指令.68 3.4.2 顺序程序.69 3.4.3 分支程序.71 3.4.4 循环程序.73 3.4.5 查表程序.78 3.4.6 散转程序.79 3.4.7 子程序.80 本章小结.83 习题 3.83 第 4 章 Keil C51 语法及程序设计.88 4.1 C 语言与 MCS-51 系列单片机.88 4.1.1 C 语言的特点及程序结构.88 4.1.2 C 语言与 MCS-51 系列单片机.90 4.2 C51 程序结构及数据类型.91 4.2.1 C51 程序结构.91 4.2.2 C51 的数据类型.91 4.3 C51 的存储种类及存储区.94 4.3.1 常量.94 4.3.2 变量.95 4.3.3 C51 存储模式.98 4.3.4 绝对地址访问.99 4.4 C51 构造数据类型.101 4.4.1 数组.101 目 录 IX 4.4.2 指针.103 4.4.3 结构.106 4.4.4 联合.109 4.4.5 枚举.111 4.5 C5