第二课单片机硬件基础ye_第1页
第二课单片机硬件基础ye_第2页
第二课单片机硬件基础ye_第3页
第二课单片机硬件基础ye_第4页
第二课单片机硬件基础ye_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

计算机测控技术

第二课单片机硬件系统基础叶卫东检测与自动化工程系yujs@办公室:新主楼E301电话:823173352014.3.6本节内容嵌入式系统基础知识51单片机系统结构及组成知识什么是嵌入式系统?Embeddedsystem个人电脑≠嵌入式系统简单的讲,嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。广义的讲,可以认为凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统嵌入式计算机系统的定义以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统嵌入式系统的主特征和通用的计算机系统相比,嵌入式系统具有以下特征:1、用于特定的任务2、极其关注成本3、大多有功耗的要求4、有实时的要求6、软件要求固态化存储

7、软件硬件可靠性要求更高8、相关产品具有较长的生命周期

……嵌入式系统基本组成要素嵌入式处理器及其硬件平台嵌入式软件系统嵌入式操作系统(可选)----实时操作系统RTOSI/O接口系统以嵌入式处理器为核心的硬件平台嵌入式操作系统嵌入式应用软件系统应用系统的I/O接口嵌入式系统基本组成硬件计算机组成体系结构——冯·诺依曼体系结构模型计算机组成结构——哈弗体系结构计算机系统指令集CISC:复杂指令集(ComplexInstructionSetComputer)具有大量的指令和寻址方式大多数程序只使用少量的指令就能够运行RISC:精简指令集(ReducedInstructionSetComputer)8/2原则:80%的程序只使用20%的指令在通道中只包含最有用的指令确保数据通道快速执行每一条指令使CPU硬件结构设计变得更为简单嵌入式处理器分类MCS-51单片机的硬件结构片内结构如图2-1所示:

图2.2MCS-51单片机功能结构图时钟信号源外部事件信号BUS时钟电路8KBFlashROM256BRAM128BSFR16位×3个定时/计数器64KB总线扩展控制器可编程并行口可编程全双工串行口CPU中断控制器外中断8位×4个并行口串行通信总线控制BUS2.1.1MCS-51单片机的功能结构及特点

图2.3MCS-51单片机原理结构图XTAL2XTAL1P3.0~P3.7P1.0~P1.7RAM地址端口0驱动器端口2驱动器8KBFlashROM端口0锁存器端口2锁存器端口1驱动器端口3驱动器端口1锁存器端口3锁存器暂存器1SPPSWB寄存器暂存器2ACC256BRAM128BSFR缓冲器PC加1PC程序地址寄存器DPTR定时器、串行口中断部件及特殊功能寄存器地址总线∕数据总线P2.0~P2.7VccGND指令寄存器指令译码器指令控制器P0.0~P0.7PSENALEEARSTALU介绍图2-1中的各功能部件:1.CPU 51CPU是动态CPU2.数据存储器(RAM)片内为128个字节(52子系列的为256个字节)3.程序存储器(ROM/EPROM)

8031:无ROM;8051:4K字节ROM;8751:4K字节EPROM;

89C51/89C52/89C55:4K/8K/20K字节闪存。4.中断系统5.定时器/计数器6.串行口1个全双工的异步串行口,具有四种工作方式。7.P1口、P2口、P3口、P0口为4个并行8位I/O口。8.特殊功能寄存器(SFR)共有21个,是一个具有特殊功能的RAM区。2.2MCS-51的引脚

40只引脚双列直插封装(DIP)。

44只引脚方形封装方式(4只无用)40只引脚按功能分为3类:(1)电源及时钟引脚:Vcc、Vss;XTAL1、XTAL2。(2)控制引脚:PSEN*、EA*、ALE、RESET(即RST)。(3)I/O口引脚:P0、P1、P2、P3,为4个8位I/O口的外部引脚。2.2.1电源及时钟引脚

1.电源引脚

(1)Vcc(40脚):+5V电源;(2)Vss(20脚):接地。2.时钟引脚

(1)XTAL1(19脚):如果采用外接晶体振荡器时,此引脚应接地。(2)XTAL2(18脚):接外部晶体的另一端。2.2.2控制引脚

