第二章单片机结构_第1页
第二章单片机结构_第2页
第二章单片机结构_第3页
第二章单片机结构_第4页
第二章单片机结构_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

第2章MCS-51单片机的硬件结构和原理

2.1MCS-51单片机的基本结构

2.2CPU2.3MCS-51单片机的引脚2.4单片机的复位、时钟与时序2.5MCS-51单片机的存储器结构

2.6并行I/O口

知识点1)

理解MCS-51单片机内部硬件运行机制2)掌握特殊功能寄存器的定义及对应的硬件关系3)掌握机器周期的概念4)熟练掌握存储器的架构及特点学习目标

地址/数据总线端口I/O线振荡与定时电路4KB内部程

序存储器128B21SFRRAM2个16位定时器/计数器CPU存贮器扩展控制并行端口串行端口外部中断信号控制信号串行输入串行输出时钟源计数信号内部总线2.1MCS-51单片机的结构2.1.1MCS-51单片机的结构

单片机是在一块超大规模集成电路芯片上,集成了CPU、存储器(RAM、ROM)、定时器/计数器、中断控制、输入/输出接口、系统时钟和系统总线等电路的微型计算机。89C51=(8位)CPU+4KBROM+128BRAM+(2×16)T/C+(4×8)I/O+1个UART+5个INTINTELMCS-51系列单片机一览表2.1.2MCS-51单片机的内部结构

2.1MCS-51单片机的结构子序列片内ROM形式片内ROM容量片内RAM容量IO特性中断源无ROM计数器并行口串行口INTEL8031√

0128B24×815INTEL80C51

√4K128B24×815ATMEL89C51

√4K128B24×815SiliconLabsC8051F310

√16K1280B42911451单片机主要内部资源的学习安排

中央处理器CPU——第2章程序存储器ROM——第2章数据存储器RAM——第2章并行I/O口——第2、5、7章中断INT——第6章定时器/计数器T/C——第8章全双工串行口UART——第9章2.1MCS-51单片机的结构2.1MCS-51单片机结构2.2CPU

2.3MCS-51的引脚2.4单片机的复位、时钟与时序2.5MCS-51单片机的存储器结构2.6并行I/O口CPU=控制器

+运算器2.2CPU(CentralProcessingUnit)控制器的用途:统一指挥和控制各单元协调工作控制器的任务:从ROM中取出指令→译码→执行指令控制器的组成:程序计数器PC、数据指针寄存器DPTR、…2.2CPU(CentralProcessingUnit)运算器的用途:对数据进行算术运算和逻辑操作运算器的任务:计算缓冲器内容→暂存→修改运行标志运算器的组成:算术逻辑单元ALU、累加器ACC、程序状态字寄存器PSW、B寄存器、暂存器1、暂存器2…2.2CPU(CentralProcessingUnit)2.2CPU(CentralProcessingUnit)2.2.1运算器

算术逻辑部件ALU(ArithmeticLogicUnit)累加器ACC

B寄存器程序状态字寄存器PSW(ProgramStatusWord)暂存寄存器…..一、算术逻辑部件ALU

组成:加法器和其他电路组成主要功能:算术运算和逻辑运算2.2CPU(CentralProcessingUnit)二、累加器(ACCUMULATER——A)具有8位字长是利用率最高的寄存器具有可被指令修改功能——存放操作数或中间运算结果的寄存器2.2CPU(CentralProcessingUnit)三、寄存器B

一般用于乘、除法指令运算前:乘数/除数运算后:乘积的高位字节/商的余数四、程序状态字寄存器(ProgramStateWord——PSW)

具有8位字长各位都具有特殊含义状态信息通常自动形成,

但也可用指令修改——存放程序运行过程中的各种状态信息的寄存器2.2CPU(CentralProcessingUnit)CY(PSW.7)——进位标志在进行加或减运算时,如果操作结果最高位有进位或借位时,CY由硬件置“1”,否则清“0”。10010011+11110000

————————CY=110000011进位标志位CYCYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位0用途:1、根据CY判断有无进

位或借位;

2、在位操作中CY可作

为位累加器用。举例2.2CPU(CentralProcessingUnit)

