单片机应用技术教程第二章_第1页
单片机应用技术教程第二章_第2页
单片机应用技术教程第二章_第3页
单片机应用技术教程第二章_第4页
单片机应用技术教程第二章_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章单片机的基本结构,2.1微型计算机的基本结构及工作原2.289C51单片机的内部结构及引脚功能2.389C51的存储结构2.489C51单片机的I/O口2.589C51单片机的最小系统实训二单片机最小系统电路构成本章小结,2.1微型计算机的基本结构及工作原理,计算机是由运算器、控制器、存储器、输入及输出设备等五大部件组成的,如图2-1所示。其中,运算器用来完成算术运算和逻辑运算;控制器主要用于解释输入计算机的命令并发出相应的控制信号;存储器用来存放程序、数据及运算结果等信息;输入/输出设备用于输入外部命令及数据,输出运算结果等。微型机将控制器和运算器集成在一块芯片上,称为微处理器(CPU

2、)。下面分别介绍微型机的基本结构及工作原理。2.1.1微型计算机的基本结构微型计算机(Microcomputer)是以微处理器(CPU)为核心,加上内存储器ROM和RAM、I/O接口电路以及,下一页,返回,2.1微型计算机的基本结构及工作原理,系统总线组成,如图2-2所示。1.微处理器微处理器是微型计算机的“核心”,是系统的运算中心和控制中心。不同型号之间性能上的差别首先表现在微处理器的不同,每种处理器有其特有的指令系统。但所有的处理器的结构基本一致,主要包括运算器、控制器、寄存器组几个部分。运算器主要用于算术和逻辑运算。控制器由指令寄存器、指令译码器和微操作控制电路组成。它将指令从存储器调入

3、指令寄存器中,通过指令译码器译码后,由微操作控制电路按照译码后的控制命令发出一系列的控制信息,使微型计算机的各个部件协调动作,完成程序指定的工作。,上一页,下一页,返回,2.1微型计算机的基本结构及工作原理,CPU内部的寄存器主要用来暂存参与运算的操作数、中间结果和运算结果,同时记录程序运行中的某些状态等。因此,寄存器可以分为两大类:专用寄存器和通用寄存器。专用寄存器有累加器ACC、标志寄存器PSW、程序计数器PC等,其中累加器ACC用于参与程序的各种运算;标志寄存器PSW标识程序运行过程中的各种状态,如是否产生进位,是否超出了运算范围等;程序计数器PC用于控制程序执行的顺序。2.三总线总线是

4、微处理器、内存储器和I/O接口电路之间相互交换信息的公共通道。微型机的总线有数据总线(DataBus)、,上一页,下一页,返回,2.1微型计算机的基本结构及工作原理,地址总线(AddressBus)和控制总线(ControlBus)三总线构成。数据总线(DB)的功能是完成微处理器与内存、I/O接口电路之间的数据传送,通过数据总线可以实现数据的双向传送;地址总线(AB)是微处理器向内存和I/O接口电路传送地址信息的通路,是单向传送方式;控制总线(CB)是微处理器向内存和I/O接口电路发出的命令信息或由外界向微处理器传送状态的信息通路。3.存储器微型计算机内部的存储器,都是半导体存储器,其中只读存

5、储器可以是ROM、PROM、EPROM、E2PROM等类型,主要用于存放各种程序,如汇编程序、编译程序、标准子程序以及各种常用数据表格;读/写存储器包括各种形式的,上一页,下一页,返回,2.1微型计算机的基本结构及工作原理,RAM,用于存放用户程序、数据及部分系统信息。读/写存储器的结构如图2-3所示。其中存储单元矩阵是存储器的主体,用来存储信息。存储单元矩阵由许多存储单元组成,每个存储单元在存储单元矩阵中的位置用“地址”表示。存储单元的总数决定了该存储器的容量。存储器中地址译码器的作用是对地址进行译码,以选择所指定的存储单元。地址线的多少与存储容量的关系满足:存储容量=2n(n为地址线的数量

6、)。利用地址译码器就可以用较少的地址线选择更多的存储单元。,上一页,下一页,返回,2.1微型计算机的基本结构及工作原理,存储器要进行读写操作,首先必须由CPU发出地址信号,由地址总线(AB)传送至地址寄存器暂存,通过地址译码器选择指定的存储单元,再由CPU通过控制总线(CB)发出读/写控制信号,决定存储器中数据传送的方向,如果要进行读操作,则将存储器中的数据送入数据寄存器,然后通过数据总线(DB)送至CPU,如果进行写操作,则将CPU通过数据总线(DB)传送到数据寄存器中的数据存入存储单元中。按存储器地址空间分配形式的不同,可将微型计算机的存储器分为两类:普林斯顿结构和哈佛结构。普林斯顿结构特

