单片机原理第二章课件_第1页
单片机原理第二章课件_第2页
单片机原理第二章课件_第3页
单片机原理第二章课件_第4页
单片机原理第二章课件_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

第二章MCS-51单片机硬件结构本章主要内容分为以下三节:第一节MCS-51单片机结构第二节MCS-51单片机存储器结构第三节MCS-51单片机输入/输出端口第二章MCS-51单片机硬件结构本章主要内容分为以下三节1图2-189C51单片机结构框图第一节MCS-51单片机结构一、MCS-51单片机芯片内部结构及特点振荡器和时序OSC程序存储器4kBFlashROM数据存储器256字节RAM/SFR2×16位定时器/计数器89C51CPU64KB总线扩展控制器可编程I/O可编程全双工串行口外中断内中断控制P0P2P1P3串行通信地址/数据外部事件计数输入图2-189C51单片机结构框图第一节MCS-51单2图2-289C51单片机芯片内部结构图图2-289C51单片机芯片内部结构图31.CPU运算器功能:实现数据的算术运算、逻辑运算、位处理和数据传送。运算器组成:ALU、ACC、B、暂存寄存器、PSW等控制器功能:确保单片机各部分自动、协调工作。控制器组成:IR、ID、定时及控制逻辑电路、PC等2.内部数据存储器(片内RAM)片内为256个字节3.内部程序存储器(片内ROM)

4KB的EPROM4.定时器/计数器=运算器+控制器MCS-51单片机芯片的内部结构1.CPU=运算器+控制器MCS-51单片机芯片的内部结构45.并行I/O端口

4个8位并行I/O端口,每个并行口均可用作输入和输出,实现与外部设备或接口中数据的并行输入/输出。6.串行口

实现单片机和其他数据设备之间的异步串行数据传送。7.中断控制系统

对外部或内部的中断请求进行管理。有五个中断源。8.片内振荡器和时钟电路

振荡脉冲频率范围为0~24MHz。5.并行I/O端口5二、MCS-51单片机的引脚及功能

图2-389C51芯片引脚40只引脚双列直插封装DIP40只引脚按功能分为3类:(1)电源及时钟引脚:Vcc、Vss;XTAL1、XTAL2(2)控制引脚:PSEN*、EA*、ALE、RESET(RST)(3)I/O口引脚:P0、P1、P2、P3二、MCS-51单片机的引脚及功能图2-389C51芯6

1.电源引脚

(1)Vcc(40脚):+5V电源;

(2)Vss(20脚):接地。2.时钟引脚

(1)XTAL1(19脚):接外部晶体和微调电容的一端。(2)XTAL2(18脚):接外部晶体和微调电容的另一端。3.控制引脚

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

(1)RST/VPD(9脚):复位/掉电保护信号输入端。

(2)ALE/PROG(30脚):第一功能ALE为地址锁存允许,可驱动8个LS型TTL负载。PROG为本引脚的第二功能。为编程脉冲输入端。1.电源引脚2.时钟引脚3.控制引脚7

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

(4)EA/VPP

(EnableAddress/VoltagePulseofPrograming,31脚)

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

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

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

(4)EA/VPP

(EnableAddress/VoltagePulseofPrograming,31脚)

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

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

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

(4)EA/VPP

(EnableAddress/VoltagePulseofPrograming,31脚)

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

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

