为完成本章实验,读者应具备以下相关知识。
1.单片机的最小系统
单片机的最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括单片机、电源电路、晶振电路、复位电路。图2.1.1为51(增强型)单片机的最小系统电路图。
图2.1.1 51(增强型)单片机的最小系统电路图
(1)电源电路
AT89C52单片机工作电压范围为4.5V~5.5V,使用时只需把1个5V的直流电源正极接于40引脚,负极接于20引脚即可。
特别提示:对于31脚,当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行。这一点是初学者容易忽略的。
(2)晶振电路
51单片机内部有产生振荡信号的放大电路,因此,可以用两种方式产生单片机需要的时钟:一种是内部方式,另一种是外部方式。
①内部方式。所谓内部方式,就是利用单片机内部的放大电路和外接晶振等器件构成的振荡电路。
51单片机内部有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,两端接晶振及两个电容,就可以构成稳定的自激振荡器,如图2.1.2所示。电容C1和C2通常取30pF左右。这两个电容的主要作用是过滤掉晶振部分的高频信号,让晶振工作的时候更加稳定。
图2.1.2 内部方式的晶振电路
对51系列,其振荡频率一股为fosc=0~24MHz,有的甚至更高。典型的晶振频率取值为11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通信的场合),或者12MHz(产生精确的μs级时歇,方便定时操作)。
②外部方式。外部方式就是使用外部的时钟信号,接到XTAL1或XTAL2引脚上,给单片机提供基本振荡信号。
采用外部方式时,需要区分单片机的制造工艺,不同的制造工艺,外部时钟信号有不同的接入方法。表2.1.1给出了不同制造工艺单片机时钟信号的接入方法。
表2.1.1 单片机外部时钟接入方法
(3)复位电路
51单片机与其他微处理器一样,在启动工作时先要进行复位,使CPU及系统各部件处于确定的初始状态,并从初始状态开始运行。实现复位的方法是通过复位电路,给单片机复位引脚加复位电平(让复位引脚出现一小段时间的高电平)。
51单片机第9引脚RST即为复位引脚,高电平有效。在时钟电路工作之后,当外部电路使得RST端出现2个机器周期(24个振荡周期)以上的高电平,系统内部复位;在上电时,由于振荡器需要一定的起振时间,该引脚上的高电平必须保持10ms以上才能保证有效复位。
复位有两种方式:上电自动复位和手动复位,图2.1.3给出了两种方式对应的电路。(www.xing528.com)
图2.1.3 复位电路
上电自动复位是在加电瞬间通过电容充电来实现的,如图2.1.3(a)所示。在通电瞬间,电容C3通过电阻R1充电,RST端出现高电平而实现复位。RST引脚高电平持续的时间,取决于复位电路的时间常数R1C3之积,大约是0.5 R1C3左右。电容C3的大小直接影响单片机的复位时间,一般采用10~30uF(推荐C3取10uF),原则就是要让R1C3组合可以在RST脚上产生不少于2个机器周期的高电平。
对于CHMOS型单片机,在RST端内部有一个下拉电阻,故可将外部的电阻去掉,由于下拉电阻较大,因此外接电容C可减至1uF。
所谓手动复位,就是使用按键,按键按下使单片机进入复位状态。图2.1.3(b)所示电路具有上电自动复位和手动复位功能。显然,按键未按下时电路具有上电自动复位功能;按键按下后,电阻R1导通一定的时间,从而给RST引脚提供高电平以实现复位。如果RST引脚一直保持高电平,单片机将循环复位。
2.振荡周期(晶振周期)、机器周期和指令周期
在单片机中,泛意的时钟信号包括:振荡信号、机器周期信号、指令周期信号。
(1)振荡周期(晶振周期)
振荡周期为晶振的振荡周期,是最小的时序单位。若时钟晶体的振荡频率为fosc,则振荡周期为:Tosc=1/fosc。
(2)机器周期
机器周期指CPU访问一次存储器所需要的时间。机器周期是量度时间的基本单位。本实验指导书所涉及的AT89C52单片机1个机器周期包含12个振荡周期。机器周期计算:设单片机的振荡频率fosc为12MHz,则机器周期为1μs。若振荡频率为6MHz,则机器周期为2μs。
(3)指令周期
指令周期指CPU执行一条指令所需要的时间。指令周期用机器周期量度。不同的指令有不同的指令周期,包括单机器周期、双机器周期、4机器周期3种。
3.各特殊功能寄存器默认的复位值
MCS-51单片机与其他微处理器一样,在启动工作时先要进行复位,使CPU及系统各部件处于确定的初始状态,并从初始状态开始运行。复位后,各特殊功能寄存器的状态如表2.1.2所示。
表2.1.2 各特殊功能寄存器的复位值
表2.1.2中复位值的“×”,表示其值不确定,实际上这些位当前都没有使用。记住SFR的复位值,在程序设计中是很有帮助的。进行分类很容易记住。
·P0~P3:FFH
·SP:07H
·SBUF:不确定
·其余:00H(“×”位均可以0计)
内部RAM的状态不受复位的影响,在系统上电时,RAM的内容是不确定的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。