[信息与通信]第二章 MCS-51单片机硬件结构.ppt

上传人:音乐台 文档编号:2001163 上传时间:2019-01-30 格式:PPT 页数:76 大小:1.42MB
返回 下载 相关 举报
[信息与通信]第二章 MCS-51单片机硬件结构.ppt_第1页
第1页 / 共76页
[信息与通信]第二章 MCS-51单片机硬件结构.ppt_第2页
第2页 / 共76页
[信息与通信]第二章 MCS-51单片机硬件结构.ppt_第3页
第3页 / 共76页
亲,该文档总共76页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[信息与通信]第二章 MCS-51单片机硬件结构.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]第二章 MCS-51单片机硬件结构.ppt(76页珍藏版)》请在三一文库上搜索。

1、第二章 MCS-51单片机硬件结构,2.1 MCS-51单片机的结构及组成,2.1.1 MCS-51单片机结构框图,MCS-51单片机属于总线结构,总线:单片机各部件之间传输信息的公用通道。,2.1.2 MCS-51单片机的组成,一、1个8位的CPU,包括:运算器、控制器以及若干寄存器组成,运算器,定时控制部件,程序计数器PC, PC用来存放即将要执行的指令地址; 共16位,编码范围为0000HFFFFH,即51单片机对ROM的寻址范围为64K。 PC低8位经P0口输出,高8位经P2口输出。,指令寄存器,存放指令代码,二、4k/8k字节程序存储器(ROM),三、128/256字节数据存储器(R

2、AM),四、2/3个16位定时/计数器,五、4个8位并行 I/O端口,,六、可寻址64k外部数据存储器(RAM)和64k外部程序存储器(ROM),七、1个可编程全双工串行口,八、5个中断源、两个优先级嵌套中断结构,2.1.3 MCS-51单片机芯片引脚,ALE的频率: 不访问外部存储器时,ALE以1/6振荡频率输出; 访问外部存储器时,以1/12振荡频率输出。,2.2 MCS-51存储器,片内、片外公用,但不能同时占用,片外专用,一、程序存储器ROM,程序存储器ROM的结构,程序存储器以PC(程序计数器)作为地址指针,可寻址空间为64K字节,范围为0000HFFFFH。,8051/8751/8

3、951单片机内部分别驻留4K字节ROM,范围为0000H0FFFH。,8031没有片内ROM,使用时必须扩展外部ROM。,51系列单片机64K字节统一编址,地址在逻辑上是相连的。,51单片机复位后PC=0000H,系统从0000H地址开始 执行程序。通常在此单元处安排一条跳转指令,因为 0003H0032H单元专用于中断服务程序(入口地址)。,中断服务程序 (入口地址),0003H,000BH,0013H,001BH,0023H,002BH,中断服务程序 首地址,二、数据存储器RAM,数据存储器RAM的结构,片内RAM:,内部RAM低128字节(00H7FH),通用寄存器区,位寻址区,位寻址区

4、,用户自由使用区(数据缓冲区),8051的堆栈一般设在30H7FH的范围内。,内部RAM高128字节(80HFFH),特殊功能寄存器,51系列单片机共有21个特殊功能寄存器,每个SFR 占用一个RAM单元,离散地分布在片内RAM高128字节地 址中,并未占满80FFH,对空闲地址的操作无意义。,在21个SFR中,有11个可进行位寻址,共88个位地址,其中5个未用,其余83个位地址离散地分布于80HFFH范围内。,累加器A 地址为:E0H, 累加器A又记作ACC,是最常用特殊功能寄存器, 直接与内部总线相连,一般信息传递和交换都要通过A, 暂存寄存器,用于提供操作数和存放运算结果, 可位寻址,寄

5、存器B 地址为:F0H, 乘法指令两个操作数分别取自A,B,其积的高8位自动放B,低8位自动放A。, 除法指令被除数取自A,除数取自B,其商自动放A,余数自动放B。, 可位寻址,也可作为RAM的一个单元使用。,程序状态控制字PSW 地址为:D0H,Program Status Word,CY 最高位进位标志,8位运算产生进位或借位; CY=1,最高位有进位或借位。,AC 辅助位进位标志,半字节进位标志;,例:78H+97H 0111 1000 +1001 0111 1 0000 1111,有进位 CY=1,没有半进位AY=0,F0 用户定义标志位,作为软件标志,由编程人员决定何时使用。,RS1

