DS1302晶振选择

DS1302晶振选择
DS1302晶振选择

时钟芯片DS1302可靠起振的方法

简介在DS1302的实际使用中,采用辅助电容法,可以解决DS1302在应用中由于晶振的负载电容不匹配而引起的停振问题。

关键词时钟负载电容匹配

概述

DS1302是Dallas公司生产的一种实时时钟芯片。它通过串行方式与单片机进行数据传送,能够向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息,并可对月末日期、闰年天数自动进行调整;它还拥有用于主电源和备份电源的双电源引脚,在主电源关闭的情况下,也能保持时钟的连续运行。另外,它还能提供31字节的用于高速数据暂存的RAM。鉴于上述特点,DS1302已在许多单片机系统中得到应用,为系统提供所需的实时时钟信息。

一、DS1302的主要特性

1. 引脚排列

图1 DS1302引脚排列图

DS1302的引脚排列如图1所示,各引脚的功能如下:

X1,X2——32768Hz晶振引脚端;

RST——复位端;

I/O——数据输入/输出端;

SCLK——串行时钟端;

GND——地;

VCC2,VCC1——主电源与后备电源引脚端。

2. 主要功能

DS1302时钟芯片内主要包括移位寄存器、控制逻辑电路、振荡器、实时时钟电路以及用于高速暂存的31字节RAM。DS1302与单片机系统的数据传送依靠RST,I/O,SCLK三根端线即可完成。其工作过程可概括为:首先系统RST引脚驱动至高电平,然后在作用于SCLK 时钟脉冲的作用下,通过I/O引脚向DS1302输入地址/命令字节,随后再在SCLK时钟脉冲的配合下,从I/O引脚写入或读出相应的数据字节。因此,其与单片机之间的数据传送是十分容易实现的。

二、时钟的产生及存在的问题

(1) 在实际使用中,我们发现DS1302的工作情况不够稳定,主要表现在实时时间的传送有时会出现误差,有时甚至整个芯片停止工作。我们对DS1302的工作电路进行了分析,其与单片机系统的连接如图2所示。从图中可以看出,DS1302的外部电路十分简单,惟一外接的元件是32768Hz的晶振。通过实验我们发现:当外接晶振电路振荡时,DS1302计时正确;当外接晶振电路停振时,DS1302计时停止。因此,我们认为32768Hz晶振是造成DS1302工作不稳定的主要原因。

图2 DS1302与单片机系统的连接图

(2) DS1302时钟的产生基于外接的晶体振荡器,振荡器的频率为32768Hz。该晶振通过引脚X1、X2直接连接至DS1302,即DS1302是依靠外部晶振与其内部的电容配合来产生时钟脉冲的。由于DS1302在芯片本身已经集成了6pF的电容,所以,为了获得稳定可靠的时钟,必须选用具有6pF负载电容的晶振。

然而,许多人在选用晶振时仅仅注意了晶振的额定频率值,而忽视了晶振的负载电容大小,甚至连许多经销商也不能提供所售晶振的负载电容。所以即使在使用中选用了符合32768Hz的晶振,但如果该晶振的负载电容与DS1302提供的6pF不一致时,就会影响晶振的起振或导致振荡频率的偏移,出现上述在应用中的问题。

三、利用辅助电容实现负载匹配

(1)当所选的晶振负载电容不是6pF时,可以采用增加辅助电容的方法提高或降低DS1302振荡器的电容性负载,使之与晶体所需的电容值匹配。如果已知晶体的负载电容为CI,若CI<6pF,则可以增加一个并联电容CS以产生所需的总负载电容CI,即CI=6pF+CS;若CI>6pF,则可以在晶体的一端增加一个串联电容CS,以产生所需的负载电容CI,即1/CI=1/6pF+1/CS,通过计算即可得出应增加的辅助电容大小。辅助电容的接法如图3所

示。

图3 CS连接电路图

(2)在使用前对晶体的负载电容并不知道的情况下,通过测定晶体振荡频率的方法可以确定该晶体的负载电容。

对于晶体振荡器来说,其振荡频率与负载电容之间的关系是确定的。以本文讨论的DS1302使用的32768Hz晶振为例:当它工作于所要求的负载电容时,能较准确地产生32768Hz的频率;当它的负载电容小于6pF时,其振荡频率会正向偏移;当它的负载电容大于6pF时,其振荡频率就会负向偏移。因此,对于未知负载电容的晶体应首先采用实验的方法,在其两端加入辅助电容使晶体起振,然后用频率计测出振荡频率。若测得频率大于32768Hz,说明负载电容偏小;若测得频率小于32768Hz,说明负载电容偏大。对辅助电容逐步调整,最终使振荡频率尽可能接近32768Hz,则此时晶体端所接负载电容的总和就是适合该晶体的负载电容。