VPP为本引脚的第二功能。用于施加编程电压(例如+21V或+12V)。对89C51,加在VPP脚的编程电压为+12V或+5V。4.I/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负载。要特别注意准双向口与准双向三态口的差别。当3个准双向I/O口作输入口使用时,要向该口先写“1”,另外准双向I/O口无高阻的“浮空”状态。VPP为本引脚的第二功能。用于施加编程电压(例如+21V或9三、时钟电路与时序时钟电路用于产生单片机工作所必需的时钟控制信号。1.时钟电路的产生(一)振荡器和时钟电路内部时钟方式内部有一个用于构成振荡器的高增益反相放大器,反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。C1和C2典型值通常选择为30pF左右。晶体的振荡频率在0~24MHz之间。常用的时钟频率为6或12MHz。三、时钟电路与时序时钟电路用于产生单片机工作所必需的时钟控10外部时钟方式常用于多片MCS-51单片机同时工作。外部时钟方式常用于多片MCS-51单片机同时工作。11(二)时序及有关概念单片机执行的指令的各种时序均与时钟周期有关。1.时序机器周期机器周期节拍与状态机器周期定义:CPU完成一个基本操作所需要的时间。(二)时序及有关概念单片机执行的指令的各种时序均与时钟周期有12一个机器周期又分为6个状态:S1~S6。每个状态又分为两拍:P1和P2。因此,一个机器周期总共有12个节拍,表示为:S1P1、S1P2、S2P1、S2P2、…、S6P2。指令周期定义:执行一条指令所需要的时间。时钟周期单片机的基本时间单位。若时钟的晶体的振荡频率为fosc,则时钟周期Tosc=2/fosc。如fosc=6MHz,Tosc=1/3μs。思考:机器周期应是多少?2μs每12个时钟周期为一个机器周期一个机器周期又分为6个状态:S1~S6。每个状态又分为两拍:132.CPU取指、执指时序执行任何一条指令时,都可分为取指令阶段和指令执行阶段。取指令阶段:PC中地址送到程序存储器,并从中取出需要执行指令的操作码和操作数。指令执行阶段:对指令操作码进行译码,以产生一系列控制信号完成指令的执行。ALE信号是为地址锁存而定义的,以时钟脉冲1/6的频率出现,在一个机器周期中,ALE信号两次有效(但要注意,在执行访问外部数据存储器的指令MOVX时,将会丢失一个ALE脉冲)MCS-51单片机指令按照指令字节数和机器周期数可分为:单字节单周期指令、单字节双周期指令、单字节四周期指令、双字节单周期指令、双字节双周期指令、三字节双周期指令。2.CPU取指、执指时序执行任何一条指令时,都可分为取指令14四、MCS-51单片机的工作方式(一)复位方式1.复位操作的主要功能单片机的初始化操作,摆脱死锁状态。引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可使MCS-51复位。复位时,PC初始化为0000H,使MCS-51单片机从0000H单元开始执行程序。除PC之外,复位操作还对其它一些寄存器有影响,见表2-2(书P23)。SP=07H,P0-P3的引脚均为高电平。在复位有效期间,ALE脚和PSEN脚均为高电平,内部RAM的状态不受复位的影响。四、MCS-51单片机的工作方式(一)复位方式1.复位操152.复位信号及其产生外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。3.复位电路复位操作有上电自动复位和按键手动复位两种方式。上电自动复位:通过外部复位电路在加电瞬间对电容的充电来实现。按键手动复位:通过接通一个按钮开关,使单片机进入复位状态。2.复位信号及其产生外部电路产生的复位信号(RST)送至施16(二)低功耗方式89C51属于CHMOS的单片机,运行时本身耗电少,同时还提供空闲工作方式(等待、待机)和掉电工作方式(停机)用以节电。1.方式的设定空闲方式和掉电方式都是通过特殊功能寄存器PCON(电源控制寄存器)的有关位置“1”来启动。SMOD———GF1GF0PDIDLD0D1D2D3D4D5D6D7PCON(87H)波特率倍频位保留位通用标志位掉电方式位空闲方式位电源控制寄存器PCON(二)低功耗方式89C51属于CHMOS的单片机,运行时本身172.空闲工作方式震动器运行,CPU停止工作,但向中断逻辑、串行口和定时/计数器电路供电,SP、PC、PSW、ACC和全部通用寄存器保持在原状态,维持当前端口状态。ALE和PSEN保持逻辑高电平。退出该方式的方法:中断方法与硬件复位。3.掉电工作方式内部震动器停止工作,所有功能部件也停止工作,但片内RAM区和特殊功能寄存器的内容被保留,端口的输出状态值都保存在对应的SFR中,ALE和PSEN保持逻辑低电平。退出该方式的方法:硬件复位。2.空闲工作方式震动器运行,CPU停止工作,但向中断逻辑、18第二节MCS-51单片机存储器结构89C51单片机的存储器结构为哈佛结构。89C51单片机的存储器地址空间分为:片内、片外统一编址0000H~FFFFH的64KB程序存储器地址空间(16位地址,包括片内ROM和片外ROM)64KB片外数据存储器地址空间,16位地址,地址范围为0000H~FFFFH256字节片内数据存储器地址空间(8位地址,包括128字节的片内RAM和特殊功能寄存器的地址空间)第二节MCS-51单片机存储器结构89C51单片机的存储19存储器空间可划分为5类:1.程序存储器

8031无内部程序存储器。

2.内部数据存储器

3.特殊功能寄存器(SFR-SpecialFunctionRegister)

4.位地址空间

211个可寻址位。

5.数据寄存器 片外可扩展64K字节RAM。

存储器空间可划分为5类:20一、程序存储器通过16位程序计数器PC寻址。89C51从片内与片外存储器取指令的执行速度相同。程序存储器低地址的40多个单元是留给系统使用的。一、程序存储器通过16位程序计数器PC寻址。89C51从片21128个,字节地址为00H~7FH。二、内部数据存储器

00H~1FH:32个单元是4组通用工作寄存器区20H~2FH:16个单元可进行共128位的位寻址30H~7FH:用户RAM区,只能进行字节寻址,用作数据缓冲区以及堆栈区。128个,字节地址为00H~7FH。二、内部数据存储器0022CPU对各种功能部件的控制采用特殊功能寄存器采用集中控制方式,共21个。有的SFR可进行位寻址。表2-10(P35)是SFR的名称及其分布。其字节地址的末位是0H或8H。下面介绍SFR块中的某些寄存器。三、特殊功能寄存器(SFR)CPU对各种功能部件的控制采用特殊功能寄存器采用集中23

1.堆栈指针SP

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

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

(1)保护断点 (2)现场保护 堆栈向上生长2.数据指针DPTR

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

3.I/O端口P0~P3

P0~P3分别为I/O端口P0~P3的锁存器。

1.堆栈指针SP244.寄存器B为执行乘法和除法操作设置的。在不执行乘、除的情况下,可当作一个普通寄存器来使用。5.串行数据缓冲器SBUF

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

两个16位定时器/计数器T1和T0,各由两个独立的8位寄存器组成:TH1、TL1、TH0、TL0,只能字节寻址,但不能把T1或T0当作一个16位寄存器来寻址访问。4.寄存器B257.累加器A

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

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

(1)Cy(PSW.7)进位标志位(2)Ac(PSW.6)辅助进位标志位(3)F0(PSW.5)标志位由用户使用的一个状态标志位。(4)RS1、RS0(PSW.4、PSW.3):4组工作寄存器区选择控制位1和位0。8.程序状态字寄存器PSW27

RS1RS0所选的4组寄存器

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

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

P=1,A中“1”的个数为奇数 P=0,A中“1”的个数为偶数 RS1RS0所选的4组寄存器289.程序计数器PC(ProgramCounter)存放下一条要执行的指令在程序存储器中的地址。

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

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

(2)执行有条件或无条件转移指令时,程序计数器将被置入新的数值,从而使程序的流向发生变化。(3)在执行调用子程序调用或中断调用,完成下列操作: ①PC的现行值保护②将子程序的入口地址或中断向量的地址送入PC。9.程序计数器PC(ProgramCounter)29最多可外扩64K字节的RAM或I/O。四、位地址空间211个(128个+83个)寻址位。位地址范围为:00H~FFH。内部RAM的可寻址位128个(字节地址20H~2FH)见表2-7(P30)。特殊功能寄存器SFR为83个可寻址位,见表2-10(P35)。五、外部数据存储器最多可外扩64K字节的RAM或I/O。四、位地址空间21130单片机原理第二章课件31单片机原理第二章课件32使用各类存储器,注意几点:(1)地址的重叠性程序存储器(ROM)与数据存储器(RAM)全部64K字节地址空间重叠)。程序存储器(ROM)与数据存储器(RAM)在使用上是严格区分的。(3)位地址空间共有两个区域,(4)片外数据存储区中,RAM与I/O端口统一编址。 所有外围I/O端口的地址均占用RAM地址单元,使用与访问外部数据存储器相同的传送指令。图2-6为各类存储器在存储器空间的位置的总结。