6、、RS0 工作寄存器区选址位;,MCS-51单片机默认的是第0组工作寄存器区。,OV 溢出标志位,用于带符号数运算的溢出; OV=D7位进位D6位进位,P 奇偶校验标志位,判别累加器A中1的奇偶性;,“1”的个数为偶数P=0 “1”的个数为奇数P=1,对于带符号数的运算,必须检查OV标志 OV=1,表示溢出,计算结果错误; OV=0,无溢出,计算结果正确。,例:某运算结果A=78H(01111000),则P=0。,堆栈指针SP (Stack Pointer),堆栈, 数据仓库; 数据存取规律为“先进后出”或“后进先出”; 51单片机的堆栈区是向地址增大的方向生成的,一般位于RAM区30H7FH

7、; 有栈底和栈顶之分。,栈底, 栈底地址是固定不变的,它决定了堆栈在RAM中的物理位置,由SP的初始值决定。 51单片机中SP的默认值为07H,栈底就是07H,堆栈区的范围就是07H7FH,这是不合理的,编程时必须修改栈底值。,栈顶,栈顶地址始终在SP中,SP是8位寄存器,能自动加1或减1,它决定堆栈中是否存放有数据。当堆栈中无数据时,栈顶和栈底重合,SP中的值一定也是栈底地址。 入栈时,SP先加1,数据再压入SP指向的单元。 出栈时, 先将SP指向单元的数据弹出后,SP再减1。,数据指针DPTR (Data Pointer),16位寄存器,由DPH、DPL拼装而成;,主要用来存放片外RAM的

8、地址,范围为64K。,端口P0P3、寄存器P0P3,端口名和寄存器名一一对应;,可采用直接寻址方式参与操作。,MOV DPTR,#1234H;DPH=12H,DPL=34H,串行数据缓冲器SBUF,存放欲发送或已接收的数据;,只有一个地址单元(99H),既可以发送也可以接收。,定时器/计数器,两个16位定时/计数器T0、T1;,各有两个8位独立寄存器组成TH0、TL0,TH1、TL1。,2.3 并行I/O端口,一、P0口,1. P0口作通用I/O口,控制信号为0,与门封锁,T1截止,MUX打在下边;,用作输出,可见,P0口作一般I/O口时必须外接上拉电阻。,用作输入 读引脚:读芯片引脚上的数据

9、,反之,若P0.X在用作输入之前刚输出过1,T2截止,此1是由外接上拉电阻来获得; P0.X突然转为输入,则可以正确的检测引脚电平情况。,输入同时加在T2、T3上;,若P0.X在用作输入之前刚输出过0,则T2导通, P0.X的电位就始终被钳制为0;P0.X突然转为输入,此时无论输入0或1,最后通过T3检测出来的电平都是0,使输入的1无法读入,导致输入错误!,可见,P0口用作一般输入口用时,CPU不能直接去读引脚电平。在输入数据之前,应先向口锁存器写1,使T2截止。这是输入之前的一个准备工作,鉴于此,P0口在用作一般I/O口时是属于准双向口。,用作输入 读锁存器,在有些情况下,端口已处于输出状态

10、,CPU的某些操作是先将端口原来的数据读入,经过修改、运算后再写到端口输出,这称为“读-改-写”。,若此时端口负载是一个三极管基极,且原端口输出为1,PN结导通后将端口电平拉低,若此时直接读端口信息,将会把原来的输出1读成0,为此,单片机提供“读锁存器”操作。,51单片机约定: 凡属于“读-改-写”方式的指令,是从锁存器读入信号,其它指令则从端口引脚线上读入信号。,“读-改-写”指令的特点是: 从端口输入(读)信号,在单片机内加以运算(修改)后,再输出(写)到该端口上,2. P0口作地址/数据复用总线口,输出地址/数据信息 控制信号为1,与门打开,MUX打在上边,T1、T2的输入始终相反,构成

11、推拉式的输出结构,交替导通;,输入数据读外部ROM或RAM P0口输出低8位地址信息后,将变为数据总线。 控制信号为0,与门封锁,MUX打在下边,T1截止,类似于作一般I/O口时读引脚的情况,但此时CPU会自动向口锁存器写1,使T2截止,数据由三态缓冲器读入。,小结,P0口既可作通用I/O口使用,又可作地址/数据复用总线口。,P0口作通用I/O口时,P0口作地址/数据复用总线口时 CPU会自动向口锁存器写1,对用户而言,此时P0口是一个真正的双向口。, P0 是一个准双向口,输入前必须先向口锁存器写1。, 输出时,T2为漏极开路,必须接上拉电阻。,二、P1口,只能作通用I/O口使用,每一位都可