结论

以上方法经我们在实际工作中多次使用,证明确实有效。它放宽了DS1302在使用中对

晶振的条件要求,增强了DS1302在工作中的稳定性,对DS1302更广泛地应用具有积极的意义。

参考文献

1 TI最新特低功耗微控制器系列资料. P&S武汉力源电子股份有限公司,2000(3)

2 崔惠柳. 单片机应用技术选编:串行时钟芯片DS1302在汽车智能记录仪中的应用.北京:北京航空航天大学出版社,1999

DS1302读写程序

随笔/mcu51 发表于2007-06-17, 21:53 /*---------------------------------------------- DS1302读写一体化C51源程序 HotPower@https://www.360docs.net/doc/c07352508.html, ------------------------------------------------*/ //打开DS1302 void TimeSpiOpen(void) { TIMECLK = 0; TIMERST = 0;//禁止DS1302 TIMEIO = 1;//释放数据总线 TIMERST = 1;//使能DS1302 } //关闭DS1302 void TimeSpiClose(void) { TIMERST = 0;//禁止DS1302 TIMEIO = 1;//释放数据总线 TIMECLK = 1; } //读写DS1302 unsigned char TimeSpiReadWrite(unsigned char val) { unsigned char i; ACC = val;//取8位数据 for (i = 8;i > 0; i--) { TIMECLK = 0;//时钟下降沿输入数据(DS1302读) _nop_();//延时

CY = TIMEIO;//接收串行数据到CY _rrca_();//右移一位数据到CY(先存后取) TIMEIO = CY;//发送串行数据 TIMECLK = 1;//时钟上升沿打入数据(DS1302写) TIMEIO = 1;//释放数据总线 } val = ACC; return val; } //读DS1302字节 unsigned char TimeByteRead(unsigned char address) { TimeSpiOpen();//打开DS1302 TimeSpiReadWrite(address);//写入DS1302命令 address = TimeSpiReadWrite(0xff);//读入DS1302数据 TimeSpiClose();//关闭DS1302 return address;//返回数据 } //读DS1302RAM字节 unsigned char TimeRamByteRead(unsigned char address) { TimeSpiOpen();//打开DS1302 TimeSpiReadWrite((address << 1) | 0xc1);//写入DS1302命令 address = TimeSpiReadWrite(0xff);//读入DS1302数据 TimeSpiClose();//关闭DS1302 return address;//返回数据 }

晶振基础知识

晶振基础知识(第一版) 摘要:本文简单介绍了晶体谐振器和晶体振荡器的结构,工作原理,振荡器电路的分类,晶体振荡器的分类,晶振类器件的主要参数指标和石英晶体基本生产工艺流程。 一、振荡电路的定义,构成和工作原理 (2) 二. 晶体振荡器分类: (16) 三、石英晶体谐振器主要参数指标 (19) 四、石英晶体振荡器主要参数指标 (20) 五.石英晶体基本生产工艺流程 (26)

一、振荡电路的定义,构成和工作原理 1. 振荡器:不需外加输入信号,便能自行产生输出信号的电路,通常也被成为。 2. 振荡器构成:谐振器(选频或滤波)+驱动(谐振)电路构成振荡器电路。 3. 谐振器的种类有:RC 谐振器,LC 并联谐振器,陶瓷谐振器,石英(晶体)谐振器,原子谐振器,MEMS (硅)振荡器。本文只讨论石英晶体谐振器。 石英谐振器的结构 石英谐振器,它由石英晶片、电极、支架和外壳等部分组成。它的性能与晶片的切割方式、尺寸、电极的设置装架形式,以及加工工艺等有关。其中,晶片的切割问题是设计时首先要考虑的关键问题。由于石英晶体不是在任何方向都具有单一的振动模式(即单频性)和零温度系数,因此只有沿某些方向切下来的晶片才能满足设计要求。 Mounting clips Top view of cover Resonator

普通晶振内部结构 石英晶体振荡器主要由基座、晶片、IC 及外围电路、陶瓷基板(DIP OSC )、上盖组成。 普通晶体振荡器原理图 胶点 基座 晶片 Bonding 线 IC

4. 振荡电路的振荡条件: (1)振幅平衡条件是反馈电压幅值等于输入电压幅值。根据振幅平衡条件,可以确定振荡幅度的大小并研究振幅的稳定。 (2)相位平衡条件是反馈电压与输入电压同相,即正反馈。根据相位平衡条件可以确定振荡器的工作频率和频率的稳定。 (3)振荡幅度的稳定是由器件非线性保证的,所以振荡器是非线性电路。 (4)振荡频率的稳定是由相频特性斜率为负的网络来保证的。 (5)振荡器的组成必须包含有放大器和反馈网络,它们必须能够完成选频、稳频、稳幅的功能。(6)利用自偏置保证振荡器能自行起振,并使放大器由甲类工作状态转换成丙类工作状态。

