PIC芯片晶振设计

合集下载

单片机晶振电路原理图

单片机晶振电路原理图

单片机晶振电路原理图
单片机晶振电路的原理图如下:
[晶振电路原理图]
在原理图中,我们可以看到一个晶振元件被连接到一个单片机上。

晶振元件包括四个引脚:两个供电引脚(VCC和GND),一个输出引脚(OUT),以及一个输入引脚(IN)。

VCC和GND引脚分别连接到单片机的供电电源,用于为晶振
元件提供电源。

OUT引脚连接到单片机的晶振输入引脚,用
于向单片机提供晶振信号。

IN引脚则连接到单片机的晶振输
出引脚,用于接收单片机的反馈信号。

晶振元件起到了一个产生稳定的振荡频率的作用。

当VCC和GND引脚被连接到电源后,晶振元件开始振荡,将振荡信号
通过OUT引脚输出。

单片机接收到这个振荡信号后,会根据
反馈信号通过IN引脚调整晶振元件的振荡频率,从而保持稳
定的振荡。

通过晶振电路,单片机能够根据振荡信号来确定时间的基准,进而实现各种功能。

这是单片机工作的基础。

pic 外部晶振

pic 外部晶振

pic 外部晶振
pic 外部晶振是指在 PIC
单片机系统中,通过外部连接一个晶振来为系统提供时钟信号。

这种配置方式可以提供更精确的时钟信号,从而提高系统的稳定性和性能。

以下是 pic 外部晶振的连接方法:
1. 选择合适的晶振
根据系统需要,选择合适频率和容量的晶振。

常见的晶振频率有
4MHz、8MHz、12MHz 等。

容量的选择主要取决于系统对时钟精度的要求。

2. 连接晶振
将晶振的两个引脚分别连接到 PIC
单片机的两个XTAL引脚(通常是XTAL1和XTAL2)。

3. 连接电容
在晶振的两个引脚上分别连接一个电容,用于稳定频率和减小噪声干扰。

电容的容量通常在 10pF 到 50pF 之间,电容的选取应考虑晶振的频率和容量。

4. 配置单片机
在 PIC 单片机的配置中,需要将 XTAL 的类型设置为“External Crystal Oscillator”,并设置合适的振荡器电容。

5. 通电测试
连接电源并通电测试,观察单片机的时钟信号是否正常。

如果需要调整时钟频率,可以通过调整晶振的容量或更换不同频率的晶振来实现。

需要注意的是,pic
外部晶振的连接和配置需要一定的电子技术和硬件知识,如果不熟悉相关技术,建议寻求专业人员的帮助。

PIC单片机的内部RC振荡器的校准介绍

PIC单片机的内部RC振荡器的校准介绍

在PIC的单片机中有多种型号有内部RC振荡器的功能,从而省去了晶振,不但节省了成本,并且我们还多了两个IO端口可以使用。

但是,由于RC振荡器中电阻、电容的离散性很大,因此,在有内部RC振荡器的单片机中,它的内部RAM中都会有一个名为OSCCAL的校准寄存器,通过置入不同的数值来微调RC振荡器的振荡频率。

并且,单片机的程序存储器中,也会有一个特殊的字来储存工厂生产时测得的校准值。

下面我以常用的12C508A和12F629为例加以说明。

12C508A的复位矢量是程序的最高字0x1FF,这个字节生产商已经固定的烧写为MOV LW 0xXX,指令执行后,W寄存器中即为校准值XX,当我们需要校准时,那么,在紧接着的地址0x0应该是一条这样的指令:MOVWF OSCCAL。

接下去RC振荡器就会以标准的振荡频率运行了。

12F629的校准值也存放在最高字--0x3FF中,内容是RETLW 0xXX,但它的复位矢量却是0x0。

这样,在我们需要校准RC振荡器时,在初始化过程中要加上下面两句:CALL 0x3ffMOV WF OSCCAL当然,你还要注意寄存器的块选择位。

以前,我在做项目时,没太注意这个问题,这是因为在使用12C508A时,HI-TECH在进行编译时已经偷偷地替我们做了这项工作。

它会在程序的0x0处自动加一条MOV WF OSCCAL。

用12F629做接收解码代替2272时也没发生什么问题,但是在用被它作滚动码解码器时却发现接收距离的离散性很大。

经多次试验终于找出是没对振荡器的振荡频率进行校正所至。

因此,需要另外编写用于校正的语句,我用了两种方法来实现这个目的:1、用内嵌汇编的形式#asm //此段汇编程序用于将位于程序段3FFH的call 3ffh //内部RC振荡器的校准值放入校准寄存器,bsf _STATUS,5 //在进行C语言调试时应屏蔽这段程序MOV wf _OSCCAL#endasm2、用C语言标准形式const unsigned char cs @ 0x3ff; //在函数体外...OSCCAL=cs; //仿真时屏蔽此句用这两种方法都有一个小缺陷--仿真时,程序无法运行,这是由于C编译器并没有为我们在0x3FF 放置一条RETLW 0xXX的语句。

PIC芯片知识摘要陈老师20131104

PIC芯片知识摘要陈老师20131104

知识要点如何配置时钟?分析:《18fxx系列芯片手册》的第2章显示,震荡器类型有8种,根据资料中的要点,结合开发板原理图中晶振的电路图,可以初步判断采用HS模式。

如图1所示。

从晶振频率16MHZ,电容22P可以判断得到。

该配置如果按默认的XS配置,将导致开发板无法正常工作,比如LED灯不亮等。

可通过Configure Bit选项设置。

图1手册中晶振的连接方式如何配置低电压检测模式?分析:低电压检测的目的,是放置电源电压不足,因而设定一个有效的电压范围,如图2所示,当电压下降到Va的时候,系统中断,开始关闭系统,到达VB电压时,系统已经关闭。

TA和TB时间段,就是系统关闭的时间段。

该设置一般用于电池供电,对于用电线供电方式,可用可不用。

可在Configure bit选项中设置该模式。

图2 低电压检测机理如何设置看门狗?分析:在做仿真的时候,需把看门狗关闭,不然会引发中断复位。

可在Configure Bit中关闭watch dog。

4,如何设置中断?分析:18F452芯片中断向量有两个,分为高优先级中断(中断入口地址:000008h)和低优先级中断(中断入口地址:000018h)。

除了INT0中断外,其他中断均需有三个控制位:1,中断标志位;2,中断使能位;3,优先级选择位。

从图3可知,要让time0中断,必须配置好TMR0IF,TMR0IE,TMR0IP和GIEH/GIE等控制寄存器位。

而RB按键中断对应INT0中断,则必须配置好INT0IF和INT0IE和GIEH/GIE等控制寄存器位。

LAT(输出锁存)图3 中断原理图如何配置IO PORTS分析:一般涉及到两个寄存器:TRIS(方向控制寄存器),PORT(数据寄存器)。

通过设置TRIS的方向,来决定是往PORT写数据,还是读数据。

TIMER0的信息如何?分析:其特性如图所示。

其寄存器如图所示,可设置8或者16定时或者计数模式,可设置预分频等。

PIC单片机的内部RC振荡器的校准介绍

PIC单片机的内部RC振荡器的校准介绍

PIC单片机的内部RC振荡器的校准介绍在PIC的单片机中有多种型号有内部RC振荡器的功能,从而省去了晶振,不但节省了成本,并且我们还多了两个IO端口可以使用。

但是,由于RC振荡器中电阻、电容的离散性很大,因此,在有内部RC振荡器的单片机中,它的内部RAM中都会有一个名为OSCCAL的校准寄存器,通过置入不同的数值来微调RC振荡器的振荡频率。

并且,单片机的程序存储器中,也会有一个特殊的字来储存工厂生产时测得的校准值。

下面我以常用的12C508A和12F629为例加以说明。

12C508A的复位矢量是程序的最高字0x1FF,这个字节生产商已经固定的烧写为MOV LW0xXX,指令执行后,W寄存器中即为校准值XX,当我们需要校准时,那么,在紧接着的地址0x0应该是一条这样的指令:MOVWF OSCCAL。

接下去RC振荡器就会以标准的振荡频率运行了。