提供控制信号,有的引脚还具有复用功能。

(1)RST/VPD(9脚):复位与备用电源。(2)ALE/PROG*(30脚):第一功能ALE为地址锁存允许,可驱动8个LS型TTL负载。PROG*为本引脚的第二功能。为编程脉冲输入端。

(3)PSEN*(29脚):外部程序存储器的读选通信号。可以驱动8个LS型TTL负载。

(4)EA*/VPP(EnableAddress/VoltagePulseofPrograming,31脚)

EA*为内外程序存储器选择控制端。

EA*=1,访问片内程序存储器,但在PC(程序计数器)值超过0FFFH(对于8051、8751)时,即超出片内程序存储器的4K字节地址范围时,将自动转向执行外部程序存储器内的程序。EA*=0,单片机则只访问外部程序存储器。

VPP为本引脚的第二功能。用于施加编程电压(例如+21V或+12V)。对89C51,加在VPP脚的编程电压为+12V或+5V。2.2.3I/O口引脚(1)P0口:开漏双向8位I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。(2)P1口:8位准双向I/O口,可驱动4个LS型TTL负载。(3)P2口:8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。(4)P3口:8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。注意:准双向口与开漏双向三态口的差别。准双向I/O口作输入口使用时,要向该口先写“1”。准双向I/O口无高阻的“浮空”状态。2.3MCS-51的CPU

由运算器和控制器所构成2.3.1运算器

对操作数进行算术、逻辑运算和位操作。1.算术逻辑运算单元ALU2.累加器A

使用最频繁的寄存器,可写为Acc。

A的作用:(1)是ALU的输入之一,又是运算结果的存放单元。(2)数据传送大多都通过累加器A。MCS-51增加了一部分可以不经过累加器的传送指令,即可加快数据的传送速度,又减少A的“瓶颈堵塞”现象。A的进位标志Cy同时又是位处理机的位累加器。3.程序状态字寄存器PSW

(1)Cy(PSW.7)进位标志位(2)Ac(PSW.6)辅助进位标志位,用于BCD码的十进制调整运算。(3)F0(PSW.5)用户使用的状态标志位。(4)RS1、RS0(PSW.4、PSW.3):4组工作寄存器区选择控制位1和位0。

RS1RS0所选的4组寄存器

000区(内部RAM地址00H~07H)011区(内部RAM地址08H~0FH)102区(内部RAM地址10H~17H)113区(内部RAM地址18H~1FH)(5)OV(PSW.2)溢出标志位

指示运算是否产生溢出。各种算术运算指令对该位的影响情况较复杂。(6)PSW.1位:保留位,未用(7)P(PSW.0)奇偶标志位

P=1,A中“1”的个数为奇数

P=0,A中“1”的个数为偶数

1.程序计数器PC(ProgramCounter)存放下一条要执行的指令在程序存储器中的地址。

基本工作方式有以下几种:

(1)程序计数器自动加1

(2)执行有条件转移或无条件转移指令时,程序计数器将被置入新的数值,从而使程序的流向发生变化。(3)在执行调用子程序调用或中断调用,完成下列操作: ①PC的现行值保护②将子程序入口地址或中断向量的地址送入PC。

2.堆栈指针SP

指示堆栈顶部在内部RAM块中的位置

复位后,SP中的内容为07H。

(1)保护断点 (2)现场保护 堆栈向上生长

3.数据指针DPTR

高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。

4.I/O端口P0~P3

P0~P3分别为I/O端口P0~P3的锁存器。5.寄存器B为执行乘法和除法操作设置的。在不执行乘、除的情况下,可当作一个普通寄存器来使用。6.串行数据缓冲器SBUF

存放欲发送或已接收的数据,一个字节地址,物理上是由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器。7.定时器/计数器

两个16位定时器/计数器T1和T0,各由两个独立的8位寄存器组成:TH1、TL1、TH0、TL0,只能字节寻址,但不能把T1或T0当作一个16位寄存器来寻址访问。2.3MCS-51存储器的结构(重要)

MCS-51单片机为哈佛结构:程序存储器ROM和数据存储器RAM分开编址