DS1302时钟芯片读写详解

DS1302时钟芯片读写详解 2008-09-26 13:07 /*DS1302读写程序(C51)*/ sbit DS13CLK =P1^5; /*DS1302的SCLK脚脉冲*/ sbit DS13IO =P1^6; /*DS1302的IO脚数据*/ sbit DS13CS =P1^7; /*DS1302的RST脚片选*/ /*向DS1302写一个字节*/ void _wds13byte(uchar _code) { uchar i; DS13CLK =0; DS13CLK =0; for(i=0;i<8;i++) { if(_code&0x01) DS13IO =1; else DS13IO =0; DS13CLK =1; DS13CLK =1; DS13CLK =0; DS13CLK =0; _code =_code >> 1; } } /*从DS1302读一个字节*/ uchar _rds13byte(void) { uchar i,_code; _code=0; DS13CLK =0; DS13CLK =0; DS13IO =1; for(i=0;i<8;i++) { _code =_code >>1; if(DS13IO) _code =_code|0x80; DS13CLK =1; DS13CLK =1; DS13CLK =0; DS13CLK =0; } return _code; } /*读功能_code读功能命令*/ uchar readds1302(uchar _code)

{ DS13CS =0; /*关闭DS1302*/ DS13CLK =0; DS13CLK =0; DS13CS =1; /*使能DS1302*/ _wds13byte(_code); /*读代码*/ _code=_rds13byte(); /*返回读取数字*/ DS13CLK =1; DS13CS =0; /*关闭DS1302*/ return _code; } /*写功能fp写的地址,_code写的内容*/ void writeds1302(uchar fp,uchar _code) { DS13CS =0; /*关闭DS1302*/ DS13CLK =0; DS13CLK =0; DS13CS =1; /*使能DS1302*/ _wds13byte(fp); /*写控制命令*/ _wds13byte(_code); /*写入数据*/ DS13CLK=1; DS13CS =0; /*关闭DS1302*/ } /*******DS1302设置快速充电***************/ void ds13_charg(void) { writeds1302(0x8e,0x00); /*解除写保护*/ writeds1302(0x90,0xa5); /*单二极管2K电阻充电*/ writeds1302(0x8e,0x80); /*置位写保护*/ } ;;;DS1302读写程序(汇编);;; ;******************************************************************* **/ T_CLK Bit P1.5 ;实时时钟时钟线引脚 T_IO Bit P1.6 ;实时时钟数据线引脚 T_RST Bit P1.7 ;实时时钟复位线引脚 ;********************************************************** ;子程序名:Set1302 ;功能:设置DS1302 初始时间,并启动计时。 ;说明: ;调用:RTInputByte ;入口参数:初始时间在:Second,Minute,Hour,Day,Month,Week.YearL(地址连续) ;出口参数:无 ;影响资源:A B R0 R1 R4 R7

压控晶振原理