12F629的校准值也存放在最高字--0x3FF中,内容是RETLW0xXX,但它的复位矢量却是0x0。

这样,在我们需要校准RC振荡器时,在初始化过程中要加上下面两句:CALL0x3ffMOV WF OSCCAL当然,你还要注意寄存器的块选择位。

以前,我在做项目时,没太注意这个问题,这是因为在使用12C508A时,HI-TECH在进行编译时已经偷偷地替我们做了这项工作。

它会在程序的0x0处自动加一条MOV WF OSCCAL。

用12F629做接收解码代替2272时也没发生什么问题,但是在用被它作滚动码解码器时却发现接收距离的离散性很大。

经多次试验终于找出是没对振荡器的振荡频率进行校正所至。

因此,需要另外编写用于校正的语句,我用了两种方法来实现这个目的:1、用内嵌汇编的形式#asm//此段汇编程序用于将位于程序段3FFH的call3ffh//内部RC振荡器的校准值放入校准寄存器,bsf_STA TUS,5//在进行C语言调试时应屏蔽这段程序MOV wf_OSCCAL#endasm2、用C语言标准形式const unsigned char cs@0x3ff;//在函数体外...OSCCAL=cs;//仿真时屏蔽此句用这两种方法都有一个小缺陷--仿真时,程序无法运行,这是由于C编译器并没有为我们在0x3FF 放置一条RETLW0xXX的语句。

PIC单片机的振荡电路设计

PIC单片机的振荡电路设计

