(1)时钟电路 TALL 悬空=XTAL2 CL 外部 , OI 振荡源 XTAL2 3n XTAL2 XTAL 振荡源 XTALI (2)复位电路 3n 1)上电复位电路 2)开关复位电路 注意:复位后内部寄存器状态 PC=0000H、SP=07H、P0~P3=0FFH、其他均为00H 7min 3.指令寄存器和指令译码器 指令寄存器中存放指令代码。CPU执行指令时,由程序存储器中读取的指令 代码送入指令存储器,经译码器译码后由定时与控制电路发出相应的控制信号, 完成指令所指定的操作。 4.程序计数器PC( Program Counter) 2min PC用于存放CPU下一条要执行的指令地址,是一个16位的专用寄存器,可 寻址范围是0000H- OFFFFH共64KB。程序中的每条指令存放在ROM区的某 单元,并都有自己的存放地址。CPU要执行哪条指令时,就把该条指令所在的单 元的地址送上地址总线。在顺序执行程序中,当PC的内容被送到地址总线后,会 自动加1,即(PC)←(PC)+1,又指向CPU下一条要执行的指令地址。 5.堆栈指针SP( Stack pointer) 35min 堆栈操作是在内存RAM区专门开辟出来的按照先进后出原则进行数据存8min 取的一种工作方式,主要用于子程序调用及返回和中断处理断点的保护及返回 它在完成子程序嵌套和多重中断处理中是必不可少的。为保证逐级正确返回,进入 栈区的断点〃数据应遵循"先进后出〃的原则。SP用来指示堆栈所处的位置,在进 行操作之前,先用指令给SP赋值,以规定栈区在RAM区的起始地址(栈底层)。 当数据推入栈区后,SP的值也自动随之变化。MCS-51系统复位后,SP初始化为 07H。 6.数据指针寄存器DPTR 数据指针DPR是一个16位的专用寄存器,其高位字节寄存器用DPH表1min 示低位字节寄存器用DPL表示。既可作为一个16位寄存器DPIR来处理,也可 作为两个独立的8位寄存器DPH和DPL来处理。 DPIR主要用来存放16位地址,当对64KB外部数据存储器空间寻址时 作为间址寄存器用。在访问程序存储器时,用作基址寄存器。 2.2存储器
(1)时钟电路 (2)复位电路 1) 上电复位电路 2) 开关复位电路 注意:复位后内部寄存器状态 PC=0000H、SP=07H、P0~P3=0FFH、其他均为 00H。 3. 指令寄存器和指令译码器 指令寄存器中存放指令代码。CPU 执行指令时, 由程序存储器中读取的指令 代码送入指令存储器, 经译码器译码后由定时与控制电路发出相应的控制信号, 完成指令所指定的操作。 4. 程序计数器 PC(Program Counter) PC 用于存放 CPU 下一条要执行的指令地址, 是一个 16 位的专用寄存器, 可 寻址范围是 0000H~0FFFFH 共 64 KB。 程序中的每条指令存放在 ROM 区的某一 单元, 并都有自己的存放地址。 CPU 要执行哪条指令时, 就把该条指令所在的单 元的地址送上地址总线。 在顺序执行程序中, 当 PC 的内容被送到地址总线后, 会 自动加 1, 即(PC)← (PC)+1, 又指向 CPU 下一条要执行的指令地址。 5. 堆栈指针 SP(Stack Pointer) 堆栈操作是在内存 RAM 区专门开辟出来的按照“先进后出”原则进行数据存 取的一种工作方式, 主要用于子程序调用及返回和中断处理断点的保护及返回, 它在完成子程序嵌套和多重中断处理中是必不可少的。为保证逐级正确返回, 进入 栈区的“断点”数据应遵循“先进后出”的原则。SP 用来指示堆栈所处的位置, 在进 行操作之前, 先用指令给 SP 赋值, 以规定栈区在 RAM 区的起始地址(栈底层)。 当数据推入栈区后, SP 的值也自动随之变化。MCS - 51 系统复位后, SP 初始化为 07H。 6. 数据指针寄存器 DPTR 数据指针 DPTR 是一个 16 位的专用寄存器, 其高位字节寄存器用 DPH 表 示,低位字节寄存器用 DPL 表示。既可作为一个 16 位寄存器 DPTR 来处理, 也可 作为两个独立的 8 位寄存器 DPH 和 DPL 来处理。 DPTR 主要用来存放 16 位地址, 当对 64 KB 外部数据存储器空间寻址时, 作为间址寄存器用。在访问程序存储器时, 用作基址寄存器。 2.2 存储器 3min 3min 7min 2min 35min 8min 10min
1.程序存储器 (1)程序计数器PC16位,能寻址的程序存储器的范围为64KB (2)程序存储器的编址规律:先片内、再片外,片内、片外二者不重叠 (3)片内片外ROM的选择端EA:EA=1时,CPU将首先访问内部程序存储器 (ROM),当指令地址超过 OFFFH时,会自动跳转到片外ROM去取指令;当EA=0 时,CPU只能访问外部程序存储器(8031只能采用这种接法),片外ROM的地址 从0000H开始编址。 13min (4)7个特殊单元 程序存储器中有7个单元是保留给系统具有特殊用途。0000H是系统的启动地 址,一般在该单元中存放一条绝对跳转指令。0003H、000BH、000BH、001BH、 003和00BH(只有52子系列才有)对应6种中断源的中断服务入口地址。4min 2.内部数据存储器 8051单片机的数据存储器,分为片外RAM和片内RAM两大部分。其中片内 RAM共有128B,地址范围为00H~7FH: (1)通用寄存器区:在低128字节RAM中,00H~1FH共32单元是4个通 用寄存器组,每一组有8个通用寄存器(又称工作寄存器)R0~R7。程序运行时 只能有一个工作寄存器组作为当前工作寄存器组 (2)位寻址区:(20H-2FH),128位 3)数据缓冲区:片内RAM的30H~7FH,一般可用来开辟堆栈区。 堆栈与堆栈指针:在程序实际运行中,往往需要一个后进先出的RAM区,在 子程序调用、中断服务处理等场合用以保护CPU的现场,这种后进先出的缓冲区 称为堆栈。MCS-51单片机堆栈区不是固定的,原则上可设在内部RAM的任意 区域内,但为了避开工作寄存器区和位寻址区,一般设在30H以后的范围内,栈顶 的位置由专门设置的堆栈指针寄存器SP(8位)指出。MCS-51单片机的堆栈属 向上生长型 3.特殊功能寄存器SFR 又称为专用寄存器。它专用于控制、管理单片机内算术逻辑部件、并行LO 口锁存器、串行口数据缓冲器、定时器/计数器、中断系统等。8051将SFR与 片内RAM统一编址,它们离散地分布在80H-FFH的地址空间中。字节地址能被 8整除的单元是具有位地址的寄存器。 4外部数据存储器 外部数据存储器一般由静态RAM构成,其容量大小由用户根据需要而定,最 大可扩展到64 KBRAM,地址是00004~0FFFH。注意,外部RAM和扩展的IO 接口是统一编址的,所有的外扩IO口都要占用64KB中的地址单元。 复习巩固 5min 1.MCS-51系列单片机的子系列和内部结构 2.MCS-51单片机的CPU组成 3.MCS-51单片机的存储器组成(程序存储器和数据存储器,特别是数据存储 诈业
1.程序存储器 (1)程序计数器 PC16 位,能寻址的程序存储器的范围为 64KB; (2)程序存储器的编址规律:先片内、再片外,片内、片外二者不重叠。 (3)片内片外 ROM 的选择端 EA:EA=1 时,CPU 将首先访问内部程序存储器 (ROM),当指令地址超过 0FFFH 时,会自动跳转到片外 ROM 去取指令;当 EA=0 时,CPU 只能访问外部程序存储器(8031 只能采用这种接法),片外 ROM 的地址 从 0000H 开始编址。 (4)7 个特殊单元 程序存储器中有 7 个单元是保留给系统具有特殊用途。0000H 是系统的启动地 址, 一般在该单元中存放一条绝对跳转指令。0003H、000BH、 000BH、001BH、 0023H 和 002BH(只有 52 子系列才有)对应 6 种中断源的中断服务入口地址。 2.内部数据存储器 8051 单片机的数据存储器,分为片外 RAM 和片内 RAM 两大部分。其中片内 RAM 共有 128B,地址范围为 00H~7FH: (1)通用寄存器区:在低 128 字节 RAM 中, 00H~1FH 共 32 单元是 4 个通 用寄存器组,每一组有 8 个通用寄存器(又称工作寄存器)R0~R7。程序运行时, 只能有一个工作寄存器组作为当前工作寄存器组。 (2)位寻址区:(20H---2FH),128 位 (3)数据缓冲区:片内 RAM 的 30H~7FH,一般可用来开辟堆栈区。 *堆栈与堆栈指针:在程序实际运行中, 往往需要一个后进先出的 RAM 区, 在 子程序调用、 中断服务处理等场合用以保护 CPU 的现场, 这种后进先出的缓冲区 称为堆栈。 MCS—51 单片机堆栈区不是固定的, 原则上可设在内部 RAM 的任意 区域内, 但为了避开工作寄存器区和位寻址区, 一般设在 30H 以后的范围内, 栈顶 的位置由专门设置的堆栈指针寄存器 SP(8 位)指出。 MCS—51 单片机的堆栈属 向上生长型。 3.特殊功能寄存器 SFR 又称为专用寄存器。 它专用于控制、 管理单片机内算术逻辑部件、 并行 I/O 口锁存器、 串行口数据缓冲器、 定时器/计数器、 中断系统等。8051 将 SFR 与 片内 RAM 统一编址,它们离散地分布在 80H~FFH 的地址空间中。字节地址能被 8 整除的单元是具有位地址的寄存器。 4.外部数据存储器 外部数据存储器一般由静态 RAM 构成,其容量大小由用户根据需要而定, 最 大可扩展到 64 KBRAM , 地址是 0000H~0FFFFH。注意, 外部RAM和扩展的I/O 接口是统一编址的, 所有的外扩 I/O 口都要占用 64 KB 中的地址单元。 13min 4min 复习巩固 1.MCS-51 系列单片机的子系列和内部结构 2.MCS-51 单片机的 CPU 组成 3.MCS-51 单片机的存储器组成(程序存储器和数据存储器,特别是数据存储 器)。 作 业 5min
思考题T3,4 课后分析 通过学生信息反馈,本次课的难点在数据存储器的组成及配置,学到这个地方,许多学生 感觉到不太好理解。 堆栈也是一个难点,要注意给学生讲授清楚。 引入新课 5min 简要复习上次课关于MCS-51单片机内部结构、CP、存储器的组成等知识, 特强调关于堆栈、片内RAM的配置以及R0~R7等内容。引入本次课将学习并行I/0 及CPU引脚功能。 新课数学 80min 2.3并行输入/输出接口 30min 1.P0口 10min (1)位结构 (2)PO0作为通用O口:准双向的通用10接口,共有三种操作方式 1)作为输出口 2)作为输入口 3)读一改一写方式 (3)P作为地址数据总线 (4)P0口能驱动8个 LSTTL负载 2.Pl、P2、P3口的组成与功能 P1、P2和P3口为准双向口,在内部差别不大,负载能力相同,都能驱动4|20m 个LSTL负载,但使用功能有所不同。 (1)P1口是用户专用8位准双向O口,具有通用输入输出功能,每一位 都能独立地设定为输入或输出。当有输出方式变为输入方式时,该位的锁存器必 须写入"1〃,然后才能进入输入操作。 (2)P2口是8位准双向IO口。两种用途 1)外接1O设备时,可作为扩展系统的地址总线,输出高8位地址,与P0口 起组成16位地址总线。对于8031而言,P2口一般只作为地址总线使用,而 不作为I/O线直接与外部设备相连。2)通用I/0口 (3)P3口: 1)用作通用双向I/0口 2)用作第二功能,能实现MCS51系列单片机的特殊功能 P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0 RD WR TI INTI NTO TXD
思考题 T3,4 课后分析 通过学生信息反馈,本次课的难点在数据存储器的组成及配置,学到这个地方,许多学生 感觉到不太好理解。 堆栈也是一个难点,要注意给学生讲授清楚。 引入新课 简要复习上次课关于 MCS-51 单片机内部结构、CPU、存储器的组成等知识, 特强调关于堆栈、片内 RAM 的配置以及 R0~R7 等内容。引入本次课将学习并行 I/O 及 CPU 引脚功能。 新课教学 2.3 并行输入/输出接口 1.P0 口 (1) 位结构 (2) P0 作为通用 I/O 口:准双向的通用 I/0 接口,共有三种操作方式 1)作为输出口 2)作为输入口 3)读—改—写方式 (3) P0 作为地址/数据总线 (4) P0 口能驱动 8 个 LSTTL 负载。 2.P1、P2、P3 口的组成与功能 P1、P2 和 P3 口为准双向口, 在内部差别不大,负载能力相同,都能驱动 4 个 LSTTL 负载, 但使用功能有所不同。 (1)P1 口是用户专用 8 位准双向 I/O 口, 具有通用输入/输出功能,每一位 都能独立地设定为输入或输出。当有输出方式变为输入方式时,该位的锁存器必 须写入“1”,然后才能进入输入操作。 (2)P2 口是 8 位准双向 I/O 口。两种用途: 1)外接 I/O 设备时, 可作为扩展系统的地址总线, 输出高 8 位地址, 与 P0 口 一起组成 16 位地址总线。 对于 8031 而言, P2 口一般只作为地址总线使用, 而 不作为 I/O 线直接与外部设备相连。 2)通用 I/0 口 (3)P3 口: 1)用作通用双向 I/0 口 2)用作第二功能,能实现 MCS51 系列单片机的特殊功能。 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 RD WR T1 T0 INT1 INT0 TXD RXD 5min 80min 30min 10min 20min
外RAM的R/W计数脉冲输入端中断申请输入端串出串入 24单片机的引脚功能及时序 1.引脚功能 45min (1)电源引脚:vce、vss 20min (2JO总线:P0、P1、P2、P3 (3)时钟: XTAL1:片内振荡器反相放大器的输入端 XTAL2:片内振荡器反相器的输出端,也是内部时钟发生器的输入端 (4)控制总线: 1)ALE/PROG:地址锁存允许/编程信号线,当8051由P0口送出低8位地址 码时,8051由ALE送出一高电平信号,作为外部锁存器的触发信号在单片机(CPU 与外界交换信息的过程中,地址信息必须维持不变,而PO口不能维持低8位地址的 不变,所以应该外接锁存器,将低8位地址锁住。当8051送出低8位地址的时候, 锁存器应该处于送数状态;在低8位地址消失之前,锁存器应该处于锁存状态 当片外存储器存取数据时,ALE为低8位地址输出锁存信号:当片外存储器 不存取数据时,ALE输出固定频率的脉冲信号,频率为1/6的fosc 2)PSEN:外接程序存储器读选通信号 3) EA/VPP:访问内部程序存储器编程电压 4) RST/V:复位输入信号/后备电源输入引脚(5)I/0引脚 1)P0.0-P0.7: ①地址/数据总线,分时使用 ②作为双向I/0接口 2)P1.0-P1.7:准双向Ⅰ/⑩0接口,能驱动4个LSTL负载 3)P2.0-P2.7:高8位地址总线,亦可作为准双向I/0接口 4)P3.0P3.7 ①准双向I/0接口 ②变异功能口:相当于CPU的控制线 P0口能驱动8个 LSTTL负载,其他能驱动4个 LSTTL 2单片机工作的基本时序 (1)时序:CPU总线信号在时间上的顺序关系。CPU的控制器实质上是一个复 杂的同步时序电路,所有都是在时钟信号控制下进行的。CPU的控制信号在时间25min 上的相互关系就是CPU的时序
外 RAM 的 R/W 计数脉冲输入端 中断申请输入端 串出 串入 2.4 单片机的引脚功能及时序 1.引脚功能 (1)电源引脚:VCC、VSS (2)I/O 总线:P0、P1、P2、P3 (3)时钟: XTAL1:片内振荡器反相放大器的输入端 XTAL2:片内振荡器反相器的输出端,也是内部时钟发生器的输入端。 (4)控制总线: 1)ALE/PROG:地址锁存允许/编程信号线,当 8051 由 P0 口送出低 8 位地址 码时,8051 由 ALE 送出一高电平信号,作为外部锁存器的触发信号在单片机(CPU) 与外界交换信息的过程中,地址信息必须维持不变,而 P0 口不能维持低 8 位地址的 不变,所以应该外接锁存器,将低 8 位地址锁住。当 8051 送出低 8 位地址的时候, 锁存器应该处于送数状态;在低 8 位地址消失之前,锁存器应该处于锁存状态。 当片外存储器存取数据时,ALE 为低 8 位地址输出锁存信号;当片外存储器 不存取数据时,ALE 输出固定频率的脉冲信号,频率为 1/6 的 fosc 2)PSEN:外接程序存储器读选通信号 3)EA/VPP:访问内部程序存储器/编程电压 4)RST/VPD:复位输入信号/后备电源输入引脚(5)I/0 引脚 1)P0.0-P0.7: ①地址/数据总线,分时使用 ②作为双向 I/O 接口 2)P1.0-P1.7:准双向 I/O 接口,能驱动 4 个 LSTTL 负载 3)P2.0-P2.7:高 8 位地址总线,亦可作为准双向 I/O 接口 4)P3.0-P3.7: ①准双向 I/0 接口 ②变异功能口:相当于 CPU 的控制线 P0 口能驱动 8 个 LSTTL 负载,其他能驱动 4 个 LSTTL。 2.单片机工作的基本时序 (1)时序:CPU 总线信号在时间上的顺序关系。CPU 的控制器实质上是一个复 杂的同步时序电路,所有都是在时钟信号控制下进行的。CPU 的控制信号在时间 上的相互关系就是 CPU 的时序。 45min 20min 25min
CPU发出的时序控制信号的类型: 1)用于单片机内部协调控制。 2)通过单片机控制总线送到片外,形成对片外的各种IO接口、RAM、 EPROM 等芯片工作的协调控制 (2)机器周期和指令周期 1)振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周 -Tp/s(振荡频率)2)状态周期每个状态周期为时钟周期的2倍 是振荡周期经二分频后得到的。—I2T 3)机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周 期。在一个机器周期内,CPU可以完成一个独立的操作。一T=6T=12TD=12 例:若fc=1MHz,则Ty=12/0s=12(12*106)=1(μs4)指令周期:它是 指CPU完成一条操作所需的全部时间。每条指令执行时间都是由一个或几个机器 周期组成。MCS-51系统中,有单周期指令、双周期指令和四周期指令 (3MCS-51指令的取指/执行时序 当CPU对外部RAM读写时,ALE不是周期信号,即在第二个机器周期的SIP 无信号。 课堂测验 1.P0~P3的功能 2.ALE、EA、PSEN的功能 3.已知fosc=6Mz,则求机器周期(Tcy) min 课堂小结 5min 说明本节非常重要,注意掌握以下几个问题: 1.P0~P3口的功能 2.MCS-51单片机引脚功能,特别是ALE、EA、PSEN等。 3.时序,特别是机器周期、振荡周期的概念及区别。 作业 思考题T5、7 课后分析 本次课比较关键,如果没有学好,将对以后的学习有很大的影响,因此在授课时应注意调 动学生的学习兴趣。对关键点注意强调,尽量控制时间,预留一定时间进行小测验
CPU 发出的时序控制信号的类型: 1)用于单片机内部协调控制。 2)通过单片机控制总线送到片外,形成对片外的各种 I/O 接口、RAM、EPROM 等芯片工作的协调控制。 ( 2) 机器周期和指令周期 1) 振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周 期。 ——Tp=1/fosc(振荡频率) 2) 状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。——Ts=2Tp 3)机器周期: 一个机器周期包含 6 个状态周期 S1~S6, 也就是 12 个时钟周 期。 在一个机器周期内, CPU 可以完成一个独立的操作。—— Tcy=6Ts = 12Tp =12/ fosc 例: 若 fosc=12MHz,则 Tcy= 12/ fosc=12/(12*106)=1(μs)4) 指令周期: 它是 指 CPU 完成一条操作所需的全部时间。每条指令执行时间都是由一个或几个机器 周期组成。MCS-51 系统中, 有单周期指令、双周期指令和四周期指令。 (3)MCS - 51 指令的取指/执行时序 当 CPU 对外部 RAM 读写时,ALE 不是周期信号,即在第二个机器周期的 S1P 无信号。 课堂测验 1. P0~P3 的功能 2. ALE、EA、PSEN 的功能 3. 已知 fosc=6MHz,则求机器周期(Tcy) 5min 课堂小结 说明本节非常重要,注意掌握以下几个问题: 1.P0~P3 口的功能 2.MCS-51 单片机引脚功能,特别是 ALE、EA、PSEN 等。 3.时序,特别是机器周期、振荡周期的概念及区别。 作 业 思考题 T5、7 5min 课后分析 本次课比较关键,如果没有学好,将对以后的学习有很大的影响,因此在授课时应注意调 动学生的学习兴趣。对关键点注意强调,尽量控制时间,预留一定时间进行小测验