7、点是计算机只有一个地址空间,CPU访问ROM和RAM用相同的访问指令,8086、奔腾等微型计算机就采用这种结构。,上一页,下一页,返回,2.1微型计算机的基本结构及工作原理,哈佛结构将ROM和RAM分别安排在相互独立的两个地址空间,ROM和RAM可以有相同的地址,用不同的指令访问。单片机就是采用这种结构。4.I/O接口电路微型计算机与I/O设备之间不能直接交换信息,必须通过I/O接口电路作为它们之间联系的桥梁。I/O接口电路通过各种符合标准的总线传递外围设备与CPU之间的信息,并对信息做一些必要的处理。5.外围设备常见的外围设备包括的打印机、显示器、键盘、鼠标、绘图仪、外存储器(如磁盘、光盘、

8、磁带等)以及一些互联网装置等。,上一页,下一页,返回,2.1微型计算机的基本结构及工作原理,2.1.2微型计算机的工作原理微型计算机在工作时,先将程序存放在存储器中,由CPU严格地按时序不断地从存储器中取出指令、对指令进行译码、执行指令规定的操作,即按指令的要求发出地址信号和控制信号,将数据或命令通过数据总线在CPU、存储器及I/O接口之间进行交流,完成指定的功能。下面以51系列单片机执行“3+2”的操作为例,说明计算机的工作过程。首先由编程人员写出汇编语言源程序,通过汇编程序将其编译成机器语言程序,其代码如下:,上一页,下一页,返回,2.1微型计算机的基本结构及工作原理,将机器语言程序(即机

9、器码)依次存放在存储器中,程序计数器PC装入初值0000H,以便程序从第一条指令处执行程序,如图2-4所示。当计算机开始工作时,微操作控制器将程序计数器PC中的初值0000H送入地址寄存器AR中,发出“读”()命令,同时使PC中的内容自动加1,为取下一字节数据做准备。,上一页,下一页,返回,2.1微型计算机的基本结构及工作原理,存储器在读命令控制下,将0000H单元的内容“74H”送入数据寄存器DR中,由微操作控制器将其经指令寄存器IR及指令译码器ID翻译后产生新的控制命令,该命令要求将存储器第二个地址单元0001H中的数据送入累加器中,同时PC又自动加1。存储器在新的控制命令作用下,将000

10、1H中的内容“03H”送入数据寄存器DR中,并通过内部数据总线送入累加器。这样,第一条指令就执行完了。下面两条指令的执行过程与第一条指令类似。,上一页,返回,2.289C51单片机的内部结构及引脚功能,AT89系列单片机的各种型号均是以8031为核心电路发展起来的,具有51系列单片机的基本结构与软件特征。AT89C51是AT89系列单片机的主流产品,以下均简称89C51。2.2.189C51单片机的基本结构89C51的内部结构如图2-5所示,其基本组成部分包括:适于控制应用的8位CPU;一个片内振荡器及时钟电路,最高工作频率可达24MHz;4KBFlash程序存储器;128B数据存储器;,下一