AC(PSW.6)——半进位标志在进行加或减运算时,如果操作结果的低半字节向高半字节产生进位或借位时,将由硬件置“1”,否则清“0”。01001111+10100001

————————AC=111110000半进位CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位0举例用途:1、根据AC判断加减运算时

有无半进位或半借位;2、在BCD码调整运算中要

用到AC标志2.2CPU(CentralProcessingUnit)F0(PSW.5)和F1(PSW.1)——用户标志位可作为用户自行定义的一个状态标记

举例定义F0为安全门的状态,F0=0→开;F0=1→闭定义F1为指示灯的状态,F1=0→开;F1=1→闭CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位0用途:在程序运行中判断门或灯的工作状态2.2CPU(CentralProcessingUnit)RS1和

RS0(PSW.4和

PSW.3)——工作寄存器组指针用途:用于指定CPU的当前工作寄存器组CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位02.2CPU(CentralProcessingUnit)OV(PSW.2)——溢出标志在有符号数加减运算或无符号数乘除运算中,若有异常结果,OV硬件置1,否则硬件清0。CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位0用途:判断运算的结果是否正确,正确=0;出错=12.2CPU(CentralProcessingUnit)OV=C6YC7Y=1

0=1正数的补码是它本身,负数的补码是除符号位外每位求反,然后末尾加111111011(-5)

+11110000(-16)

——————————————CY=111101011→(-21)D7有进位

D6有进位OV=C6YC7Y=1

1=0→运算出错→运算正确00011001(+25)

+01111101(+105)

——————————————CY=010010110→(-106)D6有进位D7无进位举例举例2.2CPU(CentralProcessingUnit)P(PSW.0)——奇偶标志位该位始终跟踪累加器A中含“1”个数的奇偶性如果A中有奇数个“1”,则P置“1”,否则置“0”举例若A=10011111,则P=0

若A=11000001,则P=1CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位0用途:用于串行通讯中的数据校验,判断是否存在传输错误。2.2CPU(CentralProcessingUnit)一、程序计数器(ProgramCounter——PC)——指向ROM存储单元的地址指针(引导程序运行)

0000HPC指针……XxxxxxxxXxxxxxxxXxxxxxxxXxxxxxxxXxxxxxxxROM0000H0001H0002H0003H0004HFFFFH永远存放着指向下一条指令的16位地址具有16位字长→可寻址范围216(=65536字节=64KB)具有自动加“1”功能→顺序运行程序功能具有可被指令修改功能→跳转运行程序功能复位时,PC初值=0000H→复位后程序从0000H开始运行2.2CPU(CentralProcessingUnit)2.2.2控制器二、数据指针寄存器(DataPointer——DPTR)具有16位字长,可寻址范围216(64KB)具有可被指令修改功能→可变更数据地址可拆为2个8位的独立寄存器DPL和DPH……0000H0001H0002H0003H0004HFFFFH35H77HF4H94H9EHDPTR指针……xxHxxHxxHxxHxxHROMRAMDPLDPH0000H0001H0002H0003H0004HFFFFH——指向ROM或RAM存储单元的地址指针(引导数据传送)

2.2CPU(CentralProcessingUnit)三、堆栈指针SP(StackPointer)

MCS-51单片机的堆栈,是在片内RAM中开辟的一个专用区,用来暂时存放数据或存放返回地址,并按照“后进先出”(LIFO)的原则进行操作。

2.2CPU(CentralProcessingUnit)堆栈的一端是固定的,称为栈底;另一端是浮动的,称为栈顶。最后进栈的元素所在地址就是栈顶。2.2CPU(CentralProcessingUnit)SP+108HSP+109HSP+10AHXYZ08H09HSP-10AHXYZSP-1SP-107H堆栈指针SP(StackPointer)是一个8位寄存器,用它存放栈顶的地址。进栈时,SP首先自动加1,将数据压入SP所指示的地址单元中;出栈时,将SP所指示的地址单元中的数据弹出,然后SP自动减1。SP总是指向栈顶。2.2CPU(CentralProcessingUnit)系统复位后,SP初始化为07H,

