单片机原理及应用技术183_第1页
单片机原理及应用技术183_第2页
单片机原理及应用技术183_第3页
单片机原理及应用技术183_第4页
单片机原理及应用技术183_第5页
已阅读5页,还剩178页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理及应用技术第1章单片机的基础知识【引

子】现在我们生活的各个领域几乎都可以找到单片机的踪迹,导弹的导航装置,自动控制领域的智能仪表、机器人,以及生活中录像机、摄像机、全自动洗衣机等等。在本章中我们将了解单片机的基础知识,揭开其神秘面纱。【本章内容提要】了解单片机的分类和发展历程了解单片机的应用领域学习单片机中数制与编码的表示方式掌握基础的数字电路知识熟悉单片机的开发流程1.1初识单片机1.1.1什么是单片机

单片机(SingleChipMicrocomputer,SCM)是在一块硅片上集成了各种部件的微型计算机,由中央处理器CPU、数据存贮器RAM、程序存贮器ROM、定时器/计数器和多种I/O接口电路等组成。单片机其实离我们的生活很近,在家用电器的遥控器中就有单片机的身影,微型计算机的很多部件如鼠标、键盘、硬盘中也使用了不同种类的单片机,如图1-1所示。图1-1单片机应用实例1.1.2单片机的分类

(1)根据CPU位数的不同,目前市场上的单片机可以分为4位单片机、8位单片机、16位单片机和32位单片机。(2)根据结构形式的不同,单片机可以分为哈佛结构和冯·诺伊曼结构。1.1.3单片机的应用领域1.在智能仪器仪表上的应用2.在工业控制中的应用3.在家用电器中的应用4.在计算机网络和通信领域中的应用5.单片机在医用设备领域中的应用1.1.4单片机的发展趋势自单片机出现至今,单片机技术已走过了近20年的发展路程。纵观20年来单片机发展历程可以看出,单片机技术的发展以微处理器技术及超大规模集成电路技术的发展为先导,以广泛的应用领域为拉动力,其发展趋势主要表现在以下几个方面:

1.4位、8位、16位、32位单片机共同发展2.单片机运行速度越来越快3.单片机向低功耗与低工作电压方向发展4.单片机采用高可靠性与低噪声技术1.2单片机中的数制与编码1.2.1单片机中的数制1.数制的概念数制是人们按进位的原则进行计数的一种科学方法。2.常用数制介绍在单片机中,所有信息(包括数值、字符、汉字、指令等)的存储、处理与传送都是采用二进制的形式。二进制数的运算规则如表1-1所示。除了二进制,为了表示方便,还经常使用八进制和十六进制。表1-2对比列出了单片机常用数制的特点、基数、位权和所用数字符号。表1-1二进制数的运算规则表1-2单片机常用数制的特点、基数、位权及数字符号1.2.2数制间的转换1.非十进制数转换成十进制数二进制数、八进制数和十六进制数转换成十进制数非常简单,方法是:按位权展开后求和。2.十进制数转换成非十进制数十进制数转换成二进制数、八进制数和十六进制数时,需要将整数部分和小数部分分别进行转换,然后把转换的结果合在一起。3.二进制数与八进制数、十六进制数之间的转换表1-3二进制、八进制与十六进制之间的对应关系1.2.3信息编码1.二进制数的编码(1)机器数及真值(2)原码、反码、补码2.BCD码日常生活中,人们使用最多的是十进制数,但是单片机中使用的是二进制数,所以经常要用到二进制数和十进制数间的转换。3.字符编码国际上普遍采用的字符编码方法是美国标准信息交换码,即ASCII码。1.3数字电路入门1.3.1逻辑门电路逻辑门电路是实现常用逻辑运算的电子电路。输入信号通过逻辑门后会产生相应的电平变化。基本逻辑门包括与门、或门和非门,利用基本逻辑门电路可以组合成复合门电路,常见的有与非门、或非门和异或门。1.与门2.或门3.非门4.与非门5.或非门6.异或门1.3.2传送门电路1.三态门与前面的逻辑门电路不同,三态门输出除有高、低电平两种状态外,还有第三种状态——高阻状态(相当于断开状态),它常用于单片机系统中对总线的控制。2.单向数据传送门3.双向数据传送门按图1-16所示可以将8个三态门组合成一个四位的双向数据传送门。图1-16双向数据传送门1.3.3译码器前面我们已经介绍过信息编码的知识,译码是编码的逆过程。译码器的功能是将具有特定含义的二进制码进行辨别,并转换成控制信号。图1-17所示为一个2—4线译码器的逻辑电路,功能是将2位二进制代码的4(22)种组合译成4种输出状态。图1-17译码逻辑电路1.3.4触发器触发器是一个具有记忆功能的二进制信息存储器件,能存储一位二进制数码或一个逻辑状态信号,是构成寄存器、计数器、脉冲信号发生器、存储器等时序逻辑电路的基本单元电路。基本RS触发器由二个与非门交叉藕合构成,逻辑结构和逻辑符号如图1-18所示,S和R是触发器的两个输入端,Q和

是输出端。一般情况下,将Q端的状态规定为触发器的状态。图1-18触发器的逻辑结构与逻辑符号1.3.5寄存器和锁存器1.寄存器寄存器用来存储二进制数码,是数字电路中一个重要的部件。下面我们了解两类常用的寄存器:缓冲寄存器和移位寄存器。(1)缓冲寄存器图1-19所示是由4个D触发器组成的4位缓冲寄存器。(2)移位寄存器图1-20所示是由4个D触发器组成的4位移位寄存器。2.锁存器图1-21所示是一个由D触发器构成的4位锁存器。图1-19缓冲寄存器图1-20移位寄存器图1-21锁存器1.4如何学好单片机1.4.1了解单片机应用系统开发流程我们学习单片机的目的就是为了进行嵌入式系统的开发,学好单片机首先要有一个整体认识,下面将简要介绍一下单片机应用系统的开发流程,如图1-22所示。图1-22单片机系统开发流程