PC机为偌依曼结构:ROM和RAM统一编址

程序存储器:固化程序、常数和数据表

数据存储器:存放程序运行中产生的各种数据、用作堆栈等

1、单片机的存储器空间及分类

MCS-51单片机有4个存储空间: 1)片内程序存储器;2)片内数据存储器;3)片外程序存储器;4)片外数据存储器。

4个存储空间可以分成三类: 1)片内数据存储空间(256B的RAM和128B的特殊功能寄存器);2)片外数据存储空间(64KB);3)片内和片外统一编址的程序存储空间(64KB)

不同类型的存储空间,有各自的寻址方式和访问指令。

2.3.1单片机程序存储器结构MCS-51单片机程序存储空间的配置片外ROM片内ROMEA=1片外ROMEA=00000H0FFFH1000HFFFFH(a)片内有4KB的ROM(b)片内有8KB的ROM片外ROM片内ROMEA=1片外ROMEA=00000H1FFFH2000HFFFFH2.3.1程序存储器结构

二、程序存储器的专用区域 用作复位和中断入口2.3.1程序存储器结构

中断向量:即中断入口地址。如下表

如果用C语言编写程序,不需要考虑以上这些问题,即不用考虑引导程序问题,中断入口与跳转问题,这些问题均由编译系统安排好。2.3.2片内数据存储器结构

片内数据存储器按照寻址方式,可以分为三个部分:低128字节数据区,高128字节数据区,特殊功能寄存器区。如下图所示。

低128BRAM

data区特殊功能寄存器80HFFH00H7FH(a)89C51片内RAM低128BRAM

data区高128BRAMidata区特殊功能寄存器00H7FH80HFFH80HFFH(b)增强型单片机片内RAM2.3.2片内数据存储器结构 一、低128字节RAM地址范围:00H~7FH,128字节应用特点:有多种用途且使用最频繁功能作用:分为三个区域,即工作寄存器区、位寻找区、通用数据区。寻址方式:直接、间接、位寻址 低128字节RAM的配置如右图所示。不同数据区的用途工作寄存器组由决定于程序状态字PSW的RS1和RS0位确定;

C语言下选寄存器组:在定义函数时,通过使用关键字“using”来选择(如usingm)位寄存器组

既可以做位操作,也可以字节操作。

C语言编程:用关键字“bit”定义的位变量在该区域;用关键字“bdata”将一般变量定义在该区域,并且定义的变量还可以进行位寻址。通用数据区

用于堆栈、存放数据、存放程序运行时的中间结果等。2.3.2片内数据存储器结构二、高128字节RAM(增强型单片机)

地址范围:80H~FFH,128字节

用途:与低128字节中的30H到7FH完全一样,用于堆栈、存放程序运行时的数据和中间结果等。

寻址方式:间接访问。

C语言编程:使用关键字“idata”定义变量三、特殊功能寄存器(SFR)

也称为专用寄存器,是单片机中最重要的部分。

地址范围:80H~FFH,128字节

功能作用:控制单片机各个部件的运行反映各部件的运行状态存放数据或地址

寻址方式:直接访问特殊功能寄存器在C语言中使用,必须先做定义,它们多数在“reg51.h”、“reg52.h”等头文件做了定义。2.3.3片外数据存储器结构(1)地址范围:0000H~FFFFH(2)容量:共64KB(3)访问指令:“MOVX”(片内用MOV) 使用“MOVX”指令对片外RAM进行读/写操作时,会自动产生读/写控制信号RD和WR,作用于片外RAM实现读/写操作。(4)用途:片外RAM做通用RAM使用,主要存放大量采集的或接收的数据、运算的中间数据、最后结果、用作堆栈等。

(5)C语言编程:使用关键字“xdata”或“pdata”将变量、数组、堆栈定义到片外RAM区。表2-2SFR的名称及其分布表2-3内部RAM的可寻址位及位地址表2-4SFR中的位地址分布2.4并行I/O端口

4个双向的8位并行I/O端口(Port),记作P0~P3属于特殊功能寄存器,还可位寻址。

2.4.1P0端口