使用各类存储器,注意几点:33单片机原理第二章课件34单片机原理第二章课件35

4个双向的8位并行I/O端口,记作P0~P3,属于特殊功能寄存器,可字节寻址和位寻址。I/O端口是单片机与外部设备进行信息交换的通道。每个端口包含一个锁存器、输出驱动器和输入缓冲器。

第三节MCS-51单片机输入/输出端口一、P0端口P0端口某位结构图4个双向的8位并行I/O端口,记作P0~P3,属于特殊功36P0口某一位的电路包括:(1)一个数据输出锁存器,用于数据位的锁存(2)两个三态的数据输入缓冲器。(3)一个多路转接开关MUX,设置多路转接开关的目的:P0口既作通用I/O口,又可作为系统的地址/数据线口。(4)数据输出的驱动和控制电路,由两只场效应管(T1、T2)组成,上面的场效应管构成上拉电路。(一)P0端口作为一般I/O端口使用这时,CPU发来的“控制”信号为低电平,上拉场效应管T1截止,多路转接开关MUX打向下边,与D锁存器的Q端接通。P0口某一位的电路包括:(一)P0端口作为一般I/O端口使37

来自CPU的“写入”脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并向端口引脚P0.x输出。

注意:由于输出电路是漏极开路(因为这时上拉场效应管截止),必须外接上拉电阻才能有高电平输出。1.P0端口用作输出口2.P0端口用作输入口应区分“读引脚”和“读端口”。“读引脚”信号把下方缓冲器打开,引脚上的状态经缓冲器读入内部总线;“读锁存器”信号打开上面的缓冲器把锁存器Q端的状态读入内部总线。来自CPU的“写入”脉冲加在D锁存器的CP端,内部总线上38(二)P0端口作为地址/数据总线使用当系统进行片外的ROM扩展或进行片外RAM扩展,P0用作地址/数据总线时。CPU在执行输出指令时,低8位地址信息和数据信息分时地出现在地址/数据总线上。P0.X引脚的状态与地址/数据线的信息相同。在这种情况下,单片机内硬件自动使C=1,MUX开关接向反相器的输出端,这时与门的输出由地址/数据线的状态决定。(二)P0端口作为地址/数据总线使用当系统进行片外的ROM39CPU在执行输入指令时,首先低8位地址信息出现在地址/数据总线上,P0.X引脚的状态与地址/数据总线的地址信息相同。然后,CPU自动地使转换开关MUX拨向锁存器,并向P0口写入FFH,同时“读引脚”信号有效,数据经缓冲器进入内部数据总线。P0口作为地址/数据总线使用时是一个真正的双向口。CPU在执行输入指令时,首先低8位地址信息出现在地址/数据总40 字节地址90H,位地址90H~97H。二、P1端口P1端口某位结构图 字节地址90H,位地址90H~97H。二、P1端口P1端口41