1.4.2单片机学习方法探讨

单片机学习的过程应该是一个循序渐进、不断学习、不断积累的过程,大致分为三个阶段。第一阶段:掌握开发单片机的必备基础知识。首先是熟练掌握单片机的基本原理,虽然现在单片机厂商众多,但各家单片机的基本结构和原理都比较相近,例如内核结构、内存分配、中断处理、定时计数、串行通信、端口复用等一些最基本的概念和原理。第二阶段:在掌握好一款单片机原理和应用的基础上,开始学习其他各家单片机,了解其独有的功能和特点。第三阶段:在实际的项目开发过程中,不断深入研究单片机应用技术,不断积累应用行业的专业知识。单片机原理及应用技术第2章MCS-51单片机入门【引

子】

Intel公司于1980年推出的MCS-51系列单片机,以其典型的结构、众多的逻辑位操作功能及丰富的指令系统,为后续单片机的发展奠定了基础,堪称为一代“名机”。本章将学习MCS-51系列单片机内部结构和相关资源的使用方法。【本章内容提要】熟悉MCS-51单片机的基本结构熟悉MCS-51单片机的存储结构熟悉MCS-51单片机的引脚及功能熟悉MCS-51单片机的并行I/O口及其控制方法掌握MCS-51单片机的时序掌握MCS-51单片机的复位电路2.1MCS-51单片机的基本结构2.1.1MCS-51单片机特点MCS-51系列单片机的常见的机型及其功能特性如表2-1所示。表2-1MCS-51系列单片机功能特性2.1.2MCS-51单片机的外部引脚及功能MCS-51系列单片机中的8031、8051及8751均采用40引脚DIP封装形式(双列直插式封装),引脚如图2-1所示。图2-18051引脚图2.1.38051单片机的内部结构在八十年代和九十年代初基本上采用8031系列的单片机,由于8031单片机没有片内程序存储器,必须要外接程序存储器才可以工作,增加了硬件设计的成本和难度。这里我们选用8051芯片进行讲解,其内部基本结构如图2-2所示。图2-28051单片机内部结构框图2.1.4MCS-51单片机的CPU构成从功能上看,单片机内的CPU由运算器和控制器两部分组成1.控制器控制器主要包括16位程序计数器PC(ProgramCounter)、数据指针DPTR(DataPointer)、堆栈指针SP(StackPointer)、指令寄存器IR(InstructionRegister)、指令译码器、控制逻辑电路等。2.运算器运算器主要包括算术逻辑单元ALU(ArithmeticalLogicUnit)、累加器A(Accumulator)、通用寄存器B(GeneralPurposeRegister)、程序状态字PSW(ProgramStatusWord)暂存器、十进制调整电路、布尔处理器等。2.2MCS-51单片机的存储器MCS-51系列单片机在物理结构上有4个存储空间,即片内、片外程序存储器和片内、片外数据存储器。2.2.1程序存储器程序存储器由片内程序存储器和片外程序存储器两部分构成,用来存放程序及常数。

2.2.2数据存储器数据存储器由片内数据存储器和片外数据存储器两部分构成,用来存放运算的中间结果。2.3MCS-51单片机的并行I/O口及其控制方法I/O端口是单片机实现信息交换和对外控制的重要通道。2.3.1I/O端口的结构分析(一)P0端口的结构及工作原理图2-7所示为P0端口8位中的一位。(二)P1端口的结构及工作原理图2-8所示为P1端口8位中的一位。(三)P2端口的结构及工作原理图2-9所示为P2端口8位中的一位。(四)P3端口的结构及工作原理P3口是一个多功能口,它除了可以作为I/O口外,还具有第二功能,图2-10所示为P3端口的一位。图2-7P0口的位内部结构示意图图2-8P1口的位内部结构示意图图2-9P2口的位内部结构示意图图2-10P3口的位内部结构示意图2.3.2I/O口控制实例【例2-1】从左到右的流水灯:接在P0口的8个LED从左到右循环依次点亮。电路连接如图2-11所示。图2-11从左到右的流水灯电路图2.4MCS-51单片机的时钟电路与时序2.4.1单片机时钟电路为了保证内部各部件间的同步协调工作,单片机需要在唯一的时钟信号下进行工作。产生单片机时钟信号的方式有两种:内部时钟电路和外接时钟电路。

图2-14内部时钟电路

图2-15外部时钟电路2.4.2时钟、状态、机器和指令周期(一)时钟周期时钟周期又称为振荡周期,定义为时钟脉冲的倒数,是单片机中最基本、最小的时间单位。(二)状态周期在8051单片机中把1个时钟周期定义为1个节拍(用P表示),2个节拍定义为1个状态周期(用S表示)。(三)机器周期一条指令的执行过程可以分为若干个阶段,如取指令、读存储器、写存储器等。(四)指令周期执行一条指令所需要的时间称为指令周期,一般由若干个机器周期组成。2.4.3典型指令执行时序每条指令的执行包括取指令和执行指令两个阶段。取指令操作是单片机的最基本操作。CPU要读取指令首先要知道指令的地址,指令的地址是存放在PC之中的。在时钟脉冲的控制下,PC中的指令地址通过地址总线送到地址译码器的输入端(一)单字节单机器周期指令(二)双字节单机器周期指令(三)单字节双机器周期指令(四)访问外部存储器指令2.5MCS-51单片机的复位复位操作是单片机的初始化,此时程序从0000H开始执行。另外,当单片机运行中出现错误或死机时,也需要进行复位操作(一)复位条件(二)复位电路常见的复位电路有上电自动复位和按键复位两种。(三)复位后寄存器的状态单片机原理及应用技术第3章

单片机C语言程序设计基础【引