P0口某一位的电路包括:(1)一个数据输出锁存器,用于数据位的锁存(2)两个三态的数据输入缓冲器。(3)一个多路转接开关MUX,使:P0口可作通用I/O口,或地址/数据线口。(4)数据输出的驱动和控制电路,由两只场效应管(FET)组成,上面的场效应管构成上拉电路。P0口传送地址或数据时,CPU发出控制信号为高电平,打开上面的与门,使多路转接开关MUX打向上边,使内部地址/数据线与下面的场效应管处于反相接通状态。此时输出驱动电路由于上下两个FET处于反相,形成推挽式电路结构,大大提高负载能力。P0口作通用的I/O口使用。这时,CPU发来的“控制”信号为低电平,上拉场效应管截止,多路转接开关MUX打向下边,与D锁存器的Q*端接通。(1)P0作输出口使用来自CPU的“写入”脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并向端口引脚P0.x输出。注意:由于输出电路是漏极开路(因为这时上拉场效应管截止),必须外接上拉电阻才能有高电平输出。(2)P0作输入口使用区分“读引脚”和“读锁存器”。“读引脚”信号把下方缓冲器打开,引脚上的状态经缓冲器读入内部总线;“读锁存器”信号打开上面的缓冲器把锁存器Q端的状态读入内部总线。8031单片机在对端口P0一P3的输入操作上,有如下约定:凡属于读-修改-写方式的指令,从锁存器读入信号,其它指令则从端口引脚线上读入信号。读-改-写指令的特点从端口输入(读)信号,在单片机内加以运算(修改)后,再输出(写)到该端口上。下面是几条读--修改-写指令的例子。ANLP0,#O8H;P0与立即数--〉P0ORLPO,A;P0或A--〉P0INCP1;P1+1--〉P1DECP3;P3-1—〉P3CPLP2;P2异或-〉P2这样安排的原因在于读-修改-写指令需要得到端口原输出的状态,修改后再输出,读锁存器而不是读引脚,可以避免因外部电路的原因而使原端口的状态被读错。2.4.2P1端口

字节地址90H,位地址90H~97H。P1口只作通用的I/O口使用,在电路结构上与P0口有两点区别:(1)因为只传送数据,不再需要多路转接开关MUX。(2)由于P1口用来传送数据,因此输出电路中有上拉电阻,这样电路的输出不是三态的,所以P1口是准双向口。因此:(1)P1口作为输出口使用时,外电路无需再接上拉电阻。(2)P1口作为输入口使用时,应先向其锁存器先写入“1”,使输出驱动电路的FET截止。2.4.3P2端口

字节地址为A0H,位地址A0H~A7H。

在实际应用中,因为P2口用于提供高位地址,有一个多路转接开关MUX。但MUX的一个输入端不再是“地址/数据”,而是单一的“地址”,因为P2口只作为地址线使用。当P2口用作为高位地址线使用时,多路转接开关应接向“地址”端。正因为只作为地址线使用,口的输出用不着是三态的,所以,P2口也是一个准双向口。P2口也可以作为通用I/O口使用,这时,多路转接开关接向锁存器Q端。2.4.4P3端口

P3口的字节地址为B0H,位地址为B0H~B7H。P3口的第二功能定义,应熟记。表2-2P3口的第二功能定义

口引脚第二功能

P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0*(外部中断0) P3.3 INT1*(外部中断1) P3.4 T0(定时器0外部计数输入) P3.5 T1(定时器1外部计数输入) P3.6 WR*(外部数据存储器写选通) P3.7 RD*(外部数据存储器读选通)