11、页,返回,2.289C51单片机的内部结构及引脚功能,可寻址64K外部数据存储器空间及64K程序存储器空间的控制电路;32根双向可按位寻址的I/O口线;1个全双工串行口;2个16位定时/计数器;5个中断源,具有两个优先级。若程序存储器带有4KBROM/EPROM,即为8051/8751;若RAM/EPROM容量为256B/8KB,则为52子系列。下面分别介绍89C51单片机内部各部分的主要功能:,上一页,下一页,返回,2.289C51单片机的内部结构及引脚功能,1.微处理器(CPU)89C51单片机的微处理器(CPU)与一般的微型计算机类似,也是由运算器和控制器组成。运算器可以对半字节(4位)

12、、单字节等数据进行算术、逻辑运算,并将结果送至状态寄存器。运算器中还包括一个专门用于位数据操作的布尔处理器。控制器包括程序计数器PC、指令寄存器、指令译码器、振荡器、时钟电路及控制电路等部件,它可以根据不同指令产生的操作时序控制单片机各部分工作。2.存储器单片机的存储器分两种:一种用于存放已编写好的程序及数据表格,称为程序存储器,常用ROM、EPROM、E2PROM等类型,89C51中采用的就是Flash,上一页,下一页,返回,2.289C51单片机的内部结构及引脚功能,E2PROM,其存储容量为4KB。另一种用于存放输入、输出数据、中间运算结果,称为数据存储器,常用RAM类型,89C51中的

13、数据存储器较小,存储容量仅128B。若存储器空间不够用,可以外部扩展。单片机存储器采用哈佛结构,它将程序存储器和数据存储器分开编址,各自有自己的寻址方式。3.输入/输出(I/O)口89C51的输入/输出接口包括四个8位并行口及1个全双工的串行口。4个并行口既可作为I/O端口使用,又可作为外部扩展电路时的数据总线、地址总线及控制总线。内部的串行口是一个可编程全双工串行通信接口,具有通用异步接收,上一页,下一页,返回,2.289C51单片机的内部结构及引脚功能,/发送器(UART)的全部功能,可以同时进行数据的接收和发送,还可以作为一个同步移位寄存器使用。4.其它内部资源89C51内部还有2个16

14、位定时/计数器及中断系统。定时/计数器可以通过对系统时钟计数实现定时,也可用于对外部事件的脉冲进行计数。中断系统可以对5个中断源进行中断允许及优先级的控制。5个中断源中有2个为外部中断,由单片机的外围引脚、引入;3个为内部中断,分别由2个定时/计数器及串行口产生。,上一页,下一页,返回,2.289C51单片机的内部结构及引脚功能,2.2.289C51单片机的引脚及封装89C51单片机的封装共分为PDIP、PLCC及PQFP三种形式,常用为PDIP封装方式。其引脚如图2-6所示。89C51共40个引脚,大致可分为四类:(1)电源引脚VCC:电源端,+5V。VSS:接地端(GND)。(2)时钟电路

15、引脚XTAL1:外接晶振输入端。XTAL2:外接晶振输出端。,上一页,下一页,返回,2.289C51单片机的内部结构及引脚功能,(3)I/O引脚P0.0P0.7/AD0AD7:一组8位漏极开路型双向I/O口,也是地址/数据总线复用口。作输入/输出口用时,必须外接上拉电阻,它可驱动8个TTL门电路。当访问片外存储器时,用作地址/数据分时复用口线。P1.0P1.7:一组内部带上拉电阻的8位准双向I/O口,可驱动4个TTL门电路。P2.0P2.7/A8A15:一组内部带上拉电阻的8位准双向I/O口,可驱动4个TTL门电路。当访问片外存储器时,用作高8位地址总线。P3.0P3.7:一组内部带上拉电阻的

16、8位准双向I/O口。,上一页,下一页,返回,2.289C51单片机的内部结构及引脚功能,出于芯片引脚数的限制,P3端口每个引脚具有第二功能。详见2.4节。(4)控制线引脚RESET/VPD:复位端/备用电源输入端。当RESET端出现持续两个机器周期以上的高电平时,可实现复位操作。VPD端可外接备用电源,以便在VCC掉电时向RAM供电。/VPP:片外程序存储器选择端/Flash存储器编程电源。若要访问外部程序存储器则端必须保持低电平。VPP端用于Flash存储器编程时的编程允许电源+12V输入端。,上一页,下一页,返回,2.289C51单片机的内部结构及引脚功能,ALE/:地址锁存允许端/编程脉