子】随着单片机的开发应用的发展,逐渐引入了高级语言,其中C51语言是应用最为广泛的。单片机C51语言是由计算机的C语言继承而来的,并针对8051系列CPU硬件的特点,进行了一些功能扩展,主要包括8051存储类型及存储区域、存储模式、存储器类型声明、变量类型声明、位变量与位寻址、特殊功能寄存器、C51指针。【本章内容提要】熟悉C51的数据类型熟悉C51的常量与变量掌握C51的运算符和表达式掌握C51的流程控制语句熟悉C51的函数3.1基础数据知识3.1.1标识符和关键字(一)标识符标识符是用来表示源程序中自定义对象名称的符号。其中的自定义对象可以是常量、变量、数组、结构、语句标号以及函数等。(二)关键字关键字是C51编译器保留的一些特殊标识符,具有特定的含义和用法。3.1.2C51数据类型表3-2列出了KeiluVision2C51编译器所支持的数据类型。表3-2C51编译器所支持的数据类型3.1.3常量与变量(一)常量常量是在程序运行过程中不能改变的量,如固定的数据表、字符等。常量的数据类型只有整型、浮点型、字符型、字符串型和位标量。(二)变量变量是可以在程序运行过程中不断变化的量,变量的定义可以使用所有C51编译器支持的数据类型。3.1.4数组与指针(一)数组所谓数组就是指具有相同数据类型的变量集,并具有共同的名字。1.数组基本形式2.数组的初始化3.数组变量的赋值(二)指针1.指针基本形式2.指针变量的初始化(三)数组与指针的关系3.1.5结构与联合前面介绍了C语言中的基本数据类型,在实际进行C语言程序设计时仅有这些基本类型的数据是不够的,有时需要将一批各种类型的数据放在一起使用,从而引入了构造类型的数据——结构与联合。(一)结构结构是-种构造类型的数据,它能将多个不同类型的数据变量组合在一起,是一种数据的集合体。(二)联合联合也是C语言中一种构造类型的数据结构。在一个联合中可以包含多个不同类型的数据元素。3.2运算符和表达式运算符是完成某种特定运算的符号,运算符按其表达式中与运算符的关系可分为单目运算符,双目运算符和三目运算符。表达式则是由运算及运算对象所组成的具有特定含义的式子,根据运算符种类不同,可以产生四种表达式,分别是算术表达式、赋值表达式、关系表达式和逻辑表达式。3.2.1赋值运算符与赋值表达式3.2.2算术运算符与算术表达式3.2.3关系运算符与关系表达式3.2.4逻辑运算符与逻辑表达式3.2.5位运算符3.2.6复合赋值运算符3.2.7逗号运算符3.2.8条件运算符3.2.9指针和地址运算符3.2.10sizeof运算符3.2.11强制类型转换运算符3.3流程控制语句3.3.1条件选择语句条件选择语句的基本形式为:if(表达式)语句1;else语句2;上述结构流程如图3-1所示:如果表达式的值为非0即真,则执行语句1,执行完语句1从语句2后开始继续向下执行;如果表达式的值为0即假,则跳过语句1而执行语句2。图3-1条件选择语句流程3.3.2循环语句C51中有三种基本的循环语句:for语句、while语句和do-while语句。1.for循环2.while循环3.do-while循环do-while循环与while循环的不同在于:它先执行循环中的语句,然后再判断条件是否为真。如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。3.3.3开关语句开关语句格式为:switch(变量){case常量1:语句1或空;break;case常量2:语句2或空;break;……case常量n;语句n或空;break;default:语句n+1或空;}3.3.4其他常用函数语句1.break语句break语句通常用在循环语句和开关语句中。2.continue语句continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。3.goto语句4.函数调用语句5.空语句3.4函数3.4.1函数定义函数是一个自我包含的完成一定相关功能的执行代码段。3.4.2函数的调用(一)函数调用的一般说明(二)函数调用的一般形式调用函数的一般形式如下:函数名(实际参数表)“函数名”就是指被调用的函数。3.4.3C51常用头文件单片机原理及应用技术第4章

中断系统及应用【引

子】前期的单片机系统中并没有引入中断(interrupt)机制,随着工业技术的发展,在一些实时控制系统中,要求单片机能够快速、自动地处理一些突发事件,中断技术随之产生。此后,单片机的应用更加广泛。【本章内容提要】理解中断概念熟悉MCS-51的中断结构与控制掌握C51中断函数的定义掌握中断应用4.1中断基础知识4.1.1什么是中断单片机的中断是指在正常执行某一程序过程中,由于内部或外部的突发事件,CPU暂停执行此程序而转去处理突发事件(即执行突发事件的中断服务程序),事件处理结束后返回主程序断点处(被中断的下一条指令)继续执行。中断处理过程如图4-1所示。图4-1中断处理过程示意图4.1.2为什么要引入中断机制若单片机采用顺序结构运行,由于采用查询方式,CPU将不停的检测外设信号的变化情况,占用了大量的CPU时间,效率很低。引入中断机制后,CPU在执行某一程序的过程中,当CPU系统内、外发生紧急情况时,可以要求CPU终止原工作的执行,转去执行相应的紧急事件,待处理结束后,再回到原来被中断的地方继续执行被打断的工作。4.1.3中断的优先级与嵌套4.2MCS-51的中断结构与控制4.2.1MCS-51的中断源及中断结构(一)中断源向CPU发出中断请求的信号称为中断源。(二)中断结构MCS-51系列单片机的中断系统结构如图4-2所示。1.TCON中的中断标志位2.SCON中的中断标志位3.中断允许控制寄存器IE4.中断优先级控制寄存器IP图4-2MCS-51中断结构4.2.2MCS-51的中断处理过程中断处理过程如图4-3所示,单片机工作时,在每个机器周期中都去查询各个中断标记位,如果某位是“1”,就说明有中断请求了;接下来需要判断中断请求是否满足响应条件;如果满足响应条件,CPU将进行相应的中断处理;中断处理完毕,进行中断返回,继续执行指令。(一)中断响应(二)中断处理(三)中断返回4.2.3C51中断函数的定义C51编译器支持在C源程序中直接开发中断过程,C51编译器及其对C语言的扩充允许编程者对中断所有方面的控制和寄存器组的使用。图4-3中断处理过程4.3中断应用实例【例4-2】利用单片机的外部中断0响应按键开关的按键信号,当有按键按下时,单片机响应中断,并使内部某变量加1,硬件电路如图4-4所示。图4-4单片机外部中断检测按键电路图单片机原理及应用技术第5章