第一个压入堆栈的数据存放到08H单元。08H-1FH单元为工作寄存器组1-3所在地址单元,用户在编程时最好把SP的值改为1FH或更大值,以免堆栈区与要使用的工作寄存器区互相冲突。通常指定内部数据存储器地址07H~7FH中的一部分连续存储区作为堆栈。2.1MCS-51单片机结构2.2CPU

2.3MCS-51的引脚2.4单片机的复位、时钟与时序2.5MCS-51的存储器结构2.6并行I/O口51系列单片机一般采用40只引脚的双列直插式(DIP——DualIn-linePackage)封装结构2.3.1MCS-51引脚及功能

2.3MCS-51引脚除DIP封装外,51单片机还采用44只引脚的方形扁平(QFP

——QuadFlatPackage)封装方式。2.3MCS-51引脚电源及晶振引脚(共4只)控制引脚(共4只)端口引脚(共32只)三类2.3MCS-51引脚(1)电源及晶振引脚VCC(40脚):+Vcc电源引脚VSS(20脚):接地引脚XTAL1(19脚);外接晶振引脚(内置放大器输入端)XTAL2(18脚):外接晶振引脚(内置放大器输出端)89C51Vcc80C512040Vss+Vcc89C512.3MCS-51引脚(2)控制引脚(gd)

RST/VPD

(9):复位/备用电源引脚ALE/PROG

(30):地址锁存使能输出/编程脉冲输入PSEN

(29):输出访问片外程序存储器读选通信号EA/VPP

(31):外部ROM允许访问/编程电源输入20μF8K10k89C512.3MCS-51引脚(3)端口引脚P0.0~P0.7(39~32脚)——P0口P1.0~P1.7(1~8脚)——P1口P2.0~P2.7(21~28脚)——P2口P3.0~P3.7(10~17脚)——P3口8只/组×4组=32只引脚P0口~P3口是单片机对外联络的重要通道2.3MCS-51引脚51单片机有32只I/O引脚,分属于4个端口(P0~P3)。由于工作任务不同,4个端口的内部结构也不同。了解4类端口的内部结构对于正确使用这些I/O端口非常重要。2.3MCS-51引脚2.1MCS-51单片机结构2.2CPU

2.3MCS-51的引脚2.4单片机的复位、时钟与时序2.5MCS-51的存储器结构2.6并行I/O口复位——使单片机恢复原始默认状态的操作。2.4.1复位与复位电路

2.4单片机的复位、时钟与时序寄存器内容寄存器内容PC0000HTMOD00HA00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HSCON00HP0~P3FFHSBUF××××××××BIP×××00000BPCON0×××0000B(CHMOS)IE0××00000B0×××××××B(HMOS)复位条件在RST/VPD引脚端出现≥10ms要求的高电平状态。复位方式

上电复位复合复位2.4单片机的复位、时钟与时序按键复位CPU的微操作必须在统一的时钟控制下才能正确进行,2.4.2时钟电路

微调电容:C1、C2≈20pF晶振:石英晶体封裝MCS-51的时钟频率为0~40MHz可调外部时钟方式需要通过单片机引脚接入晶振元件或外部时钟内部时钟方式2.4单片机的复位、时钟与时序——CPU在执行指令时所需控制信号的时间顺序。1、用于片内各功能部件的控制(不作介绍)2、用于片外存储器或I/O端口的控制(第5、10章介绍)51单片机访问外部RAM时序

2.4单片机的复位、时钟与时序2.4.3单片机时序

