您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 电气技术 > 第2章80C51单片机的硬件
LOGO单片机基础教程主讲人:李月华南华大学口扩展第2章80C51单片机的硬件结构第8章80C51单片机串行通信第3章80C51单片机指令系统第9章单片机串行扩展第4章80C51单片机汇编语言程序设计第10章单片机A/D及D/A转换接口第5章80C51单片机的中断与定时第11章8位单片机的发展第6章单片机并行存储器扩展第12章单片机应用口480C51单片机的时钟与定时580C51单片机的系统复位6单片机低功耗工作模式7、单片机的定义将计算机的CPU、存储器、I/0接口电路、定时器/计数器、中断部件等计算机的功能部集成在一块芯片上,形成单芯片的、具有独特功能的微型计算机。2、名称SCMC—SingleChipMicroComputer单片微型计算机、别名MCU—MicrocontrollerUnit微控制器SMCU—SingleMicrocontrollerUnit单片微控制器EMCU—EmbeddedMicrocontrollerUnit嵌入式微控制器EMP—EmbeddedMicroProccessor嵌入式微处理器单片机的内部逻辑结构单片机的主要有以下几部分组成:1.中央处理器CPU(1)运算电路(2)控制电路2.内部数据存储器3.内部程序存储器4.定时器/计数器5.并行I/O口6.串行口7.中断控制电路8.时钟电路9.位处理器10.内部总线单片机的封装与信号引脚芯片封装形式80C51有40脚双列直插式DIP44脚方形扁平式QFP、芯片引脚介绍主电源引脚Vcc和VssVCC(40脚):接+5V电源正端;VSS(20脚):接+5V电源地端。外接晶体引脚XTAL1和XTAL2XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。(18脚):接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端;对于CHMOS芯片,该引脚悬空不接。复位脚RST/VPDRST/VPD(9脚):RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。地址锁存控制信号ALEALE(30脚):当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低8位地址。此外,由于ALE是以1/6晶振频率的固定频率输出的正脉冲,因此,可作为外部时钟和外部定时脉冲使用。外部程序存储器读选通信号(29脚):片外程序存储器读选通信号输出端,低电平有效。访问程序存储器控制信号(31脚):为访问外部程序存储器控制信号,低电平有效。输入/输出口线P0口(39脚~32脚):P0.0~P0.7统称为P0口。P1口(1脚~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O接口使用。P2口(21脚~28脚):P2.0~P2.7统称为P2口,可作为准双向I/O接口。P3口(10脚~17脚):P3.0~P3.7统称为P3口,可作为准双向I/O接口。PSENPSEN/PPEAV/PPEAVEA单片机存储器的分类:从物理结构上可分为:片内、片外程序存储器(80C31和80C32没有片内程序存储器)与片内、片外数据存储器4个部分;从寻址空间分布可分为:程序存储器、内部数据存储器和外部数据存储器3大部分;从功能上可分为:程序存储器、内部数据存储器、特殊功能寄存器、位地址空间和外部数据存储器5大部分。(1)ROM编址对于8051来说,ROM的内部地址为0000H~0FFFH,共4KB;ROM的外部地址为1000H~FFFFH,共60KB。当程序计数器由内部0FFFH执行到外部1000H时,会自动跳转。其中6个单元地址具有特殊用途,是保留给系统使用的。0000H是系统的启动地址,一般在该单元中存放一条绝对跳转指令。0003H、000BH、000BH、001BH和0023H对应5种中断源的中断服务入口地址。8031内部无程序存储器,必须外接程序存储器。—51单片机复位、中断入口地址故必须从0000H单元开始取指令来执行程序。0000H单元是系统的起始地址,一般在该单元存放一条无条件转移指令,用户设计的程序是从转移后的地址0030H开始存放执行的。因此我们通常编程时:ORG0000HAJMPMAINORG0030HMAIN:MOVP1,#0FFHEND(2)RAM编址对于8051来说:随机存储器(RAM)的内部地址为00H~FFH,共256B;低128字节(00H~7FH)为真正的RAM区;高128字节为特殊功能寄存器区SFR。外部地址为0000H~FFFFH,共64KB。靠指令区分内外:MOV内部MOVX外部MOVX专用的片外数据存储器的指令MOV专用的片内数据存储器MOVC专用的程序存储器的指令(不分片内外)范围0000和~0FFFFH------即64K空间内可寻址中:00H~1FH共32单元---4个通用工作寄存器区。每一个区有8个通用寄存器R0~R7。20H~2FH共16个RAM单元,128位--位寻址区30H~7FH剩下80个单元-----用户RAM区―5工作寄存器和RAM地址对照表~2FH单元为位寻址区,这16个单元(共计128位)的每1位都有一个8位表示的位地址,位地址范围为00H~7FH,如表2―7所示。位寻址区的每1位都可当作软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志,位控制变量存于位寻址区内。同样,位寻址的RAM单元也可以按字节操作作为一般的数据缓冲。位寻址是为了位操作准备的,也可对单元内的每一位进行处理说明:上述列表中每一个位可表示的方法为例如:位寻址的最后一位是7FH,也可表示为2FH.7、数据缓冲区30H~7FH是数据缓冲区,也即用户RAM区,共80个单元。MCS—52子系列片内RAM有256个单元,前两个的单元数与地址都和MCS—51子系列一致。用户RAM区从30H~FFH,共208个单元。专用寄存器简介(1)累加器A(或ACC----ACCumulator)中转站双累加器寄存器阵列(2)B寄存器(Bregister)(3)程序状态字(PSW----ProgramStatusWord)D7D6D5D4D3D2D1D0CY(PSW.7)——进位标志位。AC(PSW.6)——辅助进位(或称半进位)标志。F0(PSW.5)——由用户定义的标志位。RS1(PSW.4)、RS0(PSW.3)——工作寄存器组选择位。OV(PSW.2)——溢出标志位。由硬件置位或清零。P(PSW.0)---------奇偶标志位(表明累加器A中1的个数的奇偶性,系统自动产生,如果1的个数为偶数,则P=0,反之P=1CyACF0RS1RS0OV…P(4)数据指针DPTR数据指针DPTR是一个16位的专用寄存器,其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。既可作为一个16位寄存器DPTR来处理,也可作为两个独立的8位寄存器DPH和DPL来处理。RS1RS0寄存器组片内PAM地址通用寄存器名称000组00H~07HR0~R7011组08H~0FHR0~R7102组10H~17HR0~R7013组18H~1FHR0~R7表2.3RS1、RS0与片内工作寄存器组的对应关系位地址,当对64KB外部数据存储器空间寻址时,作为间址寄存器用。在访问程序存储器时,用作基址寄存器。(5)程序计数器PC(ProgramCounter)PC用于存放CPU下一条要执行的指令地址,是一个16位的专用寄存器,可寻址范围是0000H~0FFFFH共64KB。程序中的每条指令存放在ROM区的某一单元,并都有自己的存放地址。CPU要执行哪条指令时,就把该条指令所在的单元的地址送上地址总线。在顺序执行程序中,当PC的内容被送到地址总线后,会自动加1,即(PC)←(PC)+1,又指向CPU下一条要执行的指令地址。专用寄存器(SFR)的单元寻址:80~FFH专用寄存器包括I/O锁存器、定时器、串行口、中断、状态、控制寄存器等共21个。离散地分布在80~FFH中(不包括PC)。如下所示:算术运算寄存器:A、B、PSW指针寄存器:SP、DPTR(DPH,DPL)并行口:P0、P1、P2、P3串行口:SCON、SBUF、PCON中断系统:IP、IE定时/计数器:TMOD、TCON、TH0、TL0、TH1、TL1特别需要指出的是,51系列内部RAM,80H~FFH中未定义的单位为不可访问单元。堆栈操作:堆栈操作是在内存RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一种工作方式,1.堆栈的功用①保护断点----保护从主程序转向子程序、中断时的断点,发生转移时自动完成。②保护现场----对子程序、中断程序中要用到的、现场的某些寄存器的内容进行保护,以保证返回时确恢复。软件指令方式实现。③数据的临时存放2.堆栈的开辟3.堆栈指针SP用来指示堆栈所处的位置,在进行操作之前,先用指令给SP赋值,以规定栈区在RAM区的起始地址(栈底层)。当数据推入栈区后,SP的值也自动随之变化。系统复位后,SP初始化
本文标题:第2章80C51单片机的硬件
链接地址:https://www.777doc.com/doc-3620154 .html