定时器/计数器及应用【引

子】在单片机的应用系统中,常会遇到定时控制的需求,例如定时检测、定时扫描等,有时也需要对外部事件进行计数操作。MCS-51系列单片机中设有两个16位定时/计数器来满足应用系统中的定时控制需求。【本章内容提要】理解定时器/计数器结构和工作原理了解定时器/计数器相关寄存器的使用理解定时器/计数器的四种工作方式掌握定时器/计数器应用5.1定时器/计数器结构和工作原理5.1.1定时器/计数器结构8051单片机包含两个16位的定时/计数器,分别为定时/计数器0(T0),定时/计数器1(T1),其结构如图5-1所示。图5-1定时/计数器结构图5.1.2定时器/计数器的工作原理在图5-1中我们看到,定时/计数器有两个输入脉冲,一个是内部机器周期脉冲,一个是T0或T1引脚输入的外部脉冲。工作在定时器模式时,是对内部机器周期脉冲进行计数,定时时间为机器周期脉冲的时间乘以机器周期数;工作在计数器模式时,是对引脚T0(P3.4)或T1(P3.5)上输入的外部脉冲计数,当检测到引脚上的信号由高电平跳变到低电平时,计数器加1。无论处在定时模式或者计数模式,其本质只是一个加1计数器,每输入一个脉冲,计数器加1。当计数器全部为1后,若还有脉冲输入,此时计数器将产生溢出(计数器中的值为0),向CPU发出中断请求(内部中断)。5.2定时器/计数器相关寄存器与第四章的中断控制寄存器功能相似,模式控制寄存器TMOD和控制寄存器TCON用来控制实现定时/计数器的多种功能。5.2.1模式控制寄存器TMOD模式控制寄存器TMOD的位名称以及功能如表5-1所示,高四位控制T1,低四位控制T0。需要注意的是TMOD不能进行位寻址。5.2.2控制寄存器TCON控制寄存器TCON如表5-3所示,TCON的低四位在项目四中已经进行了讲述,这里只对高四位进行解释。表5-2定时/计数器的四种工作方式表5-3TCON的结构、位名称、位地址以及功能5.3定时器/计数器的四种工作方式及应用在前面的学习中,我们已经知道通过设置TMOD的M1、M0两位,可以选择定时/计数器的四种工作方式。5.3.1工作方式0及应用当M1M0=00时,T0采用方式0工作,如图5-2所示,此时T0是一个由TL0的低5位和TH0的8位构成的13位计数器(注:TL0的高3位未用)。图5-2定时/计数器T0工作方式0的原理图【例5-1】利用T0方式0定时由P1.0输出频率为500Hz的方波信号,晶振为12MHz。分析如下:已知信号的频率为500Hz,则周期为2ms,由于输出的是方波信号,定时时间为半个周期,即1000us。

则定时初值=213-t/T机器=8192-1000/1=7192TH0=7192/32=0xe0TL0=7192%32=0x18c语言的源程序如下:5.3.2工作方式1及应用当M1M0=01时,T0采用方式1工作,如图5-3所示,此时T0是TL0和TH0构成16位的定时/计数器,最大计数值为216=65536,其他特性和方式0相似。图5-3定时/计数器T0工作方式1的原理图【例5-2】利用定时器0产生10Hz的方波,由P1.0口输出,设晶振频率为12MHz。分析如下:频率为10Hz的方波,周期为100ms,定时时间为50ms,12MHz晶振的机器周期为1us。T0初值=216-t/T机器=65536-50000/1=55536=0x3cb0则TH0=0x3c,TL0=0xb0C语言的源程序如下:5.3.3工作方式2及应用当M1M0=10时,T0采用方式2工作,如图5-4所示,此时T0是一个8位自动重装定时/计数器,低8位TL0用作计数(最大计数值为28=256),高8位TH0用于保存计数初值。若TL0计数已满发生溢出,TF0置“1”的同时,TH0中的初值将自动装入TL0。图5-4定时/计数器T0工作方式2的原理图5.3.4工作方式3及应用当M1M0=11时,T0采用方式3工作,如图5-6所示,在这种工作方式下,T0被拆成两个独立的定时/计数器来用。其中,TL0使用T0原有的资源,可以作为8位定时/计数器;TH0使用T1的TR1和TF1,只能对内部脉冲计数,作为定时器使用。

图5-6定时/计数器T0工作方式3的原理图5.4定时器/计数器综合应用实例【例5-5】编写定时器T0产生1秒的定时程序,通过P1.0口输出高、低电平均为1s的方波(假设单片机采用12MHz的晶振)。分析如下:12MHz的晶振,机器周期为1us,各种工作方式直接定时的最大定时时间分别为:方式0:213=8192us=8.192ms方式1:216=65536us=65.536ms方式2、3:28=256us编程思路:任何一种方式都无法直接实现1s的定时,可以考虑采用方式1实现50ms定时中断,设置一变量对中断的次数进行计数,计数到20时即为1秒。c语言源程序如下:单片机原理及应用技术第6章

串行接口技术及应用【引

子】在第二章中介绍MCS-51系列单片机的I/O端口的使用时,我们已经知道在单片机内有一个可编程、全双工的串行口,它是单片机与外界进行信息交换的工具。项目六将学习串行通信的相关知识、串行口的结构、原理以及应用。【本章内容提要】了解串行通信基本知识熟悉MCS-51的串行口结构和工作原理掌握串行口的工作方式掌握单片机通信技术6.1串行通信概述什么是通信?简单地说,不同的系统经由线路相互交换数据,就是通信。数据通信可以分为并行通信和串行通信两种方式,如图6-1和图6-2所示。

