什么是晶振,对于单片机来说它有什么重要作用?
一、什么是晶振晶振一般叫做晶体谐振器,是一种机电器件,是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。
对于单片机来说晶振是很重要的,可以说是没有晶振就没有时钟周期,没有时钟周期就无法执行程序代码,那样的话单片机就无法工作。接下来了解一下单片机晶振的电路原理及作用。
二、单片机晶振的必要性
单片机工作时,是一条一条地从ROM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。一个机器周期包括12个时钟周期。如果一个单片机选择了12MHZ晶振,它的时钟周期是1/12us,它的一个机器周期是12x(1/12)us,也就是1US。
MCS-51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较馒,得要2个机器周期,还有两条指令要4个机器周期才行。为了衡量指令执行时间的长短,又引|入一个新的概念: 指令周期。所谓指令周期就是指执行条指令的时间。例如,当需要计算DJNZ指令完成所需要的时间时,首先必须要知道晶振的频率,设所用晶振为12MHZ,则一个机器周期就是1US。而DJNZ指令是双周期指令,所以执行一次要2US。如果该指令需要执行500次,正好1000us,也就是1ms。
机器周期不仅对于指令执打有着重要的意义,而且机器周期也是单片机定时器和计数器的时间基准。例如一个单片机选择了12MHZ晶振,那么当定时器的数值加1时,实际经过的时间就是1us,这就是单片机的定时原理。
三、单片机晶振的作用
每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。
晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。 在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。
晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。
晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。
来源:网络整理
单片机常用电路1-晶振电路
在单片机的学习中,不光是单片机程序的编写,还有电路的设计。有些公司可能会把单片机开发分成两块:电路设计、程序设计。然后负责电路设计的人只负责电路设计,不用考虑单片机编程;程序设计的人只管单片机编程,不设计电路。
不过我个人认为,只搞电路设计的人可以不用关心单片机是怎么编程的,但是搞单片机程序设计的人,却必须要对电路很熟悉,你可以不用亲自设计电路,但是必须对单片机项目中各种电路的原理足够了解,这样才能确保设计出来的程序稳定、健壮。
举个例子来说吧,假如一个单片机系统中用到了EEPROM存储芯片,EEPROM芯片的SCL和SDA是开漏输出的,需要外接上拉电阻,假设电路板上的EEPROM芯片的SCL和SDA的上拉电阻忘记焊上或者坏掉了,这时候调试EEPROM是调不通的,如果这时候电路设计人员不在,而单片机程序设计人员又对EEPROM的原理不熟悉,就会陷入到麻烦中:因为对电路不熟悉,就会一遍一遍的查找程序的原因。可是程序明明没有问题啊,这个程序在别的项目中一直都是正常的,为什么在这个板子上就不行了呢?
还有一点,一般带有微控制器的电路板,电路功能是否正常,是需要编写一定的验证程序来测试电路板的性能的,单靠电路设计人员使用万用表、示波器等工具是无法验证电路的好坏的。
综上所述,单片机程序设计人员一定要对电路的原理熟悉,这样才能设计出正确的程序。
从本篇文章开始,我们就来简单学习一下单片机开发中常用的电路。
当然,由于本人水平有限,关于这些电路的讲解只限于简单原理的讲解。如果有错误,欢迎批评指正。
1. 单片机常用电路1-晶振电路
早期的单片机(比如经典的51单片机)系统,外接晶振是必须的(当然也可以外接时钟脉冲,但是很少用),因为单片机的运行必须依赖于稳定的时钟脉冲。但是随着技术的发展,现在很多单片机都已经集成了内部时钟,所以在一般的应用场合,可以不用外接晶振电路了。不过由于内部时钟容易受外界干扰,所以在要求严格的场合,晶振电路还是很有必要的。
晶振电路1
图1是典型的单片机外接晶振电路。
图1 单片机晶振电路
该电路不只是有一个晶振,还有两个电容,这两个电容有什么作用呢?
这两个电容一般称为“匹配电容”或者“负载电容”、“谐振电容”。晶振电路中加这两个电容是为了满足谐振条件。一般外接电容,是为了使晶振两端的等效电容等于或接近负载电容。只有连接合适的电容才能满足晶振的起振要求,晶振才能正常工作。
负载电容的值由如下公式计算:
负载电容无法满足的话一般会使晶体频率产生偏差,严重的话晶体无法起振。电路设计中要尽量满足晶体的负载电容需求,从而使晶体工作在最佳状态。负载电容计算公式如下:
CL = C1*C2 / (C1+C2) + CS
CL为晶振的负载电容值,一般通过查询晶振的数据手册获得。CS为电路板的寄生电容,一般取 3~5pF,取C1 = C2,那么公式可以简化成如下:
CL = C1 / 2 + CS
一般情况下,增大负载电容的值会使振荡频率下降,减小负载电容的值,会使振荡频率上升。
晶振电路2
我们有时候还会看到如图2所示的晶振电路。
图2 不带并联电阻和带并联电阻的晶振电路
该电路中晶振上又并了一个电阻,这是为什么呢?
这个电阻实际上是反馈电阻,是为了方便晶振起振的。对于COMS而言,这个电阻的阻值可以是1M以上,对于TTL则是需要视情况而定。最好的办法是看看芯片的数据手册,确认芯片晶振电路内部是否有电阻,如果没有,电路设计时最好加上。
晶振电路3
图3是有源晶振电路。
图3 有源晶振电路
有源晶振通常的用法:一脚悬空,二脚接地,三脚接输出,四脚接电压。有源晶振不需要CPU的内部振荡器,连接方式相对简单(主要是做好电源滤波,通常使用一个电容和电感构成的PI型滤波网络,输出端用一个小阻值的电阻过滤信号即可),不需要复杂的配置电路。相对于无源晶体,有源晶振的缺陷是其信号电平是固定的,需要选择好合适输出电平,灵活性较差,而且价格高。
相关问答
单片机晶振电路?
单片机有内部时钟方式和外部时钟方式两种:(1)单片机的XTAL1和XTAL2内部有一片内振荡器结构,但仍需要在XTAL1和XTAL2两端连接一个晶振和两个电容才能组成时钟电...
单片机的晶振频率怎么确定?
确定单片机的晶振频率有两个主要步骤:首先,根据单片机的规格书或手册找到其推荐的晶振频率范围。其次,根据系统需求和性能要求来选择合适的晶振频率。较高频...
单片机晶振时间计算?
改用12mHz的它们的值还是0xfd,不过误差就是8.51%。把定时器做波特率发生器,计算公式:T1,T2计数器内部一样:fosc/(32*12*(256-TH1));//11.0592,(...
51单片机一般选用多少的晶振?
这个与用途有关,比如说如果你要用到串口,那么就常用11.0592MHz晶振,因为这个频率的晶振分频后可以得到精确的波特率。如果要用到计时,就常用12MHz晶振,这样...
为啥单片机的晶振都选用11.0592M?
一般单片机与其他设备通信时,基本上选用的晶振都是11.0592M,因为它理论上产生的波特率误差为0,只是晶振频率受外界影响会有点误差。一般单片机与其他设备通信...
单片机最小系统晶振参数?
单片机最小系统的晶振参数通常包括频率和电容值。晶振的频率决定了单片机的时钟速度,而电容值则与晶振的稳定性有关。一般情况下,晶振的频率范围在1~20MHz之间...
单片机晶振起振原理?
晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级...
51单片机晶振原理?
51单片机片内有一个高增益的反相放大器,反相放大器的输入端为晶振引脚1,输出端为晶振引脚2。由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式...
单片机中如果没有了晶振会怎么样?
晶振对于单片机就像心脏对于一个人一样,单片机都是按照晶振的频率去工作的,即使外部没有连接晶振,单片机的内部也是有的晶振对于单片机就像心脏对于一个人一...
如何查看单片机的晶振周期?
查看下晶振上标的数字就可以了。。晶振上面标的一般是频率,看周期就是频率的倒数了。。查看下晶振上标的数字就可以了。。晶振上面标的一般是频率,看周期就是...