17、冲输入端。当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存P0口分时送出的低8位地址(下降沿有效)。不访问外部存储器时,该端以时钟频率的1/6输出固定的正脉冲信号,可用作外部时钟。对内部Flash存储器编程期间,该引脚用于输入编程脉冲。:读片外程序存储器选通信号输出端。当89C51从外部程序存储器取指令时,该脚有效(上升沿)。每个机器周期均产生两次有效输出信号。,上一页,返回,2.389C51的存储结构,89C51单片机的存储器配置在物理结构上有4个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。从用户的使用角度,即逻辑上,有3个存储器地址空间:片内、外统一

18、编址的程序存储器地址空间、片内数据存储器地址空间和片外数据存储器地址空间。在访问3个不同的逻辑空间时,应采用不同形式的指令,以产生不同的内部控制信号,用来选择所需的逻辑空间。图2-7表示了89C51单片机存储器空间结构。2.3.1程序存储器,下一页,返回,2.389C51的存储结构,单片机的程序存储器一般用于存放编好的程序、表格和常数。89C51单片机其存储器结构如图2-7(a)所示。其中,单片机内部有4KB的程序存储器,地址为0000H0FFFH。片外最多可扩展空间达64KB,地址为0000HFFFFH,片内与片外程序存储器的最大寻址范围为64K(即地址为0000HFFFFH)。由于单片机的

19、程序存储器采用片内、片外统一编址,则地址范围为0000H0FFFH是在片内存储器还是片外存储器,取决于单片机外围引脚的状态。如果接高电平(即=1),表示0000H0FFFH在片内程序存储器中;如果接低电平(即=0),则表示0000H0FFFH在片外程序存储器中。,上一页,下一页,返回,2.389C51的存储结构,一般来说,对于有内部程序存储器的单片机,应将引脚端接高电平,使程序从内部程序存储器开始执行。当程序超出内部程序存储器的容量时,自动转向外部程序存储器1000HFFFFH地址范围执行。89C51单片机执行程序时,与微型计算机执行程序类似,也是由程序计数器PC控制程序执行的顺序。单片机中的

20、程序计数器PC(ProgramCounter)是一个16位的专用寄存器,用来存放即将执行的下一条指令所在的地址。它具有自动加1的功能。当CPU要取指令时,PC的内容送至地址总线上,从PC所指向的存储器地址中取出指令,PC内容则自动加1,指向下一条指令,以保证程序按顺序执行。,上一页,下一页,返回,2.389C51的存储结构,当单片机接通电源时,PC会被复位为0000H,此时,单片机从0000H开始将指令依次取出执行。89C51的程序存储器中有5个特殊地址单元,用于中断程序的入口地址。0003H外部中断0入口地址000BH定时/计数器0中断入口地址0013H外部中断1入口地址001BH定时/计数

21、器1中断入口地址0023H串行口中断入口地址,上一页,下一页,返回,2.389C51的存储结构,由于0000H单元与这些中断程序入口地址之间的存储空间有限,为了不影响这些中断入口地址的正常使用,常在0000H单元及这些中断入口处都放置一条绝对无条件跳转指令,使程序跳转到用户指定的主程序和中断服务程序存储空间中执行。2.3.2数据存储器数据存储器(RAM)用于存放运算中间结果、数据暂存和缓冲、待调试的程序。数据存储器在物理上和逻辑上都分为两个地址空间:一个是由128B的片内RAM和21个特殊功能寄存器(SFR)构成的内部数据存储器,另一个是片外最大可扩充64KB的数据存储器,如图2-7(b)所示

