什么是晶振,对于单片机来说它有什么重要作用?
一、什么是晶振晶振一般叫做晶体谐振器,是一种机电器件,是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。
对于单片机来说晶振是很重要的,可以说是没有晶振就没有时钟周期,没有时钟周期就无法执行程序代码,那样的话单片机就无法工作。接下来了解一下单片机晶振的电路原理及作用。
二、单片机晶振的必要性单片机工作时,是一条一条地从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型滤波网络,输出端用一个小阻值的电阻过滤信号即可),不需要复杂的配置电路。相对于无源晶体,有源晶振的缺陷是其信号电平是固定的,需要选择好合适输出电平,灵活性较差,而且价格高。
相关问答
为什么单片机晶振实际是11.0592MHz,而不是12MHz?
标准的51单片机晶振是1.2M-12M,一般由于一个机器周期是12个时钟周期,所以先12M时,一个机器周期是1US,好计算,而且速度相对是最高的(当然现在也有更高频率的...
51单片机晶振电路作用?
1、晶振电路的作用是为单片机合格的时钟信号流。2、如果你学过数字电路的话,你就会知道,单片机电路是由无数的门电路组成,而门电路工作时就需要时钟信号作为...
为啥单片机的晶振都选用11.0592M?
一般单片机与其他设备通信时,基本上选用的晶振都是11.0592M,因为它理论上产生的波特率误差为0,只是晶振频率受外界影响会有点误差。一般单片机与其他设备通信...
如何判断单片机是否起振,如何判断晶振的好坏?-ZOL问答
晶振能否起振决定了单片机能否正常工作单片机工作需要一个系统时钟,这个系统时钟可以是单片机内部的振荡器,也可以是外部的晶振。如果使用外部晶振作为单片机...
单片机晶振起振原理?
晶振具有压电效应,即在晶片两极外加电压后晶体会产生变形,反过来如外力使晶片变形,则两极上金属片又会产生电压。如果给晶片加上适当的交变电压,晶片就会产生...
51单片机的晶振电路组成?
晶振电路严格的说是有三种:1、最普通的模式,也就是外接无源晶振,然后每个晶振的一个脚都接一个20-30pF的电容到地。2、外接振荡源的模式,也就是利用有源晶...
单片机晶振频率有6MH和12MH,可我看到的是11.0592MH,请问这个...
[最佳回答]11.0592不能按12来算,因为11.0592是为了串口通信是设置波特率方便才设置的.如果你不用串口的话,那就找个整数的晶振来用吧,计算还方便;如果不想换晶...
怎样知道单片机晶振的型号?
一般分为贴片和直插两种,直插TO-49封装居多,多是6MHz,8MHz,11.0592MHz,18.432MHz,20MHz。另外还有32.768kHz的用于RTC。贴片晶振的体积与型号主要有5070...
最小系统的晶振是多少?
晶振电路是最小系统中的时钟电路,给单片机提供时间基准。单片机在工作时,是一条一条地从ROM中取指令,然后一步一步地执行。每隔多久执行一条指令,这就需要有...
晶振6mhz定时器最大定时时间?
应该是51单片机吧,那我按照51的步骤来说。首先51单片机机器周期的计算方式=12/晶振(Hz),单位秒(s),你的6MHz晶振那么就是12/6M=2us,而计数器每一个机器周期...