500 likes | 671 Views
第二章 MCS-51 单片机的基本结构及工作原理. MCS-51 单片机的基本结构及工作原理 § 2-1 MCS - 51 单片机的基本结构 § 2-2 MCS - 51 的存储器结构 § 2-3 专用功能寄存器的 SFR § 2-4 单片机的工作方式与最小应用系统 主要内容 MCS-51 系列单片机 的 内部结构、存储器结构、工作原理、引脚功能、工作方式、时序和最小应用系统. 本章要点: 掌握 MCS-51 单片机的 内部结构 、 存储器结构 、 PSW 特殊功能寄存器的使用 、 引脚功能、最小应用系统的设计 ; 了解 工作时序及工作方式。.
E N D
第二章MCS-51单片机的基本结构及工作原理 《单片机原理及应用技术》教学课件
MCS-51单片机的基本结构及工作原理 • §2-1 MCS-51单片机的基本结构 • § 2-2 MCS-51的存储器结构 • § 2-3专用功能寄存器的SFR • § 2-4 单片机的工作方式与最小应用系统 • 主要内容 • MCS-51系列单片机的内部结构、存储器结构、工作原理、引脚功能、工作方式、时序和最小应用系统
本章要点: • 掌握 • MCS-51单片机的内部结构、存储器结构 、PSW特殊功能寄存器的使用、引脚功能、最小应用系统的设计; • 了解 • 工作时序及工作方式。
第一节 MCS-51单片机的基本结构 • 教学内容: • 一、MCS-51单片机内部结构 • 二、CPU • 三、输入/输出端口结构 • 四、端口负载能力和接口要求 • 五、MCS-5l引脚及功能
MCS-51系列单片机配置一览表 《单片机原理及应用技术》教学课件
外部时钟 时钟电路 ROM 4KB RAM 128 计数器/定时器 8051 CPU 可编程 I/O口 控制逻辑 可编程全 双工串行口 并行口 串行通信 一、MCS-51内部结构 外部中断 图2-1 8051的功能部件图 《单片机原理及应用技术》教学课件
二 、CPU • 主要功能:产生各种控制信号,去控制存储器、输入/输出端口的数据传送、数据的算术运算、逻辑运算以及位操作处理等。 (一)运算器 组成:运算器由算术逻运算部件ALU、累加器Acc、暂存器、程序状态字寄存器PSW、BCD码运算调整电路等组成 。 对数据完成算术运算,逻辑运算、循环移位、位处理。
(二)控制器 组成:由程序计数器PC、指令寄存器、指令译码器、定时控制与条件转移逻辑电路等组成。 功能:对来自存储器中的指令进行译码,通过定时控制电路,在规定的时刻发出各种操作所需的全部内部和外部控制信号,协调各功能元件的工作,完成指令所规定的功能。
1.程序计数器PC(Program Counter) 一个16位的专用寄存器,用来存放下一条指令的地址。它具有自动加1的功能。 特点: ▼它是16位的按机器周期自动加1计数器 ▼总指向下一条指令所在首地址(当前PC值) ▼一切分支/跳转/调用/中断/复位等操作的本质就是:改变 PC 值
2.指令寄存器 一个8位的寄存器,用于暂存待执行的指令,等待译码。 • 3.指令译码器 对指令寄存器中的指令进行译码,分析它的功能,并根据功能产生相应的电信号。
4.数据指针DPTR 是一个16位的地址指针寄存器。它主要用来存放16位地址,作间址寄存器使用。可用来访问64K外部数据存储器和I/O端口。 DPTR也可以拆成两个独立8位寄存器,即DPH(高8位字节)和DPL(低8位字节),分别占据83H和82H两个地址。
5. 定时控制部件与时序 功能:在规定的时刻发出各种操作所需的全部内部和外部的控制信号,协调各功能元件工作,完成指令所规定的功能。 主要任务:产生一个工作时序,其工作需要时钟电路提供一个工作频率。
(1)时钟电路设计 • XTAL1, XTAL2: 接外部晶振的两个引脚。 • MCS-51内部有一个用于构成振荡器的高增益反相放大器,此放大器的输入和输出端分别是引脚XTAL1和XTAL2,在XTAL1和XTAL2上外接时钟源即可构成时钟电路。
(1)时钟电路设计 • XTAL1, XTAL2: 接外部晶振的两个引脚。 • 单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。 • 有内部和外部两种时钟产生方式。 • 单片机的生产工艺不同,接法也不同。
在XTALl和XTAL2两端接晶体或陶瓷谐振器,与内部反向器构成稳定的自激振荡器。在XTALl和XTAL2两端接晶体或陶瓷谐振器,与内部反向器构成稳定的自激振荡器。 参数选取:C1、C2起稳定振荡频率,快速起振的作用。 外接晶振时:Cl和C2选择10~30pF 外接陶瓷谐振器时: Cl和C2的典型值约为40±10pF。 振荡频率范围一般是1.2MHz~12MHz,有的可达40MHz。
设计印刷电路板时,晶体和电容应尽可能安装在单片机芯片附近,以减少寄生电容,保证振荡器稳定和可靠工作。设计印刷电路板时,晶体和电容应尽可能安装在单片机芯片附近,以减少寄生电容,保证振荡器稳定和可靠工作。
(2)CPU的时序 80C51的片内振荡器及时钟发生器
振荡信号经一个二分频触发器向芯片提供了一个2节拍的状态信号。振荡信号经一个二分频触发器向芯片提供了一个2节拍的状态信号。 • 状态周期是振荡周期(时钟周期)的2倍。 • 每个状态周期有两个节拍P1和P2。在每个状态的前半周期,节拍P1有效,在每个状态的后半周期,节拍P2有效。 • CPU就以两相时钟P1和P2为基本节拍指挥51单片机各个部件协调地工作。
CPU总是按照一定的时钟节拍与时序工作: 振荡周期(时钟周期):晶振频率fosc(或外加频率) 的倒数 状态周期:2个振荡周期 机器周期:完成一个规定操作所需要的时间。 如,取指令、存储器读、存储器写等; 1个机器周期=6个状态周期=12个振荡周期 指令周期:执行一条指令所需的机器周期数 1个机器周期 = 12个振荡周期; 1个指令周期 = 1、2或4个机器周期 思考:若采用12MHz的晶振频率,其机器周期=? 《单片机原理及应用技术》教学课件
通常,每个机器周期中,ALE两次有效,第一次出现在S1P2和S2P1期间,第二次出现在S4P2和S5P1期间。通常,每个机器周期中,ALE两次有效,第一次出现在S1P2和S2P1期间,第二次出现在S4P2和S5P1期间。
CPU取指、执行时序 • 每条指令的执行都可以包括取指令和执行两个阶段。 • 在取指阶段,根据程序计数器PC的内容,CPU从内部或外部ROM中取出指令操作码及操作数,然后再执行这条指令。 • 按指令执行时间分类: • 单周期、双周期、四周期 • 按指令所占字节数分类: • 单字节、双字节、三字节
各指令的微操作在时间上有严格的次序,这种微操作的时间次序我们称作时序。 (1)单周期指令时序 双字节指令 如:ADD A, #data 单字节指令 如:INC A
单字节单周期指令 • 指令特点:在程序存储器ROM中仅占一个存储单元。 • 在ALE第一次有效(S2P1)时,从ROM中读取指令的操作码,送入指令寄存器IR中, PC加一,并译码执行,在ALE第二次有效时,封锁PC加一,并丢弃第二次读的操作码。
地址寄存器 程序计数器 外部地址总线AB 内部数据总线 0002H (PC) (PC) (PC) 0001H 0000H 存 储 器 运算器 ①② 累加器A 地址 译码 寄存器区 数据缓冲器 外部数据总线DB 内部控制信号 指令 寄存器 译码 时钟及清零 外部控制总线CB 单片机的工作过程 例: MOV A,#09H 74H09H ;把09H送到累加器A中 取指过程 取指过程 PC= 0000H 0000H 0002H 0001H 执行过程 执行过程 你知道PC的作用吗? 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 0 外部控制总线CB
五、MCS-51单片机的引脚及其功能 AT89S52 DIP 40 封装
MCS-51单片机40脚 Vcc, GND 2 XTAL1, XTAL2 2 RESET 1 EA/Vpp 1 ALE/PROG 1 PSEN1 认识单片机的引脚 P0.0—P0.7 8 P1.0—P1.7 8P2.0—P2.7 8P3.0—P3.7 8 《单片机原理及应用技术》教学课件
(1)Vcc(40脚), GND(20脚) • 正电源端与接地端 • 不同的单片机可以允许不同的工作电压(+5V / 3.3V / 2.7V) ,不同的单片机表现出的功耗也不同。 • (2)XTAL1(19脚), XTAL2(18脚) • 片内振荡电路输入/输出端
对AT89S51/S52单片机,通常外接一个晶振两个20或30pf电容,一个12M或11.0592MHz的晶振对AT89S51/S52单片机,通常外接一个晶振两个20或30pf电容,一个12M或11.0592MHz的晶振 《单片机原理及应用技术》教学课件
(3)RST/VPD(9脚)、ALE/PROG (30脚)、 EA/Vpp(31脚)、PSEN (29脚)控制信号引脚。 • RST/VPD:复位(正脉冲有效)/备用电源引脚 • 复位使单片机进入某种确定的初始状态 • 退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,从头开始。 • Vcc掉电期间,此引脚可接备用电源,能保护片内RAM中的内容不丢失。
无论是HMOS型还是CHMOS型的单片机,在振荡器正在运行的情况下,复位是靠在RST引脚上施加持续2个机器周期的高电平来实现的。无论是HMOS型还是CHMOS型的单片机,在振荡器正在运行的情况下,复位是靠在RST引脚上施加持续2个机器周期的高电平来实现的。 • MCS-51单片机通常采用的简单复位电路有:上电自动复位、外部脉冲复位、上电+按钮电平复位、程序运行监视复位等方式。
+5V +5V Vcc Vcc 10uF 10uF 1k RST RST 10k 10k GND GND 上电复位 上电+按钮复位 简单复位电路 《单片机原理及应用技术》教学课件
程序运行监视复位 • 程序运行监视复位通常是由各种类型的程序监视定时器WDT(Watchdog Timer)俗称为“看门狗”实现。WDT可保证程序非正常运行(如程序“飞逸”、“死机”)时,能及时进入复位状态,恢复程序正常运行。
“看门狗”工作原理: • 在规定时间内必须至少“喂狗”一次,即复位“看门狗”。否则“看门狗”电路将复位单片机。 • 实现: • 可在软件的合适地方加一条“喂狗”指令,使看门狗的定时时间永远达不到预置。
WDT通常有几种实现方法供用户选择: • 1)单片机内部带有的WDT功能单元(如:S51) • 2 )选择μP (microprocessor)监视控制器件,这些器件中大多有WDT电路,如Max705芯片等。
μP 监视控制器件 • MAX705/706、 DS1232等 • DS1232(看门狗)是DALLAS 公司生产的一种微机监控电路芯片。 • 主要功能:产生上电复位和手动复位,监视电源电平,监视软件运行状态,当程序运行出现飞车时,产生复位信号。
Tol:电源检测选择端 Tol接地,电源电压跌至4.75V以下产生复位信号 Tol接VCC,电源电压跌至4.5V以下产生复位信号 看门狗定时器定时时间设置 注意:保证看门狗定时器计数溢出前复位看门狗定时器
89S51看门狗功能的使用方法 • 在ATMEL的89S51系列的89S51与89C51功能相同,指令兼容。 89S51比89C51增加了一个看门狗功能。 • 要激活AT89S51/52的看门狗功能,只需依次向WDTRST寄存器(SFR地址为0A6H )单元送入#01EH和#0E1H即可,使看门狗定时计数器工作。
AJMP MAIN • ;启动看门狗 • MAIN: MOV 0A6H, #01EH ; 先送1EMOV0A6H, #0E1H ; 后送E1 • ;主程序 START: ..... • ACALL WDT ; 调用复位看门狗子程序....AJMP START ; 主程序******** • ;复位看门狗子程序 • WDT: MOV 0A6H, #01EH ; 先送1EMOV 0A6H, #0E1H ; 后送E1RET END
注意事项: • 1. 89S51的看门狗必须由程序激活后才开始工作。所以必须保证CPU有可靠的上电复位。否则看门狗也无法工作。 • 2. 看门狗使用的是CPU的晶振。在晶振停振的时候看门狗也无效。 • 3. 89S51只有14位计数器。在16383个机器周期内必须至少喂狗一次。而且这个时间是固定的,无法更改。当晶振为12M时每16个毫秒需喂狗一次。
ALE/PROG(30脚): 地址锁存允许/编程脉冲输入端。 • P0口寻址外部低8位地址时接外部锁存器74ls373的G端; • ALE端平时会输出周期正脉冲: f fosc/6 ; • 对片内ROM编程时编程脉冲由此端加入。 (指并行编程模式)
EA/Vpp(31脚): 寻址外部ROM控制端 / 编程电源输入端。 • 低电平有效, • 片内无ROM时必须接地; • 片内有ROM时可以接高电平 ,也可以接低电平; • 接低电平时,只访问片外ROM,接高电平时,访问片内ROM,超范围时,访问片外ROM • 对S51/S52单片机,若不扩展ROM,/EA要接+5V • 对片内ROM编程时编程正电源加到此端。 (指并行编程模式)
PSEN(29脚): 寻址外部程序存储器时选通外部EPROM的读控制端(OE),低电平有效。 D0-D7 8Q P0.0-P0.7 8D A0-A7 ALE G OE EA PSEN OE CE A8-A12 P2.0-P2.4 锁存器74LS373 单片机 EPROM 《单片机原理及应用技术》教学课件
小结 • 1、时钟电路设计 • 2、CPU的时序 • 振荡周期、机器周期、指令周期 • 按指令编码长短:单字节、双字节、三字节 • 3、单片机的引脚 • 电源引脚:Vcc(40)、 GND(20) • XTAL1(19)、 XTAL2(18) • 控制引脚: RST/VPD(9)、ALE/PROG (30)、 EA/Vpp(31)、PSEN (29) • 输入输出引脚:P0、P1、P2、P3 • 4、常用的复位电路、控制引脚的功能