22、。,上一页,下一页,返回,2.389C51的存储结构,片外数据存储器的使用通常出现在单片机内部RAM容量不够的情况下。扩展容量可由用户根据需要确定,最大可扩充64K,地址范围0000HFFFFH。需要注意的是,89C51单片机扩展的I/O接口与片外数据存储器统一编址。使用片内和片外数据存储器时采用不同的指令加以区别。在访问片内数据存储器时,可使用MOV指令;要访问片外数据存储器可使用MOVX指令。对片外数据存储器只能采用间接寻址方式,可使用R0、R1和DPTR作间址寄存器。R0、R1作为8位地址指针,寻址范围为256B;而DPTR是16位地址指针,故寻址范围可达64KB。,上一页,下一页,返回

23、,2.389C51的存储结构,89C51单片机的内部数据存储器只有地址为007FH共128BRAM可供用户使用,与片内RAM统一编址的80HFFH地址空间中只有21个存储空间被特殊功能寄存器(SFR)占用。1.片内数据存储区(007FH)片内数据存储区地址为007FH空间的使用划分为工作寄存器区、位寻址区及用户RAM区三部分。(1)工作寄存器区(00H1FH)工作寄存器区共32个存储单元,分为4组,每组由8个地址单元组成通用寄存器R0R7,其地址分配见表2-1所示。每组寄存器均可作为CPU当前的工作寄存器,当前工作寄存器可通过特殊功能寄存器中的程序状态字PSW的RS1、,上一页,下一页,返回,

24、2.389C51的存储结构,RS0两位进行设置。例如,如果RS1RS0=01H,则表示选中了第1组,地址为08H0FH构成当前的工作寄存器R0R7。当CPU复位后,自动选中第0组工作寄存器。一旦选中了一组工作寄存器,其他3组的地址空间只能用于数据存储器使用,不能作为寄存器使用。如果要使用必须重新设置RS1、RS0的状态。(2)位寻址区(20H2FH)位寻址区共16个字节,每个字节8位,共128位,这128位用位地址编号,范围为00H7FH。这些位地址单元构成了布尔处理器的存储空间,其地址分布见表2-2所示。位寻址区既可采用位寻址方式访问,也可以采用字节寻址方式,上一页,下一页,返回,2.389

25、C51的存储结构,访问,这种位寻址能力是51系列单片机一个重要特点。(3)用户RAM区(30H7FH)用户RAM区共80个单元,可作为堆栈或数据缓冲使用。2.特殊功能寄存器(SFR)区(80HFFH)89C51单片机中共有21个特殊功能寄存器(SFR),这些寄存器离散地分布在内部数据存储器的80HFFH这128字节的地址空间中。对这些特殊功能寄存器只能采用直接寻址及位寻址,其中,地址为X0H和X8H的各寄存器可以位寻址,见表2-3所示。表中用“*”表示可位寻址的寄存器。,上一页,下一页,返回,2.389C51的存储结构,这些特殊功能寄存器(SFR)都和单片机的相关部件有关,如ACC、B、PSW

26、与CPU有关,SP、DPTR与存储器有关,P0P3与I/O端口有关,IP、IE与中断系统有关,TCON、TMOD、TH0、TL0、TH1、TL1与定时/计数器有关,SCON、SBUF与串行口有关,PCON与电源有关。这些SFR专门用来设置单片机内部的各种资源,记录电路的运行状态,参与各种运算及输入/输出操作。如设置中断和定时器的工作方式、进行并行及串行输入/输出等。下面简述几个常用的特殊功能寄存器的功能。(1)累加器ACC,上一页,下一页,返回,2.389C51的存储结构,ACC是一个具有特殊用途的8位寄存器,主要用于存放操作数或运算结果。89C51指令系统中大多数指令的执行都要通过累加器AC

27、C进行。因此,在CPU中,累加器的使用频率是很高的。当采用寄存器寻址时,可用A表示累加器。(2)寄存器B寄存器B在乘、除法指令中用于暂存数据。乘法指令的两个操作数分别取自于A和B,其结果存放在BA寄存器对中。具体应用见第三章中的乘法、除法指令。(3)程序状态字PSWPSW是一个可编程的8位寄存器,用来存放与当前指令执行结果相关的状态。89C51有些指令的执行会自动影响PSW相关位的状态,在编程时要加以注意。同时,PSW中某些,上一页,下一页,返回,2.389C51的存储结构,位的状态也可通过指令设置。PSW各标志位的定义如下:CY:进位标志位。当累加器A的最高位有进位(加法)或借位(减法)时,