(1)时序的概念时序是指按照时间顺序显示的对象(或引脚、事件、信息)序列关系。时序可以用状态方程、状态图、状态表和时序图4种方法表示,其中时序图最为常用。时序图亦称为波形图或序列图,纵坐标表示不同对象的电平,横坐标表示时间(从左往右为时间正向轴)。2.4单片机的复位、时钟与时序(1)最左边是引脚的标识,表示该图反映了RS、R/W、E、D0~D7四类引脚的时序关系。(2)交叉线部分表示电平的变化,如高电平和低电平。(3)封闭菱形部分表示数据有效范围(偶尔使用的ValidData也能说明了这点)。(4)水平方向的尺寸线表示持续时间的长度。LCD读写时序图2.4单片机的复位、时钟与时序时序的定时单位:时钟周期(或节拍)P、状态周期S、机器周期、指令周期振荡周期:为单片机提供定时信号的振荡源的周期.1个状态周期(S)(时钟周期)=2个振荡周期=2个节拍(P)1个机器周期=6个状态周期(S)=12个振荡周期=12个节拍(P)1个指令周期约为1~4个机器周期2.4单片机的复位、时钟与时序振荡周期振荡周期是指为单片机提供定时信号的振荡源的周期。时钟周期时钟周期又称为状态周期,时钟周期是振荡周期的2倍,被分成为P1节拍和P2节拍。在每个时钟周期的前半周期内,P1信号有效,通常完成算术逻辑操作;在后半周期内,P2信号有效,完成内部寄存器之间的传送操作。2.4单片机的复位、时钟与时序机器周期CPU执行一条指令的过程可以划分为若干个阶段,每一阶段完成某一项基本操作,例如取指令、存储器读、存储器写等。完成一个基本操作所需要的时间称为机器周期。MCS-51的一个机器周期由6个状态组成,即6个时钟周期,包含12个振荡周期,依次表示为S1P1、S1P2、S2P1、S2P2、…、S6P1、S6P2,每个节拍持续一个振荡周期,每个状态持续两个振荡周期。2.4单片机的复位、时钟与时序指令周期CPU执行一条指令所需要的时间称为指令周期。一个指令周期一般由若干个机器周期组成。不同的指令,所需要的机器周期数不同,含有1-4个机器周期。例如,假定MCS-5l单片机外接石英晶体的频率为12MHz,则振荡周期为1/12us,时钟周期为1/6us,机器周期为1us,指令周期为1-4us。2.4单片机的复位、时钟与时序在MCS-51指令系统中,指令长度为1-4个字节;

单字节和双字节指令都可能是单周期和双周期的,

三字节指令都是双周期的乘法和除法指令占用四个机器周期。2.4单片机的复位、时钟与时序单字节、单周期指令,例如:

INCA(机器码:04)2.4单片机的复位、时钟与时序双字节、单周期指令,例如:

ADDA,#03H(机器码:2403)2.4单片机的复位、时钟与时序单字节、双周期指令,例如:

INCDPTR(机器码:A3)2.4单片机的复位、时钟与时序2.1MCS-51单片机结构2.2CPU

2.3MCS-51的引脚2.4单片机的复位、时钟与时序2.5MCS-51的存储器结构2.6并行I/O口2.5.1MCS-51的存储器结构(zf)

一、

存储器划分方法计算机存储器地址空间的两种结构形式:普林斯顿结构和哈佛结构。RAM和ROM统一编址

RAM和ROM分别编址

2.5MCS-51的存储器结构51系列单片机采用哈佛结构,共有4个物理存储空间程序存储器ROM数据存储器RAM片内RAM、片内ROM、片外RAM、片外ROM2.5MCS-51的存储器结构二、

程序存储器(ROM)作用:存放程序、表格或常数,具有非易失性特点:片内ROM与片外ROM统一编址(>4KB时用片外ROM)EA/VPP

(31引脚):外部ROM允许访问/编程电源输入2.5MCS-51的存储器结构a)同时使用片内和片外ROMb)ROM地址分布

当/EA引脚接高电平(开关接A点)时,4KB以内的地址在片内ROM,大于4KB的地址在片外ROM中(图中折线),两者共同构成64KB空间;当/EA引脚接低电平(开关接B点)时,片内ROM被禁用,全部64KB地址都在片外ROM中(图中直线)。由于片内外ROM是统一编址的,只能算1个逻辑存储空间。2.5MCS-51的存储器结构片内RAM和片外RAM是独立的,而片内ROM可与片外ROM统一编址(gd)51单片机的4个物理存储空间相当于3个逻辑存储空间片内RAM片外RAM2.5MCS-51的存储器结构访问这几个不同的逻辑空间时,采用不同的指令片内外程序存储器空间----MOVC片内数据存储器空间和SFR----MOV片外数据存储器地址空间----MOVX三、