图6-1并行通信示意图

图6-2串行通信示意图6.1.1串行通信方式根据同步方式的不同,串行通信方式可分为同步通信和异步通信。1.异步通信异步通信方式不要求接收端时钟和发送端时钟同步。发送端发送完一个字符帧后,可经过任意长的时间间隔再发送下一个。异步通信的数据格式如图6-3所示,一个字符帧由起始位、数据位、奇偶校验位和停止位组成。图6-3异步通信的数据格式2.同步通信同步通信时,接收端和发送端必须先建立同步(即双方的时钟要调整到同一个频率),才能进行数据的传输。同步通信方式以多个字符组成的数据块为传输单位连续地传送数据,在数据块开始时用同步字符来指示,其数据格式如图6-4所示。同步通信对硬件要求较高,适合于需要传送大量数据的场合。图6-4同步通信的数据格式6.1.2串行通信的制式串行通信按数据传送的方向可分为单工、半双工和全双工三种制式。6.1.3串行通信的波特率在串行通信中,每位数据的传送时间(即位宽)是固定的,一般用Td表示。Td的倒数称为波特率,表示每秒传送的二进制代码的位数,它是衡量传输通道频宽的指标。1波特=1位/秒(1bit/s)假设数据传输的速率为100字符/秒,而每个字符包括10个代码位(1个起始位、1个终止位、8个数据位),此时波特率为100×10=1000波特。6.2MCS-51串行接口结构和工作原理6.2.1串行口的结构MCS-51单片机串行接口是一个可编程的全双工串行通信接口,通过引脚RXD(P3.0)和引脚TXD(P3.1)与外界通信。串行接口的结构如图6-6所示。图6-6串行口结构6.2.2串行口的工作原理6.2.3串行口的控制寄存器1.串行口控制寄存器SCON2.电源控制寄存器PCON6.2.4串行口的波特率设定1.方式02.方式23.方式1或方式36.3串行口工作方式下面将详细讲述在SM0、SM1控制下的4种工作方式。6.3.1方式01.方式0的工作原理外接移位寄存器的工作方式,8位数据为一帧,没有起始位和停止位,先发送或接收最低位,波特率固定不变,为振荡率的fosc/12。该方式主要用来外接移位寄存器来扩展I/O口,或外接同步输入输出设备。方式0的功能结构简化如图6-7所示。2.方式0的应用案例图6-7方式0的功能结构简化图6.3.2方式110位的UART格式,一帧数据由10位组成,1位起始位,8位数据,1位停止位。波特率可变,根据定时器1的溢出率计算(详见第五部分)。全双工通信模式,TXD为信息发送端,RXD为信息接收端。方式1简化的功能结构如图6-10所示。6.3.3方式2和方式31.方式2和方式3的工作原理11位的UART格式,一帧数据由11位组成,1位起始位,8位数据,1位可编程控制的第9位数据和1位停止位。方式2和方式3除波特率设定外,其他相同,适用于多机通信,其简化的功能结构如图6-11所示。2.方式2和方式3的应用举例图6-10方式1的功能结构简化图图6-11方式2或方式3的功能结构简化图6.4单片机通信技术6.4.1RS-232C串行通讯协议和MAX232芯片(一)RS-232C串行通讯协议RS-232C美国电子工业协会(EIA)制定,是目前使用最多的一种异步串行通信总线标准。其中“RS”是RecommendedStandard(推荐标准)的缩写,“232”是该标准的标识,“C”表示此标准已修改了三次。(二)MAX232芯片MAX232是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。6.4.2单片机双机通信在全双工方式下,两机可以同时进行数据的发送和接收。6.4.3单片机多机通信技术MCS-51系列单片机串行口方式2和方式3可用于多机通信。多机通信常采用一台主机和多台从机组成主从式多机系统,主机与各从机之间能实现全双工通信,而各从机之间不能直接通信,只能经过主机才能实现。6.4.4单片机与PC机的串行通信计算机中的串行通讯端口(SerialCommunicationPort)是计算机上的标准配备。为了简化起见,PC机部分可利用软件——串行调试助手V2.2(读者通过网上下载获得),串行调试助手V2.2的操作界面如图6-18所示。图6-18串行调试助手的操作界面单片机原理及应用技术第7章

单片机系统扩展【引

子】

MCS-51单片机的最小系统直接使用单片机内部程序存储器、数据存储器、定时功能、中断功能,I/O端口,这种方式使得应用系统的成本降低,但只能用于一些很简单的应用场合。

在很多复杂的应用情况下,单片机内的RAM、ROM和I/O接口数量有限,不能满足要求,这种情况下就需要进行扩展。【本章内容提要】熟悉单片机的最小应用系统掌握单片机的存储器扩展方法掌握单片机的并行I/O口扩展方法7.1单片机最小应用系统及外部扩展总线8051/8751单片机内含有ROM/EPROM,用8051/8751单片机构成最小应用系统时,只需将单片机接上时钟电路和复位电路即可,如图7-1所示。图7-18051和8751最小应用系统电路7.1.28031最小应用系统8031单片机片内无程序存储器,因此,其最小应用系统必须在片外扩展EPROM。图7-2所示为8031外接程序存储器的最小应用系统。图7-28031最小应用系统7.1.3MCS-51系列单片机的外部扩展总线在进行系统扩展中,首先需要面对的问题是如何与外围芯片连接。为了方便解决这一问题,往往利用地址锁存器将单片机形成三总线结构,即地址总线(AddressBus)、数据总线(DataBus)和控制总线(ControlBus),如图7-3所示。图7-3单片机三总线结构7.2单片机存储器扩展7.2.1存储器扩展方法(一)线选法线选法是将多余的地址总线(即除去单片机与存储芯片相连占用的地址总线外)中的某一根地址线作为选择某一片存储芯片的片选信号线。

