本书旨在为学生提供一种强调工程基础,建立在真实世界的产品和系统的构思设计实现运行全过程的工程教育,切实提高教学质量,快速培养更多的高级应用型人才。
本书首先以用单片机点亮一盏灯为实例,让初学者快速掌握单片机应用系统的开发工具,提高初学者对单片机应用系统设计与开发的认知和兴趣。在51系列单片机汇编语言及其应用程序设计、51系列单片机基本内部资源及其应用系统设计、51系列单片机常用接口及其应用系统设计、51系列单片机测控技术及其应用系统设计、51系列单片机应用系统实物设计等章节知识点的介绍过程中,均以较完整的单片机应用系统设计为实例,对单片机原理和应用技术及其应用系统设计进行深入的论述,把单片机原理及其应用技术与单片机应用系统设计有机地结合起来,使学生在系统地掌握单片机原理和应用技术的同时,切实提高其单片机应用系统设计与开发能力。
本书给出了所有实例的电路原理图及汇编语言源程序或C语言源程序,且所有实例均在Proteus 7.8和Keil Vision4软件平台上仿真通过,可直接运行。
本书既可作为高等院校相关专业的本科生及高职高专学生教材,也可作为学生实验及课程设计的配套教材,同时也可作为电子设计工程师培训教材,以及广大单片机爱好者自学使用的指导资料。
1.以设计为主线、以实践能力培养为核心;理论与实践相结合;以单片机原理和应用系统设计为主,以编程语言为辅;在单片机应用系统的设计实例中,以汇编语言程序设计为主,兼顾C语言程序设计把二者有效地结合起来,可较好地进行单片机原理的学习和单片机应用系统的设计;2.课外作业以设计性作业为主,在课程教学实例的基础上,设计一系列综合性的设计作业,旨在进一步提高学习者的单片机应用系统的设计能力,激发学习者的自信心和成就感,同时让学习者在反反复复的设计过程中较好地掌握单片机应用系统设计的思路和方法。
前言单片机是单片微型计算机(Single Chip Microcomputer)的简称,自20世纪70年代问世以来,由于其具有集成度高、处理功能强、可靠性好、系统结构简单、体积小、速度快、功耗低、价格低廉等特点,在武器装备、航空航天、机器人、智能仪器仪表、工业检测控制、机电一体化、家用电器等许多领域得到了广泛的应用,并对人类社会产生了巨大的影响。同时,单片机的学习、开发和应用,也造就了一大批计算机应用与智能化控制的人才。目前,单片机技术已经成为从事智能化产品开发工作的工程人员必备的技术。在工科院校,单片机原理与应用已成为非常重要的专业基础课,单片机的应用能力成为当代工科大学生一种不可或缺的技能。单片机原理与应用课程涉及的内容非常广泛,如何使学生在有限的时间内(课程教学一般为32~56学时)较好地掌握单片机的基本原理和应用技术,对单片机应用系统进行初步的设计和开发是一个非常重要的教学研究课题。传统的单片机原理与应用课程教学模式中的教学顺序一般为单片机的指令系统、汇编语言程序设计、C语言程序设计、I/O口、定时/计数器、中断系统、串行通信、I/O扩展、A/D转换、D/A转换等。在这种教学模式中,实验往往放在教学课程的中期,甚至是教学课程结束后。由于课程开始的时候,大多数学生学习目标不明确,有的甚至不知道单片机是用来做什么的,再加上学习内容枯燥乏味,所以学习兴趣不大,学习积极性不高,导致几周教学过后,学生的学习兴趣全无。这时即便是开始实验,许多学生也有了厌倦的感觉,有的干脆就放弃了。同时,目前的实验大多使用单片机实验箱,这种实验与实际的单片机应用系统设计开发在过程上有很大的差异,致使学生完全没有掌握单片机的硬件系统设计,不熟悉软件的编程、汇编及写入单片机的整个过程,当遇到实际的开发项目时,总是感到无从下手。这种课程教学模式与高校的现代实用型人才培养模式是完全相悖的,已经不能满足当前的教学需要。近几年来,为了提高教学质量,培养更多的高级应用型人才,课题组以单片机原理与应用课程为核心开展了以设计为主线、面向学生实践能力培养的课程教学改革探索与实践,建设了精品资源共享课《单片机原理与应用》,参与了教育部以设计为主线、面向学生能力培养的人才培养模式课题的实施工作,在课程教材编写的内容和方式方法、课堂教学的内容和方式方法、实验教学的内容和方式方法、考试考核的内容和方式方法、综合成绩评定的内容和方式方法、课程教学质量保障体系等一系列涉及教与学的各个方面,进行了大胆的探索与实践,并取得了较好的成效。学生的设计能力得到了大幅度提高,自信心显著增强,精神面貌焕然一新,为他们后续的课程学习和顺利走上工作岗位奠定了坚实的基础。目前高等院校单片机原理与应用课程所使用的教材,大多偏重于单片机原理和编程语言的论述,对于没有单片机应用系统开发经验的初学者很难快速理解、消化和吸收,以至于最后许多学生对单片机原理和应用技术只是概略的了解,根本不能够进行单片机应用系统的设计与开发。与此相反,许多应用于企业员工培训、以设计为主的培训教材,往往是针对具有一定单片机应用系统开发经验的人员所编著的,主要强调单片机应用系统的设计方法和技巧,对单片机的原理和应用技术很少提及。初学者只能是被动地掌握单片机应用系统的设计方法,对单片机原理和应用技术不能够系统地掌握,在单片机应用系统的设计和开发过程中,不能与单片机原理和应用技术较好地联系起来,因此影响了单片机应用系统综合开发能力的后期培养。为使单片机原理与应用系统设计的初学者,能够快速提高对单片机应用系统设计与开发的兴趣和爱好,在较短的时间内系统地掌握单片机原理和应用技术,顺利进行单片机应用系统的设计与开发,为后续的学习和工作奠定坚实的基础,特编著此书。本书的主要特点如下。(1) 为学生提供一种强调工程基础,建立在真实世界的产品和系统的构思设计实现运行全过程的工程教育。本书首先以用单片机点亮一盏灯为实例,让初学者快速掌握单片机应用系统的开发工具,提高初学者对单片机应用系统设计与开发的认知和兴趣。在后续的每一个知识点的介绍过程中,在对单片机原理和应用技术进行简要论述的基础上,均以较完整的单片机应用系统设计为实例,把单片机理论和应用技术与单片机应用系统设计实践有机地结合起来,进一步对单片机原理和应用技术进行深入的论述,使学生在系统地掌握单片机原理和应用技术理论的同时,完整地掌握构思设计实现运行全过程的工程设计,切实提高学生的单片机应用系统的设计与开发能力。(2) 以完整的单片机应用系统设计为主,为初学者提供一种得心应手的学习工具。在本书中,单片机应用系统设计实例均包含系统设计要求、系统设计分析、系统原理图设计、系统程序流程图设计、系统汇编语言源程序设计或C语言源程序设计、在Keil中对程序进行仿真调试、在Proteus中进行系统仿真调试,或在Keil和Proteus中进行系统联合仿真调试等,使初学者在没有教师指导的情况下,按照系统设计实例的操作步骤,也能够很好地进行单片机应用系统的设计,切实提高学习兴趣、学习积极性和学习成效。(3) 以单片机原理的学习和应用系统设计为主,以编程语言的学习为辅。本书按照工程设计的思想,在每一个具体的单片机应用系统设计的过程中,让学生根据系统设计的需要,进行单片机原理的学习和应用系统设计,在系统设计过程中,较好地掌握编程语言的使用和程序设计的方法,切实培养工程设计能力。(4) 在单片机原理的学习和应用系统设计的过程中,以汇编语言程序设计为主,同时兼顾C语言程序设计,使学生在快速掌握单片机的原理和应用技术的同时,把汇编语言程序设计与C语言程序设计有效地结合起来,较好地进行单片机应用系统的设计和开发。(5) 课外作业以设计性作业为主。在课程教学实例的基础上,合理地设计一系列综合性的课外设计作业,进一步提高学生单片机应用系统的设计能力,激发其兴趣,培养其爱好,提高其自信心和成就感,让学生在反反复复的设计过程中较好地掌握单片机应用系统的设计思路和方法。(6) 以仿真设计为主,以实物设计为辅,使初学者在快速掌握单片机原理及应用系统设计的基础上,通过大量的单片机应用系统的仿真设计,积累一定的单片机应用系统的设计和开发经验,同时能够基本掌握单片机应用系统实物设计的方法,通过后续的以单片机应用系统实物设计为主的综合设计训练后,可以较好地进行单片机应用系统实物的设计。本书共分8章,各章主要内容如下。第1章,概述。主要论述计算机、微型计算机与单片机相互之间的关系,单片机的结构与组成,单片机的分类和指标,常用单片机系列及其特点,单片机应用系统和应用领域等。第2章,单片机应用系统的设计与开发环境。简要论述单片机应用系统设计与开发的硬件和软件环境等,并以用单片机点亮一盏灯为应用实例,重点介绍Proteus和Keil C51开发平台的基本使用方法。第3章,51系列单片机的基本硬件结构及其功能。主要内容包括51系列单片机的内部结构,引脚信号和微处理器。重点介绍微处理器中的运算部件、控制部件、振荡器、CPU时序和存储器的基本结构与工作原理等。第4章,51系列单片机汇编语言及其应用程序设计。主要内容包括51系列单片机指令系统与寻址方式,51系列单片机汇编语言程序结构及汇编语言程序设计。第5章,51系列单片机基本内部资源及其应用系统设计。主要内容包括51系列单片机最基本的并行输入/输出端口、定时/计数器、中断及串行输入/输出的基本原理及其应用系统设计。第6章,51系列单片机常用接口及其应用系统设计。主要内容包括LED数码管、LCD液晶显示器、键盘、A/D转换器和D/A转换器等51系列单片机的主要接口及其应用系统设计。第7章,51系列单片机测控技术及其应用系统设计。主要内容包括智能传感器探(检)测原理及其应用系统设计,直流电动机和步进电动机的控制原理及其应用系统设计,RS485多机远程通信原理及其应用系统设计。第8章,51系列单片机应用系统实物设计。主要内容包括单片机应用系统的一般硬件构成,单片机应用系统设计的主要内容和设计过程,并以红外探测系统和超声波测距系统作为设计实例,讲述单片机应用系统实物设计的具体过程和方法。在本书的编著过程中,除了参考文献所列出的书籍、文献和资料外,编者还参阅了其他书籍、文献和网上资料,在此向所有作者表示衷心的感谢。在本书的编著过程中,得到了编者所在学校各级领导及教研室各位教师的大力支持和帮助,在此向他们表示衷心的感谢。本书给出了所有实例的电路原理图及汇编语言源程序或C语言源程序,且所有实例均在Proteus 7.8和Keil Vision4软件平台上仿真通过,可直接运行。为了快速高效地提高学生的实际产品设计开发能力,本课题组推出了单片机原理与应用系统设计实例实物开发平台,本教材所有实例均可通过该平台快速设计出实物。在本书的编著过程中,段代峰、徐雷霆、张敏、顾佳杰、郭振、谢法威、侯良伟、柴建宇、张超群、苏永超、邓昭伟、蒋志举、翁盘江、杨子亮等本专业多届学生先后提出了许多有利于初学者学习和使用的意见和建议,在此也向他们表示衷心的感谢。感谢清华大学出版社的编辑为本书的编写提供许多宝贵建议和大力支持。由于编者知识水平和经验的局限性,书中难免存在不足之处,敬请广大读者批评指正。Email: dongyangz@163.com。编者2016年10月
目录
第1章概述
1.1计算机、微型计算机与单片机
1.2单片机的内部组成
1.3单片机的分类和主要指标
1.3.1单片机的分类
1.3.2单片机的主要指标
1.4常用单片机系列及其特点
1.5单片机的特点
1.6单片机应用系统
1.7单片机的应用领域
课外设计作业
第2章单片机应用系统的设计与开发环境
2.1用单片机点亮一盏灯实例
2.2Proteus 7.8开发平台
2.3Keil C51的使用方法
2.4Proteus VSM 虚拟系统模型
2.5Proteus ARES的PCB设计
课外设计作业
第3章51系列单片机的基本硬件结构及其功能
3.1单片机的封装形式及其引脚识别方法
3.1.1单片机的封装形式
3.1.2单片机的引脚识别方法
3.251系列单片机的引脚及功能
3.351系列单片机的总线结构
3.4单片机中的数制
3.551系列单片机的内部结构
3.5.1运算器
3.5.2控制器
3.5.3振荡器
3.5.4CPU时序
3.5.5存储器
3.5.6单片机工作原理实例分析
3.651系列单片机的复位电路与复位状态
3.6.1复位电路
3.6.2复位状态
3.751系列单片机的低功耗方式
3.7.1方式设定
3.7.2空闲(等待、待机)工作方式
3.7.3掉电(停机)工作方式
3.851系列单片机的最小系统
课外设计作业
第4章51系列单片机汇编语言及其应用程序设计
4.151系列单片机指令系统与寻址方式
4.1.151系列单片机指令系统概述
4.1.251系列单片机的寻址方式
4.1.351系列单片机指令系统
4.251系列单片机汇编语言程序结构
4.2.1汇编语言的指令类型
4.2.2汇编语言的伪指令
4.2.3汇编语言的汇编
4.2.4汇编语言格式
4.2.5汇编语言程序结构
4.351系列单片机汇编语言程序设计
4.3.1程序设计
4.3.2程序设计语言
4.3.3汇编语言程序设计步骤与方法
4.3.4汇编语言程序设计实例
课外设计作业
第5章51系列单片机基本内部资源及其应用系统设计
5.1并行输入/输出(I/O)端口及其应用系统设计
5.1.1P0口结构、功能及操作
5.1.2P1口结构、功能及操作
5.1.3P2口结构、功能及操作
5.1.4P3口结构、功能及操作
5.1.5并行输入/输出端口应用系统设计
5.2定时/计数器及其应用系统设计
5.2.1定时/计数器的结构及其工作原理
5.2.2定时/计数器的工作方式
5.2.3定时/计数器应用系统设计
5.3中断及其应用系统设计
5.3.1中断的基本概念
5.3.2中断源
5.3.3中断控制
5.3.4中断响应
5.3.5中断应用系统设计
5.4串行口通信及其应用系统设计
5.4.1数据通信方式
5.4.2串行通信方式
5.4.3串行口的功能与结构
5.4.4串行口控制寄存器
5.4.5串行口的工作方式
5.4.6波特率的确定
5.4.7串行口的初始化
5.4.8两个单片机串行通信应用系统设计
5.4.9串行口扩展应用系统设计
课外设计作业
第6章51系列单片机常用接口及其应用系统设计
6.1LED数码管及其应用系统设计
6.1.1LED数码管的结构与分类
6.1.2LED数码管的显示方式
6.1.3LED数码管应用系统设计
6.2液晶显示器及其应用系统设计
6.2.1液晶显示器概述
6.2.2LCD液晶显示器的分类
6.2.31602字符型LCD液晶显示模块
6.2.4基于1602LCD的液晶显示应用系统设计
6.3键盘及其应用系统设计
6.3.1键盘的工作原理
6.3.2独立式键盘与矩阵式键盘
6.3.3键编码与键值
6.3.4键盘应用系统设计
6.4A/D转换器及其应用系统设计
6.4.1A/D转换器概述
6.4.2A/D转换器与单片机的接口
6.4.3A/D转换器芯片ADC0808
6.4.4基于ADC0808的A/D转换器与单片机的接口应用系统设计
6.5D/A转换器及其应用系统设计
6.5.1D/A转换器概述
6.5.2D/A转换器与单片机的接口
6.5.3D/A转换器芯片DAC0832
6.5.4基于DAC0832的D/A转换器与单片机的接口应用系统设计
课外设计作业
第7章51系列单片机测控技术及其应用系统设计
7.1智能传感器及其应用系统设计
7.1.1智能传感器概述
7.1.2智能传感器的主要功能和特点
7.1.3智能传感器的实现途径和主要形式
7.1.4数字温湿度传感器SHT1x
7.1.5基于SHT10的智能传感器应用系统设计
7.2直流电动机及其应用系统设计
7.2.1直流电动机概述
7.2.2直流电动机控制原理
7.2.3常用直流电动机的驱动电路
7.2.4PWM信号产生的方法
7.2.5基于L298N的直流电动机控制系统设计
7.3步进电动机控制系统设计
7.3.1步进电动机概述
7.3.2步进电动机的种类和主要技术指标
7.3.3四相五线步进电动机28BYJ48的驱动
7.3.4基于ULN2003A的步进电动机控制系统设计
7.4RS485多机远程通信及其应用系统设计
7.4.1RS485接口概述
7.4.2RS485接口芯片及其使用方法
7.4.3MAX487芯片及其工作原理
7.4.4单片机之间的主从式多机通信
7.4.5基于MAX487的多机远程通信系统设计
课外设计作业
第8章51系列单片机应用系统实物设计
8.1单片机应用系统的一般硬件构成
8.2单片机应用系统设计的主要内容
8.3单片机应用系统的设计过程
8.3.1系统总体设计
8.3.2硬件系统设计
8.3.3软件系统设计
8.3.4系统联机调试
8.3.5性能测试
8.3.6生成正式产品
8.4基于51系列单片机的被动红外探测系统设计
8.4.1红外探测技术概述
8.4.2红外探测原理
8.4.3YL38红外探测模块
8.4.4被动红外探测系统实物设计
8.5基于51系列单片机的超声波测距系统设计
8.5.1超声波测距技术概述
8.5.2超声波测距原理
8.5.3HCSR04超声波测距模块
8.5.4锁存器74HC373
8.5.5超声波测距系统实物设计
课外设计作业
附录AMCS51系列单片机指令一览表
参考文献