P1口只作为通用的I/O口使用,在电路结构上与P0口有两点区别:(1)P1口只传送数据,不需要多路转接开关MUX。(2)由于P1口用来传送数据,因此输出电路中有上拉电阻,这样电路的输出不是三态的,所以P1口是准双向口。因此:(1)P1口作为输出口使用时,外电路无需再接上拉电阻。(2)P1口作为输入口使用时,应先向其锁存器先写入“1”,使输出驱动电路的FET截止。P1口只作为通用的I/O口使用,在电路结构上与P0口有42字节地址为A0H,位地址A0H~A7H。二、P2端口P2端口某位结构图字节地址为A0H,位地址A0H~A7H。二、P2端口P2端口43在实际应用中,因为P2口用于为系统提供高位地址,有一个多路转接开关MUX。但MUX的一个输入端不再是“地址/数据”,而是单一的“地址”,因为P2口只作为地址线使用。当P2口用作为高位地址线使用时,多路转接开关应接向“地址”端。正因为只作为地址线使用,P2口的输出用不着是三态的,所以,P2口也是一个准双向口。P2口也可以作为通用I/O口使用,这时,多路转接开关接向锁存器Q端。在实际应用中,因为P2口用于为系统提供高位地址,有一个多44P3口的字节地址为B0H,位地址为B0H~B7H四、P3端口P3端口某位结构图P3口的字节地址为B0H,位地址为B0H~B7H四、P3端45P3口的第二功能定义,应熟记。表2-12P3口的第二功能定义

口引脚第二功能

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(外部数据存储器读选通)

P3口的第二功能定义,应熟记。46第二功能信号有输出和输入两类:(1)对作为第二功能输出的引脚,当作通用的I/O口使用时,电路中的“第二输出功能”线应保持高电平,与非门开通,以使锁存器的Q端输出通路保持畅通。当输出第二功能信号,该锁存器应预先置“1”,使与非门对“第二输出功能”信号的输出是畅通的,从而实现第二功能信号的输出。(2)对作为第二功能输入的引脚,在口线引脚的内部增加了一个缓冲器,输入的信号就从这个缓冲器的输出端取得。而作为通用的I/O口线使用的输入,仍取自三态缓冲器的输出端。P3口无论是作为输入口使用还是第二功能信号的输入,锁存器输出和“第二输出功能”线都应保持高电平。第二功能信号有输出和输入两类:47P0~P3端口功能总结使用中应注意的问题:(1)P0~P3口都是并行I/O口,都可用于数据的输入和输出,但P0口和P2口除了可进行数据的输入/输出外,通常用来构建系统的数据总线和地址总线,所以在电路中有一个多路转接开关MUX,以便进行两种用途的转换。而P1口和P3口没有构建系统的数据总线和地址总线的功能,因此,在电路中没有多路转接开关MUX。由于P0口可作为地址/数据复用线使用,需传送系统的低8位地址和8位数据,因此MUX的一个输入端为“地址/数据”信号。而P2口仅作为高位地址线使用,不涉及数据,所以MUX的一个输入信号为“地址”。

