1 / 50

第二章 MCS-51 单片机芯片硬件结构

第二章 MCS-51 单片机芯片硬件结构. 2.1 MCS-51 系列单片机结构及组成 2 .1 .1 MCS-51 系列单片机结构框图. MCS-51 系列单片机属于 总线结构. 一个 8 位 CPU. 2 .1 .2 MCS-51 系列单片机组成. 包括运算器、控制器以及若干 寄存器 等部件组成。. ( 1 ) 运算器.  算术和逻辑运算,可对半字节( 4 位)和单字节数据进行操作;  加、减、乘、除、加 1 、减 1 、比较等算术运算;  与、或、异或、求补、循环等逻辑运算;  布尔处理器。. ( 2 )程序计数器 PC.

gitel
Download Presentation

第二章 MCS-51 单片机芯片硬件结构

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二章 MCS-51单片机芯片硬件结构 2.1 MCS-51系列单片机结构及组成 2 .1 .1 MCS-51系列单片机结构框图 MCS-51系列单片机属于总线结构

  2. 一个8位CPU 2 .1 .2 MCS-51系列单片机组成 包括运算器、控制器以及若干寄存器等部件组成。 (1)运算器 算术和逻辑运算,可对半字节(4位)和单字节数据进行操作; 加、减、乘、除、加1、减1、比较等算术运算; 与、或、异或、求补、循环等逻辑运算; 布尔处理器。

  3. (2)程序计数器PC PC用来存放即将要执行的指令地址,共16位,可对64KROM直接寻址。PC低8位经P0口输出,高8位经P2口输出。 (3)指令寄存器 指令寄存器存放指令代码。 CPU执行指令过程: 由程序存储器(ROM)中读取指令代码送入指令寄存器,经译码器译码后由定时与控制电路发出相应的控制信号,完成指令功能。

  4. (4)定时与控制部件 时钟电路: MCS-51芯片内部有一个高增益反相放大器,其输入端为XTAL1,输出端为XTAL2。 有两种时钟生成电路,内部方式,外部方式。

  5. 4k/8k字节程序存储器(ROM) 51系列4k字节;52系列8k字节 128/256字节数据存储器(RAM) 51系列128字节;52系列256字节 2/3个16位定时/计数器 51系列2个16位定时/计数器;52系列3个

  6. 32条可编程I/O口线(4个8位并行I/O端口) 可寻址64k外部数据存储器(RAM)和64k外部程序存储器(ROM) 一个可编程全双工串行口; 五个中断源、两个优先级嵌套中断结构

  7. 2 .1 .3 MCS-51系列单片机芯片引脚

  8. ALE/ (30),ALE:允许地址锁存信号。(数据线、地址线复用)当访问外部存储器时,ALE信号负跳变将P0口上低8位地址送入锁存器。 ALE低电平时,P0口上的内容和锁存器输出一致 引脚分布(40脚双列直插封装(DIP)方式) 1)主电源引脚; 2)外接晶体或外部振荡器引脚;XTAL1、XTAL2 3)控制、选通或复用电源引脚:

  9. 为编程脉冲输入端,对片内程序存储器进行 编程时,此脚输入编程脉冲。 非访问外部存储器期间,ALE以1/6振荡频率输出,访问外部存储器时以1/12振荡频率输出。 RST(9脚):复位信号 延续两个机器周期以上的高电平,复位有效。

  10. (29脚):访问外部程序存储器选通信号, 低电平有效。 /Vpp(31脚):访问内部或外部ROM选择信号。 高电平时( ) ,访问内部ROM(PC指针超过4K, 0FFFH时,自动转向外部ROM),保持低电平,则访问外部ROM。(对于8031, 接低电平)

  11. 4)I/O口引脚(32个引脚) 四个8位双向I/O端口(P0、P1、P2、P3); 每一条I/O线都能独立地用作输入或输出。 P0口(32—39)低8位地址/数据线复用或I/O口。 P1口(1—8)常用的I/O口。 P2口(21—28)常用I/O口或高8位地址线。 P3口(10—17)双功能口。

  12. 信号引脚的第二功能 P3口第二功能

  13. 程序存储器(ROM)--用来存放程序和始终要保留的数据。程序存储器(ROM)--用来存放程序和始终要保留的数据。 2-2 MCS-51存储器 数据存储器(RAM)--用来存放程序运行中所需要的常数和变量。当然,全局数据也可以放在RAM中。 特点:程序存储器(ROM)、数据存储器(RAM)分开, 各有各的寻址系统、控制信号和功能。

  14. 从物理空间上看: MCS-51单片机有四个存储器地址空间。 片内程序存储器 片外程序存储器 片内数据存储器 片外数据存储器

  15. 程序存储器映象 数据存储器映象 8051存储器映象

  16. 程序存储器以PC(程序计数器)作地址指针,可寻址空间为64K(0000H—FFFFH)字节。程序存储器以PC(程序计数器)作地址指针,可寻址空间为64K(0000H—FFFFH)字节。 8051/8751单片机内部分别驻留4K(0000H—0FFFH)字节ROM/EPROM。 8031则没有片内程序存储器。 2.2.1 程序存储器

  17. 程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部存储器空间。程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部存储器空间。 程序从外部存储器开始执行。 8031单片机 接低电平。 51系列单片机64K字节程序存储器统一编址。

  18. 51系列单片机复位后PC=0000H,系统从0000H开始执行程序。安排一条跳转指令。51系列单片机复位后PC=0000H,系统从0000H开始执行程序。安排一条跳转指令。 0003H—0032H单元被保留专用于中断服务程序(入口地址)。 每个中断服务程序只有8个字节单元存放,显然不够,故此8个单元通常放一条跳转指令。指向被实际分配的中断服务程序段。

  19. 中断服务程序首地址: 外部中断0( ) 0003H 定时器0溢出中断 000BH 外部中断1( ) 0013H 定时器1溢出中断 001BH 串行口中断 0023H 定时器2溢出/T2EX(负跳变) 002BH

  20. MCS-51系列单片机的数据存储器在物理和逻辑上都分为两个地址空间。MCS-51系列单片机的数据存储器在物理和逻辑上都分为两个地址空间。 2-2-2 数据存储器 00H—7FH(0—127)128字节RAM区; 80H—FFH(128—255)128字节专用寄存器区。

  21. 内部RAM低128字节(00H—7FH) 寄存器区 四个通用寄存器区,每个区有8个工作寄存器R0—R7 根据程序状态字PSW(特殊功能寄存器,地址D0H)中的D4D3位来指示的。通过对PSW的D4D3的修改,便能任意选择一个工作寄存器区。 D4D3=00—0区; D4D3=01—1区; D4D3=10—2区; D4D3=11—3区

  22. 位寻址区 位寻址区(20H—2FH)16个字节。 16*8=128位,每一位都有一个位地址,范围为:00H—7FH,位地址区也可作为一般RAM使用。

  23. 用户RAM区(数据缓冲区) 单元地址:30H~7FH 在此区域中,用户只能以存储单元(字节)形式使用。 通常将堆栈建立在此区域中。

  24. 内部RAM高128字节(80H—FFH) 专用功能寄存器区(SFR) 2-2-3 外部数据存储器 以后介绍

  25. 2-2-3 专用功能寄存器(SFR) 分布在RAM区域80H—FFH中,具体执行功能: 锁存器、定时器、串行口数据缓冲器、各种控制寄存器、状态寄存器等。

  26. 常用专用功能寄存器 ●累加器ACC(最常用专用寄存器) 暂存寄存器,用于提供操作数和存放运算结果。 直接与内部总线相连。一般信息传递和交换都 要通过ACC。

  27. ●寄存器B 乘法指令两个操作数分别取自A、B,其结果放在A、B寄存器队中;除法指令,被除数取自A,除数取自B,商放A,余数放B。

  28. ●程序状态控制字PSW RS1,RS0--选择工作寄存器区; CY--高位进位标志,8位运算产生进位或借位; AC--辅助进位标志,半字节进位标志; OV--溢出标志位,用于带符号数运算的溢出。 P—奇偶校验标志位,A寄存器中奇偶性判别。 “1”的个数为偶P=0 “1”的个数位奇P=1 F0:用户标志位。

  29. ●数据指针DPTR 16位寄存器,DPH,DPL 用来访问外部RAM的地址寄存器,地址范围64K。 ●端口P0—P3专用寄存器P0—P3 端口名和寄存器名一一对应 可采用直接寻址方式参与操作。MOV A,P0

  30. ●串行数据缓冲器SBUF 存放欲发送或已接收的数据。虽然用一个缓冲器99H,但却以两个独立的缓冲器出现。一个发送,一个接收。 ●定时器/计数器 两个16为定时/计数器T0、T1。各有两个8为独立寄存器组成,TH0、TL0,TH1、TL1。 ●其他控制寄存器

  31. P0口:地址/数据复用口 2-3 并行I/O端口电路

  32. 锁存器:数据输出 三态输入数据缓冲器:数据输入 多路转换器MUX,控制电路 作为一般I/O口使用 数据输出时(写P0口):由于锁存器的存在,故P0端口可以直接和外设相连。 内部写脉冲加在D触发器CP端,数据写入锁存器,由端口引脚输出。

  33. 数据输入时(读P0口),有两种情况: 读引脚:读芯片引脚上的数据,“读引脚”缓冲器打开,通过内部数据总线读入;MOV指令的读口操作。 读端口:通过打开读锁存器缓冲器读锁存器Q端的状态,例如语句:ANL P0,A 。 作为地址/数据复用口使用 打开控制与门,使得内部地址/数据线与驱动场效应管栅极反相接通状态。

  34. 根据端口特点,P0,P2口结构基本一致,内部有一个多路开关MUX,根据CPU控制可作为I/O口,也可作为外部存储器扩展时用作16位地址总线。根据端口特点,P0,P2口结构基本一致,内部有一个多路开关MUX,根据CPU控制可作为I/O口,也可作为外部存储器扩展时用作16位地址总线。 P1,P3口结构基本一致,为双向口。 注意,一般地说,P1口多用作I/O或位操作;而P3口多用于第二功能。

  35. 端口功能 P0口:为三态双向口,扩展外部存储器时,它是地址总线和数据总线的复用(低8位)。低8位地址通过ALE信号负跳变将其锁存在外部锁存器中。单独作I/O口用时,由于输出电路是漏极开路,必须外接上拉电阻。能带8个LSTTL电路。

  36. P1口:常用I/O口,每一位都能作为可编程的输入或输出线。输出端无需上拉电阻。P1口:常用I/O口,每一位都能作为可编程的输入或输出线。输出端无需上拉电阻。 P2口:可以作为输入口或输出口使用;但一般作为扩展系统的地址总线,输出高8位地址。与P0口一起组成16位地址总线。 P3口:双功能口。作为第一功能使用同P1口。第二功能如下表:

  37. P3口第二功能

  38. 振荡有两种方式:外部、内部 时钟发生器:将震荡频率2分频,为芯片提供一个两相时钟信号。 时序定时单位: (1)拍节P:振荡脉冲周期,用P表示; (2)状态S:时钟信号周期,用S表示; 2-4 振荡器\时钟及时序

  39. (3)机器周期:MCS-51采用定时方式,因此有固定的机器周期,一个机器周期等于6个状态周期,12个振荡周期;(3)机器周期:MCS-51采用定时方式,因此有固定的机器周期,一个机器周期等于6个状态周期,12个振荡周期; (4)指令周期:执行一条指令所需要的时间。可包含一、二、三或四个机器周期。 时钟频率是振荡频率2分频;机器频率是振荡频率12分频。

  40. 当振荡频率为12M时,一个机器周期是1微秒(s)当振荡频率为12M时,一个机器周期是1微秒(s) 频率=1/周期,周期=1/频率 一个振荡周期=1/12(s),一个机器周期是1(s)。 当振荡频率为6M时,一个机器周期是2微秒(s) MCS-51共有111条指令。按其长度可分为: 单字节指令、双字节指令、三字节指令。

  41. 单字节单周期指令 例:INC A 双字节单周期指令 例:ADD A,DATA 单字节双周期指令例:INC DPTR

  42. 当ALE(ALE信号为振荡频率6分频)正跳变时,对应单片机进行一次读指令操作。一个机器周期二次出现,在S1P2和S2P1及S4P2和S5P1期间。当ALE(ALE信号为振荡频率6分频)正跳变时,对应单片机进行一次读指令操作。一个机器周期二次出现,在S1P2和S2P1及S4P2和S5P1期间。 有效宽度为一个状态。 (1)单字节单周期指令:INC A 只需进行一次读指令操作(指令只有一个字节),当第二个ALE有效时,由于PC没有加1,读出的还是原指令。属于一次无效操作。

  43. (2)双字节单周期指令:ADD A,#data ALE两次读操作都有效,第一次读操作码(指令第一字节),第二次读立即数(指令第二字节)。 (3)单字节双周期指令:INC DPTR 两个机器周期共进行四次读指令操作,但其后三次的读操作都是无效的。

  44. MOVX:先在ROM中读出指令,然后对外部RAM进行读/写操作。MOVX:先在ROM中读出指令,然后对外部RAM进行读/写操作。 第一个机器周期和其他指令一样,第一次读指令 (操作码)有效,第二次读指令操作无效。第二机 器周期时,进行外部RAM访问(与 , 信号有关) 与ALE无关(ALE保持低电平),因此不产生读指令操作(取指操作)。

  45. P0、P2提供16位地址。 第一周期S4之后为读外部RAM送出地址; 第二周期,第一个ALE不出现,读选通 信号有效, 进行RAM读操作,从P0口将读出数据送单片机; 第二个机器周期的第二个ALE信号出现,进行外部ROM读操作,属无效操作。

More Related