压控晶振原理 压控晶体振荡器简介 压控晶体振荡器全称:电压控制晶体振荡器(Voltage Controlled Crystal Oscillator),是一种与晶体谐振器串联插入变容二极管,根据外部加入的电压使二极管的容量发生变化,来达到输出频率可根据晶体谐振器的负载电容特性变化的晶体振荡器。 VCXO主要由石英谐振器、变容二极管和振荡电路组成,其工作原理是通过控制电压来改变变容二极管的电容,从而“牵引”石英谐振器的频率,以达到频率调制的目的。VCXO大多用于锁相技术、频率负反馈调制的目的。 石英晶体振荡器是由品质因素极高的石英晶体振子(即谐振器和振荡电路组成。晶体的品质、切割取向、晶体振子的结构及电路形式等,共同决定振荡器的性能。压控晶体振荡器具有以下特点: (1)低抖动或低相位噪声:由于电路结构、电源噪声以及地噪声等因素的影响,VCO的输出信号并不是一个理想的方波或正弦波,其输出信号存在一定的抖动,转换成频域后可以看出信号中心频率附近也会有较大的能量分布,即是所谓的相位噪声。VCO输出信号的抖动直接影响其他电路的设计,通常希望VCXO的抖动越小越好。 (2)宽调频范围:VCO的调节范围直接影响着整个系统的频率调节范围,通常随着工艺偏差、温度以及电源电压的变化,VCXO的锁定范围也会随着变化,因此要求VCXO有足够宽的调节范围来保证VCXO的输出频率能够满足设计的要求。 (3)稳定的增益:VCO的电压——频率非线性是产生噪声的主要原因之一,同时,这种非线性也会给电路设计带来不确定性,变化的VCXO增益会影响环路参数,从而影响环路的稳定性。因此希望VCXO的增益变化越小越好。 1.频率大小:频率越高一般价格越高。但频率越高,频差越大,从综合角度考虑,一般工程师会选用频率低但稳定的晶振,自己做倍频电路。总之频率的选择是根据需要选择,并不是频率越大就越好。要看具体需求。比如基站中一般用10MHz的恒温晶振(OCXO),因其有很

ds1302时钟程序详解-ds1302程序流程图(C程序)

ds1302时钟程序详解,ds1302程序流程图(C程序) ds1302时钟程序详解 DS1302 的控制字如图2所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始 输出。 2.3 数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从 低位0位到高位7。 2.4 DS1302的寄存器 DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日 历、时间寄存器及其控制字见表1。 此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RA M的31个字节,命令控制字为FEH(写)、FFH(读)。

ds1302程序流程图 3.2 DS1302实时时间流程 图4示出DS1302的实时时间流程。根据此流程框图,不难采集实时时间。下面结合流程图对DS1302的基 本操作进行编程:

晶振基础知识

1、晶体元件参数 1.1等效电路 作为一个电气元件,晶体是由一选定的晶片,连同在石英上形成电场能够导电的电极及防护壳罩和内部支架装置所组成。 晶体谐振器的等效电路图见图1。 等效电路由动态参数L 1、C 1、R 1和并电容C 0组成。这些参数之间都是有联系的,一个参数变化时可能会引起其他参数变化。而这些等效电路的参数值跟晶体的切型、振动模式、工作频率及制造商实施的具体设计方案关系极大。 下面的两个等式是工程上常用的近似式: 角频率ω=1/11C L 品质因数Q=ωL 1/R 1 其中 L1为等效动电感,单位mH C1为等效电容,也叫动态电容,单位fF R1为等效电阻,一般叫谐振电阻,单位Ω 图2、图3、图4给出了各种频率范围和各种切型实现参数L 1、C 1、R 1的范围。 图2常用切型晶体的电感范围 图3 常用切型的电容范围 对谐振电阻来说,供应商对同一型号的任何一批中可以有3:1的差别,批和批之间的差别可能会更大。对于一给定的频率,采用的晶体盒越小,则R 1和L 1的平均值可能越高。

1.2 晶体元件的频率, 晶体元件的频率通常与晶体盒 尺寸和振动模式有关。一般晶体尺 寸越小可获得的最低频率越高。晶 体盒的尺寸确定了所容纳的振子的 最大尺寸,在选择产品时应充分考 虑可实现的可能性,超出这个可能 范围,成本会急剧增加或成为不可 能,当频率接近晶体盒下限时,应与 供应商沟通。下表是不同晶体盒可 实现的频率范围。 图4 充有一个大气压力气体 (90%氮、10%氦) 的气密晶体元件的频率、切型和电阻范围 1.3 频差 规定工作温度范围及频率允许偏差。 电路设计人员可能只规定室温频差,但对于在整个工作温度范围内要求给定频差的应 用,除了给定室温下的频差还应给出整个工作温度范围内的频差。给定这个频差时,应充分 考虑设备引起温升的容限。 通常有两种方法规定整个工作温度范围的频差。 1)规定总频差 如从-10℃—+85℃,总频差为±50×10-6,通常这种方法一般用于具有较宽频差而不采

晶振的作用与原理以及负载电容

晶振的作用与原理 每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。 晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。 晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。 晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。 下面我就具体的介绍一下晶振的作用以及原理,晶振一般采用如图1a的电容三端式(考毕兹) 交流等效振荡电路;实际的晶振交流等效电路如图1b,其中Cv是用来调节振荡频率,一般用变容二极管加

上不同的反偏电压来实现,这也是压控作用的机理;把晶体的等效电路代替晶体后如图1c。其中Co,C1,L1,RR是晶体的等效电路。 分析整个振荡槽路可知,利用Cv来改变频率是有限的:决定振荡频率的整个槽路电容C=Cbe,Cce,Cv三个电容串联后和Co并联再和C1串联。可以看出:C1越小,Co越大,Cv变化时对整个槽路电容的作用就越小。因而能“压控”的频率范围也越小。实际上,由于C1很小(1E-15量级),Co不能忽略(1E-12量级,几PF)。所以,Cv变大时,降低槽路频率的作用越来越小,Cv变小时,升高槽路频率的作用却越来越大。这一方面引起压控特性的非线性,压控范围越大,非线性就越厉害;另一方面,分给振荡的反馈电压(Cbe上的电压)却越来越小,最后导致停振。通过晶振的原理图你应该大致了解了晶振的作用以及工作过程了吧。采用泛音次数越高的晶振,其等效电容C1就越小;因此频率的变化范围也就越小。 微控制器的时钟源可以分为两类:基于机械谐振器件的时钟源,如晶振、陶瓷谐振槽路;RC(电阻、电容)振荡器。一种是皮尔斯振荡器配置,适用于晶振和陶瓷谐振槽路。另一种为简单的分立RC振荡器。 用万用表测量晶体振荡器是否工作的方法:测量两个引脚电压是否是芯片工作电压的一半,比如工作电压是51单片机的+5V则是否