P0~P3端口功能总结48(2)在4个口中只有P0口是一个真正的双向口,P1~P3口都是准双向口。原因:P0口作为系统的数据总线使用时,为保证数据的正确传送,需要解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传送时,芯片内外应处于隔离状态。为此,要求P0口的输出缓冲器是一个三态门。在P0口中输出三态门是由两只场效应管(FET)组成,所以是一个真正的双向口。而其它的三个口P1~P3中,上拉电阻代替P0口中的场效应管,输出缓冲器不是三态的,因此不是真正的双向口,只能称其为准双向口。(2)在4个口中只有P0口是一个真正的双向口,P1~P3口都49(3)P3口的口线具有第二功能,为系统提供一些控制信号。因此在P3口电路增加了第二功能控制逻辑。这是P3口与其它各口的不同之处。五、端口的负载能力和接口要求P0、P1、P2、P3口的电平与CMOS和TTL电平兼容。P0口的每一位口线可以驱动8个LSTTL负载。在作为通用I/O口时,由于输出驱动电路是开漏方式,由集电极开路(OC门)电路或漏极开路电路驱动时需外接上拉电阻;当作为地址/数据总线使用时,口线输出不是开漏的,无须外接上拉电阻。(3)P3口的口线具有第二功能,为系统提供一些控制信号。因此50P1、P2、P3口的每一位能驱动4个LSTTL负载。它们的输出驱动电路设有内部上拉电阻,所以可以方便地由集电极开路(OC门)电路或漏极开路电路所驱动,而无须外接上拉电阻。由于单片机口线仅能提供几毫安的电流,当作为输出驱动一般的晶体管的基极时,应在口与晶体管的基极之间串接限流电阻。

P1、P2、P3口的每一位能驱动4个LSTTL负载。它们的输51第二章MCS-51单片机硬件结构本章主要内容分为以下三节:第一节MCS-51单片机结构第二节MCS-51单片机存储器结构第三节MCS-51单片机输入/输出端口第二章MCS-51单片机硬件结构本章主要内容分为以下三节52图2-189C51单片机结构框图第一节MCS-51单片机结构一、MCS-51单片机芯片内部结构及特点振荡器和时序OSC程序存储器4kBFlashROM数据存储器256字节RAM/SFR2×16位定时器/计数器89C51CPU64KB总线扩展控制器可编程I/O可编程全双工串行口外中断内中断控制P0P2P1P3串行通信地址/数据外部事件计数输入图2-189C51单片机结构框图第一节MCS-51单53图2-289C51单片机芯片内部结构图图2-289C51单片机芯片内部结构图541.CPU运算器功能:实现数据的算术运算、逻辑运算、位处理和数据传送。运算器组成:ALU、ACC、B、暂存寄存器、PSW等控制器功能:确保单片机各部分自动、协调工作。控制器组成:IR、ID、定时及控制逻辑电路、PC等2.内部数据存储器(片内RAM)片内为256个字节3.内部程序存储器(片内ROM)

4KB的EPROM4.定时器/计数器=运算器+控制器MCS-51单片机芯片的内部结构1.CPU=运算器+控制器MCS-51单片机芯片的内部结构555.并行I/O端口

4个8位并行I/O端口,每个并行口均可用作输入和输出,实现与外部设备或接口中数据的并行输入/输出。6.串行口

实现单片机和其他数据设备之间的异步串行数据传送。7.中断控制系统

对外部或内部的中断请求进行管理。有五个中断源。8.片内振荡器和时钟电路

振荡脉冲频率范围为0~24MHz。5.并行I/O端口56二、MCS-51单片机的引脚及功能

图2-389C51芯片引脚40只引脚双列直插封装DIP40只引脚按功能分为3类:(1)电源及时钟引脚:Vcc、Vss;XTAL1、XTAL2(2)控制引脚:PSEN*、EA*、ALE、RESET(RST)(3)I/O口引脚:P0、P1、P2、P3二、MCS-51单片机的引脚及功能图2-389C51芯57