是 串联 一个5 或 l k k O 的微调 电阻 ,从0 始慢 开 慢 调 高 ,一 直 到 正 弦 波 不 再 被 削 平 为 止 。 通
过 此 办 法 就 可 以找 到 最 接 近 的 电阻 R 值 。 S 二 、晶 振 与 电容 的选 择 晶体 具 有 两 种 谐 振 模 式 : 串联 ( 个 频 率 两
・ ・


低 电 压
一 …- l t _~
’ ’ … … … ●


高温 从 休眠 状 态 唤 醒 实 际 上 , 噪 声 有 助 于激 励 振 荡 器 , 而 有
・ ・
晶 振 的 负 载 电 容 选 择 方 面 , 晶 振 的 负 载 电容=[ C * g /( d C ) + i + 式 中 ( d C ) C + g ] c C Ac : XX* 女 C d,C 为分 别 接 在 晶 振 的两 个 脚上 和 对 地 g 的 电容 ,a Ci 集成 电路 内部 电容 )+ = C( △C 图1 ( C 上 电容 ) 。 如 果 负 载 电 容 为 l p 的 , 两 PB 5F 注l :对 于A 条 形 切 割 (T S r p C t T A t i u ) 边 的匹配 电容 接2 p 的差 不 多 了 ( 般 a 7F 一 为 的 晶体 可 能 需要 一 串联 电 阻R ; 个 s 6 5 1 . p ) 。在 P B 上 ,外 接 晶 体 的 引 . ~ 35 F C板 2 :反 馈 电 阻 R , 典 型 值 为 2 1 MQ F — 0 线 越 短 越 好 ( 量 减 少 P B 上 的 电容 ) , 且 尽 C板 3 :根 据 器 件 不 同 ,内 部 逻 辑 的 缓 冲 器 晶 体 下 面 要 有 对 地 覆 铜 且 不 走 信 号 线 , 当 晶 可置于反相器 的输入端 或输 出端。 电 阻R 用 来 防 止 晶 振 被 过 分 驱 动 , 过 分 体 频 率 较 高 时 ,尽 量 使 晶 体 的 引 线 长 度 相 同 S 且 对称 。 驱 动 晶振会渐 渐损耗 减少 晶振 的接触 电镀 , P C中 档 单 片 机 负 载 电容 一 般 取 值 为 I 这 将 引起 频 率 的 上 升 如 果 晶 体 过 驱 动 , 这 时 5 0F 1 2 就 需 要 用 电 阻 R 来 防 止 晶 振 被 过 分 驱 动 。 可 1 ~3 p 。若采 用一个 大于C 的c 值 ,这使 s 用 示波器检测O c 出脚 ,如果 检测一非常清 得在上 电时 ,对通 过 晶体 的振 荡信 号会 产生 S输 晰 的 正 弦 波 , 且 正 弦 波 的 上 限 值 和 下 限 值 都 较 大 的相移 ,加速 振荡 器 的起 振 ,从而可 以 缩 短 晶振 的起 振时 间。C 和C 如采 用较 大的 1 2 符 合时钟输 入 需要 ,则晶振 未被 过分 驱动 ; 相 反 , 如 果 正 弦 波 形 的 波 峰 , 波 谷 两 端 被 电 容 值 有 利 于 提 高 晶 体 振 荡 器 的 稳 定 性 , 但 削平 ,而使 波 形成为方 形 ,则 晶振 被过 分驱 同时延 长 了起 振时 间 ,对 于 晶体负载 电容 容 1C 电容选 择上至 动 。 这 时 就 需 要 用 电阻 R 来 防 止 晶 振 被 过 分 值 的确 定要综合考 虑 。在c , 2 s 谐振 器起 振 驱动 。判 断电阻R 值 大小 的最简单 的方 法就 少 因考虑如下 一些因素 。振 荡器/ s

PIC单片机的晶振接法详解

PIC单片机的晶振接法详解

PIC 单片机的晶振接法详解
PIC 单片机有4 种振荡模式:
Blocked Ad
具体翻译过来什幺意思,大家自己去领会,翻译出来就没意思了。

这里告诉大家两个单词的含义,有助于理解:
Crystal:晶体
Oscillator:振荡器
Crystal Oscillator:晶体振荡器,简称晶振
晶振是个器件,接上相关电路后它就会振动,就像心脏跳动的脉搏一样,正常工作的心脏跳动是有规律的脉搏,所以正常工作的晶振也是有规律的波形。

晶振就是单片机的心脏,只不过这个心脏多数时候在外边,不在单片机内部(有些单片机除外)。

心脏跳动就是脉搏,晶振跳动就叫振荡,用示波器都可以看到他们的波形。

第一种晶振接法:
以PIC16F877 为例,常用的是这种接法。

PIC学习心得

PIC学习心得

PIC学习心得本次心得为PIC18F25K22上的代码零、配置CPU 的特殊功能,地址从300000开始,如以下,有晶振选择,复位功能,看门狗配置,调试口rb7-rb6的配置,因为RB6-RB7为串口2的端口,需要对应为位=1才能使得他们可以用于普通io,其实单片机默认也是1.对于已经用于特殊功能的引脚,比如已经配置了引脚为I2C功能,如果要配置为普通IO时,需要将I2C失能掉,SSPXCON1=0X00;这样才能正常使用这2个IO口了如果要使单片机使用内部晶振,就需要将对应的OSCCON位置1IRCF<2:0>:内部RC 振荡器频率选择位(2)IRCF<2:0>=111 = HFINTOSC – (16 MHz)OSTS=0 = 器件依靠内部振荡器(HFINTOSC、MFINTOSC 或LFINTOSC)运行OSCCON2默认使用内部晶振时,频率会随温度漂移,使用波特率的时候要注意了,最好使用外部晶振PWDX默认,使外围功能使能#pragma romdata CONFIG1H=0x300001 //晶振const rom unsigned char config1H = 0x0a; //setting for HS oscillator中档功耗#pragma romdata CONFIG2L=0x300002 //复位const rom unsigned char config2L = 0x00;#pragma romdata CONFIG2H=0x300003const rom unsigned char config2H = 0x1e; //WDT#pragma romdata CONFIG3H=0x300005//配置一些端口的映射const rom unsigned char config3H = 0x00; //禁用复位脚,开始为CPU提供时钟而无需等待#pragma romdata CONFIG4L=0x300006//最高位为1,RB6 和RB7用于普通IO 口const rom unsigned char config4L = 0x80; //RB6 和RB7专用于在线调试#pragma romdata一、中断配置,PIC只有高低2个优先级,对应的函数有2个,函数地址为0X08和0X18中断配置,一下为高低优先级配置RCONbits.IPEN=1;//使能中断优先级,如果IPEN配置为0,没有中断优先级,所有优先级都为高,调到0x08地址的中断INTCONbits.GIE=1;//=允许所有高优先级中断INTCONbits.PEIE=1;//=允许所有低优先级的中断2、中断函数写法高优先级地址为0X08#pragma code InterruptVectorHigh = 0x08void InterruptVectorHigh (void){_asmgoto InterruptHandlerHigh //jump to interrupt routine,goto之后的InterruptHandlerHigh函数名可以自己取名_endasm}// High priority interrupt routine#pragma code#pragma interrupt InterruptHandlerHigh //InterruptHandlerHigh函数名可以自己取名void InterruptHandlerHigh()//中断函数内容低优先级函数地址为0X18#pragma code InterruptVectorLow= 0x18void InterruptVectorLow (void){_asmgoto InterruptHandlerLow //jump to interrupt routine,goto之后的InterruptHandlerHigh函数名可以自己取名_endasm}// High priority interrupt routine#pragma code#pragma interruptlow InterruptHandlerLow //InterruptHandlerHigh函数名可以自己取名void InterruptHandlerLow(void) //中断函数内容3、例如串口中断配置:IPR1bits.RC1IP=0; //设为低优先级,让他跳入低优先级中断函数,为1将跳入高优先级函数PIR1bits.RC1IF=0; //清中断标志PIE1bits.RC1IE=1; //接收中断允许PIE1bits.TX1IE=0; //发送中断禁止4、这样配置完成后,如果串口其他寄存器配置无误,接收到数据后就会跳入低优先级函数InterruptHandlerLow中二、ADC1、ADC采集为了不浪费MCU资源,不用中断函数来采集配置如下,(1)先将要用于ADC采集的IO口配置为输入(2)将对应IO扣配置为ADC输入(3)配置ADCON0-3寄存器TRISA|=0x01;//引脚方向寄存器,1输入,0输出。

51、AVR、PIC、MSP430、ARM五大单片机对比与详解

51、AVR、PIC、MSP430、ARM五大单片机对比与详解

51、AVR、PIC、MSP430、ARM五大单片机全解析8051单片微型计算机简称为单片机,又称为微型控制器,是微型计算机的一个重要分支。

单片机是70年代中期发展起来的一种大规模集成电路芯片,是CPU、RAM、ROM、I/O接口和中断系统于同一硅片的器件。

80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能新型机种,现已逐渐成为工厂自动化和各控制领域的支柱产业之一。

AVR和PIC都是跟8051结构不同的8位单片机,因为结构不同,所以汇编指令也有所不同,而且区别于使用CISC指令集的8051,他们都是RISC指令集的,只有几十条指令,大部分指令都是单指令周期的指令,所以在同样晶振频率下,较8051速度要快。

另PIC的8位单片机前几年是世界上出货量最大的单片机,飞思卡尔的单片机紧随其后。

ARM实际上就是32位的单片机,它的内部资源(寄存器和外设功能)较8051和PIC、AVR都要多得多,跟计算机的CPU芯片很接近了。

常用于手机、路由器等等。

DSP其实也是一种特殊的单片机,它从8位到32位的都有。

它是专门用来计算数字信号的。

在某些公式运算上,它比现行家用计算机的最快的CPU还要快。

比如说一般32位的DSP能在一个指令周期内运算完一个32位数乘32位数积再加一个32位数。

应用于某些对实时处理要求较高的场合。

AVR高可靠性、功能强、高速度、低功耗和低价位指标,也是单片机占领市场、赖以生存的必要条件。

早期单片机主要由于工艺及设计水平不高,一直是衡量单片机性能的重要、功耗高和抗干扰性能差等原因,所以采取稳妥方案:即采用较高的分频系数对时钟分频,使得指令周期长,执行速度慢以后的CMOS单片机虽然采用提高时钟频率和缩小分频系数等措施,但这种状态并未被彻底改观(51以及51兼容)。

此间虽有某些精简指令集单片机(RISC)问世,但依然沿袭对时钟分频的作法。

AVR单片机的推出,彻底打破这种旧设计格局,废除了机器周期,抛弃复杂指令计算机(CISC)追求指令完备的做法;采用精简指令集,以字作为指令长度单位内容丰富的操作数与操作码安排在一字之中(指令集中占大多数的单周期指令都是如此),取指周期短,又可预取指令,实现流水作业,故可高速执行指令。

PIC单片机的振荡器配置方法

PIC单片机的振荡器配置方法

PIC系列单片机的振荡器配置方法PIC系列单片机可工作于不同的振荡器方式。

用户可以根据其系统设计的需要,选择下述四种振荡方式中的一种,其振荡的频率范围在DC~20/25MHz之间,如表1所示。

用户可以根据不同的应用场合,从表1所示的四种振荡方式中选择一种(使用PIC编程器时也需作这种选择的操作),以获得最佳的性能价格比。

其中,LP振荡器方式可以降低系统功耗,RC振荡器方式可节省成本。

建立PIC单片机源程序时,其振荡器方式由配置寄存器CONFIG的D1位和D0位来决定,如表2所示。

1?内部晶体振荡器/陶瓷振荡器在LP、XT和HS这三种方式下,需要在单片机引脚OSC1/CLKIN和OSC2/CLKOUT 的两端接一石英晶体或陶瓷谐振器。

如图1中,只有在HS方式下才需要在振荡回路中加入电阻Rs(100Ω<Rs<1kΩ)。

2?外部时钟源或外部晶体振荡器在LP、XT和HS这三种振荡器方式下,各种PIC单片机芯片既可以用集成在内部的振荡器,也可以接受外部输入的时钟源或外接晶体振荡器。

若用外部时钟源或外接晶体振荡器,可把外部振荡器输出接芯片的OSC1/CLKIN引脚,此时OSC2/CLKOUT引脚开路即可。

图2是外接时钟源的形式,外部晶体独立的振荡器与图2相似。

3?外部RC振荡器RC振荡器主要应用于对时间精度要求不太高的场合。

RC振荡器是在OSC1/CLKIN引脚接一串联电阻电容,如图3所示。

厂家推荐电阻Rext 取值在5kΩ~100kΩ之间。

当Rext小于2?2kΩ时,振荡器的工作可能会变得不稳定或停振;当Rext取值大于1MΩ时,振荡器易受到干扰。

RC振荡器产生的振荡频率fosc,经内部4分频电路分频后从OSC2/CLKOUT输出fosc/4振荡信号,此信号可以用作测试或作其它逻辑电路的同步信号。

单片机全面介绍(8051,avr,pic,msp430,arm,dsp)

单片机全面介绍(8051,avr,pic,msp430,arm,dsp)
PSEN 外部程序存储器读选通信号:在读外部 ROM 时 PSEN 低电平有效,以实现外 部 ROM 单元的读操作。
1、内部 ROM 读取时,PSEN 不动作; 2、外部 ROM 读取时,在每个机器周期会动作两次; 3、外部 RAM 读取时,两个 PSEN 脉冲被跳过不会输出; 4、外接 ROM 时,与 ROM 的 OE 脚相接。 参见图 2—(8051 扩展 2KB EEPROM 电路,在图中 PSEN 与扩展 ROM 的 OE 脚相 接) EA/VPP 访问和序存储器控制信号 1、接高电平时: CPU 读取内部程序存储器(ROM) 扩展外部 ROM:当读取内部程序存储器超过 0FFFH(8051)1FFFH(8052)时自动 读取外部 ROM。 2、接低电平时:CPU 读取外部程序存储器(ROM)。 在前面的学习中我们已知道, 8031 单片机内部是没有 ROM 的,那么在应用 8031 单片机时,这个脚是一直接低电平的。 3、8751 烧写内部 EPROM 时,利用此脚输入 21V 的烧写电压。
ALE/PROG 地址锁存控制信号:在系统扩展时,ALE 用于控制把 P0 口的输出低 8 位 地址送锁存器锁存起来,以实现低位地址和数据的隔离。(在后面关于扩展的课程中我们就 会看到 8051 扩展 EEPROM 电路,在图中 ALE 与 74LS373 锁存器的 G 相连接,当 CPU 对外部进行存取时,用以锁住地址的低位地址,即 P0 口输出。ALE 有可能是高电平也有可 能是低电平,当 ALE 是高电平时,允许地址锁存信号,当访问外部存储器时,ALE 信号负 跳变(即由正变负)将 P0 口上低 8 位地址信号送入锁存器。当 ALE 是低电平时,P0 口上 的内容和锁存器输出一致。关于锁存器的内容,我们稍后也会介绍。

PIC芯片的设置与编程

PIC芯片的设置与编程

PIC芯片的设置与编程:对于PIC芯片,选择好相应的型号后,程序会提示你芯片所要使用的插座。

同时,在芯片设置区,显示相应的设置项,以选择PIC单片机的配置位参数
PIC单片机的配置位参数如下:
Oscillator(振荡类型):
LP:低功耗振荡器
XT:晶体/陶瓷振荡器
HS:高速晶体/陶瓷振荡器
RC:阻容振荡器
IntRC:内部4Mhz阻容振荡器
ExtRC:外部阻容振荡器
ExtClock:外部时钟(24Mhz)
E4:带有PLL的外部时钟(6Mhz)
H4:带有PLL的晶体/陶瓷振荡器(6Mhz)
IntRC RB4:内部阻容振荡器
IntRC CLKOUT:内部阻容振荡器,RB4输出时钟
ExtRC RB4:外部阻容振荡器
ExtRC CLKOUT:外部阻容振荡器,RB4输出时钟
IntRC I/O:内部阻容振荡器
intRC CLKOUT:内部阻容振荡器,输出时钟
ER I/O:外部电阻振荡器
ER CLKOUT:外部电阻振荡器,输出时钟
Code protect(代码保护):加密PIC单片机的程序,防止读取Watch Dog:是否打开看门狗
Power-up Time:上电延迟选择。

PIC单片机的晶振接法详解

PIC单片机的晶振接法详解

PIC单片机的晶振接法详解
PIC单片机的晶振接法详解
PIC 单片机有4 种振荡模式:
Blocked Ad
具体翻译过来什么意思,大家自己去领会,翻译出来就没意思了。

这里告诉大家两个单词的含义,有助于理解:
Crystal:晶体
Oscillator:振荡器
Crystal Oscillator:晶体振荡器,简称“晶振”
晶振是个器件,接上相关电路后它就会振动,就像心脏跳动的脉搏一样,正常工作的心脏跳动是有规律的脉搏,所以正常工作的晶振也是有规律的波形。

晶振就是单片机的心脏,只不过这个心脏多数时候在外边,不在单片机内部(有些单片机除外)。

心脏跳动就是脉搏,晶振跳动就叫振荡,用示波器都可以看到他们的波形。

第一种晶振接法:
以PIC16F877 为例,常用的是这种接法
Blocked Ad
两个电容+晶振:适用于LP、XT 和HS 模式,也就是说如果在烧录程序时,选择这三种模式中的一种,晶振就可以这么接,如果你烧录选RC 模式,那晶振这么接,你的单片机就别想跳动了,肯定死悄悄了。

第二种晶振接法
Blocked Ad
从单片机的OSC1 输入一个外部信号,而OSC2 什么也不用接。

这个外部信号的发生电路如下所示:。

PIC16 定时器与晶振计算

PIC16 定时器与晶振计算

PIC16 定时器与晶振计算2007-11-30 22:00:27| 分类:PIC单片机|字号订阅PIC16 定时器与晶振计算T=(256-A)*(4/F)*分频比T:是你要设定的时间.A:是对应要赋的值(就是我要得到的值).F:晶振频率Tmax=256*(4/F)*分频比maxT:单位是US1S=1000MS=1000000US分频器一般都是跟计数单元一起结合使用。

预分频比是在计数单元值发生变化之前起作用(假如不用预分频时,计数器在每个上升沿到来时加1,而现在使用分频比为1:2的预分频器的话,那么必须等到两个上升沿的到来,计数器才会加1)后分频器与预分频器功能一样,只不过是在计数器值发生改变后起作用。

像TMR2的后分频器,如果不使用,计数器一但发生溢出,将立即置位标志为TMR2IF,但是如果有1:2的后分频器的话,必须两次溢出后才会置位。

关于PIC单片机的定时器精准计时的计算在此用了16C711单片机的TMR0做定时中断,希望实现精准计时,在程序中,TMR0用了晶振的32分频,初值#0FCH,因此POPBEAR兄弟计算出每个定时中断的计时时间为(256-X)*32*4/32768=0.015625秒。

注意,问题就在这里!实际上这个时间是TMR0的初值被置入后两个指令周期后(见PIC单片机定时器/计数器资料)到下一次中断发生时的时间。

如果要用到定时器的精准定时,必须理解这一概念!如采用32768Hz的晶振,每个指令周期为122us,在中断处理程序中,到TMR0的初值被置入,共有7条指令,加上TMR0的初值被置入后两个指令周期,如果中断处理程序不直接放在0004H地址而采用GOTO指令的两个周期,一共为11个指令周期。

也就是说,每个定时中断发生的间隔为 0.015625秒+11*122us。

程序中64次中断为1秒,那么1秒误差为64*11*122us=85.9375ms,1分钟的误差为 5.156s。

晶振设计指南

晶振设计指南

前言很多设计者都知道晶体振荡器都是基于皮尔斯振荡器,但不是所有人都知道具体是如何工作的,只有一部分人能掌握具体如何设计。

在实践中,对振荡器设计的关注有限,直到发现它不能正常运行(通常是在最终产品已经在生产时),这会导致项目延迟。

振荡器必须在设计阶段,即在转向制造之前,得到适当的关注,以避免产品在应用中失败的噩梦场景。

1、石英晶体的特性及模型石英晶体可以将电能转化为机械能的东西,也可以将机械能转化为电能。

这种转化主要发生在谐振频率上。

石英晶体的等效模型可以用Figure1来表示:C0并联电容:两个电极间形成的电容。

Lm 动态等效电感:代表机型振动的惯性。

Cm 动态等效电容:代表晶振的弹性。

Rm 动态等效电阻:代表电路的损耗。

晶振的阻抗表达式如下(假设Rm 可以忽略不记):下图Figure 2说明了晶振的阻抗与频率的关系晶振设计指南其中Fs是当Z=0时的串联谐振频率,其表达式如下:Fa是当电抗Z趋于无穷大时的并联谐振频率,假如Fs为已知量,那么其表达式如下:fs和fa之间的区域(图2中的阴影区域)是并联谐振的区域。

在这一区域晶振工作在并联谐振状态,并且在此区域晶振呈电感特性,从而带来了相当于180 °的相移。

具体谐振频率FP(可理解为晶振实际工作的频率)表达式如下:根据这个方程,可以通过改变负载电容CL来调整晶体的振荡频率。

这就是为什么,在晶体规格书中,晶体制造商指出了使晶体在标称频率下振荡所需的确切CL。

下面Table2给出了一个8Mhz标称频率的等效晶体电路元件值的示例:使用前面的3个公式,可以计算出Fs和Fa:Fs=7988768HzFa=8008102Hz如果负载电容CL=10pF,则其振荡频率为:FP = 7995695Hz。

要使其达到准确的标称振荡频率8MHz,CL应该为4.02pF。

2、振荡器的原理振荡器由一个放大器和反馈网络组成,反馈网络起到频率选择的作用。

Figure 3通过一个框图来说明振荡器的基本原理。

基于PIC单片机的双向晶闸管触发

基于PIC单片机的双向晶闸管触发

基于PIC单片机的双向晶闸管的导通实验实验环境:Proteus编程语言:汇编编程环境:MPLAB单片机:PIC16C77晶振:10MHz设计说明:本设计主要实现以下功能:1、通过单片机控制晶闸管的触发信号,从而实现晶闸管的触发2、通过七段数码管显示触发角大小3、通过键盘操作调节晶闸管触发角,并控制显示的开关4、通过键盘控制晶闸管的关断仿真图:图(1)仿真效果图图(2)交流电过零检测电路图(3)数码管连接电路图(4)晶闸管触发电路图(5)键盘连接电路图(6)PIC单片机最小系统电路图(7)系统总图部分源程序:;******************************************* ;晶闸管导通实验,可靠控制范围(10~165);******************************************* LIST P=16C77INCLUDE P16F877.INCBW EQU 20HBSTA TUS EQU 21HBFSR EQU 22HBPCH EQU 23HTM0T EQU 24HDSPC EQU 25HDIS0 EQU 26HDIS1 EQU 27HDIS2 EQU 28HDIS3 EQU 29HTM1T EQU 2AHSCR EQU 2BHAERF EQU 2CHDLAY1 EQU 2DHKDL Y EQU 2EHFLAG1 EQU 2FHKTEMP EQU 30HSHIFT EQU 31HCOM0 EQU 32HCOM1 EQU 33HCOM2 EQU 34HCOM3 EQU 35HCOM4 EQU 36HCOM5 EQU 37HORG 000HGOTO MAINORG 004HMOVWF BWSW APF STA TUS,0CLRF STA TUSMOVWF BSTA TUSMOVF FSR,0MOVWF BFSRMOVF PCLA TH,0MOVWF BPCH;***************************以上是中断现场保护CLRF PCLA THBTFSS INTCON,4GOTO NRB0BTFSC INTCON,1GOTO RB0INTNRB0: BTFSS INTCON,5GOTO NT0INTBTFSC INTCON,2GOTO T0INTNT0INT: BTFSC PIR1,0GOTO T1INT;******************以上是中断源判别INTOUT: CLRF STA TUSMOVF BFSR,0MOVWF FSRMOVF BPCH,0MOVWF PCLA THSW APF BSTA TUS,0MOVWF STA TUSSW APF BW,1SW APF BW,0RETFIE;***********************************以上是中断现场恢复RB0INT: BCF INTCON,1MOVF SCR,0MOVWF TM0TMOVLW H'87';为了使程序简介,此处选定时最小单位为56usMOVWF TMR0BCF INTCON,2BSF INTCON,5GOTO INTOUT;********触发脉冲*************T0INT: BCF INTCON,2MOVLW H'87'MOVWF TMR0DECFSZ TM0TGOTO INTOUTBSF PORTB,1CALL DELAYBCF PORTB,1BCF INTCON,5GOTO INTOUT;*********动态显示****************T1INT: BCF PIR1,0MOVLW H'F6'MOVWF TMR1HMOVLW H'4C'MOVWF TMR1LDECFSZ KDL YGOTO DISPMOVLW .100MOVWF KDL YBSF FLAG1,7DISP: INCF TM1TMOVLW .4;4ms刷新一次显示XORWF TM1T,0BTFSS STA TUS,ZGOTO INTOUTCLRF TM1TCLRF PORTDMOVLW .4SUBWF DSPC,0;DSPC起到显示指针的作用BTFSC STA TUS,CCLRF DSPCMOVLW H'F0'ANDWF PORTCMOVF DSPC,0CALL LEDPCIORWF PORTCBTFSC FLAG1,3GOTO TWINKLEDISC: MOVF DSPC,0ADDLW DIS0MOVWF FSRMOVF INDF,0CALL LEDDISMOVWF PORTDDISOT: INCF DSPCGOTO INTOUTTWINKLE: MOVF DSPC,0ADDLW .1XORWF SHIFT,0BTFSS STA TUS,ZGOTO DISCBTFSS FLAG1,6GOTO DISCMOVLW .0MOVWF PORTDGOTO DISOTLEDPC: ADDWF PCLDT 0X0E,0X0D,0X0B,0X07LEDDIS: ADDWF PCLDT 0X3F,0X06,0X5b,0X4f,0X66,0X6d,0X7d,0X07,0x7f,0x6f,0x00 ;********************************DELAY: MOVLW .100MOVWF DLAY1DELAY2: DECFSZ DLAY1GOTO DELAY2RETURN;*******************************8MAIN: CALL INITHERE: BTFSS FLAG1,7GOTO HEREBCF FLAG1,7MOVLW H'40';flag1.6用于闪烁标志位XORWF FLAG1MOVF PORTB,0ANDLW H'F0'XORLW H'F0'BTFSC STA TUS,ZGOTO NKEYMOVWF KTEMPGOTO HERE;*********************************NKEY: BTFSC KTEMP,7GOTO KSETBTFSC KTEMP,6GOTO KADDBTFSC KTEMP,5GOTO DISOCBTFSS KTEMP,4GOTO KOUTSCROC:BCF INTCON,1MOVLW H'10'XORWF INTCONGOTO KOUTDISOC: BTFSC FLAG1,3GOTO KOUTMOVLW H'20'XORWF FLAG1;FLAG1.5显示开关标志GOTO KOUT;********************************KSET: BSF FLAG1,3BSF FLAG1,5;有键按下及开显示BCF INTCON,4INCF SHIFTMOVLW .4SUBWF SHIFT,0BTFSS STA TUS,CGOTO KOUTCLRF SHIFTBCF FLAG1,3GOTO KOUT;****************************** KADD: BTFSS FLAG1,3GOTO KOUTBTFSS SHIFT,1GOTO GELBTFSS SHIFT,0GOTO SHIMOVLW .100MOVWF COM4GOTO KADD1SHI: MOVLW .10MOVWF COM4GOTO KADD1GEL: MOVLW .1MOVWF COM4KADD1: MOVF COM4,0ADDWF SCRMOVLW .165SUBWF SCR,0BTFSS STA TUS,CGOTO KOUTMOVLW .10MOVWF SCRGOTO KOUTKOUT: CLRF KTEMPADIS: MOVF SCR,0MOVWF COM0CALL DIV10MOVF COM2,0MOVWF DIS0BTFSC FLAG1,3GOTO SHI1MOVF COM0,0BTFSC STA TUS,ZGOTO GEDISSHI1: CALL DIV10MOVF COM2,0MOVWF DIS1BTFSC FLAG1,3GOTO BAI1MOVF COM0,0BTFSC STA TUS,ZGOTO SHDISBAI1: CALL DIV10MOVF COM2,0MOVWF DIS2GOTO BAIDISGEDIS: MOVLW .10MOVWF DIS1SHDIS: MOVLW .10MOVWF DIS2BAIDIS: MOVLW .10MOVWF DIS3GOTO HERE;**********乘/除10子程序*********;************除十,被除数存入com0,出口:com0为商,com2为余数DIV10: MOVLW D'10'MOVWF COM1CLRF COM2MOVLW D'8'MOVWF COM3DIV101: BCF STA TUS,CRLF COM0RLF COM2BSF COM0,0MOVF COM1,0SUBWF COM2BTFSS STA TUS,CCALL ADDDECFSZ COM3GOTO DIV101RETURNADD: MOVF COM1,0ADDWF COM2BCF COM0,0RETURN;**********************************************************MUL10: MOVF COM0,0MOVWF COM1BCF STA TUS,CRLF COM0RLF COM0RLF COM0RLF COM1,0ADDWF COM0,0RETURN;**********初始化程序*********** INIT: CLRF INTCONCLRF PIR1CLRF PIR2BANKSEL TRISAMOVLW H'F1'MOVWF TRISBCLRF TRISCCLRF TRISDCLRF PIE1BSF PIE1,0;开定时器1中断CLRF PIE2MOVLW H'0F'MOVWF OPTION_REGBANKSEL PORTACLRF PORTDCLRF PORTCCLRF PORTBMOVLW H'F6'MOVWF TMR1HMOVLW H'4C'MOVWF TMR1LMOVLW TM0TMOVWF FSRCLR: CLRF INDFINCF FSRMOVF FSR,0XORLW SCRBTFSS STA TUS,ZGOTO CLRMOVLW .10MOVWF SCRBSF T1CON,0MOVLW H'C0'MOVWF INTCONRETLW 0 END。

微芯片技术1996年BASIC PIC16 17振荡器设计说明书

微芯片技术1996年BASIC PIC16 17振荡器设计说明书

1996 Microchip Technology Inc.FACT001-page 1®BASIC PIC16/17 OSCILLATOR DESIGNBy:Dan MatthewsThe oscillator circuit is one of the most overlooked areas of microprocessor circuit design. Components are usually selected based on the manufacturers' tables. If the circuit starts up and works, fine, no other thought need be given to it, right? Wrong. Many conditions can negatively affect the performance of your design. Higher temperatures and lower supply voltages can lower the loop gain in the oscillator circuit, causing poor, slow, or no startup. Colder temperatures and higher supply voltages can increase the loop gain of the oscillator circuit, causing the crystal to be overdriven, and potentially damaged; or the circuit can be forced to another harmonic and throw off the timing or cease functioning altogether. It is also possible to waste power through the improper selection of components or clock modes.Most of the time using the values given in the manufacturers' databook tables will work fine. However,most manufacturers' processors run in a limited voltage range and across a limited frequency, so table values can be given for C1 and C2 with little concern for the designer's environment. Microchip parts, however, can be asked to run with clocks from 0 to 25 MHz, supply voltages from 2.0VDC to 6.25VDC, and temperatures from -40 ° C to 125 ° C,depending on the part and version ordered. This must also be done with crystals of varying quality and manufacture.These factors create many chances for exceptions to the values given in the databook.Function of the Oscillator CircuitThe circuit (Figure 1) is a typical Pierce parallel resonant oscillator circuit as used with the Microchip PIC16/17 family of devices. The output of an inverting amplifier is fed back to its input creating an "unstable" loop. When the inverter output is high and fed back to the input, output goes low,reversing the process. Stable oscillation is achieved when the circuit components attached achieve this feedback with "unity gain" only at the desired frequency.FIGURE 1:TYPICAL PIERCE PARALLEL RESONANT OSCILLATORCIRCUITPurpose of Components and Clock ModesA good place to begin is with the purpose of each external component. Because this is a loop circuit a change in one component can change the affect of other components in the circuit. Therefore, a strict definition of purpose is a simplification for clarity only.The Crystal has its lowest impedance near the desired frequency. This is placed in the path between the output and the input of the inverting amplifier. This permits feedback,and therefore oscillation, which occurs at the desired resonant frequency.The diagrams shown below illustrate an equivalent circuit for a crystal (Figure 2), and the impedance/reactance versus frequency of the crystal (Figure 3). Cc represents the case capacitance across the terminals of the crystal. R,Cp, and Lp are known as the motional arm of the crystal. In parallel resonant mode (Anti-resonance) the crystal will look inductive to the circuit. The impedance will reache its peak at fa. The load capacity should be selected to operate the crystal at a stable point on the fs-fa reactive curve (as close to fs as possible). FIGURE 2:EQUIVALENT CRYSTAL CIRCUITFIGURE 3:IMPEDANCE/REACTANCE vs CRYSTAL FREQUENCYNote:Even parallel resonant crystals have a seriesresonant frequency fs.FACT001-page 2 1996 Microchip Technology Inc.®C1 of Figure 1 is a "phase adjusting" capacitor. It also contributes slightly to start up time and is part of the load capacitance for a parallel resonant circuit. Phase is affected since C1 is at the clock input pin and charged through the impedance of the crystal.C2 is a "gain adjusting" capacitor. Selected for best sinusoidal output voltage peak to peak. It is also part of the load capacitance for a parallel resonant circuit.Load capacitance for a parallel resonant circuit can be calculated by:and should be selected per the data supplied by the crystal manufacture.Cstray in the above equation can be pin capacitance and board/trace related capacitance. This is often seen in the ballpark of 5-15 pF. If the Microchip databook shows 15 pF capacitors for C1 and C2, and your board and device have 12.5 pF Cstray, then the resulting load capacitance in pF is [(15 * 15)/(15 + 15)] + 12.5 = 20 pF. If the crystal manufacturer suggests a load capacitance of 20 pF, then voila, you're there. If you decide to increase C2 to 33 pF (see "Selecting Best Values..." and "Start Up"), the resulting load capacitance is still 22.8 pF. In most cases deviations greater than this will not "pull" the resulting resonant frequency appreciably.Rs is a series resistor that is selected to prevent overdriving the crystal. It is often not needed if gain (clock mode), C1and C2 are selected properly.Clock Mode is the programmable gain of the inverting amplifier. The lower frequency modes have lower gain, the gain increases for higher frequency modes. For instance,in the PIC16CXXX family, the clock mode gain from lowest to highest is LP (lowest gain), XT (middle), and HS (highest gain).Selection of ComponentsThere are several factors that go into the selection and arrangement of these external components. Some of these are amplifier gain, desired frequency and the resonant frequency(s) of the crystal, temperature of operation, supply voltage and its range, start up time, stability, crystal life,power consumption, simplification of the circuit and use of standard components (as few as possible). To say that there are a lot of factors, and that there are trade-offs with each, is an understatement.C 1C 2×C 1C 2+--------------------Cstray + Determining Best Values for Clock Mode, C1, C2 and RsThe best method for selecting components is a little knowledge and a lot of trial, measurement and testing. Crystals are usually selected by their parallel resonant frequency only, however, other parameters may be important to your design such as temperature or frequency tolerance. Application Note 588 is an excellent reference if you would like to know more about crystal operation and their ordering information.The Microchip devices utilize a parallel oscillator circuit which requires that a parallel resonant crystal be selected.The load capacitance is usually specified in the 20 pF to 32 pF range. The crystal will oscillate closest to the desired frequency when this load capacitance is used. It is necessary sometimes to juggle these values a bit, as I will describe later, in order to achieve other benefits.Clock modeis primarily chosen by using the table found in the Microchip databook based on frequency. Clock modes (except RC) are simply gain selections: lower gain for lower frequencies and higher gain for higher frequencies. It is possible to select a higher or lower gain if desired based on the specific needs of the oscillator circuit. In circuits where low power consumption is critical, a lower gain clock mode can help. The trade-offs are that lower gain can increase start up time and it is difficult to get the needed loop gain at higher frequencies if a lower gain clock mode is chosen.Higher gain clock modes are normally chosen for higher frequencies and improved start up time. The trade offs for higher gain are increased power consumption and the potential to design an unstable circuit, or overdrive the crystal, especially at low frequencies.It is possible for a crystal to oscillate in a higher overtone frequency if the loop gain of the oscillator circuit is greater than one at that frequency. Depending on whether they are mechanical or electrical, overtones can come at 2X, 3X and odd multiples of the resonant frequency. Overdriving the crystal can cause break down or frequency drift (usually drifts up) over time. This can be handled through proper selection of C1, C2 and Rs.Again, the mode listed in the databook for the desired frequency is the obvious starting point until you have some special reason to deviate from it. While clock mode can affect power consumption somewhat (higher gain / higher consumption), it is the frequency that the processor is running at that has by far the greatest impact on power consumption. Some designers have made the mistake of trying to run a part at high frequencies, say 8 MHz, while using the LP (low power) clock mode. Then they wonder why the processor doesn't start up sometimes. Running outside the recommended range for the clock mode should be avoided unless you understand the ramifications.1996 Microchip Technology Inc.FACT001-page 3®C1 and C2 should also be initially selected based on the load capacitance, as suggested by the crystal manufacturer, and the tables supplied in the Microchip databook. The values given in the Microchip databook can only be used as a starting point since the manufacturer of the crystal, supply voltage and other factors already mentioned may cause your circuit to differ from the one used in the factory characterization process.Ideally, the lowest capacitance is chosen (within the range of the recommended crystal load preferably) that will oscillate at the highest temperature and lowest V DD that the circuit will be expected to perform under. High temperature and low V DD both have a limiting affect on the loop gain,such that if the circuit functions at these extremes the designer can be more assured of proper operation at other temperatures and supply voltages. Another method for improving start up is to use a value of C2 greater than C1.This causes a greater phase shift across the crystal at power up which speeds oscillator start up.Besides loading the crystal for proper frequency response,these capacitors can also have the affect of lowering loop gain if their value is increased. C2 can be selected to affect the overall gain of the circuit. A higher C2 can lower the gain if the crystal is being over driven. (See also discussion on Rs.) C values that are too high can store and dump too much current through the crystal so C1 and C2 should not become excessively large. Unfortunately, measuring the wattage through a crystal is tricky business, but if you do not stray too far from the suggested values you should not have to be concerned with this.Rs is selected if, after all other devices are selected to satisfaction, the crystal is still being overdriven. This can be determined by looking at the osc-out pin, which is the driven pin, with an oscilloscope. Connecting the probe to the osc-in pin will load the pin too much and negatively affect performance. Remember that a scope probe adds its own capacitance to the circuit so this may have to be accounted for in your design (i.e., if the circuit worked best with a C2 of 20 pF and scope probe was 10 pF, a 30 pF capacitor may actually be called for). The output signal should not be clipping or squashed. Overdriving the crystal can also lead to the circuit jumping to a higher harmonic.The osc-out signal should be a nice clean sine wave that easily spans the input minimum and maximum of the clock input pin (4.25V to 5.0V peak to peak for a 5.0V V DD is usually good). An easy way to set this is to again test the circuit at minimum temperature and maximum V DD that the design will be expected to perform in, then look at the output. This should be the maximum amplitude of the clock output. If there is clipping or the sine wave is squashing near V DD and V SS at the top and bottom, and increasing load capacitors will risk too much current through the crystal or push the value too far from the manufacturer's load specification, then add a trimpot between the output pin and C2 and adjust it until the sine wave is clean. Keeping it fairly close to maximum amplitude at this low temperature and high V DD combination will assure that this is the maximum amplitude the crystal will see and prevent overdriving. An Rs of the closest standard value can now be inserted in place of the trimpot. If Rs is too high, perhaps more than 5 kW, the input will be too isolated from the output, making the clock more susceptible to noise. If you find a value this high is needed to prevent overdriving the crystal, try increasing C2 to compensate. Try to get a combination where Rs is around 1K or less, and load capacitance is not too far from the 20 pF or 32 pF manufacturer specification.Start UpThe most difficult time for the oscillator to start up is waking up from sleep. This is because the load capacitors have partially charged to some quiescent value and phase differ-ential at wake up is minimal. Thus, more time is required for stable oscillation. Remember also that low voltage, high temperatures and lower frequency clock modes also impose limitations on loop gain which in turn affects start up.The worst possible case is a low frequency design (with its low gain clock mode), in a quiet environment (like a battery operated device), operating outside noisy RF area of the city (or in a shielded box), with a low battery, on a hot day,waking up from sleep.There is an old designer's tip, though I have not proven it for myself, that a cheap Rs resistor, such as a carbon film or carbon composition resistor, can actually help start oscilla-tion. An oscillator circuit depends on some stray noise to start up. Usually the power up process will provide this, but if the processor is put to sleep, the oscillator will have to start up on wake up without the power up ramp (although some noise is created internally by the wake up logic).Cheap carbon resistors generate some amount of white noise which when placed in the crystal oscillator path can assist start up.FACT001-page 4 1996 Microchip Technology Inc.®Remember that C2 can be increased over C1 to increase phase shift and help start up, especially at lower frequencies. Another possibility is to select a higher gain clock mode. For instance, if start up is a concern for a device running at a frequency that would normally be the LP mode range, XT mode can be selected. Usually this is a last resort since the other suggestions already mentioned have been proven to work and using a higher gain mode introduces increased potential for overdriving the crystal.The higher gain creates a faster higher drive start up edge that can help reduce start up time. C2 may have to be increased, and/or a Rs added to prevent overdriving the crystal.It is also possible for a circuit with too much gain to not start up. This usually happens when using a low frequency crystal, like 32 kHz, since at high frequencies the high gain is dissipated more easily by the load capacitance. Because of great customer demand for a fast start up processor,even at low frequencies, Microchip has increased the gain of the LP mode for newer devices. This may require higher capacitance values or a Rs. For instance, for the PIC16C71,the capacitance values of 15 pF on each pin, as suggested by the databook for 32 kHz, is not always sufficient.Increasing the values to 22 pF or 33 pF for C1 and 33 pF or 47 pF for C2 usually fixes this. Again, if you desire that the circuit oscillate at the resonant frequency to be as accurate as possible, you may be better served by adding a Rs to the circuit as needed and keep the capacitor values closer to the load capacitance suggested by the crystal manufacturer. Refer to the Rs section of this article for details on determining the Rs value.The Final CheckRemember, check that the output sine wave is not clipping in the highest gain environment of highest V DD and lowest temperature. Also make sure that the sine output amplitude is great enough, in the lowest gain environment of lowest V DD and highest temperature, to cover the logic input requirements of the clock as listed in the device datasheet.4.25V peak to peak is usually fine. Then at the highest temperature with the lowest V DD it will have to run at,running from a quiet battery if possible and in as quiet an environment as your board will see (RF and electrically speaking), test the part to make sure it wakes up from sleep.If all this checks out and your capacitance values are low enough, within range to prevent unnecessary power consumption, then you should have a clean trouble free oscillator design.A Note on External ClocksIf the PIC16/17 internal oscillator is not being used, and the device will be driven from an external clock, be sure to set the clock mode to something other than RC mode (RC mode will fight with the injected input). Ideally you would select the mode that corresponds to the frequency injected.This is of less importance here since the clock is only driving its internal logic and not a crystal loop circuit. It may be possible to select a clock mode lower than would be needed by an oscillator circuit, thereby saving some of the power that would beused to exercise the inverting amplifier. Make sure the osc-out signal amplitude covers the needed logic thresholds of the device.For really power stingy applications, with high speed external clocks approaching 20 MHz, the device will draw less power if the clock is injected at the osc-out pin. This can only be done with devices where the internal logic is driven from osc-out. A diagram of the clock circuitry is provided in the databook for each device. If the frequency is high enough, the internal capacitance and impedances will serve to isolate the internal inverter output from the signal enough so that it will not challenge the injected signal. The internal feedback resistor is weak enough to allow the inverter to find a quiescent point. Since the inverter is not being exercised, less power is drawn. Again, this is operating outside the normal design criteria so you should be extremely thorough in testing and proving your design before calling it complete.September 19937Philips Semiconductors Product specificationHex inverter 74HCU04OPTIMUM VALUE FOR R 2EXTERNAL COMPONENTS FOR RESONATOR (f <1MHz)Note1.All values given are typical and must be used as aninitial set-up.FREQUENCY(MHz)R 2(k Ω)OPTIMUM FOR328minimum required I CCminimum influence due to change in V CC614.7minimum I CCminimum influence by V CC 100.52minimum I CCminimum influence by V CC 140.51minimum I CCminimum influence by V CC>14replace R 2 by C 3 with a typical value of 35pFFREQUENCY(kHz)R 1(M Ω)R 2(k Ω)C 1(pF)C 2(pF)10 to 15.922220562016 to 24.922220561025 to 54.922100561055 to 129.922100475130 to 199.92247475200 to 349.91047475350 to 6001047475Fig.13 Crystal oscillator configuration.C 1=47pF (typ.)C 2=33pF (typ.)R 1=1 to 10M Ω (typ.)R 2 optimum value depends on the frequency and required stability against changes in V CC or average minimum I CC (I CC is typically 5mA at V CC =5V and f =10MHz).Note to Application informationAll values given are typical unless otherwise specified.PACKAGE OUTLINESSee “74HC/HCT/HCU/HCMOS Logic Package Outlines”.Fig.14 HCU04 used as an astable multivibratorR S ≈2×R.The average I CC (mA) is approximately3.5 +0.05×f (MHz)×C (pF) at V CC =5.0V(for more information refer to “DESIGNERS GUIDE”).f 1T ---12.2RC ------------------≈=Fig.15Typical input capacitance as a function ofinput voltage.(1)V CC =2.0V.(2)V CC =3.0V.(3)V CC =4.0V.(4)V CC =5.0V.(5)V CC =6.0V.。

PIC单片机晶振电路设计指导

PIC单片机晶振电路设计指导

PIC单片机晶振电路设计指导PIC单片机有四种振荡方式可供选择,振荡方式经配置寄存器CONFIG的F0SC1,F0SC0位加以选择,并在EPROM编程时写入。

晶体振荡器/陶瓷振荡器:XT、LP、HS三种方式中,需一晶体或陶瓷谐振器连接到单片机的OSC1/CLKIN和OSC2/CLKOUT引脚上,以建立振荡,如图1所示。

电阻RS常用来防止晶振被过分驱动。

在晶体振荡下,电阻RF≈10MΩ。

对于32KHz以上的晶体振荡器,当VDD>4.5V时,建议C1=C2≈30PF。

(C1:相位调节电容;C2:增益调节电容。

)表1:振荡器类型选择常见问题分析1:如何选择晶体?对于一个高可靠性的系统设计,晶体的选择非常重要,尤其设计带有睡眠唤醒(往往用低电压以求低功耗)的系统。

这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。

这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡。

在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易。

在振荡回路中,晶体既不能过激励(容易振到高次谐波上)也不能欠激励(不容易起振)。

晶体的选择至少必须考虑:谐振频点,负载电容,激励功率,温度特性,长期稳定性。

2:如何判断晶振是否被过分驱动?电阻RS常用来防止晶振被过分驱动。

过分驱动晶振会渐渐损耗减少晶振的接触电镀,这将引起频率的上升。

可用一台示波器检测OSC输出脚,如果检测一非常清晰的正弦波,且正弦波的上限值和下限值都符合时钟输入需要,则晶振未被过分驱动;相反,如果正弦波形的波峰,波谷两端被削平,而使波形成为方形,则晶振被过分驱动。

这时就需要用电阻RS来防止晶振被过分驱动。

判断电阻RS值大小的最简单的方法就是串联一个5k或10k的微调电阻,从0开始慢慢调高,一直到正弦波不再被削平为止。

通过此办法就可以找到最接近的电阻RS值。

外部晶体振荡器电路:PIC芯片可以使用已集成在片内的振荡器,亦可用由TTL门电路构成的简单振荡器电路。

基于pic单片机的信号发生器的设计

基于pic单片机的信号发生器的设计

基于PIC单片机的低频信号发生器的设计[摘要] 信号发生器是一种经常使用的信号源,普遍地应用于电子电路、自动操纵系统和教学实验等领域。

目前利用的信号发生器大部份是函数信号发生器,且特殊波形发生器的价钱昂贵。

本设计采纳PIC16F87X系列单片机作为逻辑操纵单元,利用芯片DAC0832转换单片机发出的数据,在放大器的配合下产生相应正弦波、三角波、锯齿波和方波信号。

通过外部键盘,可选择输出的波形,并利用相应的按键能够调整输出波形的频率大小。

本设计利用液晶显示芯片1602作为显示单元,能够显示输出波形的名称及其频率大小,且其亮度可通过扩展的外部按键进行调剂。

本设计具有电路简单靠得住,易于操作等优势。

[关键词] 信号发生器;PIC单片机;数模转换;液晶显示Design of Low Frequency Signal GeneratorBase on PIC SCMElectrical Engineering and Automation Specialty ZHANG Shou-tian Abstract:Signal generator is a common source and it is used widely in electronic circuits, automatic control system and teaching experiment and so on. Function signal generator is used mostly in the signal generator in currently for the price of special waveform generator is expensive. The low frequency signal generating device is introduced, taking the pic16f877 monolithic circuit as the host controller, which is composed of the digital –analog conversion circuit, the reshaping circuit and operational amplifier circuit and so on. In the system, the perfect of save wave,triangle wave, saw tooth wave and square wave can be showed. The wave can be observed by digital oscilloscope and its’ name a nd frequency can be watched by 1602 liquid crystal scope at the same time. The wave cycle can be controlled through the external keyboard, but its number of the highest is not varied. The electric circuit of the system is simple and can be learned quickly.Keyword: signal generator; pic16f877; digital-analog conversion; 1602目录1引言.................................................... 错误!未定义书签。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PIC芯片晶振设计
晶振设计是单片机应用设计的重要环节之一,因此很有必要了解晶振电路的特点,组成以及如何选用相关电子元件。

PIC单片机有四种振荡方式可供选择,振荡方式经配置寄存器CONFIG的F0SC1,F0SC0位加以选择,并在EPROM编程时写入。

表1:振荡器类型选择
F0SC1 F0SC0 振荡方式
0 0 低功耗振荡LP(Low Power)
0 1 标准晶体振荡XT(Crystal/Resonator)
1 0 高速晶体振荡HS (High Speed)
1 1 阻容振荡RC(Resistor/Capacitor)
晶体振荡器/陶瓷振荡器:
XT、LP、HS三种方式中,需一晶体或陶瓷谐振器连接到单片机的OSC1/CLKIN和OSC2/CLKOUT引脚上,以建立振荡,如图1所示。

电阻RS常用来防止晶振被过分驱动。

在晶体振荡下,电阻RF≈10MΩ。

对于32KHZ以上的晶体振荡器,当VDD>4.5V时,建议C1=C2≈30PF。

(C1:相位调节电容;C2:增益调节电容。


外部晶体振荡器电路:
PIC芯片可以使用已集成在片内的振荡器,亦可使用由TTL门电路构成的简单振荡器电路。

当外接振荡器时,外部振荡信号)仅限于HS。

XT。

LP)从OSC1端输入,OSC2端开路。

图2所示的是典型的外部并行谐振振荡电路,应用晶体的基频来设计。

74AS04反相器以来实现振荡器所需的180°相移,4.7KΩ的电阻用来提供负反馈给反相器,10KΩ的电位器用
来提供偏压,从而使反相器74AS04工作在线性范围内。

图3所示的是典型的外部串行谐振振荡电路,亦应用晶体的基频来设计。

74AS04反相器用来提供振荡器所需的180°相移,330Ω的电阻用来提供负反馈,同时偏置电压。

RC振荡:
RC振荡适合于对时间精度要求不高的低成本应用。

RC振荡频率随着电源电压VDD,RC 值及工作环境温度的变化而变化。

同时由于工艺参数的差异,对不同芯片其振荡器频率将不同。

另外,当外接电容CEXT值较小时,对振荡器频率的影响更大,当然,我们也应考虑电阻电容本身的容差对振荡器频率的影响。

图4所示的是RC振荡电路,如果REXT低于2.2KΩ,振荡器将处于不稳定工作状态,甚至停振。

而REXT大于1M[时,振荡器又易受噪声、湿度、漏电流的干扰。

因此,电阻REXT 取值最好在3KΩ~100KΩ范围内。

在不接外部电容时,振荡器仍可工作,但为了抗干扰及保证稳定性,建议接一20PF以上的电容。

PIC单片机片内有一4分频电路,从OSC1/CLKIN引脚输入或RC振荡器产生的振荡频率fOSC经4分频后从OSC2/CLKOUT引脚输出4分频信号,该信号可用于测试或作为其它逻辑电路的同步信号。

常见问题分析
1:如何选择晶体?
对于一个高可靠性的系统设计,晶体的选择非常重要,尤其设计带有睡眠唤醒(往往用低电压以求低功耗)的系统。

这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振
很慢或根本就不能起振。

这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡。

在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易。

在振荡回路中,晶体既不能过激励(容易振到高次谐波上)也不能欠激励(不容易起振)。

晶体的选择至少必须考虑:谐振频点,负载电容,激励功率,温度特性,长期稳定性。

2:如何判断晶振是否被过分驱动?
电阻RS常用来防止晶振被过分驱动。

过分驱动晶振会渐渐损耗减少晶振的接触电镀,这将引起频率的上升。

可用一台示波器检测OSC输出脚,如果检测一非常清晰的正弦波,且正弦波的上限值和下限值都符合时钟输入需要,则晶振未被过分驱动;相反,如果正弦波形的波峰,波谷两端被削平,而使波形成为方形,则晶振被过分驱动。

这时就需要用电阻RS来防止晶振被过分驱动。

判断电阻RS值大小的最简单的方法就是串联一个5k或10k的微调电阻,从0开始慢慢调高,一直到正弦波不再被削平为止。

通过此办法就可以找到最接近的电阻RS值。

3:如何选择电容C1,C2?
(1):因为每一种晶振都有各自的特性,所以最好按制造厂商所提供的数值选择外部元器件。

(2):在许可范围内,C1,C2值越低越好。

C值偏大虽有利于振荡器的稳定,但将会增加起振时间。

(3):应使C2值大于C1值,这样可使上电时,加快晶振起振。

PIC芯片晶振设计。

相关文档
最新文档