【单片机原理】第二章 时钟CPU时序及复位

1、振荡电路(时钟电路)的组成

1、振荡电路(时钟电路)的组成

内部:89C51/S51芯片内部有一个高增益反相放大器, 用于构成振荡器。反相放大器的输入端为XTAL1,输出 端为XTAL2

外部:在XTAL1XTAL2两端跨接石英晶体,及两个电 容,就可以构成稳定的自激振荡器。电容器C1和C2通 常取30 pF左右,可稳定频率并对振荡频率有微调作用。

石英晶体:决定振荡频率,频率范围 : fOSC=024 MHz

振荡频率及振荡周期:

2、节拍与状态周期

节拍:用一个2分频的触发器电路,将振荡器的信号 频率fOSC除以2,得到两相时钟信号P1P2( P: Phase)

时钟信号P1:节拍P1,是前半周信号有效,

时钟信号P2: 节拍P2,后半周信号有效。

机器状态周期:时钟信号的周期称为机器状态周期 S(STATE),是振荡周期的2倍。(时钟周期)

功能:每个时钟周期(以后常称状态S)有两个节拍(相 )P1P2CPU就以两相时钟P1P2为基本节拍,指 挥89C51/S51单片机各个部件协调地工作。

3、机器周期

CPU访问一次存储器:需要12个振荡周期,包括S态:S1S2S6

每个状态又包括两拍,称为节拍P1和节拍P2

机器周期:是指CPU访问存储器一次所需的时间。 例如:取指令、读存储器、写存储器等等。

一个机器周期:包括12个振荡周期:即S1P1, S1P2S2P1···S6P1S6P2

若采用6MHz晶体振荡器,则每个机 器周期为多少?

设:晶体振荡器频率 fosc=6MHz,

则:振荡周期=1/fosc=1/6 μs(微秒)

因为:一个机器周期包括12个振荡周期,

所以:一个机器周期=12*(1/6) μs(微秒)

= 2μs(微秒)

问: 如果fosc=12MHz, 一个机器周期为多少?

答案 1μs(微秒)

4、指令周期

指令周期:执行一条指令所需的时间。

每条指令的执行时间不同,由一个或几个 机器周期组成。

指令的机器周期数少则执行速度快。

单片机指令包括:

单周期指令:加法、减法等

双周期指令:比较大小等

四周期指令:乘法、除法

C51单片机各指令时间分别为多少?

设振荡周期为6MHz,则一个机器周期为 2μs (微秒)。

单周期指令:指令周期为 2μs(微秒)

双周期指令:指令周期为 4μs(微秒)

四周期指令:指令周期为 8μs(微秒)

如果振荡周期为12MHz,则其指令周 期分别为 1μs、2μs 和4μs。

5、基本时序定时单位

综上所述,89C51/S51或其他80C51单片机的基本时序定时 单位有如下4个。

振荡周期: 晶振的振荡周期,为最小的时序单位。

状态周期(时钟周期): 振荡频率经单片机内的二分频器分 频后提供给片内CPU的时钟周期。因此,一个状态周期包含个振荡周期。

机器周期(MC): 1个机器周期由6个状态周期即12个振荡 周期组成,是计算机执行一种基本操作的时间单位。

指令周期: 执行一条指令所需的时间。一个指令周期由1个机器周期组成,依据指令不同而不同,见附录A

若单片机外接晶振频率12 MHz,则:

振荡周期=1/fOSC=1/12 MHz=0.083 3 μs

状态周期=2/fOSC=2/12 MHz=0.167 μs

机器周期=12/fOSC=12/12 MHz=1 μs

指令周期=14)机器周期=14 μs

则: 振荡脉冲周期(节拍,1/fOSC) 状态周期(时钟周期) 机器周期和指令周期

振荡周期 时钟周期 机器周期 <= 指令周期

复位操作

1.上电自动复位

上电自动复位是在加电瞬间电容通过充电来实现的,其电路如 图2-18(a)所示。

在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用 以复位。只要电源VCC的上升时间不超过1 ms,就可以实现 自动上电复位,即接通电源就完成了系统的复位初始化。

对于CMOS型的89C51/S51,由于在RST端内部有一个下 拉电阻,故可将外部电阻去掉,而将外接电容减至1 μF

2.手动复位

所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态。系统上电运行后,若需要复位,一般是通过手动复位来实现的。通常采用手动复位和上电自动复位组合,其电路如图2-18(b)所示。

复位电路虽然简单,但其作用非常重要。一个单 片机系统能否正常运行,首先要检查是否能复位 成功。初步检查可用示波器探头监视RST引脚, 按下复位键,观察是否有足够幅度的波形输出 (瞬时的),还可以通过改变复位电路阻容值进行实验。

3.复位操作的主要功能

89C51/S51系列单片机与其他微处理器一样, 在启动时都需要复位,使CPU及系统各部件处于 确定的初始状态,并从初态开始工作。

89C51/S51系列单片机的复位信号是从RST引 脚输入到芯片内的施密特触发器中的。

当系统处于正常工作状态时,且振荡器稳定后,如 RST引脚上有一个高电平并维持2个机器周期 (24个振荡周期),则CPU就可以响应并将系统 复位。

1、程序地址指针PC初始化为0000H,使单片机从 0000H单元开始执行程序。 (当由于程序运行出错或操作错误使系统死锁状态时, 为摆脱困境,也需要按复位键重新启动)

2、除PC之外,复位操作还对其他一些寄存器有影响, 它们的复位状态如表2-9所列。即在SFR中,除了端 口锁存器、堆栈指针SP和串行口的SBUF外,其余 的寄存器全部清0,端口锁存器的复位值为0FFH, 堆栈指针值为07HSBUF内为不定值。内部RAM 的状态不受复位的影响,在系统上电时,RAM的内 容是不定的。

A=00H: 表明累加器已被清0

 PSW=00H: 表明选寄存器0组为工作寄存器组。

 SP=07H: 表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操 作的先加后压法则,第一个被压入的数据被写入08H单元中。

 P0P3=FFH: 表明已向各端口线写入1,此时,各端口既可用于输 入,又可用于输出。  IP=×××00000B: 表明各个中断源处于低优先级。

 IE=0××00000B: 表明各个中断均被关断。

 TMOD=00H: 表明T0T1均为工作方式0,且运行于定时器状态。

 TCON=00H: 表明T0T1均被关断。

 SCON=00H: 表明串行口处于工作方式0,允许发送,不允许接收。

 PCON=00H: 表明SMOD=0,波特率不加倍。

值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对熟悉单片 机操作,减短应用程序中的初始化部分是十分必要的。


编者能力有限,如有错误欢迎留言交流

编者的其他专栏:

C语言

单片机原理

模式识别原理

数字电子技术

自动控制原理

模拟电子技术

数据结构

线性代数

复变函数与积分变换

 概率论与数理统计

高等数学

专业面试

大学物理

电路原理

关注编者了解更多!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值