ds1302时钟程序详解经典

dsl302时钟程序详解经典 dsl302时钟程序详解 DS1302的控制字如图2所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始 2.3数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0 位到高位7o 2.4 DS1302的寄存器 DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位 为BCD码形式,其日历、 时间寄存器及其控制字见表1。

? I日历?別间襦存祁及凡担制孑 fir* 野擅"itwtr 収他总cn - T ?fsy网 移 e S』3 2 1 0 林斶 son8!ll00-59 f.H IUSVX SIX X2H S3II oum(1Mh、 MH K4H851101 \2A12 24? 10 IIH HK MhH M7II01 -2S.2V, W-Jl ?o imiAre 8SH WII03 - !2(11) 0 IUM MOYI1I AAII8HH ni(i II ? 0 0h\V 8LH Mill OQ ? 9910YLAH 此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器 及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为COH, FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 dsl302程序流程图

DS1302时钟芯片的原理与应用

DS1302 时钟芯片的原理与应用 1 写保护寄存器操作 当写保护寄存器的最高位为0 时,允许数据写入寄存器,写保护寄存器可以通过命令字节8E 8F 来规定禁止写入/读出。写保护位不能在多字节传送模式下写入Write_Enable: MOV Command,#8Eh ;命令字节为8E MOV ByteCnt,#1 ;单字节传送模式 MOV R0,#XmtDat 数据地址覆给R0 MOV XmtDat,#00h 数据内容为0 写入允许 ACALL Send_Byte 调用写入数据子程序 RET 返回调用本子程序处 当写保护寄存器的最高位为1 时禁止数据写入寄存器 Write_Disable: MOV Command,#8Eh ;命令字节为8E MOV ByteCnt,#1 ;单字节传送模式 MOV R0,#XmtDat 数据地址覆给R0 MOV XmtDat,#80h 数据内容为80h 禁止写入 ACALL Send_Byte 调用写入数据子程序 RET 返回调用本子程序处 以上程序调用了基本数据发送(Send_Byte)模块及一些内存单元定义, 其源程序清单在附录中给出下面 的程序亦使用了这个模块 2 时钟停止位操作 当把秒寄存器的第7 位时钟停止位设置为0 时起动时钟开始 Osc_Enable: MOV Command,#80h ; 命令字节为80 MOV ByteCnt,#1 ; 单字节传送模式 MOV R0,#XmtDat 数据地址覆给R0 MOV XmtDat,#00h 数据内容为0 振荡器工作允许 ACALL Send_Byte 调用写入数据子程序 RET 返回调用本子程序处 当把秒寄存器的第7 位时钟停止位设置为1 时,时钟振荡器停止DS1320 进入低功耗方式 Osc_Disable: MOV Command,#80h ;命令字节为80 MOV ByteCnt,#1 ;单字节传送模式 MOV R0,#XmtDat 数据地址覆给R0 MOV XmtDat,#80h 数据内容为80h 振荡器停止 ACALL Send_Byte 调用写入数据子程序 RET 返回调用本子程序处 3. 多字节传送方式

晶振作用详细介绍

采购原装晶振就上万联芯城,万联芯城专供国内外优秀品牌晶振,谐振器等产品,主打sitime,YXC等品牌,为客户提供一站式电子元器件采购服务,节省采购成本。点击进入万联芯城 点击进入万联芯城

电路中的晶振有什么作用? 电路中的晶振即石英晶体震荡器。 由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。 石英晶体震荡器的应用范围是非常广的,它质量等级、频率精度也是差别很大的。通讯系统用的信号发生器的信号源(震荡源),绝大部分也用的是石英晶体震荡器。 晶振是石英振荡器的简称,英文名为Crystal,它是时钟电路中最重要的部件,它的主要作用是向显卡、网卡、主板等配件的各部分提供基准频率,它就像个标尺,工作频率不稳定会造成相关设备工作频率不稳定,自然容易出现问题。 晶振还有个作用是在电路产生震荡电流,发出时钟信号. 晶振是晶体振荡器的简称。它用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。

