《单片机原理及应用》课件01-51单片机基本结构与存储器分配_第1页
《单片机原理及应用》课件01-51单片机基本结构与存储器分配_第2页
《单片机原理及应用》课件01-51单片机基本结构与存储器分配_第3页
《单片机原理及应用》课件01-51单片机基本结构与存储器分配_第4页
《单片机原理及应用》课件01-51单片机基本结构与存储器分配_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1第2章MCS-51系列单片机构成本章主要介绍MCS-51系列单片机的系统结构组成。重点:

MCS-51的基本结构及特性;

存储器、堆栈与特殊功能寄存器;

单片机的时钟、复位电路、并行口.2.151系列单片机的内部结构

时钟电路RAMROMCPU定时/计数器并行口中断模块串口模块系统总线时钟源T0T1P0

P1

P2

P3TXDRXDINT0INT1内中断外中断存储器通道0驱动器通道2驱动器RAM地址锁存器RAM通道0锁存器通道2锁存器ROM/EPROMB寄存器程序地址寄存器缓冲器PC递增器程序计数器PCDPTR指针VCCGNDP1.0~P1.7堆栈指针SPACCTMP2PSW通道3锁存器通道1锁存器通道1驱动器通道3驱动器TMP1SCONTMODPCONTCONTL0TH1TH0TL1IESBUF(TX/RX)IP中断、串行口和定时器逻辑振荡器P3.0~P3.7RSTEAALEPSENXTAL2XTAL1ALU(+5V)指令寄存器定时和控制逻辑指令译码器P2.0~P2.7P0.0~P0.74程序计数器PC16位寄存器1.PC功能:始终用于存放即将要执行的下一条指令所在程序存储器的地址。单片机根据PC值取指令执行程序。2.PC特点:(1)复位后PC=0000H(2)自动化加1;根据PC值ROM中取指令PC=PC+1;(3)在主程序中执行转移指令时,PC将放入转移目标地址值;(4)在主程序中调用子程序或执行中断服务程序时,单片机进行如下操作:①PC当前值(断点地址)压入堆栈,子程序或中断入口地址装入PC,去执行子程序或中断服务程序;②执行完子程序或中断服务程序,遇到RET或RETI指令,自动弹出堆栈中断点地址到PC,回到主程序,继续执行主程序流程。2.251单片机存储器存储器两种结构:★一般微机采用普林斯顿结构:只有一个地址空间,ROM和RAM可以随意安排在这一地址空间,ROM和RAM的地址在同一个队列分配不同的地址空间。★51单片机采用哈佛结构:物理结构上程序存储器空间和数据存储器空间分开。外部ROM内部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH一、程序存储器地址空间开发板采用片上程序程序存储器。EA接线方法?8中断矢量(向量):中断服务程序的入口地址

中断源中断服务程序入口地址外部中断00003H定时器0溢出中断000BH外部中断10013H定时器1溢出中断001BH串行口中断0023H中断矢量(向量)地址表

1、片内RAM

片内数据存储器:★低128B(00H~7FH):真正RAM区;★高128B(80H~0FFH):特殊功能寄存器(SFR)区。片内RAM空间用MOV指令访问

二、数据存储器地址空间10片内地址空间:RAM

128B(00H-7FH)

SFR