第二功能信号有输出和输入两类:(1)作通用的I/O输出,“第二输出功能”线应保持高电平,与非门开通,使锁存器Q端输出畅通。作第二功能信号输出,锁存器预先置“1”,使与非门对“第二输出功能”信号的输出是畅通的。(2)作第二功能信号输入,在口线引脚的内部增加了一个缓冲器,输入的信号就从这个缓冲器的输出端取得。而作为通用I/O输入,仍取自三态缓冲器的输出端。P3口无论作哪种输入,锁存器输出和“第二输出功能”线都应保持高电平。2.4.5P0~P3端口功能总结使用中应注意的问题:(1)P0~P3口都是并行I/O口,但P0口和P2口,还可用来构建系统的外部数据总线和地址总线,所以在内部电路中有一个MUX,以进行转换。而P1口和P3口无构建系统的数据总线和地址总线的功能,因此,无需转接开关MUX。由于P0口可作为地址/数据复用线使用,需传送系统的低8位地址和8位数据,因此MUX的一个输入端为“地址/数据”信号,另一个为P0寄存器。而P2口仅作为高位地址线使用,不涉及数据,所以MUX的一个输入信号为“地址”,另一个为P2寄存器。(2)在4个口中只有P0口是开漏双向口,P1~P3口都是准双向口。原因:P0口作数据总线使用时,为保证数据正确传送,需解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传送时,芯片内外应处于隔离状态。在P0口中输出电路是由两只场效应管(FET)组成,上拉晶体管在数据输出为1时提供一个瞬间的强上拉能力,下拉晶体管可以提供持续的下拉能力,所以称其为开漏双向端口。而P1~P3口,上拉电阻代替P0口中的场效应管,输出缓冲器不是三态的-准双向口。(3)P3口的口线具有第二功能,为系统提供一些控制信号。因此在P3口电路增加了第二功能控制逻辑。这是P3口与其它各口的不同之处。MCS-51单片机扩展存储器的设计(重要)概述片内的资源如不满足需要,需外扩存储器和I/O功能部件:系统扩展问题,内容主要有:(1)外部存储器的扩展(外部存储器又分为外部程序存储器和外部数据存储器)(2)I/O接口部件的扩展。系统扩展结构如下图:MCS-51单片机外部存储器结构:哈佛结构。MCS-96单片机的存储器结构:普林斯顿结构。MCS-51数据存储器和程序存储器的最大扩展空间各为64KB。系统扩展首先要构造系统总线。系统总线及总线构造系统总线按其功能通常把系统总线分为三组:1.地址总线(AdressBus,简写AB)

2.数据总线(DataBus,简写DB)3.控制总线(ControlBus,简写CB)

构造系统总线

系统扩展的首要问题:构造系统总线,然后再往系统总线上“挂”存储器芯片或I/O接口芯片,“挂”存储器芯片就是存储器扩展,“挂”I/O接口芯片就是I/O扩展。MCS-51由于受引脚数目的限制,数据线和低8位地址线复用。为了将它们分离出来,需要外加地址锁存器,从而构成与一般CPU相类似的片外三总线,见图8-2。

地址锁存器一般采用74LS373,采用74LS373的地址总线的扩展电路如下图(图8-3)。

1.以P0口作为低8位地址/数据总线。2.以P2口的口线作高位地址线。3.控制信号线。 *使用ALE信号作为低8位地址的锁存控制信号。 *以PSEN*信号作为扩展程序存储器的读选通信号。 *以EA*信号作为内外程序存储器的选择控制信号。 *由RD*和WR*信号作为扩展数据存储器和I/O口的读选通、写选通信号。尽管MCS-51有4个并行I/O口,共32条口线,但由于系统扩展需要,真正作为数据I/O使用的,就剩下P1口和P3口的部分口线。读写控制、地址空间分配和外部地址锁存器存储器扩展的读写控制RAM芯片:读写控制引脚,记为OE*和WE*,与MCS-51的RD*和WR*相连。EPROM芯片:只能读出,故只有读出引脚,记为OE*,该引脚与MCS-51的PSEN*相连。存储器地址空间分配MCS-51发出的地址是用来选择某个存储器单元进行读写,要完成这种功能,必须进行两种选择:“片选”和“单元选择”。存储器空间分配除考虑地址线连接外,还讨论各存储器芯片在整个存储空间中所占据的地址范围,

常用的存储器地址分配的方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法)。1.线选法

直接利用系统的高位地址线作为存储器芯片(或I/O接口芯片)的片选信号。优点:电路简单,不需要地址译码器硬件,体积小,成本低。

缺点:可寻址的器件数目受到限制,地址空间不连续,地址不唯一。例某一系统,需要外扩8KB的EPROM(2片2732),4KB的RAM(2片6116),这

温馨提示

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

评论

0/150

提交评论