振在数字电路的基本作用是提供一个时序控制的标准时刻。数字电路的工作是根据电路设计,在某个时刻专门完成特定的任务,如果没有一个时序控制的标准时刻,整个数字电路就会成为“聋子”,不知道什么时刻该做什么事情了。 晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。 晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。 电路中,为了得到交流信号,可以用RC、LC谐振电路取得,但这些电路的振荡频率并不稳定。在要求得到高稳定频率的电路中,必须使用石英晶体振荡电路。石英晶体具有高品质因数,振荡电路采用了恒温、稳压等方式以后,振荡频率稳定度可以达到10^(-9)至10^(-11)。广泛应用在通讯、时钟、手表、计算机……需要高稳定信号的场合。 石英晶振不分正负极, 外壳是地线,其两条不分正负

晶振电路原理介绍

晶体振荡器,简称晶振。在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。 晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。 一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。 一般的晶振的负载电容为15p或12.5p ,如果再考虑元件引脚的等效输入电容,则两个22p的电容构成晶振的振荡电路就是比较好的选择。 晶体振荡器也分为无源晶振和有源晶振两种类型。无源晶振与有源晶振(谐振)的英文名称不同,无源晶振为crystal(晶体),而有源晶振则叫做oscillator(振荡器)。无源晶振需要借助于时钟电路才能产生振荡信号,自身无法振荡起来,所以“无源晶振”这个说法并不准确;有源晶振是一个完整的谐振振荡器。 谐振振荡器包括石英(或其晶体材料)晶体谐振器,陶瓷谐振器,LC谐振器等。

晶振与谐振振荡器有其共同的交集有源晶体谐振振荡器。 石英晶片所以能做振荡电路(谐振)是基于它的压电效应,从物理学中知道,若在晶片的两个极板间加一电场,会使晶体产生机械变形;反之,若在极板间施加机械力,又会在相应的方向上产生电场,这种现象称为压电效应。如在极板间所加的是交变电压,就会产生机械变形振动,同时机械变形振动又会产生交变电场。一般来说,这种机械振动的振幅是比较小的,其振动频率则是很稳定的。但当外加交变电压的频率与晶片的固有频率(决定于晶片的尺寸)相等时,机械振动的幅度将急剧增加,这种现象称为压电谐振,因此石英晶体又称为石英晶体谐振器。其特点是频率稳定度很高。 石英晶体振荡器与石英晶体谐振器都是提供稳定电路频率的一种电子器件。石英晶体振荡器是利用石英晶体的压电效应来起振,而石英晶体谐振器是利用石英晶体和内置IC来共同作用来工作的。振荡器直接应用于电路中,谐振器工作时一般需要提供3.3V电压来维持工作。振荡器比谐振器多了一个重要技术参数为:谐振电阻(RR),谐振器没有电阻要求。RR 的大小直接影响电路的性能,也是各商家竞争的一个重要参数。 概述 微控制器的时钟源可以分为两类:基于机械谐振器件的时钟源,如晶振、陶瓷谐振槽路;基于相移电路的时钟源,如:RC (电阻、电容)振荡器。硅振荡器通常是完全集成的RC振荡器,为了提高稳定性,包含有时钟源、匹配电阻和电容、温度补偿等。图1给出了两种时钟源。图1给出了两个分立的振荡器电路,其中图1a为皮尔斯振荡器配置,用于机械式谐振器件,如晶振和陶瓷谐振槽路。图1b为简单的RC反馈振荡器。 机械式谐振器与RC振荡器的主要区别 基于晶振与陶瓷谐振槽路(机械式)的振荡器通常能提供非常高的初始精度和较低的温 度系数。相对而言,RC振荡器能够快速启动,成本也比较低,但通常在整个温度和工作电源电压范围内精度较差,会在标称输出频率的5%至50%范围内变化。图1所示的电路能产生可靠的时钟信号,但其性能受环境条件和电路元件选择以及振荡器电路布局的影响。需认真对待振荡器电路的元件选择和线路板布局。在使用时,陶瓷谐振槽路和相应的负载电容必须根据特定的逻辑系列进行优化。具有高Q值的晶振对放大器的选择并不敏感,但在过驱动时很容易产生频率漂移(甚至可能损坏)。影响振荡器工作的环境因素有:电磁干扰(EMI)、机械震动与冲击、湿度和温度。这些因素会增大输出频率的变化,增加不稳定性,并且在有些情况下,还会造成振荡器停振。 振荡器模块 上述大部分问题都可以通过使用振荡器模块避免。这些模块自带振荡器、提供低阻方波

单片机ds1302程序