(二)译码法译码法是将剩余的地址总线通过译码器,经译码器输出后的信号用于片选,这样不会产生线选法中对地址编码的浪费。7.2.2程序存储器扩展(一)单片机程序存储器概述单片机应用系统由硬件和软件组成,软件的载体就是硬件中的程序存储器。扩展程序存储器常用芯片有:1.常用EPROM芯片简介2.常用EEPROM芯片简介常用的EEPROM芯片有2816A、2864A、2817A等。3.单片机与外部程序存储器连接方式(二)EPROM程序存储器扩展实例(三)EEPROM扩展实例7.2.3数据存储器扩展(一)单片机RAM概述RAM是用来存放各种数据的,MCS-51系列8位单片机内部有128字节RAM存储器,CPU对内部RAM具有丰富的操作指令。常用的外部数据存储器有静态RAM(StaticRandomAccessMemory,SRAM)和动态RAM(DynamicRandomAccessMemory,DRAM)两种。(二)SRAM扩展实例7.2.4新型存储器简介(一)集成动态随机RAM与静态RAM相比,动态RAM具有成本低、功耗小的优点,适用于需要大容量数据存储空间的场合。(二)快擦写型存储器(FlashMemory)快擦写型存储器是一种电可擦除型、非易失性存储器,也称为闪存,其特点是快速在线修改,且掉电后信息不丢失。近年来,FlashMemory大量用来制作存储器卡(也称为闪卡),例如,数码相机中使用的存储器卡就是一种闪卡。7.3单片机并行I/O口扩展7.3.1MCS-51内部并行I/O口及其作用51系列单片机内部有4个双向的并行I/O端口P0~P3,共占32根引脚。7.3.2简单的I/O口扩展1.简单I/O口扩展实例2.芯片及连线说明3.I/O口地址确定4.应用编程7.3.3可编程的并行I/O接口芯片扩展8255A芯片,它是一种可编程的并行I/O接口芯片,功能丰富、通用性强,在单片机扩展并行I/O口方面有广泛的应用。(一)8255A的结构和引脚功能8255A的结构和引脚功能如图7-19和7-20所示(二)8255A的控制字8255A的控制字有两种,一种是工作方式控制字,另一种是C口位操作控制字。图7-198255A结构图

图7-208255A引脚图(三)8255A的工作方式1.方式0方式0是8255A的基本输入/输出方式,其特点是无需设置联络信号,8255A就可以直接与外设进行简单的无条件数据传送。2.方式1方式1是一种选通式输入/输出工作方式,其特点是与外设传送数据时,需要设置联络信号。3.方式2(四)8255A与MCS-51的典型连接8255A与单片机的典型连接如图7-26所示。7.3.4同时扩展外部RAM与外部I/O图7-268255A芯片与单片机的典型连接单片机原理及应用技术第8章

单片机接口控制技术【引

子】在实际应用中,键盘、LED数码管、A/D和D/A转化器是单片机最常使用的部件,在本章我们将学习各部件的工作原理、与单片机连接方式及程序控制方法。【本章内容提要】了解I/0接口的概念掌握按键检测与控制掌握数码管显示控制掌握A/D与D/A转换控制8.1I/0接口的概念CPU与存储器和外部设备的间的数据交换都需要通过接口设备来实现,前者被称为存储器接口,而后者则被称为I/O接口。8.1.1接口的分类I/O接口的功能是负责实现CPU通过系统总线把I/O电路和外围设备联系在一起。按照电路和设备的复杂程度,I/O接口的硬件主要分为两大类1.I/O接口芯片2.I/O接口控制卡8.1.2接口的功能8.1.3接口的控制方式CPU通过接口对外设进行控制的方式有以下几种:1.程序查询方式2.中断处理方式3.DMA(直接存储器存取)传送方式DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制内存与外设之间的数据交流,无须CPU介入,大大提高CPU的工作效率。8.2按键检测与控制8.2.1按键抖动问题产生的原因及解决方法按键的抖动问题是指按键的触点在闭合和断开瞬间由于接触情况不稳定,从而导致电压信号的抖动现象(由按键的机械特性造成,不可避免)。图8-1所示为一次按键的抖动过程,在按键的前沿和后沿都会有5~10ms的抖动。图1-1单片机应用实例8.2.2按键检测电路及应用1.独立式按键独立式键盘相互独立,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他按键的工作状态,CPU可直接读取该I/O线的高/低电平状态。2.矩阵式按键在单片机系统中,当按键数量较多时,为了减少IO口的使用,通常将按键排列成矩阵型式。8.2.3矩阵式键盘与I/O接口应用8.3数码管显示控制数码管种类繁多,按外观来划分,可以分为七段数码管、米字型数码管、点阵块等。图8-5所示为各种不同形状的数码管。图8-5各种不同形状的数码管8.3.1LED数码管结构与工作原理8.3.2LED数码管字型编码在单片机与数码管组成的应用系统中,一般将单片机的一个并口与数码管的8个段控制引脚连接,且按照口线位的顺序由低到高与a、b、c、d、e、f、g、h连接,这样,若要显示不同字符,只需应用单片机的口线输出相应的控制的电平就可以实现。8.3.3LED数码管静态显示静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口线进行驱动,或者使用如BCD码、二–十进位解码器解码进行驱动。8.3.4LED数码管动态显示数码管动态显示是单片机中应用最为广泛的显示方式,动态驱动是将所有数码管的8个同名端“a,b,c,d,e,f,g,h”连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制。当单片机输出字形码时,所有数码管都接收到相同的字形码,究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制。通过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示,不会有闪烁感,动态显示的效果和静态显示相同,并且能够节省大量的I/O口线,降低功耗。8.4A/D与D/A转换控制我们都知道单片机是数字部件,只能处理数字量“0”或“1”。在实际应用场合,会有一些模拟量需要单片机来处理,此时,单片机就需要连接A/D转换器(AnalogtoDigitalConverter,模数转换器)将模拟量转换为数字量,再进行相应处理。图8-9A/D、D/A与单片机的连接8.4.1A/D与D/A转换原理(一)A/D转换器原理A/D转换器用于将模拟信号转换为数字信号,如图8-10所示。从模拟量到数字量的转换可以分为采样、保持、量化和编码四个步骤。图8-10A/D转换器(二)D/A转换器原理D/A转化器是将离散的数字量转换为连接变化的模拟量,如图8-12所示。

