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

上传人:sccc 文档编号:5615598 上传时间:2023-08-02 格式:PPT 页数:76 大小:1.42MB
返回 下载 相关 举报
[信息与通信]第二章 MCS51单片机硬件结构.ppt_第1页
第1页 / 共76页
[信息与通信]第二章 MCS51单片机硬件结构.ppt_第2页
第2页 / 共76页
[信息与通信]第二章 MCS51单片机硬件结构.ppt_第3页
第3页 / 共76页
[信息与通信]第二章 MCS51单片机硬件结构.ppt_第4页
第4页 / 共76页
[信息与通信]第二章 MCS51单片机硬件结构.ppt_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《[信息与通信]第二章 MCS51单片机硬件结构.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]第二章 MCS51单片机硬件结构.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字节数据存储器(RAM)

2、,四、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/8951单片

3、机内部分别驻留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,暂存寄存器,用于提供操作数和存放运算结果,可位寻址,寄存器B 地址为:F0H,

5、乘法指令两个操作数分别取自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、RS0 工作寄存器区选址位;,MC

6、S-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的地址,范围为64K。,端口P0P3、寄存器P0P3,端口名和寄存器

8、名一一对应;,可采用直接寻址方式参与操作。,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口时必须外接上拉电阻。,用作输入 读引脚:读芯片引脚上的数据,反之,若P0.X在用作输入之前刚输出过1,T2截止,此1是由外接上

9、拉电阻来获得;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口时是属于准双向口。,用作输入 读锁存器,在有些情况下,端口已处于输出状态,CPU的某些操作是先将端口原来的数据读入,经过修改、运算后再写到端口输

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

11、址信息后,将变为数据总线。控制信号为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。,内部已有上拉电阻,不是漏极开路输出口,可以直接输出而无需外接上拉电阻。,作通用口使用时第二功能应为1。,2.P3口作第二功能,小结,1.P0口:低8位地址与数据线分时使用端

13、口,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根地址线,可寻址216=64K字节单元;3、控制总线(CB):传送使微机协调工作的定时、控制信号,双向,但对于每一条具体的控制线,

14、都有固定的功能。控制线数目受芯片引脚数量的限制。,2.4 振荡电路和时序,单片机顺序地从ROM中取出指令一条条执行,然后进行一系列的微操作控制来完成各种指定的动作。单片机在协调内部的各种动作时必须要有一定的顺序,即所有的操作控制在时间上要有个严格的先后次序,这种次序就是时序。,一.振荡电路,振荡有两种方式:内部,外部,晶振的常用值为:6MHz、12MHz、11.0592MHz。,C1、C2 47pF,典型值为30pF。,二.几个时序周期,1、振荡周期(时钟周期)是振荡源的周期,就是振荡电路中所使用的晶振周期。,振荡周期是单片机中最基本、最小的时间单位。,若晶振的振荡频率为fosc,则振荡周期T

15、osc=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期间;有效宽度为一个状态,即2个振荡周期;当ALE正跳变时,单片机进行一次读指令操作。,3、指令周期,执行一条指令所需要的时间,可包含14个机器周期

16、,上述时序的语言描述:,单字节单周期指令:INC A 指令只有一个字节,只需进行一次读指令操作。当第 二个ALE有效时,由于PC没有加1,读出的还是原指令,属于一次无效操作。,双字节单周期指令:ADD A,#data ALE两次读操作都有效,第一次读操作码(指令第一字节),第二次读立即数(指令第二字节)。,单字节双周期指令:INC DPTR 两个机器周期共进行四次读指令操作,但其后三次的读操作都是无效的。,2.5 51单片机的复位,一、复位及复位电路,单片机执行程序时总是从地址0000H开始的,进入系统时必须对CPU进行复位,也叫初始化;,由于程序运行中的错误或操作失误使系统处于死锁状态时,为

17、了摆脱这种状态,需要进行复位。,复位方法,在RST引脚(9脚)上加一个持续时间为两个机器周期的高电平。,复位电路,课堂练习:若使用频率为6MHz的晶振,则复位信号持续时间应超过_才能完成复位操作。,fosc=6MHzMC=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备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号