28、CY=1;否则CY=0。在布尔操作时,它是各种位操作的“累加器”。CY在指令中常简记为C。AC:辅助进位标志位。当累加器A的D3位向D4位进位或借位时,AC=1;否则为0。有时AC也被称为半进位标志。F0:用户标志位。可以根据需要用程序将其置位或清零,以控制程序的转向。,上一页,下一页,返回,2.389C51的存储结构,RS1、RS0:工作寄存器区选择位。RS1、RS0可由指令置位或清零,用来选择单片机的工作寄存器区。OV:溢出标志位。当有符号数采用补码运算时,其结果超出范围(127+128)时,有溢出,OV=1;否则OV=0。:保留位。P:奇偶校验位。指示累加器A中操作结果的“1”的个数的奇

29、偶性。凡是改变累加器A中内容的指令均影响P标志位。当A中有奇数个“1”,则P=1;否则P=0。此标志位对串行通信,上一页,下一页,返回,2.389C51的存储结构,中的数据传输有重要的意义。在串行通信中常采用奇偶校验的方法来校验数据传输的可靠性。(4)堆栈指针SP堆栈是存储区中一个存放数据地址的特殊区域,主要是用来暂存数据和地址的,操作时按先进后出的原则存放数据,其生成方向由低地址到高地址。堆栈指针SP是一个8位特殊功能寄存器,指示堆栈的底部在片内RAM中的位置。系统复位后,SP的初始值为07H。由于08H1FH单元分属于工作寄存器区13,一般将SP的初值改变至片内RAM的高地址区(30H以上

30、)。,上一页,下一页,返回,2.389C51的存储结构,(5)数据指针DPTRDPTR是一个16位地址寄存器,主要用来存放16位地址,作间接寻址寄存器使用。因为89C51单片机可以外接64KB的数据存储器和I/O端口,对它们的寻址就需要使用DPTR实现。它们也可以拆成两个独立的8位寄存器使用,即DPH(高8位)和DPL(低8位),分别占据83H和82H两个地址。(6)端口P0P3P0P3分别表示I/O端口中的P0P3锁存器。在89C51中可以把I/O端口当作一般的特殊功能寄存器来使用,不再专设端口操作指令,均采用统一的MOV指令,使用方便。,上一页,下一页,返回,2.389C51的存储结构,(

31、7)串行数据缓冲器SBUF串行数据缓冲器SBUF用于存放串行通信中待发送或已接收到的数据。它实际上是由两个独立的寄存器组成,一个是发送缓冲器,一个是接收缓冲器。(8)定时/计数器TH1、TL1、TH0、TL089C51中有2个16位定时/计数器T0和T1。它们各自由2个独立的8位寄存器组成,共为4个寄存器TH1、TL1、TH0和TL0,可以分别对这4个寄存器寻址,但不能把T0、,上一页,下一页,返回,2.389C51的存储结构,T1当16位寄存器来对待。由于定时/计数器工作方式的不同,定时器使用的有效位数会发生变化。具体应用见第五章相关章节。除上述SFR以外,另外还有IE、IP、TMOD、TC

32、ON,SCON和PCON等寄存器,将在以后的章节中再做介绍。,上一页,返回,2.489C51单片机的I/O口,89C51单片机有4个8位并行I/O口,P0P3,共32根口线。每个端口都包括:锁存器(即SFR中的P0P3)、输出驱动器、两个三态缓冲器以及控制电路。2.4.1I/O口的特性1.P0口P0口的位结构如图2-8所示,其特点为:(1)控制端高电平时,作为低8位地址和8位数据分时复用口,供扩展时使用。(2)控制端低电平时,作I/O口使用。场效应管T1截止,使T2漏极开路,需外接上拉电阻。,下一页,返回,2.489C51单片机的I/O口,(3)当作输入口时,具有“读引脚”和“读锁存器”两种情