#include #include #define uchar unsigned char #define uint unsigned int sbit LCD1602_E=P3^6; sbit LCD1602_RW=P3^5; sbit LCD1602_RS=P3^4; sbit DSIO=P0^7; sbit RST=P0^5; sbit SCLK=P0^6; extern uchar TIME[7]; void Ds1302Write(uchar addr, uchar dat); uchar Ds1302Read(uchar addr); void Ds1302Init(); void Ds1302ReadTime(); void Lcd1602_Delay1ms(uint c); //误差0us void LcdWriteCom(uchar com); void LcdWriteData(uchar dat) ; void LcdInit(); void LcdDisplay(); uchar code READ_RTC_ADDR[7] = {0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d}; uchar code WRITE_RTC_ADDR[7] = {0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c}; uchar TIME[7] = {0, 0, 0x12, 0x01, 0x01, 0x02, 0x13}; void main() { LcdInit(); Ds1302Init(); while(1) { Ds1302ReadTime(); LcdDisplay(); } } void Ds1302Write(uchar addr, uchar dat) { uchar n; RST = 0; _nop_(); SCLK = 0;//先将SCLK置低电平。

晶振基础知识

晶振基础知识

晶振基础知识(第一版) 摘要:本文简单介绍了晶体谐振器和晶体振荡器的结构,工作原理,振荡器电路的分类,晶体振荡器的分类,晶振类器件的主要参数指标和石英晶体基本生产工艺流程。 一、振荡电路的定义,构成和工作原理 (3) 二. 晶体振荡器分类: (23) 三、石英晶体谐振器主要参数指标 (27) 四、石英晶体振荡器主要参数指标 (30) 五.石英晶体基本生产工艺流程 (43)

一、振荡电路的定义,构成和工作原理 1. 振荡器:不需外加输入信号,便能自行产生输出信号的电路,通常也被成为。 2. 振荡器构成:谐振器(选频或滤波)+驱动(谐振)电路构成振荡器电路。 3. 谐振器的种类有:RC谐振器,LC并联谐振器,陶瓷谐振器,石英(晶体)谐振器,原子谐振器,MEMS(硅)振荡器。本文只讨论石英晶体谐振器。石英谐振器的结构 石英谐振器,它由石英晶片、电极、支架和外壳等部分组成。它的性能与晶片的切割方式、尺寸、电极的设置装架形式,以及加工工艺等有关。其中,晶片的切割问题是设计时首先要考虑的关键问题。由于石英晶体不是在任何方向都具有单一的振动模式(即单频性)和零温度系数,因此只有沿某些方向切下来的晶片才能满足设计要求。

普通晶振内部结构 Base Mounting clips Bonding area Electrodes Quartz blank Cover Seal Pins Top view of cover Metallic electrodes Resonator plate substrate (the “blank”)

最新ds1302时钟程序详解 含电路图 源程序 注释资料

以下资料摘自电子发烧友网感谢作者,版权归网站所有,资料仅供参考 ds1302时钟程序详解 DS1302 的控制字如图2所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。 2.3 数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。 2.4 DS1302的寄存器 DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表1。

此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 ds1302程序流程图

3.2 DS1302实时时间流程 图4示出DS1302的实时时间流程。根据此流程框图,不难采集实时时间。下面结合流程图对DS1302的基本操作进行编程:

晶振的工作原理

晶振的工作原理 一、什么是晶振? 晶振是石英振荡器的简称,英文名为Crystal,它是时钟电路中最重要的部件,它的主要作用是向显卡、网卡、主板等配件的各部分提供基准频率,它就像个标尺,工作频率不稳定会造成相关设备工作频率不稳定,自然容易出现问题。 晶振还有个作用是在电路产生震荡电流,发出时钟信号. 晶振是晶体振荡器的简称。它用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。 晶振在数字电路的基本作用是提供一个时序控制的标准时刻。数字电路的工作是根据电路设计,在某个时刻专门完成特定的任务,如果没有一个时序控制的标准时刻,整个数字电路就会成为“聋子”,不知道什么时刻该做什么事情了。 晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。 晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。

电路中,为了得到交流信号,可以用RC、LC谐振电路取得,但这些电路的振荡频率并不稳定。在要求得到高稳定频率的电路中,必须使用石英晶体振荡电路。石英晶体具有高品质因数,振荡电路采用了恒温、稳压等方式以后,振荡频率稳定度可以达到10^(-9)至10 ^(-11)。广泛应用在通讯、时钟、手表、计算机……需要高稳定信号的场合。 石英晶振不分正负极, 外壳是地线,其两条不分正负 二、晶振的使用 晶振,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。 晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。 一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容

晶振选型与应用知识

