您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 电气技术 > 02第二章 80C51单片机的硬件
北华航天工业学院第2章MCS-51单片机组成原理•2.1MCS-51单片机的内部结构•2.2引脚功能•2.3MCS-51单片机的总线•2.4MCS-51单片机存储器•2.5输入/输出端口•2.6时钟电路及时序退出北华航天工业学院2.1MCS-51单片机的内部结构•80C51系列单片机是由Intel等各大公司推出的8位主流单片机系列,它是我国目前应用最广泛的一种单片机系列。(89C51)•以该系列中的典型芯片80C51为线索来介绍单片机的内部结构、外部引脚、存储器配置、并行I/O端口、外围电路等内容。•在51系列单片机里,80C51是最典型的单片机,其它芯片都具有与80C51基本相同的硬件结构和软件特征,其内部结构如图2.1所示。北华航天工业学院北华航天工业学院2.1MCS-51单片机的内部结构80C51概况•数据总线为8位,地址总线为16位;•CMOS工艺;•128B的RAM;•4K的ROM;•2个16位的定时器;•5个中断源;•……….北华航天工业学院2.2内部结构•MCS-51系列单片机内部可分为五大部分•2.2.1CPU•CPU包括运算器和控制器两部分。•2.2.1.1运算器•运算器包括算术/逻辑部件(ALU)、累加器A、暂存寄存器、寄存器B、程序状态寄存器(PSW),十进制调整电路等。运算器主要用于实现算术/逻辑运算及位操作运算。下面介绍运算器的各组成部分。•1、算术/逻辑部件ALU•2、累加器A•3、寄存器B•4、程序状态字寄存器PSW•5、布尔处理器、暂存器、十进制调整电路等北华航天工业学院2.2.1.2控制器•包括:程序计数器PC指令寄存器指令译码器振荡器定时电路数据指针寄存器、堆栈指针寄存器等北华航天工业学院2.2.2内部存储器程序存储器ROM数据存储器RAM00HFFH7FHSFRRAM00HFFFHROM01H北华航天工业学院2.2.3定时与中断系统•定时器/计数器2个加法计数器•中断系统5个中断源2.2.4I/O口•4个8位并行I/O口•1个全双工串行口2.2.5时钟电路•为单片机产生时钟脉冲序列,用于协调和控制单片机的工作•产生方式有两种:内部时钟外部时钟•80C51时钟频率范围:1.2~12MHz北华航天工业学院2.3MCS-51单片机的引脚功能•MCS-51单片机共有40个引脚。北华航天工业学院北华航天工业学院2.4MCS-51单片机存储器80C51的片内集成有一定容量的程序存储器和数据存储器(128B)。当然,还可以根据需要对存储器进行外部扩展。80C51的存储器配置如图2.3所示。•从物理上分,80C51的存储器有4个存储空间:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。•从逻辑上分,80C51有3个存储器地址空间:片内外统一的64KB的程序存储器地址空间、256B的内部数据存储器地址空间(其中128B的专用寄存器地址空间,仅有部分字节有实际意义)和64KB的外部数据存储器地址空间。•为了区分不同的存储器空间,在用指令访问这三个不同的逻辑空间时采用了不同形式的指令。北华航天工业学院2.4MCS-51单片机存储器北华航天工业学院2.3.1程序存储器•8051单片机内部有4KB的掩膜ROM(0000H~3FFFH)、8751单片机内部有4KB的EPROM,而8031内部没有程序存储器,必须外接程序存储器。•程序存储器扩展连接方法•程序从0000H开始;有一些特殊功能的区域,如中断入口地址。•访问外部存储器需要利用外部总线进行地址和数据的传输,此时用P0、P2口北华航天工业学院中断入口地址表:中断源入口地址外部中断00003H定时器0000BH外部中断10013H定时器1001BH串行口0023H北华航天工业学院程序计数器PC•16位寄存器,用于存放将要执行的指令的地址,可寻址64K范围。PC在物理结构上相对独立,不属于SFR,如将要执行的指令为多字节指令,则PC存放指令的第一个字节的地址。•PC的功能:•复位功能•计数功能•直接置位功能北华航天工业学院程序存储器的扩展•访问外部存储器需要利用外部总线进行地址和数据的传输,此时用P0、P2口作为数据/地址总线北华航天工业学院2.3.2数据存储器•MCS-51系列单片机数据存储器分内部数据存储器(即片内RAM)和外部数据存储器(即片外RAM)。•1、内部数据存储器内部数据存储器在物理上分为两个不同的存储空间:数据存储器空间(低128单元)特殊功能寄存器空间(高128单元)。这两个空间是相连的。从用户角度而言,低128单元才是真正的数据存储器。北华航天工业学院北华航天工业学院(1)工作寄存器区•00H~1FH的32个单元是4个通用工作寄存器区,每个区有8个8位寄存器,其编号为R0~R7。在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器区。到底选择哪一个工作组为当前工作区,取决于专用寄存器PSW(程序状态字)中的RS1和RS0位的状态。RS1和RS0的状态可通过指令来改变。用户可以通过设置RS1和RS0位的状态来选择/切换当前工作寄存器区,这给用户保护寄存器中的内容提供了极大的方便。北华航天工业学院表2-5RS1、RS0与寄存器区的关系RS1RS0当前区号(组)R0~R7地址00000H~07H01108H~0FH10210H~17H11318H~1FH北华航天工业学院(2).位寻址区•RAM中的20H~2FH的16个单元除了可作为一般RAM单元进行字节寻址外,还可进行位寻址,称作位寻址区。•位寻址区共有16个RAM单元,合计128位,位地址为00H~7FH。80C51单片机具有位处理机(又称布尔处理机)功能,位处理机的存储空间就包括这个位寻址区。表2-3为位寻址区的位地址表。北华航天工业学院北华航天工业学院(3).用户区•在内部RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下的80个单元就是供用户使用的一般RAM区,地址单元为30H~7FH。•对这部分区域的使用不作任何规定和限制,但应当说明的是,堆栈一般开辟在此区。北华航天工业学院*关于堆栈•堆栈:是一个特殊的存储区域;•特点:“后进先出”。•单片机的堆栈是地址增加型,即压入数据时地址指针增加。•堆栈的操作有压入:PUSH弹出:POP北华航天工业学院2、外部数据存储器•由于MCS-51子系列单片机内部数据存储器只有128个字节,往往不够用,这就需要扩展外部数据存储器,外部数据存储器最多可扩至64KB。•访问外部存储器需要利用外部总线进行地址和数据的传输,此时用P0、P2口•访问外部数据存储器只能用间接寻址,两种方式:DPTR和Ri(i=0、1),并有专用指令•思考:1.扩展数据存储器时,系统是否会将数据和地址混淆2.同时扩展数据存储器和程序存储器是否会产生混乱北华航天工业学院外部存储器扩展实例•见课本P36北华航天工业学院2.3.3总线•为多个部件服务的信息传送线,可分为:•地址总线:AB•数据总线:DB•控制总线:CB北华航天工业学院•2.4工作寄存器和特殊功能寄存器•1、工作寄存器•MCS-51有32个工作寄存器,分为四个区(或组)每个区为8个寄存器R0、R1、R2、R3、R4、R5、R6、R7,每一时刻只有一个区工作。由PSW寄存器中的RS1、RS0的值来决定当前的工作区:•当RS1RS0=00时,0区为工作区,•RS1RS0=01时,1区为工作区•RS1RS0=10时,2区为工作区•RS1RS0=11时,3区为工作区北华航天工业学院•这32个工作寄存器不但有它们的名称和区号,而且还有地址。00H-1FH共32个单元。•00H~07H为0区,分别对应R0~R7•08H~0FH为1区,分别对应R0~R7•10H~17H为2区,分别对应R0~R7•18H~1FH为3区,分别对应R0~R7北华航天工业学院•这32个单元为内部数据存储器(即片内RAM)的00H~1FH存贮空间,这与普通微机中的通用寄存器基本相同,所不同的是,普通微机的通用寄存器只有名称,不占有RAM空间,因此只有名字,没有对应的地址;而MCS-51单片机的工作寄存器R0~R7既可以用名字也可以用它的地址来表示。其中R0、R1寄存器除做工作寄存器外还常做间址寻址的地址指针。北华航天工业学院2.特殊功能寄存器SFR(高128单元)•内部RAM的高128单元是给特殊寄存器使用的,因此称之为专用寄存器区,其单元地址为80H~FFH。因为这些寄存器的功能已作专门规定,所以称其为专用寄存器或特殊功能寄存器(SpecialFunctionRegisters)。特殊功能寄存器的总数为21个,仅占用了80H~FFH中的很小一部分。表2-4给出了这些特殊功能寄存器的符号、名称和地址等。北华航天工业学院表2-2特殊功能寄存器SFR特殊功能寄存器功能名称地址复位后初态B通用寄存器F0H00HA累加器E0H00HPSW程序状态寄存器D0H00HIP中断优先级控制寄存器B8HXXX00000BP3P3口数据寄存器B0HFFHIE中断允许控制寄存器A8H0XX00000BP2P2口数据寄存器A0HFFHSBUF串行口发送/接收缓冲器99H不定SCON串行口控制寄存器98H00HP1P1口数据寄存器90HFFH北华航天工业学院TL1T1计数器低8位8BH00HTL0T0计数器低8位8AH00HTH1T1计数器高8位8DH00HTH0T0计数器高8位8CH00HTMOD定时器/计数器方式控制寄存器89H00HTCON定时器控制寄存器88H00HPCON电源控制寄存器87H00HDPL地址寄存器低8位82H00HDPH地址寄存器高8位83H00HSP堆栈指针寄存器81H07HP0P0口数据寄存器80HFFH北华航天工业学院•21个特殊功能寄存器是不连读地分散在内部RAM的高128单元之中,尽管其中还有许多空闲地址,但用户不能使用。•程序计数器PC是独立于SFR之外的唯一的一个不可寻址的专用寄存器。PC不占RAM单元,在物理上是独立存在的。它不包括在21个特殊功能寄存器中。•在21个特殊功能寄存器中,有11个寄存器不仅可以字节寻址,也可以进行位寻址。凡是能进行位寻址的SFR,其特征是字节地址都能被8整除(字节地址的末位是0或8)。•IP中有3位、IE中有2位、PSW中有一位对用户无实际意义,所以直接寻址位为82位;再加上数据存储器中的128位,80C51共计有210位可寻址位。北华航天工业学院•这21个特殊功能寄存器中,有11个寄存器具有位寻址功能,即寄存器中的每位都具有位地址,可以按位寻址。11个寄存器的位地址如图2-3所示。北华航天工业学院(MSB)(LSB)F0HF7F6F5F4F3F2F1F0BE0HE7E6E5E4E3E2E1E0AD0HD7D6D5D4D3D2D1D0PSWPSPT1PX1PT0PX0B8H——————BCBBBAB9B8IPB0HB7B6B5B4B3B2B1B0P3EAESET1EX1ET0EX0A8HAF————ACABAAA9A8IEA0HA7A6A5A4A3A2A1A0P2SM0SM1SM2RENTB8RB8TIRI98H9F9E9D9C9B9A9998SCON90H9796959493929190P1TF1TR1TF0TR0IE1IT1IE0IT088H8F8E8D8C8B8A8988TCON80H8786858483828180P0图2-3SFR块中具有位寻址功能寄存器的位地址北华航天工业学院(1)程序计数器PC•PC是一个16位的计数器。其内容为将要执行的指令地址,寻址范围达64KB。PC有自动加1功能,从而实现程序的顺序执行。PC没有地址,是不可寻址的(但在物理上是存在的),因此用户无法对它进行读写;但可以通过转移、调用返回等指令改变其内容,以实现程序的转移。北华航天工业学院(2)累加器A•累加器A为8位寄存器,是最常用的专用寄存器,功能较多。它既可用于存放操作数,也可用来存放中间结果。80C51单片机中大部分单操作数指
本文标题:02第二章 80C51单片机的硬件
链接地址:https://www.777doc.com/doc-3805754 .html