128B(80H-FFH)所有的RAM区(位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器存储器配置(片内RAM)00H20H2FH7FH1FH30H80HFFH用户、堆栈区位寻址区工作寄存器区128BRAM21个SFR分布在80H-FFH83个可寻址位128BSFR内部RAM组织结构1100H20H2FH7FH1FH30H80HFFH21个SFR区用户堆栈区位寻址区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区3工作寄存器区1工作寄存器区00FH10H17H18H①

片内RAM:00H—1FH32Byte是工作寄存器区存储器配置(片内RAM)工作寄存器区212工作寄存器地址表组RS1RS0R0R1R2R3R4R5R6R700000H01H02H03H04H05H06H07H10108H09H0AH0BH0CH0DH0EH0FH21010H11H12H13H14H15H16H17H31118H19H1AH1BH1CH1DH1EH1FH存储器配置(片内RAM)1300H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址07060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A393847464544434241407F7E7D7C7B7A7978位地址总共128个可按位寻址的位②位寻址区:20H-2FH128个可按位寻址位。

位地址:00H—7FH

存储器配置(片内RAM)字节地址和位地址的区分:◆以寻址方式区分:访问位地址用位寻址,访问低128B单元用直接寻址和间接寻址。◆具体指令:

MOVC,30H;30H-位地址

MOVA,30H;30H-字节地址具有位寻址能力是8051的一个重要特点。③普通RAM区:用户区或堆栈区

地址:30H—7FH

2、片外RAM

片外可扩展64KRAM空间,用MOVX指令访问,与外部I/O端口统一编址。三、特殊功能寄存器(SFR)

21个特殊功能寄存器(SFR),定义在80H~0FFH的RAM空间中。用直接寻址方式访问特殊功能寄存器。

如:MOVA,80H;访问P0口与MOVA,P0等效

MOVA,@R0;(R0)=80H,访问内部RAM80H单元17特殊功能寄存器(SFR)▼特殊功能寄存器SFR(专用寄存器)专用于控制、选择、管理、存放单片机内部各功能部件的工作方式、条件、状态、结果的寄存器。▼不同的SFR管理不同的硬件模块,负责不同的功能——各司其职换言之:要让单片机实现预定的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求)。

21个特殊功能寄存器中,有11个具有位寻址能力(字节地址能被8整除)。部分特殊功能寄存器介绍如下:

1累加器ACC:算术运算、逻辑运算;

2辅助寄存器B:乘、除运算;一般作通用寄存器或RAM单元使用;

3程序状态字PSW:各位的含义如下:19

程序状态字寄存器:PSWCYACF0RS0OVPRS1PSW.7PSW.0▼CY(PSW.7):进位/借位标志位。若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。▼AC(PSW.6):半进位/借位标志位。若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机器在执行“DAA”指令时自动要判断这一位,可以暂时不关心它。▼F0(PSW.5):可由用户定义的标志位。PSW.6PSW.520程序状态字寄存器

PSW(续):CYACF0RS0OVPRS1PSW.7PSW.0▼RS1(PSW.4)、RS0(PSW.3):工作寄存器组选择位。RS1,RS0=01则选择了工作寄存器组

1区R0~R7地址为08H~0FH单元。RS1,RS0=10则选择了工作寄存器组

2区R0~R7地址为10H~17H单元。RS1,RS0=11则选择了工作寄存器组

3区R0~R7地址为18H~1FH单元。PSW.4PSW.3RS1,RS0=00则选择了工作寄存器组

0区R0~R7地址为08H~0FH单元。21

程序状态字寄存器

PSW(续):CYACF0RS0OVPRS1PSW.7PSW.0▼OV(PSW.2)溢出标志位。

OV=1时特指累加器在进行带符号数(-128—+127)运算时出错(超出范围);OV=0时未出错。▼PSW.1未定义。▼P(PSW.0)奇偶标志位。

P=1表示累加器中“1”的个数为奇数

P=0表示累加器中“1”的个数为偶数

CPU随时监视着ACC中的“1”的个数,并反映在PSW中!PSW.2PSW.122堆栈:在片内RAM中,指定一个专门的区域来存放某些特别的数据,它遵循先进后出和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。功用:1)子程序调用和中断服务时CPU自动将当前PC

值压栈保存,返回时自动将PC值弹栈。2)保护现场/恢复现场3)数据传输4堆栈指针SP2300H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SP栈顶下一个进栈的数据将存在此数据进栈已经进栈的数据存放在此初始SP复位后SP=07H,数据进栈时:首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元,然后SP再自动增1,仍指着栈顶……堆栈区由特殊功能寄存器堆栈指针SP管理

堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的30H后的位置。24从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶……00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SP-1指向新的栈顶,也就是下一个将要出栈的数据数据出栈初始SP堆栈区由特殊功能寄存器堆栈指针SP管理

堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。

堆栈的操作:压栈PUSH,出栈POP;

◆栈低:堆栈的起始位置;CPU复位后(SP)=07H;

◆堆栈结构:向上生长型,双向计数器。5.数据指针DPTR

16位寄存器,对64KB片外RAM和I/O口进行间接寻址;可分成2个独立的8位寄存器。6.I/O端口P0~P3

可字节寻址,每一条I/O线均可独立用作输入/输出。

27FFFFH0000H可寻址片外RAM64K字节

温馨提示

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

评论

0/150

提交评论