1.电源引脚

(1)Vcc(40脚):+5V电源;

(2)Vss(20脚):接地。2.时钟引脚

(1)XTAL1(19脚):接外部晶体和微调电容的一端。(2)XTAL2(18脚):接外部晶体和微调电容的另一端。3.控制引脚

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

(1)RST/VPD(9脚):复位/掉电保护信号输入端。

(2)ALE/PROG(30脚):第一功能ALE为地址锁存允许,可驱动8个LS型TTL负载。PROG为本引脚的第二功能。为编程脉冲输入端。1.电源引脚2.时钟引脚3.控制引脚58

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

(4)EA/VPP

(EnableAddress/VoltagePulseofPrograming,31脚)

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

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

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

(4)EA/VPP

(EnableAddress/VoltagePulseofPrograming,31脚)

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

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

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

(4)EA/VPP

(EnableAddress/VoltagePulseofPrograming,31脚)

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

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

VPP为本引脚的第二功能。用于施加编程电压(例如+21V或+12V)。对89C51,加在VPP脚的编程电压为+12V或+5V。4.I/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负载。要特别注意准双向口与准双向三态口的差别。当3个准双向I/O口作输入口使用时,要向该口先写“1”,另外准双向I/O口无高阻的“浮空”状态。VPP为本引脚的第二功能。用于施加编程电压(例如+21V或60三、时钟电路与时序时钟电路用于产生单片机工作所必需的时钟控制信号。1.时钟电路的产生(一)振荡器和时钟电路内部时钟方式内部有一个用于构成振荡器的高增益反相放大器,反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。C1和C2典型值通常选择为30pF左右。晶体的振荡频率在0~24MHz之间。常用的时钟频率为6或12MHz。三、时钟电路与时序时钟电路用于产生单片机工作所必需的时钟控61外部时钟方式常用于多片MCS-51单片机同时工作。外部时钟方式常用于多片MCS-51单片机同时工作。62(二)时序及有关概念单片机执行的指令的各种时序均与时钟周期有关。1.时序机器周期机器周期节拍与状态机器周期定义:CPU完成一个基本操作所需要的时间。(二)时序及有关概念单片机执行的指令的各种时序均与时钟周期有63一个机器周期又分为6个状态:S1~S6。每个状态又分为两拍:P1和P2。因此,一个机器周期总共有12个节拍,表示为:S1P1、S1P2、S2P1、S2P2、…、S6P2。指令周期定义:执行一条指令所需要的时间。时钟周期单片机的基本时间单位。若时钟的晶体的振荡频率为fosc,则时钟周期Tosc=2/fosc。如fosc=6MHz,Tosc=1/3μs。思考:机器周期应是多少?2μs每12个时钟周期为一个机器周期一个机器周期又分为6个状态:S1~S6。每个状态又分为两拍:642.CPU取指、执指时序执行任何一条指令时,都可分为取指令阶段和指令执行阶段。取指令阶段:PC中地址送到程序存储器,并从中取出需要执行指令的操作码和操作数。指令执行阶段:对指令操作码进行译码,以产生一系列控制信号完成指令的执行。ALE信号是为地址锁存而定义的,以时钟脉冲1/6的频率出现,在一个机器周期中,ALE信号两次有效(但要注意,在执行访问外部数据存储器的指令MOVX时,将会丢失一个ALE脉冲)MCS-51单片机指令按照指令字节数和机器周期数可分为:单字节单周期指令、单字节双周期指令、单字节四周期指令、双字节单周期指令、双字节双周期指令、三字节双周期指令。2.CPU取指、执指时序执行任何一条指令时,都可分为取指令65四、MCS-51单片机的工作方式(一)复位方式1.复位操作的主要功能单片机的初始化操作,摆脱死锁状态。引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可使MCS-51复位。复位时,PC初始化为0000H,使MCS-51单片机从0000H单元开始执行程序。除PC之外,复位操作还对其它一些寄存器有影响,见表2-2(书P23)。SP=07H,P0-P3的引脚均为高电平。在复位有效期间,ALE脚和PSEN脚均为高电平,内部RAM的状态不受复位的影响。四、MCS-51单片机的工作方式(一)复位方式1.复位操662.复位信号及其产生外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。3.复位电路复位操作有上电自动复位和按键手动复位两种方式。上电自动复位:通过外部复位电路在加电瞬间对电容的充电来实现。按键手动复位:通过接通一个按钮开关,使单片机进入复位状态。2.复位信号及其产生外部电路产生的复位信号(RST)送至施67(二)低功耗方式89C51属于CHMOS的单片机,运行时本身耗电少,同时还提供空闲工作方式(等待、待机)和掉电工作方式(停机)用以节电。1.方式的设定空闲方式和掉电方式都是通过特殊功能寄存器PCON(电源控制寄存器)的有关位置“1”来启动。SMOD———GF1GF0PDIDLD0D1D2D3D4D5D6D7PCON(87H)波特率倍频位保留位通用标志位掉电方式位空闲方式位电源控制寄存器PCON(二)低功耗方式89C51属于CHMOS的单片机,运行时本身682.空闲工作方式震动器运行,CPU停止工作,但向中断逻辑、串行口和定时/计数器电路供电,SP、PC、PSW、ACC和全部通用寄存器保持在原状态,维持当前端口状态。ALE和PSEN保持逻辑高电平。退出该方式的方法:中断方法与硬件复位。3.掉电工作方式内部震动器停止工作,所有功能部件也停止工作,但片内RAM区和特殊功能寄存器的内容被保留,端口的输出状态值都保存在对应的SFR中,ALE和PSEN保持逻辑低电平。退出该方式的方法:硬件复位。2.空闲工作方式震动器运行,CPU停止工作,但向中断逻辑、69第二节MCS-51单片机存储器结构89C51单片机的存储器结构为哈佛结构。89C51单片机的存储器地址空间分为:片内、片外统一编址0000H~FFFFH的64KB程序存储器地址空间(16位地址,包括片内ROM和片外ROM)64KB片外数据存储器地址空间,16位地址,地址范围为0000H~FFFFH256字节片内数据存储器地址空间(8位地址,包括128字节的片内RAM和特殊功能寄存器的地址空间)第二节MCS-51单片机存储器结构89C51单片机的存储70存储器空间可划分为5类:1.程序存储器

8031无内部程序存储器。

2.内部数据存储器

3.特殊功能寄存器(SFR-SpecialFunctionRegister)

4.位地址空间

211个可寻址位。

5.数据寄存器 片外可扩展64K字节RAM。

存储器空间可划分为5类:71一、程序存储器通过16位程序计数器PC寻址。89C51从片内与片外存储器取指令的执行速度相同。程序存储器低地址的40多个单元是留给系统使用的。一、程序存储器通过16位程序计数器PC寻址。89C51从片72128个,字节地址为00H~7FH。二、内部数据存储器

00H~1FH:32个单元是4组通用工作寄存器区20H~2FH:16个单元可进行共128位的位寻址30H~7FH:用户RAM区,只能进行字节寻址,用作数据缓冲区以及堆栈区。128个,字节地址为00H~7FH。二、内部数据存储器0073CPU对各种功能部件的控制采用特殊功能寄存器采用集中控制方式,共21个。有的SFR可进行位寻址。表2-10(P35)是SFR的名称及其分布。其字节地址的末位是0H或8H。下面介绍SFR块中的某些寄存器。三、特殊功能寄存器(SFR)CPU对各种功能部件的控制采用特殊功能寄存器采用集中74

1.堆栈指针SP

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

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

(1)保护断点 (2)现场保护 堆栈向上生长2.数据指针DPTR

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

3.I/O端口P0~P3

P0~P3分别为I/O端口P0~P3的锁存器。

1.堆栈指针SP754.寄存器B为执行乘法和除法操作设置的。在不执行乘、除的情况下,可当作一个普通寄存器来使用。5.串行数据缓冲器SBUF

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

两个16位定时器/计数器T1和T0,各由两个独立的8位寄存器组成:TH1、TL1、TH0、TL0,只能字节寻址,但不能把T1或T0当作一个16位寄存器来寻址访问。4.寄存器B767.累加器A

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

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

(1)Cy(PSW.7)进位标志位(2)Ac(PSW.6)辅助进位标志位(3)F0(PSW.5)标志位由用户使用的一个状态标志位。(4)RS1、RS0(PSW.4、PSW.3):4组工作寄存器区选择控制位1和位0。8.程序状态字寄存器PSW78

RS1RS0所选的4组寄存器

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

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

P=1,A中“1”的个数为奇数 P=0,A中“1”的个数为偶数 RS1RS0所选的4组寄存器799.程序计数器PC(ProgramCounter)存放下一条要执行的指令在程序存储器中的地址。

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

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

(2)执行有条件或无条件转移指令时,程序计数器将被置入新的数值,从而使程序的流向发生变化。(3)在执行调用子程序调用或中断调用,完成下列操作: ①PC的现行值保护②将子程序的入口地址或中断向量的地址送入PC。9.程序计数器PC(ProgramCounter)80最多可外扩64K字节的RAM或I/O。四、位地址空间211个(128个+83个)寻址位。位地址范围为:00H~FFH。内部RAM的可寻址位128个(字节地址20H~2FH)见表2-7(P30)。特殊功能寄存器SFR为83个可寻址位,见表2-10(P35)。五、外部数据存储器最多可外扩64K字节的RAM或I/O。四、位地址空间21181单片机原理第二章课件82单片机原理第二章课件83使用各类存储器,注意几点:(1)地址的重叠性程序存储器(ROM)与数据存储器(RAM)全部64K字节地址空间重叠)。程序存储器(ROM)与数据存储器(RAM)在使用上是严格区分的。(3)位地址空间共有两个区域,(4)片外数据存储区中,RAM与I/O端口统一编址。 所有外围I/O端口的地址均占用RAM地址单元,使用与访问外部数据存储器相同的传送指令。图2-6为各类存储器在存储器空间的位置的总结。