33、况。前一种情况是数据由引脚输入,此时需先向锁存器写1,将场效应管T1和T2都截止;后一种情况是读锁存器Q端的状态。(4)每位最多可带8个LSTTL负载。2.P1口P1口的位结构如图2-9所示,其特点为:(1)只作I/O端口使用,内部用上拉电阻代替了场效应管T1。(2)与P0口一样,也有读引脚和读端口两种情况。操作方法与P0口相似。(3)可带4个LSTTL电路。,上一页,下一页,返回,2.489C51单片机的I/O口,3.P2口P2口的位结构如图2-10所示。其特点为:(1)控制端高电平时,作为高8位地址输出口。(2)控制端低电平时,作I/O端口使用。使用方法与P0、P1口相同。(3)每位可带4

34、个LSTTL负载。4.P3口P3口位结构如图2-11所示。其特点为:(1)具有第二功能,见表2-4所示。(2)第二功能输出端为“1”时,与非门的输出由锁存器输出端Q决定,P3口作为通用输出口使用。,上一页,下一页,返回,2.489C51单片机的I/O口,(3)当P3口作为第二功能输出使用时,锁存器输出Q应置“1”,与非门的输出由第二功能输出端决定。(4)当P3口读引脚或第二功能输入使用时,应将锁存器输出Q及第二功能输出端均置“1”,使场效应管T2截止。(5)每位可带4个LSTTL负载。2.4.2I/O的应用由89C51各端口的特性可知,P0口既可作地址/数据总线口,又可作通用I/O口。在作地址

35、/数据总线口时,它是真正的双向口,可以直接驱动MOS输入,不需要加上拉电阻。当它作通用I/O口时,必须外接上拉电阻才能驱动MOS,上一页,下一页,返回,2.489C51单片机的I/O口,输入。对P1、P2、P3口而言,内部已接有上拉电阻,因此不必外接任何电阻就可驱动MOS输入。P0口和P1、P2、P3口作通用I/O口时一样,在输入时分为“读锁存器”和“读引脚”两种操作,这两种操作是用不同的指令区分的。当CPU在执行“读修改写”类指令时,如“ANLP1,A”,则采用读锁存器的操作方式。它将锁存器Q端的数据读入后,进行运算修改后,将结果送回到端口锁存器并输出到引脚。当CPU执行“MOV”类指令时,

36、则进行“读引脚”操作。此时,在读引脚前必须先对锁存器写“1”,使场效应管T2截止,才能正确输入引脚上的信息。因此,把具有这种特性的端口称为准双向口。,上一页,下一页,返回,2.489C51单片机的I/O口,例如,将P1口的状态输入累加器A中,必须执行两条指令:MOVP1,#0FFH;将P1口的锁存器写“1”MOVA,P1;将P1口引脚状态读入A中总的来说,由于单片机I/O口的电气特性决定了单片机端口的驱动能力有限,只能提供很小的驱动电流,所以带负载时,应当在单片机的I/O口加上驱动芯片。,上一页,返回,2.589C51单片机的最小系统,2.5.189C51单片机最小系统的构成在单片机实际应用系

37、统中,由于应用条件及控制要求的不同,其外围电路的组成各不相同。单片机的最小系统就是指在尽可能少的外部电路条件下,能使单片机独立工作的系统。由于89C51内部已经有4KB的FlashE2PROM及128B的RAM,因此只需要接上时钟电路和复位电路就可以构成单片机的最小系统,如图2-12所示。2.5.2时钟电路时钟电路对单片机系统而言是必需的。由于单片机内部是由各种各样的数字逻辑器件(如触发器、寄存器、存储器等)构成,这些数字器件的工作必须按时间顺序完成,这种时间,下一页,返回,2.589C51单片机的最小系统,顺序就称为时序。时钟电路就是提供单片机内部各种操作的时间基准的电路,没有时钟电路单片机