片内数据存储器(RAM)作用:存放程序运行结果字长:8位数量:128B+128B(89C51)低128B(00H~7FH)为普通RAM区高128B(80H~FFH)为特殊功能寄存器区2.5MCS-51的存储器结构(1)低128字节的区域

①工作寄存器区(00H~1FH)

②可位寻址区(20H~2FH)

③用户RAM区(30H~7FH)2.5MCS-51的存储器结构①区共有32个存储单元;每个单元都有1个8位地址(字节地址)

32个单元分为4组(第0~第3组)

CPU只能选一组为当前工作寄存器组(R0~R7)当前工作寄存器组取决于PSW的设置CPU复位后RS1和RS0默认值为0,即默认第0组为当前工作寄存器组。2.5MCS-51的存储器结构②区共有16个存储单元;每个单元都有一个字节地址每个字节的8个不同的位都有位地址②区共有128个位地址②区可以字节地址和位地址两种方式存取数据。2.5MCS-51的存储器结构寄存器区00H~1FH位寻址区20H~2FH通用RAM数据区30H~7FHR0R1R2R3R4R5R6R7寄存器0组寄存器1组寄存器2组寄存器3组00H~07H08H~0FH10H~17H18H~1FH07060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191867666564636261606F6E6D6C6B6A696877767574737271707F7E7D7C7B7A79782.5MCS-51的存储器结构③区共有80个存储单元;每个单元都有一个字节地址,但没有位地址,也没有寄存器名。此区可作为堆栈区和中间数据存储区使用——用户RAM区【注意】:①区和③区只能按字节进行数据存取操作,②区则可按字节和位两种方式存取操作。2.5MCS-51的存储器结构(2)高128字节RAM区

SFR承担着MCS-51单片机内部资源的管理工作每个存储单元都有一个字节地址,但只有其中21个单元可以使用,并有相应寄存器名称。MCS-51单片机共有21个特殊功能寄存器(SpetialFunctionRegister)2.5MCS-51的存储器结构2.1MCS-51单片机结构2.2CPU

2.3MCS-51的引脚2.4单片机的复位、时钟与时序2.5MCS-51的存储器结构2.6并行I/O口1.P1口

P1.n=1个锁存器+1个场效应管驱动器V+2个三态门缓冲器V21P1口包含P1.0~P1.7共8个相同结构的电路P1.0~P1.7中的8个锁存器组成P1,字节地址90H

(SFR)。2.6MCS-51的并口结构P1.n的通用I/O口工作方式:输出、读引脚、读锁存器输出时:D端=1→/Q=0→V截止→P1.n=1

D端=0→/Q=1→V导通→P1.n=01读引脚时:P1.n→读引脚三态门1→内部总线读锁存器时:Q端→读锁存器三态门2→内部总线V212.6MCS-51的并口结构场效应管V的状态会影响P1.n的状态:如V导通→P1.n电平≡0(钳位)→读引脚可能出错V为正确读出P1.n引脚电平,需设法在读引脚前先使V截止

令D=1→/Q=0→V截止→读P1.n→不会出错2.6MCS-51的并口结构2.P0口

与P1.n差别:输出控制电路、输出驱动电路→总线功能P0.0~P0.7中的8个锁存器组成P0,

80H(SFR)。2.6MCS-51的并口结构漏极开路与上拉电阻的概念

→封锁与门A≡0→地址/数据端与A输出无关控制端=0→MUX下通→/Q与V1栅极直通→V2截止→V1漏极开路2.6MCS-51的并口结构为使漏极开路的V1有效,必须通过外接上拉电阻与电源连通,上拉电阻的阻值一般为10kΩ。注意:P1、P2、P3口无需外接上拉电阻(已有内部上拉电阻)3412第二输入功能V2.6MCS-51的并口结构P0.n的通用I/O口工作方式(控制端=0)输出时:D端=1→/Q=0→V1截止→P0.n=1

D端=0→/Q=1→V1导通→P0.n=0读引脚时:P0.n→读引脚三态门1→内部总线(需要先写“1”)读锁存器:Q端→读锁存器三态门2→内部总线2.6MCS-51的

温馨提示

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

评论

0/150

提交评论