第3章 51单片机的基本结构_第1页
第3章 51单片机的基本结构_第2页
第3章 51单片机的基本结构_第3页
第3章 51单片机的基本结构_第4页
第3章 51单片机的基本结构_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

第3章51单片机的基本结构INT0INT1TXDRXDT0P3P2P1P0T1CPUROMRAM定时器/计数器并行接口串行接口中断系统时钟电路8051系统总线晶体振荡器§3.151单片机的内部结构MCS-51单片机内部结构§3.2

51单片机的引脚及其功能MCS-51单片机是40引脚的DIP封装,按引脚的功能可以分为三部分。

MCS-51引脚图1.主电源引脚和时钟振荡电路引脚●XTAL2(18脚):用作晶体振荡电路的反相器输出端。当采用外部振荡器时,XTAL2接收振荡器信号,对CHMOS单片机,此引脚应悬浮。●

XTAL1(19脚):接外部石英晶体的一端。当采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。3.2.1MCS-51的芯片引脚定义MCS-51引脚图P0.0~P0.7(39~32脚):在不接片外存储器与不扩展I/O口时,可作为准双向输入/输出口。在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。2.输入输出I/O引脚P2.0~P2.7(21~28脚):8位内部带上拉电阻的准双向I/O口引脚。当使用片外存储器时,输出高8位地址。P1.0~P1.7(1~8脚):8位内部带上拉电阻的准双向I/O口引脚。在编程/校验期间,用做输入低8位地址。对于8052,P1.0是定时器T2的计数输入端;P1.1是定时器T2的外部输入端。P3.0~P3.7(10~17脚):8位内部带上拉电阻的准双向I/O口引脚,此外P3口还具有第二功能。P3口的第二功能

MCS-51引脚图3.控制信号引脚

RST/VPD(9脚):输入,保持两个机器周期以上的高电平使单片机完成复位操作。第二功能VPD为内部RAM的备用电源输入端。ALE/PROG#(30脚):ALE为地址锁存允许信号。在访问外部存储器时,ALE用来锁存P0扩展地址低8位的信号。在不访问外部存储器时,ALE也以时钟振荡频率的1/6的固定速率输出ALE能驱动8个LSTTL门输入。第二功能PROG#是对8751内部EPROM编程时的编程脉冲输入端。MCS-51引脚图3.控制信号引脚

RST/VPD(9脚):输入,保持两个机器周期以上的高电平使单片机完成复位操作。第二功能VPD为内部RAM的备用电源输入端。PSEN#(29脚):外部程序存储器ROM的读选通信号。当访问外部ROM时,产生负脉冲作为外部ROM的选通信号。而在访问外部数据RAM或片内ROM时,不会产生有效的PSEN#信号。PSEN#可驱动8个LSTTL门输入。MCS-51引脚图3.控制信号引脚

RST/VPD(9脚):输入,保持两个机器周期以上的高电平使单片机完成复位操作。第二功能VPD为内部RAM的备用电源输入端。EA#/VPP(31脚):EA#访问外部程序存储器控制信号。

对8051和8751,当EA=1时

情形1:0~4KB内,访片内程序存储器情形2:超4KB时,自动访问外部ROM

对于8031,EA必须接地,只能访问外部ROM。

Vpp为对8751的EPROM的编程电源输入。§3.3

51单片机的存储结构

8051的存储器组织分三个不同的存储地址空间:

1)64KB的程序存储器地址空间(包括片内ROM和外部ROM)。2)64KB的外部数据存储器(RAM)地址空间。3)256字节的片内数据存储器(寄存器堆)。在对这三个不同的存储器空间进行数据传送时,必须分别采用三种不同形式的指令。ROM(程序存储器)—>取指令(PC寻址)

MOVC指令控制信号是*PSEN和*EA外RAM(数据存储器)—>MOVX指令控制信号是P3口中的*RD和*WR。内RAM(寄存器堆)—>MOV指令

编址与访问

程序存储器用于存放程序及表格常数。8051(或8751)片内驻留有4KB的ROM(或EPROM),外部可用16位地址线扩展到最大64KB的ROM空间。片内ROM和外部扩展ROM是统一编址的。

EA#引脚为高电平时,8051的程序计数器PC在0000H~0FFFH(4KB)地址时从内部ROM取指令;超过4KB地址时,CPU自动转向外部ROM执行程序。

EA#为低电平(接地),则所有取指令操作均在外部程序存储器中进行。对8031单片机,EA#必须接低电平。

读取程序存储器中的常数表格用MOVC指令。

3.3.1程序存储器表2-3系统复位和中断入口地址

▲特定程序入口

0000H单元是复位入口,0003H~002AH单元均匀地分为五段,被保留用于五个中断服务程序。3.3.2数据存储器◆用途:用于存放运算中间结果,用作缓冲和数据暂存,以及设置特征标志等。◆分类:分为内部和外部两个独立的部分。即片内有256字节的数据存储器地址空间,片外有64KB存储器地址空间,内部和外部两个存储空间独立寻址。

1.内部数据存储器(寄存器堆)

◆低128字节地址空间(00H~7FH)为内部RAM区,作为数据缓冲器。◆高128字节地址空间(80H~FFH)为特殊功能寄存器区(简称SFR区),未全部使用。◆对于52子系列为256字节内部RAM区.对SFR和高128字节RAM的访问,可通过直接寻址和寄存器间接寻址方式加以区分。