38、就无法工作。1.时钟电路的产生方式根据89C51单片机产生时钟方式的不同,可将时钟电路分为内部时钟方式及外部时钟方式两种形式。如果在XTAL1和XTAL2引脚之间外接石英晶体振荡器及两个谐振电容,就可以构成内部时钟电路,如图2-12中的电路。内部时钟电路的石英晶体振荡器频率一般选择在4MHz12MHz之间,谐振电容采用2030pF的瓷片电容。,上一页,下一页,返回,2.589C51单片机的最小系统,如果单片机的时钟采用某一个外接的时钟信号,则可以按图2-13所示连接。对于89C51一般可采用图2-13(b)所示外接时钟信号。2.单片机的时序单位时钟电路产生的最小时序单位称为时钟周期,它是由石英

39、晶体振荡器的振荡频率决定的,又称振荡周期。将石英晶体振荡器的振荡频率进行二分频,就构成了状态周期,一个状态周期等于两个时钟周期。将这两个时钟周期称为两个节拍,用P1、P2表示。6个状态周期就构成了1个机器周期,机器周期是单片机执行一种基本操作所需要的时间单位。6个状态依次用S1S6表示。,上一页,下一页,返回,2.589C51单片机的最小系统,单片机执行一条指令所需要的时间称为指令周期,通常由14个机器周期组成。它是由不同指令来决定时间长短的,附录二中列出了各种指令所需要的时间。一般51单片机的指令分为单机器周期、双机器周期及四机器周期指令。各时序单位间的关系见图2-14所示。例如:石英晶体振

40、荡器的频率为fOSC=12MHz,则状态周期=2时钟周期=0.167s机器周期=12时钟周期=1s,上一页,下一页,返回,2.589C51单片机的最小系统,指令周期=(14)机器周期=14s2.5.3复位电路单片机的复位就是对单片机进行初始化操作,使单片机内部各寄存器处于一个确定的初始状态,以便进行下一步操作。1.复位电路的构成要实现复位操作,只需在89C51单片机的RST引脚上施加5ms的高电平信号就可以了。单片机的复位电路有两种形式:上电复位和按钮复位。如图2-15所示,(a)为上电复位,(b)为按钮复位。,上一页,下一页,返回,2.589C51单片机的最小系统,上电复位是利用电容充电来实

41、现的,即上电瞬间RST端的电位与VCC相同,随着电容上储能增加,电容电压也增大,充电电流减少,RST端的电位逐渐下降。这样在RST端就会建立一个脉冲电压,调节电容与电阻的大小,就可对脉冲持续的时间进行调节。通常晶振为6MHz时,复位电路元件参数为22F的电解电容和1k的电阻,若晶振频率为12MHz时,复位电路元件参数为10F的电解电容和10k的电阻。按钮复位电路是通过按下复位按钮时,电源对RST端维持两个机器周期的高电平实现复位的。2.复位后各寄存器的状态,上一页,下一页,返回,2.589C51单片机的最小系统,当单片机进行复位操作后,各寄存器的内容被初始化。复位后各寄存器状态见表2-5所示。

42、由表可知,除SP、P0P3及SBUF外,其余各寄存器值均为0。PC=0000H代表单片机从地址为0处开始执行程序。端口P0P3为FF表明,所有端口锁存器均被置“1”,可进行输入/输出数据的操作。,上一页,返回,实训二单片机最小系统电路构成,一、实训目的了解单片机最小系统的构成及编程调试过程。二、实训内容按图2-16制作89C51单片机的最小系统电路,并利用伟福仿真器软件包,编写一个使LED灯点亮的程序并编译。通过编程器将编译后的文件写入89C51芯片中,将89C51芯片插入最小系统板,运行程序观察LED灯的状态。三、元器件清单,下一页,返回,实训二单片机最小系统电路构成,上一页,下一页,返回,实训二单片机最小系统电路构成,四、实训操作步骤1.硬件接线将构成单片机最小系统的元件焊接到万能板上。2.编程并下载分别输入以

温馨提示

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

评论

0/150

提交评论