石英晶振选型与应用知识 石英晶体是压电晶体的一种,沿着特定的方向挤压或拉伸,它的两端会产生正负电荷,这种效应称为正压电效应;相反,对晶体施加电场导致晶体形变的效应,称为逆压电效应。所以在石英晶片两面施加交变电场,晶片就会产生形变,而形变又会产生电场,这是一个周期转换的过程。对于特定的晶片,这个周期是固定的,我们利用这个周期来产生稳定的基准时钟信号。 石英晶体元器件,是利用石英晶体的压电效应实现频率控制、稳定或选择的关键电子元器件。包括石英晶体谐振器、石英晶体振荡器和石英晶体滤波器。在石英晶片的两面镀上电极,经过装架、调频、封装等工序后制成石英晶体元件。石英晶体元件与集成电路等其它电子元件组合成石英晶体器件。本文主要介绍石英晶振:即所谓石英晶体谐振器(无源晶振)和石英晶体振荡器(有源晶振)的统称。一般的概念中把晶振就等同于谐振器理解了,振荡器就是通常所指钟振。石英晶振是一种用于稳定频率和选择频率的电子元件,已被广泛地使用在无线电话、载波通讯、广播电视、卫星通讯、仪器仪表等各种电子设备中. 一、石英晶振的型号命名方法 1.国产石英晶体谐振器的型号由三部分组成: –第一部分:表示外壳形状和材料, B表示玻璃壳,J表示金属壳,S表示塑料封型; –第二部分:表示晶片切型,与切型符号的第一个字母相同, A表示AT切型、B表示BT切型, –第三部分:表示主要性能及外形尺寸等, 一般用数字表示,也有最后再加英文字母的。 JA5为金属壳AT切型晶振元件,BA3为玻壳AT切型晶振元件。 2石英晶体振荡器的型号命名有四部分组成: .

–第一部分:主称 用大写字母Z表示石英晶体振荡器; –第二部:类别 用大写字母表示,其意义见下表: –第三部分:频率稳定度等级 用大写字母表示,其意义见下表: –第四部分:序号 用数字表示,以示产品结构性能参数的区别

51单片机DS1302日历时钟程序

51 单片机ds1302 时钟芯片 #define uint unsigned int #define uchar unsigned char sbit lcdrs = P1^0; sbit lcdrw = P1^1; sbit lcden = P1^2; sbit key0 = P2^0;//功能键,选择时分秒 sbit key1 = P2^1;//加1键 sbit key2 = P2^2;//减1键 sbit key4 = P2^4; sbit clk_1302 = P1^5; //1302芯片位定义sbit io_1302 = P1^6; sbit rst_1302 = P1^7; uchar bdata dat; sbit dat0 = dat^0; sbit dat7 = dat^7; uchar key0_count;//按键0被按的次数(0~3) uchar flag; char hour,minute,second; uchar table_date[] = "2009-4-12 Mon"; uchar table_time[] = "00:00:00"; /****** 函数申明********/ void write_cmd_1602(uchar cmd); void write_data_1602(uchar dat); void write_add(uchar add,uchar dat); void init1602(); void delay(uint z); uchar reverse(uchar c); void keyscan(); void init(); void RTC_initial (); void wr_1302(uchar wr_data); uchar rd_1302(void); uchar uc_R1302(uchar ucAddr); void v_W1302(uchar ucAddr, uchar ucDa); 主程序 #include

DS1302程序

#include #include #define uchar unsigned char #define uint unsigned int uchar count_10ms; //定义10ms计数器 sbit K1 = P3^2; //定义K1键 sbit K2 = P3^3; //定义K2键 sbit K3 = P3^4; //定义K3键 sbit K4 = P3^5; //定义K4键 sbit BEEP=P3^7; //定义蜂鸣器 sbit reset = P1^2; sbit sclk = P1^0; sbit io = P1^1; sbit LCD_RS=P2^0; sbit LCD_RW=P2^1 ; sbit LCD_EN=P2^2; bit K1_FLAG=0; //定义按键标志位,当按下K1键时,该位置1,K1键未按下时,该位为0。 uchar code line1_data[] = {"---LCD Clcok---"}; //定义第1行显示的字符 uchar code line2_data[] = {"****"}; //定义第2行显示的字符 uchar disp_buf[8] ={0x00}; //定义显示缓冲区 uchar time_buf[7] ={0,0,0x12,0,0,0,0}; //DS1302时间缓冲区,存放秒、分、时、日、月、星期、年 uchar temp [2]={0}; //用来存放设置时的小时、分钟的中间值 /********以下是函数声明********/ void Delay_ms(uint xms) ; bit lcd_busy(); void lcd_wcmd(uchar cmd); void lcd_wdat(uchar dat) ; void lcd_clr() ; void lcd_init() ; void write_byte(uchar inbyte); //写一字节数据函数声明 uchar read_byte(); //读一字节数据函数声明 void write_ds1302(uchar cmd,uchar indata); //写DS1302函数声明 uchar read_ds1302(uchar addr); //读DS1302函数声明 void set_ds1302(uchar addr,uchar *p,uchar n); //设置DS1302初始时间函数声明 void get_ds1302(uchar addr,uchar *p,uchar n); //读当前时间函数声明 void init_ds1302(); //DS1302初始化函数声明 /********以下是延时函数********/ void Delay_ms(uint xms) { uint i,j;

相关文档
最新文档