使用各类存储器,注意几点:84单片机原理第二章课件85单片机原理第二章课件86

4个双向的8位并行I/O端口,记作P0~P3,属于特殊功能寄存器,可字节寻址和位寻址。I/O端口是单片机与外部设备进行信息交换的通道。每个端口包含一个锁存器、输出驱动器和输入缓冲器。

第三节MCS-51单片机输入/输出端口一、P0端口P0端口某位结构图4个双向的8位并行I/O端口,记作P0~P3,属于特殊功87P0口某一位的电路包括:(1)一个数据输出锁存器,用于数据位的锁存(2)两个三态的数据输入缓冲器。(3)一个多路转接开关MUX,设置多路转接开关的目的:P0口既作通用I/O口,又可作为系统的地址/数据线口。(4)数据输出的驱动和控制电路,由两只场效应管(T1、T2)组成,上面的场效应管构成上拉电路。(一)P0端口作为一般I/O端口使用这时,CPU发来的“控制”信号为低电平,上拉场效应管T1截止,多路转接开关MUX打向下边,与D锁存器的Q端接通。P0口某一位的电路包括:(一)P0端口作为一般I/O端口使88

来自CPU的“写入”脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并向端口引脚P0.x输出。

注意:由于输出电路是漏极开路(因为这时上拉场效应管截止),必须外接上拉电阻才能有高电平输出。1.P0端口用作输出口2.P0端口用作输入口应区分“读引脚”和“读端口”。“读引脚”信号把下方缓冲器打开,引脚上的状态经缓冲器读入内部总线;“读锁存器”信号打开上面的缓冲器把锁存器Q端的状态读入内部总线。来自CPU的“写入”脉冲加在D锁存器的CP端,内部总线上89(二)P0端口作为地址/数据总线使用当系统进行片外的ROM扩展或进行片外RAM扩展,P0用作地址/数据总线时。CPU在执行输出指令时,低8位地址信息和数据信息分时地出现在地址/数据总线上。P0.X引脚的状态与地址/数据线的信息相同。在这种情况下,单片机内硬件自动使C=1,MUX开关接向反相器的输出端,这时与门的输出由地址/数据线的状态决定。(二)P0端口作为地址/数据总线使用当系统进行片外的ROM90CPU在执行输入指令时,首先低8位地址信息出现在地址/数据总线上,P0.X引脚的状态与地址/数据总线的地址信息相同。然后,CPU自动地使转换开关MUX拨向锁存器,并向P0口写入FFH,同时“读引脚”信号有效,数据经缓冲器进入内部数据总线。P0口作为地址/数据总线使用时是一个真正的双向口。CPU在执行输入指令时,首先低8位地址信息出现在地址/数据总91 字节地址90H,位地址90H~97H。二、P1端口P1端口某位结构图 字节地址90H,位地址90H~97H。二、P1端口P1端口92

P1口只作为通用的I/O口使用,在电路结构上与P0口有两点区别:(1)P1口只传送数据,不需要多路转接开关MUX。(2)由于P1口用来传送

温馨提示

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

评论

0/150

提交评论