数模转换的基本思想与二进制数转换为十进制数的原理相似。在将二进制数转化为十进制数时,我们需要将二进制各位的数值与其位的权值相乘,然后相加即可得到相应的十进制数。图8-12D/A转换器8.4.2常用A/D转换器件及应用(一)8位并行A/D转换器件ADC0809ADC0809为常用的8位并行模数转换器。它的模数转换原理采用逐次逼近法,芯片由单个+5V电源供电,片内有8路模拟选通开关,可以分时对8路输入模拟量进行A/D转换,典型的A/D转换时间为100μs左右。1.AD0809芯片引脚功能介绍2.ADC0809的内部结构ADC0809的内部结构如图8-15所示,主要由8位模拟开关电路、地址锁存与译码电路、8位A/D转换器以及三态输出锁存缓冲器组成。图8-15ADC0809内部结构图3.MCS-51单片机与ADC0809的接口MCS-51单片机与ADC0809的连接如图8-16所示。(1)模拟通道的选择电路连接主要涉及两个问题:一是8路模拟信号通道的选择,二是A/D转换完成后转换数据的传送。(2)转换数据的传送4.ADC0809应用(二)8位串行A/D转换芯片TLC549TLC549是美国德州仪器公司生产的8位串行A/D转换器芯片,具有4MHz片内系统时钟和软、硬件控制电路,最大的输入输出时钟为1.1MHz,转换时间最长17μs,最高转换速率为40000次/s1.TLC549芯片的引脚功能介绍2.TLC549的内部结构3.工作原理TLC549片内有系统时钟,该时钟与I/OCLOCK是独立工作的,无须特殊的速度或相位匹配,其工作时序如图8-20所示,当CS为高时,数据输出(DATAOUT)端处于高阻状态,此时I/OCLOCK不起作用。4.TLC549应用图8-20TLC549的工作时序8.4.3常用D/A转换器件及应用(一)8位并行D/A转换器件DAC08321.引脚功能DAC0832是双列直插式8位D/A转换器。图8-22左图所示为ADC0832的引脚图,图8-22右图所示为ADC0832的实物图。2.内部结构3.DAC0832的三种工作方式DAC0832有直通方式、单缓冲方式和双缓冲方式三种工作方式,4.DAC0832应用图8-22DAC0832引脚图(二)12位串行D/A转换器件MAX531MAX531芯片是Maxim公司推出的性能优越、高分辨率的D/A转换集成电路,它具有功耗低、转换速度快、内部带基准电压等特点,能完成12位D/A转换,数字输入为串行方式。1.MAX531的引脚及功能2.MAX531的内部结构3.MAX531的数据通信时序4.MAX531应用5.MAX531的C51数据转换参考程序单片机原理及应用技术第9章

单片机电机控制技术【引

子】本章将介绍直流电机和步进电机的工作原理及特点。针对直流电机重点介绍单向控制、双向控制的原理及单片机实现单向和双向控制程序的编写方法。针对步进电机,从1相、2相、1-2相三种励磁方式进行了较为细致的分析。【本章内容提要】掌握直流电机的单向控制接口及编程掌握直流电机的双向控制接口及编程理解步进电机的工作原理与各种励磁方式掌握步进电机各种励磁方式编程9.1直流电机9.1.1什么是直流电机直流电机是把直流电转换为机械能的装置。直流电机的实物图及电路符号如图9-1所示。图9-1直流电机的实物图及符号9.1.2直流电机的单向控制直流电机的单向控制较为简单,可以通过开关的通断来接通和断开直流电源,实现电机的启动与停止控制,开关控制直流电机如图9-2所示。也可以通过三极管、场效应管、继电器等对直流电机的通断进行控制,采用三极管控制直流电机的电路如图9-3所示,图中的二极管为续流二极管,起到保护三极管的作用。

图9-2开关控制直流电机电路图

图9-3三极管控制直流电机电路图9.1.3直流电机的双向控制直流电机的双向控制原理就是使加在直流电机两端的电源电压的极性可以实现切换。通常采用H桥电路进行控制。H桥控制的示意如图9-5所示,有1~4四个开关的不同状态实现电机的停止、正转、反转控制。图9-5H桥实现直流电机双向控制的示意图9.2步进电机步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。9.2.1步进电机的分类目前较为常用的步进电机包括永磁式步进电机(PM)、反应式步进电机(VR)、混合式步进电机(HB)等。9.2.2步进电机工作基本原理4相步进电机工作原理如图9-8所示。图9-84相步进电机工作原理图9.2.3步进电机驱动方式驱动步进电机是把根据电磁感应原理使发电机转子形成旋转磁场的过程,也称为励磁。在4相电机中,第1种方式称单四拍工作方式,第2种方式称双四拍工作方式,第3种方式称八拍工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。单四拍、双四拍与八拍工作方式的电源通电时序与波形如图9-9所示,1相励磁、2相励磁和1-2相励磁方式如表9-2所示。图9-9单四拍、双四拍与八拍工作方式的电源通电时序与波形图9.2.4单片机控制步进电机应用实例【例9-3】采用1-2相励磁法实现电机的正转控制。单片机的I/O口驱动电流较小,一般无法直接驱动步进电机,图9-10采用ULN2003作为步进电机的驱动芯片,ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关状态时承受50V的电压,输出还可以在高负载电流并行运行。只需按表9-2(c)的8个步序向P1口发送数据,通过ULN2003的驱动,即可实现步进电机按1-2相励磁法正转运行。图9-10步进电机驱动控制电路图单片机原理及应用技术第10章

液晶显示控制技术【引

