首页 理论教育 单片机最小系统开发及设计

单片机最小系统开发及设计

时间:2023-10-23 理论教育 版权反馈
【摘要】:复杂的单片机系统是对单片机最小系统的扩展设计。图1-11 单片机最小系统1.振荡电路单片机内部的高增益反相放大器与单片机XTAL1、XTAL2引脚外接的晶体构成一个振荡电路,为CPU提供时钟脉冲,如图1-12所示。复位操作是单片机系统正常运行前必须进行的一个环节。表1-6内部寄存器复位状态表3.节拍、机器周期和指令周期MCS-51系列单片机的工作时序单位有4个,从小到大依次是节拍、状态、机器周期和指令周期。

单片机最小系统开发及设计

单片机最小系统由单片机芯片外加一些分立元器件组成,是单片机可以运行程序的基本电路,也是一个基本的微机硬件系统,如图1-11所示。复杂的单片机系统是对单片机最小系统的扩展设计。图1-11中,单片机的型号为STC89C51,电路包括电源振荡电路、复位电路、片内512B的RAM和4KB的ROM,以及I/O接口P0~P3等。

978-7-111-43463-4-Chapter01-20.jpg

图1-11 单片机最小系统

1.振荡电路

单片机内部的高增益反相放大器与单片机XTAL1、XTAL2引脚外接的晶体构成一个振荡电路,为CPU提供时钟脉冲,如图1-12所示。XTAL1为振荡电路输入端,XTAL2为振荡电路输出端,同时XTAL2还是内部时钟发生器的输入端。片内时钟发生器对振荡脉冲进行二分频,为控制器提供一个两相的时钟信号,产生CPU的操作时序。MCS-51系列单片机时钟电路中常用6MHz、12MHz、11.0592MHz的石英晶体。电容C1和C2为石英晶体振荡器的负载电容,对振荡频率有微调作用,容量为5~30pF。在设计印制电路板时,石英晶体和电容应尽量靠近单片机芯片,以减少寄生电容以及干扰。

978-7-111-43463-4-Chapter01-21.jpg

图1-12 MCS-51系列单片机的时钟电路

2.复位电路

单片机复位能使CPU和系统中的功能单元处在一个特定的初始状态,并从这个状态开始工作。复位后PC为0000H,单片机从ROM的第一个单元取指令。在实际应用中,MCS-51系列单片机在刚接上电源或发生故障时都要复位,所以要了解单片机的复位电路和复位后的状态。

在复位引脚RST端加上两个机器周期(即24个振荡周期)的高电平脉冲即可让单片机进行复位操作,完成对CPU的初始化处理。如果单片机的时钟频率为12 MHz,每个机器周期即1μs,让RST引脚保持2μs以上的高电平就能完成复位。复位操作是单片机系统正常运行前必须进行的一个环节。如果RST持续为高电平,单片机将处于循环复位状态,无法执行用户程序。

在实际应用中,复位操作通常有上电自动复位、手动复位和看门狗复位三种方式。上电复位要求在接通电源后,由电路自动实现复位操作。常用的上电自动复位电路如图1-13a所示,其中电容和电阻对+5V电源构成微分电路。系统上电后,单片机的RST端会得到一个时间很短的高电平脉冲。在实际应用系统中,一般还要用按键进行手动复位,如图1-13b所示,其中电容为4.7~10μF的电解电容,电阻值为1~10kΩ。

978-7-111-43463-4-Chapter01-22.jpg

图1-13 单片机复位电路

看门狗定时器是监视定时器(WatchDog Timer,WDT)的俗称,部分增强型MCS-51系列单片机中集成有WDT。WDT复位是一种程序检测复位方式,可采用编程方法产生复位操作。单片机复位以后,片内RAM状态不受影响,P0~P3接口输出高电平,SP为07H,PC被清零,相关SFR的状态都被初始化,具体状态见表1-6。

表1-6内部寄存器复位状态表(www.xing528.com)

978-7-111-43463-4-Chapter01-23.jpg

3.节拍、机器周期和指令周期

MCS-51系列单片机的工作时序单位有4个,从小到大依次是节拍、状态、机器周期和指令周期。

(1)节拍与状态

晶体振荡信号的一个周期称为节拍,用P表示。振荡脉冲经过二分频后,就是单片机的状态周期,用S表示,即一个状态就包含两个节拍,前半周期为节拍1,记作P1,后半周期为节拍2,记作P2,如图1-14所示。CPU以P1、P2为基本节拍,控制单片机的各个部分协调工作。

(2)机器周期

MCS-51系列单片机采用定时控制方式,具有固定的机器周期。一个机器周期的宽度为6个状态,依次为S1~S6。一个状态包括两个节拍,一个机器周期共有12个节拍,分别记为S1P1、S1P2、…、S6P2。实际上,一个机器周期由12个振荡周期组成,机器周期是振荡脉冲信号的十二分频。

外接的石英晶体频率为12MHz时,一个机器周期为1μs;石英晶体频率为6MHz时,一个机器周期为2μs。

978-7-111-43463-4-Chapter01-24.jpg

图1-14 MCS-51系列单片机的指令时序图

(3)指令周期

单片机执行一条指令所需要的时间称为指令周期。指令周期是单片机最大的工作时序单位,不同的指令所需要的机器周期数也不相同。如果单片机执行一条指令需要一个机器周期,这条指令就是单周期指令,如简单的数据传送指令;如果一条指令执行时需要两个机器周期,称为双周期指令,如加减运算指令。单片机的运算速度与程序执行所需的指令周期有关,占用机器周期数越少的指令运行速度越快。在MCS-51系列单片机的111条汇编指令中,有单周期指令、双周期指令和四周期指令3种。四周期指令只有乘法和除法两条指令,其余均为单周期或双周期指令。

单片机执行单周期指令的时序如图1-14a和b所示,其中图1-14a为单字节单周期指令,图1-14b为双字节单周期指令。单字节和双字节指令都在S1P1期间由CPU读取指令,将指令码读入指令寄存器,同时PC自动加1。在S4P2期间,单字节指令读取的下一条指令被丢弃;如果是双字节指令,CPU在S4P2期间读取指令的第二个字节,同时PC自动加1。两种指令都在S6P2结束时完成。

单片机执行单字节双周期指令的时序如图1-14c所示。双周期指令在两个机器周期内产生四次读操作码操作,第一次读取操作码,PC自动加1,后3次读取都无效,自动丢弃,PC的值不变化。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