(1)工作寄存器组00H~1FH单元为工作寄存器区。工作寄存器分成4组,每组都有8个寄存器,用R0~R7来表示。使用哪一组寄存器工作由程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择。(2)位寻址区■20H~2FH单元是位寻址区。■位地址范围为00H~7FH。用户可以用程序对它们直接进行清零、置位、取反和逻辑、测试等操作。例如:MOV78H,C

;把进位标志存于位寻址区的2FH单元的D0位。■另一部分位寻址区在部分SFR中。(3)数据存储区内部RAM的30H~7FH为通用数据存储区,即用户RAM区,共80个单元,作为一般的数据存储使用。52子系列的用户RAM区为30~FFH范围内的208个字节。按照先进后出(FILO)或后进先出(LIFO)的原则存取信息。堆栈原则上可以设在内部RAM的任意区域,但由于00H~1FH为工作寄存器区,20H~2FH为位寻址区,堆栈通常设在内部RAM的30H~7FH地址空间内,但要考虑到堆栈的最大深度。堆栈可用于响应中断或调用子程序时,保护断点地址。在中断服务程序或子程序结束时,执行中断返回或子程序返回指令,堆栈中弹出断点地址给PC,使程序从断点处继续执行。(4)堆栈区2.外部数据存储器内部RAM不能满足要求时,可以外接RAM芯片扩展数据存储器容量,最大可达64KB(0000H~FFFFH)。当系统需要扩展I/O口时,I/O地址空间就要占用一部分外部数据存储器地址空间。访问外部RAM或扩展I/O口采用“MOVX”指令,用寄存器间接寻址方式。

内部RAM数据传送用“MOV”指令,都可以通过直接给出的字节地址来寻找。

例如:MOV30H,#9FH;(30H)←9FH

如果要寻找内部RAM中的可位寻址区的各个位(bit),必须在位操作指令中用位地址来寻找。

例如:SETB1FH;(1FH)←1

特殊功能寄存器(SFR),又称为专用寄存器,专用于控制、管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。

每一个SFR都有字节地址,并定义了符号名。其中有11个SFR(字节地址能被8整除)具有位地址(可位寻址),对应的位也定义了位名。■用直接地址访问特殊功能寄存器,直接地址的表示可以用地址单元,也可以用寄存器符号名。例如累加器可以用地址0E0H,也可以用累加器符号名ACC。■对于具有位地址的SFR,在表示其某一位时,可以用位地址,也可以用位定义名,或者用“寄存器名.位”表示。

D3H;(位地址),表示程序状态寄存器PSW中的D3位

RS0;(位定义名),表示程序状态寄存器PSW中的D3位

PSW.3;(寄存器.位),表示程序状态寄存器PSW中的D3位

8051片内含有21个字节8位的SFR,离散地分布在内部数据存储区80H~FFH地址空间内。3.3.3特殊功能寄存器特殊功能寄存器地址映像1.几个重要的特殊功能寄存器(1)累加器ACC(简称A)ACC是一个实现各种寻址及运算的寄存器,而不是一个仅做加法的寄存器,在51指令系统中所有算术运算、逻辑运算几乎都要使用它。而对程序存储器和外部数据存储器的访问只能通过它进行。只有很少的指令不需要ACC的直接参与。虽然从功能上看,A与一般处理器的累加器没有什么特别之处,是CPU进行数值运算的核心数据处理单元,是计算机中最繁忙的单元。(2)寄存器B寄存器B是为执行乘法和除法操作设置的,在不执行乘、除法操作的一般情况下可把B作为一个普通的寄存器使用。(3)程序状态字PSW程序状态字PSW就是标志寄存器,是用来表示程序运行的状态。PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0CYACF0RS1RS0OV-PCY进位标志位,在执行算术和逻辑指令时,可以被硬件或软件置位或清除,在位处理器中,它作为累加器。AC辅助进位标志位,当进行加法或减法操作而产生由低4位数(十进制中的一个数字)向高4位进位或借位时,AC将被硬件置1,否则就被清除。AC被用于十进位调整。F0它是由用户使用的一个状态标志位,可用软件来使其置位或清除,可以靠软件测试F0以控制程序的流向。RS1、RS0寄存器区选择控制位用于确定工作寄存器组。OV溢出标志位。当执行算术指令时,由硬件置1或清0,以指示溢出状态。各种运算对该位的影响情况较为复杂,将在后面章节详细说明。P奇偶(Parity)标志位。P随累加器A中数值变化而变化,若A中1的位数为奇数,则P=1,否则P=0。此标志位对串行口通信中的数据传输有重要的意义,借助P实现奇偶校验,保证数据传输的可靠性。(4)堆栈指针SP

堆栈指针SP为8位的SFR。堆栈指针SP也可以由指令赋值,通常设在内部RAM的30H~7FH区域内的适当空间,一般在该区域的顶部建立堆栈。例如用指令MOVSP,#60H,即可将栈顶设置为60H。

堆栈指针SP是一个双向计数器,始终指向堆栈的栈顶。在执行进栈操作时,SP指针先加1,然后数据压入堆栈;在执行出栈操作时,先把SP所指的栈顶中的数据弹出,然后SP自动减1而指向新的栈顶。

(5)数据指针DPTR(DPL和DPH)

51系列单片机中,有两个16位寄存器,即数据指针DPTR和PC(PC不属于SFR)。DPH为DPTR的高8位,DPL为DPTR的低8位。访问外部数据存储器和程序存储器时,必须以DPTR为数据指针通过ACC进行访问。

特殊功能寄存器P0、P1、P2和P3分别是4个I/O端口P0、P1口、P2口和P3口对应的锁存器。当I/O端口某一位用于输入时,必

温馨提示

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

评论

0/150

提交评论