子】液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧等诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。【本章内容提要】掌握1602字符型液晶显示模块与单片机的接口及应用掌握ST7920带汉字字库的图形液晶显示模块与单片机的接口及应用了解TFT彩色图形液晶显示模块了解基于DDS信号发生器的液晶显示技术液晶显示模块是一种将液晶显示器件、连接器、集成电路、PCB电路板、结构件等装配在一起的组建,英文名称位LCDModule,简称LCM。液晶显示模块根据显示方式和内容的不同,分为数显液晶模块、字符型液晶显示模块和图形液晶显示模块。实物如图10-1所示。图10-1各种类型的液晶显示模块10.11602字符型液晶显示模块10.1.11602控制模块基本结构及指令集1602字符型液晶显示模块专门用于显示字符、数字等符号的液晶显示模块。模块一般都由字符型液晶显示屏LCD,主控制驱动芯片HD44780及其扩展驱动电路,以及少量阻、容元件和结构件等装配在电路板上而成,如图10-2所示。图10-21602型LCD显示模块

10.1.21602液晶与单片机的接口1602液晶显示模块可以和单片机实现接口控制,其接口方式有总线方式和模拟口线方式,其中模拟口线方式可以使单片机与液晶模块直接连接控制,较为常用,模拟口线的电路如图10-7所示。10.1.31602液晶显示通用驱动程序10.1.41602液晶显示模块应用10.2带汉字字库的图形液晶显示模块字符型液晶显示模块只能显示字符和数字,但不能显示汉字,也不能显示图形。如果要显示汉字或图形,则需要使用图形液晶显示模块。128×64的ST7920液晶显示模块如图10-9所示。图10-9128×64的ST7920液晶显示模块的实物图10.2.1ST7920LCD基本结构(一)引脚功能说明(二)内部结构ST7920的内部结构如图10-10所示。在对ST7920读或写时,会用到两个8位的寄存器,一个是数据寄存器DR,另一个是指令寄存器IR。通过数据寄存器DR可以存取DDRAM、CGRAM、CGROM及IRAM的值。待存取的目标RAM的地址可通过命令来选择,每次数据寄存器的操作应以上次选择的目标RAM为主体来进行读出或写入。(三)ST7920模块内部相关的寄存器10.2.2ST7920的常用指令ST7920有自己的指令集,包括基本指令和扩充指令两大类10.2.3ST7920的应用图10-10ST7920的内部结构框图10.3TFT彩色图形液晶显示模块应用简介TFT(ThinFilmTransistor,薄膜场效应晶体管)LCD,是指液晶显示器上的每一液晶象素点都是由集成在其后的薄膜晶体管来驱动。从而可以做到高速度高亮度高对比度显示屏幕信息。10.3.1ILI9325液晶模块与单片机的接口ILI9325与单片机的接口程序如图10-11所示,采用8位并行总线数据方式,软件实现复位。P2与液晶模块的DB10~DB17相连,作为数据总线。该系统另接入SD卡,通过单片机从SD卡读出彩色图象数据送LCD显示。10.3.2ILI9325液晶模块显示图象程序图10-11ILI9325与单片机的接口电路10.4.1DDS技术概述DDS是产生高精度、快速变换频率、输出波形失真小的优先选用技术。DDS以稳定度高的参考时钟为参考源,通过精密的相位累加器和数字信号处理,通过高速D/A变换器产生所需的数字波形(通常是正弦或余弦波形),这个数字波经过一个模拟滤波器后,得到最终的模拟信号波形,如图10-12所示。图10-12DDS原理框图10.4.2AD9850芯片介绍1.AD9850的各引脚功能AD9850的引脚功能如图10-13所示。2.工作原理图10-13AD9850的引脚10.4.3系统电路原理图1.系统原理框图系统原理如图10-14所示,工作原理:按键输入频率数值,通过单片机将数值送至液晶显示。单片机将数值经过计算产生40位控制字,送至AD9850,AD9850根据控制字输出不同频率的波形。图10-14系统电路原理框图

2.单片机与AD9850的接口接口电路如图10-15所示,在并行输入方式下,通过8位总线D0~D7将外部控制字输入到寄存器,在W_CLK(字输入时钟)的上升沿装入第一个字节,并把指针指向下一个输入寄存器,连续5个W_CLK的上升沿读入5个字节数据到输入寄存器后,W_CLK的边沿就不再起作用。然后在FQ_UD(频率更新时钟)上升沿到来时将这40位数据从输入寄存器装入到频率/相位寄存器,这时DDS输出频率和相位更新一次,同时把地址指针复位到第一个输入寄存器以等待下一次的频率/相位控制字输入。10.4.4控制程序设计及实现1.程序流程图程序流程如图10-16所示。2.主程序图10-15单片机与AD9850的接口电路图图10-16程序流程框图单片机原理及应用技术第11章I2C总线接口技术【引

子】目前常用的单片机和外设之间进行数据传输的串行总线主要有I2C总线、单总线和SPI总线。其中I2C总线以同步串行2线方式进行通信(一条时钟线,一条数据线);单总线采用单根信号线,既传输时钟又传输数据而且数据传输是双向的;SPI总线则以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线)。【本章内容提要】熟悉I2C总线的组成理解I2C总线时序掌握I2C器件与单片机接口电路的设计并读懂I2C接口程序掌握I2C器件PCF8563的应用11.1I2C总线概述11.1.1I2C总线组成I2C总线是PHILIPS公司推出的一种具备多主机系统所需的包括裁决和高低速设备同步等功能的高性能串行总线。11.1.2I2C总线时序I2C总线上一次完整的数据传送如图11-2所示。图11-2一次完整的数据传送11.2I2C总线的模拟目前,基本型51系列单片机基本没有I2C总线接口。51单片机与I2C器件的接口电路如图11-5所示,只需将单片机的任意两个I/O口分别与I2C器件的SDA、SCL口相连接,同时接4.7KΩ的上拉电阻即可。图11-551单片机与I2C器件接口电路图11.3I2C总线应用11.3.1I2C器件PCF8563的概述PCF8563是低功耗的CMOS实时时钟/日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过I2C总

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论