您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 电气技术 > 第2章80c51单片机的结构
第2章80C51单片机硬件结构MCS-51单片机单片机引脚及其功能单片机的特点时序电路输入输出端口复位电路知识点:存储器工作寄存器特殊功能寄存器时钟电路CPUROMRAMT0T1中断系统串行接口并行接口P0P1P2P3TXDRXDINT0INT1定时计数器•中央处理器CPU:8位,运算和控制功能•内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。•内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。•定时/计数器:两个16位的定时/计数器,实现定时或计数功能。•并行I/O口:4个8位的I/O口P0、P1、P2、P3。•串行口:一个全双工串行口。•中断控制系统:5个中断源(外部中断2个,定时/计数中断2个,串行中断1个)•时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ单片机的硬件结构80C51芯片引脚介绍•P1口:8位•既可以8位一起输入输出,也可以1位1位地输入输出•P0口:8位•既可以8位一起输入输出,也可以1位1位地输入输出。•在扩展外部存储器兼作低8位地址。•P2口:8位•既可以8位一起输入输出,也可以1位1位地输入输出。•在扩展外部存储器兼作高8位地址。•P3口:8位•既可以8位一起输入输出,也可以1位1位地输入输出,同时,P3口作为第二功能时:•RXD:串行接收TXD:串行发送•INT0:外部中断0INT1:外部中断1•T0:T0计数输入T1:T1计数输入•WR:写命令RD:读命令•单片机复位信号输入•电源•电源地•XTAL1、XTAL2晶体振荡器接入端存储器选择:高电平时访问片内程序存储器;低电平时访问片外程序存储器用于锁存地址的低位字节(高有效)外部程序存储器的选通信号(低有效)80C51单片机总体结构一个8位中央处理器4k的ROM片内振荡器和时钟电路128B的数据存储器阵列32条I/O线2个定时器/计数器5个中断源,2个中断优先级全双工串行口这8部分在单片机内部通过单一总线连接而成用于锁存P0口数据用于锁存P2口数据用于锁存P1口数据用于锁存P3口数据128字节随机读写存储器4KB只读存储器寄存器B:单片机做乘、除法时存放乘数/除数累加器A:它通过暂存器TMP2与ALU相连,是单片机中工作最忙的寄存器暂存器TMP1:存放另一个加数程序地址寄存器PC:存放程序地址堆栈指针寄存器SP:存放堆栈指针管理中断的寄存器、串口缓冲器、定时/计数器寄存器数据指针寄存器程序状态寄存器程序寄存器:存放程序代码单片机内部控制逻辑单片机内部振荡器外接振荡器1、根据你的理解,单片机由哪几部分组成。2、80C51单片机随机存储器有多少字节。3、80C51单片机程序存储器有多少字节,它的用途是什么?4、程序地址存储器PC的用途是什么?5、堆栈指针寄存器SP的用途是什么?6、80C51单片机的输入输出线共有多少根?1CPU,ROM,RAM,并行口,串行口,中断系统,定时计数器,时钟电路2128字节34K字节,存放程序4指示当前指令地址5指示栈顶地址632根内部RAM内存介绍第0组地址为00H~07H第1组地址为08H~0FH第2组地址为10H~17H第3组地址为18H~1FH选择哪一组作为当前工作寄存器组,程序员可通过改写程序状态寄存器PSW中的RS1、RS0来指定RS1RS0当前工作寄存器00第0组01第1组10第2组11第3组单片机中将内部RAM的一块作为四组工作寄存器,每组都以R0、R1、R2、R3、R4、R5、R6、R7命名。字节地址MSB(最高位)位地址(最低位)LSB2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F077E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A02797169615951494139312921191109017870686058504840383028201810080080个随机数据存储器30H31H32H···7CH7DH7EH7FH特殊功能寄存器什么是特殊功能寄存器?特殊功能寄存器就是硬件规定在操作过程中完成指定功能的寄存器。使用特殊功能寄存器有什么好处?1、寻址方便、多样化2、增强硬件条理性3、提高单片机运行速度例如:A完成累加SP专作堆栈指针DPTR专作数据指针T0/T1专作定时/计数等参与所有算术和逻辑运算并存放结果。同时还是数据输入输出的窗口单片机做乘除法时存放乘数和除数。还可以作为一般的寄存器使用程序状态字PSWCYACF0RS1RS0OVF1P进位位辅助进位位用户标志位当前工作寄存器选择位溢出标志位用户标志位奇偶标志位两字节二进制数据相加,当最高位产生进位时,该位被自动置成“1”。例如:10111001+10101011CY=101100100两字节二进制数据相加,当低半字节产生进位时,该位被自动置成“1”。例如:10111001+10101011CY=101100100AC=1用户在执行程序过程中做标记用选择当前工作寄存器组RS1、RS0=00:当前工作寄存器指定为第0组RS1、RS0=01:当前工作寄存器指定为第1组RS1、RS0=10:当前工作寄存器指定为第2组RS1、RS0=11:当前工作寄存器指定为第3组溢出标志位主要用于有符号数加法时,由于最高位为符号位。如果被加数和加数均为负数,在运算过程中会产生负数加负数结果为正数的错误结果,这时OV=1例如:两个有符号数相加10110110(-0110110B=-54D)+10110110(-0110110B=-54D)OV=101101100(+1101100B=+108D)用户在执行程序过程中做标记用结果中“1”的个数为奇数时,P=1。例如:11111111+01011001CY=101011000P=1为了在调用子程序时将某些寄存器的内容保存起来,在内部RAM中指定一块存储单元作为堆栈,在SP中存放该堆栈顶部存储单元地址。堆栈的操作规则是“先进后出”或“后进先出”该寄存器是中断管理中的一个重要寄存器,专门负责各个中断的开与关。该寄存器是中断管理中的另一个重要寄存器,专门负责各个中断的优先级别。注意在编程时P0和P0.X的使用方法:前者是对P0口(即:8位或一个字节);后者是对P0口的某一位。例如:MOVA,P0;是将P0口的8位数据送累加器AMOVC,P0.1;是将P0口的D1位数据送进位位C注意在编程时P1和P1.X的使用方法:前者是对P1口(即:8位或一个字节);后者是对P1口的某一位。例如:MOVA,P1;是将P1口的8位数据送累加器AMOVC,P1.1;是将P1口的D1位数据送进位位C注意在编程时P2和P2.X的使用方法:前者是对P2口(即:8位或一个字节);后者是对P2口的某一位。例如:MOVA,P2;是将P2口的8位数据送累加器AMOVC,P2.1;是将P2口的D1位数据送进位位C注意在编程时P3和P3.X的使用方法:前者是对P3口(即:8位或一个字节);后者是对P3口的某一位。例如:MOVA,P3;是将P3口的8位数据送累加器AMOVC,P3.1;是将P3口的D1位数据送进位位C该位=“1”时,串行通信的速度提高一倍该位=“0”时,串行通信的速度不变该寄存器为串行通信控制寄存器,它的作用是确定串行通信的工作方式、模式(单机/多机、是否有第9位、是否允许接收)、提供中断信号/查询信号。定时器控制寄存器TCON该寄存器用来对定时器/计数器进行控制的专用8位寄存器,既可字节操作又可位操作。字节操作的地址为88H,位操作地址依次为(88H~8FH)该寄存器是专门为串行通信设置的一个缓冲寄存器,实质上是有输入和输出两个缓冲器,共用一个地址99H。如果是读该缓冲器就是指输入缓冲器;如果是写该缓冲器就是指输出缓冲器。这在硬件上安排好了的,我们只管用。这是定时/计数控制寄存器,它兼顾有启动定时/计数、中断触发方式和形成中断请求信号三种功能。定时/计数器方式选择寄存器TMOD该寄存器用来对定时器/计数器的方式选择的8位寄存器,只能字节操作,不能位操作。字节操作的地址为89H该寄存器为定时/计数器方式选择寄存器,单片机中T0、T1集定时器和计数器两种功能于一身,所以TMOD的作用是:1、确定是定时还是计数器。2、工作方式。3、外部条件限制定时器/计数器T0的初值锁存寄存器器(暂存器)T0该寄存器用来存放计数初值的16位寄存器,只能进行字节操作,地址为8AH。它还可以拆分成两个8位寄存器TL0(地址为8AH)和TH0(地址为8BH)单独使用。定时器/计数器T1的初值锁存寄存器器(暂存器)T1该寄存器用来存放计数初值的16位寄存器,只能进行字节操作,地址为8CH。它还可以拆分成两个8位寄存器TL1(地址为8CH)、TH1(地址为8DH)单独使用.1、简述80C51单片机内存的分区及其用途。2、如何确定当前工作寄存器组?3、可位寻址区有多少字节?能否作字节寻址操作?4、堆栈应该设在内存的哪个区?5、能否将特殊功能寄存器区作为随机存储器使用?1、1区工作寄存器区2区位寻址区3区存储去4区特殊工作寄存器区2、RS1,RS0=00第0组RS1,RS0=01第1组RS1,RS0=10第2组RS1,RS0=11第3组3、16字节,可以4、第3区5、不能I/O口的硬件结构通过前面的学习,我们知道一共有四个输入/输出(简称I/O)口,每个口为8位,由锁存器和驱动器。负责对外提供输入、输出通道。其主要功能有:1、输入2、输出3、字节操作4、位操作5、具备第二功能那么它是怎样实现这些功能的呢?P0口位结构图0110在“写锁存器”的作用下,控制器将“1”写入锁存器,在Q/端输出“0”,使T2截止,在P0.X输出高电平。0110在“写锁存器”的作用下,控制器将“0”写入锁存器,在Q/端输出“1”,使T2导通,在P0.X输出低电平。读锁存器读引脚在“读锁存器”的作用下,三态门打开,将Q端的数据送到内部数据总线在“读引脚”的作用下,三态门打开,将引脚端的数据送到内部数据总线1、当控制信号为“0”时,多路开关“MUL”接通锁存器,完成读/写2、当控制信号为“1”时,多路开关“MUL”接通地址/数据,完成地址/数据的传送\当控制信号为“1”时,多路开关“MUL”接通地址/数据1、当“地址/数据”端为“1”时,非门输出“0”使T2截止。同时,控制=“1”、地址/数据=“1”,与门输出“1”使T1导通,使P0.X输出“1”2、当“地址/数据”端为“0”时,非门输出“1”使T2导通。同时,控制=“1”、地址/数据=“0”,与门输出“0”使T1截止,使P0.X输出“0”注意两点!1、读引脚时,如果Q/端为“1”,T2导通,不管外部是否为“0”,P0.X“箝位”在“0”,为了P0.X处能真实反应外部信号,所以在读引脚之前必须先向锁存器写“1”2、在控制=“0”(即单片机完成读/写操作)时,与门输出为“0”使T1截止,P0.X处于“悬浮”状态,致使输出的“1”信号不能在P0.X处实现。为此,在输出时P0.X处必须接“上拉电阻”。由于P1口的功能单一,只是一个“I/O”口,只要完成读/写。其读/写过程与P0口一样。P1口的每一位的内部已经接了上拉电阻,使用时不必外接。但读引脚时必须向锁存器写“1”。P1口位结构图P2口位结构图0P3口位结构图上电复位:上电复位电路是一种简单的复位电路,只要在RST复位引脚接一个电容到Vcc,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST。手动复位:手动复位需要人为在复位输端加高电平让系统复位。一般采用的方法是在RST端和正电源Vcc之间接一个按键,当按
本文标题:第2章80c51单片机的结构
链接地址:https://www.777doc.com/doc-3360329 .html