12、单独设为输入或输出;,内部已有上拉电阻,不是漏极开路输出口,可以直接输出而无需外接上拉电阻;,准双向口,输入前必须先向口锁存器写1。,P1口特点,三、P2口,P2口特点,1. P2口作通用I/O口,准双向口,输入前必须先向口锁存器写1。,内部已有上拉电阻,不是漏极开路输出口,可以直接输出而无需外接上拉电阻;,2. P2口作地址总线口,当系统外接片外存储器时,输出高8位地址,与P0口输出的低8位地址一起构成16位的地址线。,四、P3口,P3口特点,1. P3口作通用I/O口,准双向口,输入前必须先向口锁存器写1。,内部已有上拉电阻,不是漏极开路输出口,可以直接输出而无需外接上拉电阻。,作通用口使

13、用时第二功能应为1。,2. P3口作第二功能,小结,1. P0口:低8位地址与数据线分时使用端口,2. P1口:可按位操作的通用输入/输出口,3. P2口:高8位地址输出口,4. P3口:双功能口,5. 按三总线划分:,地址线:P0低8位地址,P2高8位地址;,数据线:P0输入/输出8位数据;,1、数据总线(DB): 传送数据,双向,CPU的位数和外部数据总线的位数一致。而数据可能是指令代码、状态量或控制量,也可能是真正的数据。 2、地址总线(AB): 传送CPU发出的地址信息,单向,宽度(线数目)决定了CPU的可寻址范围。 例如:2根地址线,可寻址22=4个字节单元; 16根地址线,可寻址2

14、16=64K字节单元; 3、控制总线(CB): 传送使微机协调工作的定时、控制信号,双向,但对于每一条具体的控制线,都有固定的功能。控制线数目受芯片引脚数量的限制。,2.4 振荡电路和时序,单片机顺序地从ROM中取出指令一条条执行,然后进行一系列的微操作控制来完成各种指定的动作。 单片机在协调内部的各种动作时必须要有一定的顺序,即所有的操作控制在时间上要有个严格的先后次序,这种次序就是时序。,一. 振荡电路,振荡有两种方式:内部,外部,晶振的常用值为:6MHz、12MHz、11.0592MHz。,C1、C2 47pF,典型值为30pF。,二. 几个时序周期,1、振荡周期(时钟周期) 是振荡源的

15、周期,就是振荡电路中所使用的晶振周期。,振荡周期是单片机中最基本、最小的时间单位。,若晶振的振荡频率为fosc,则振荡周期Tosc=1/fosc。 例如:fosc=6MHz,Tosc=1/(6M)=1/6us。,2、机器周期,CPU完成一个基本操作所需的时间;,一个机器周期包含12个振荡周期;,一个机器周期分为6个状态:S1S6; 每个状态又分为两拍:P1和P2,若晶振的振荡频率fosc=6MHz,则机器周期为2us;,若晶振的振荡频率fosc=12MHz,则机器周期为1us。,ALE信号,振荡信号的6分频; 一个机器周期两次出现,分别是S1P2、S2P1及S4P2、S5P1期间; 有效宽度为

16、一个状态,即2个振荡周期; 当ALE正跳变时,单片机进行一次读指令操作。,3、指令周期,执行一条指令所需要的时间,可包含14个机器周期,上述时序的语言描述:,单字节单周期指令:INC A 指令只有一个字节,只需进行一次读指令操作。当第 二个ALE有效时,由于PC没有加1,读出的还是原指令,属于一次无效操作。,双字节单周期指令:ADD A,# data ALE两次读操作都有效,第一次读操作码(指令第一字节),第二次读立即数(指令第二字节)。,单字节双周期指令:INC DPTR 两个机器周期共进行四次读指令操作,但其后三次的读操作都是无效的。,2.5 51单片机的复位,一、复位及复位电路,单片机执

17、行程序时总是从地址0000H开始的,进入系统时必须对CPU进行复位,也叫初始化;,由于程序运行中的错误或操作失误使系统处于死锁状态时,为了摆脱这种状态,需要进行复位。,复位方法,在RST引脚(9脚)上加一个持续时间为两个机器周期的高电平。,复位电路,课堂练习: 若使用频率为6MHz的晶振, 则复位信号持续时间应超过_才能完成复位操作。,fosc=6MHz MC=12/fosc=12/6MHz =2 s t=4 s,上电复位仿真图,按键复位仿真图,10k,二、单片机复位后的状态,PC=0000H,单片机从0000H地址单元开始执行程序; P0P3=FFH,各口可用于输出,也可用于输入; SP=07H,第一个入栈内容将写入08H单元; IP、IE和PCON的有效位为0,各中断源处于低优先级且均被关断、串行通讯的波特率不加倍; PSW=00H,当前工作寄存器为第0组; A=00H,表示累加器已被清零。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1