什么是什么单片机时钟?怎么设置
什么时钟?首先我们先讲讲什么是时钟。时钟就是单片机的心脏。每跳动一下。整个单片机的各个电路就同步的动作一下。就好像我们做广播体操的时候 广播上喊的节拍1234 2234 3234。。。。然后我们全部的同学就按照这个节奏进行一个个动作。节拍越快我们动作越快。节拍越慢我们动作的越慢。
内部时钟和外部时钟?PIC单片机有许多型号可以设置成 用外部时钟(如外部接个4MHZ的石英晶振),也可以设置成用内部RC时钟。而且还有许多型号可以选择多种频率的时钟。
如 PICLF1823 内部时钟最高可以到达32MHZ 最低可以达到 31kHz. 这事实上提供了一条降低功耗的新路子。一般的单片机降低功耗常常用的睡眠,而睡眠期间CPU是什么都不做。如果希望降低功耗,而且CPU也能工作。降低时钟频率无疑是个非常好的选择。
时钟的设置?
时钟设置一般只和两处有关 一个是配置字,一个是振荡器控制寄存器 OSCCON 下面我们以PICLF1823为例子进行讲解。
PICLF1823 配置字设置 中与时钟有关的就是 FOSC<2:0>:振荡器选择位,和PLLEN:PLL使能位 。
OSCCON 是有关内部时钟频率选择,如果只用外部时钟一般不理会。以下是数据手册中OSCCON寄存器的详细介绍。
实例讲解:
使用内部时钟将时钟频率设置成8MHZ
开发环境:MPLAB X IDE
芯片型号:PICLF1823
#include
__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF&BOREN_ON&
CLKOUTEN_OFF&IESO_ON&FCMEN_ON);
__CONFIG(PLLEN_OFF&LVP_OFF) ;//将FOSC<2:0>:振荡器选择位设置成 INTOSC,
void init_fosc(void)
{
OSCCON = 0x70;//8MHZ IRCF<3:0>时钟频率选择位设置成8MHZ
}
int main(int argc, char** argv) {
init_fosc();
while(1);
}
PLL是用来做什么的呢?他的作用就是能将8MHZ的时钟频率X4变成32MHZ,记住只有8MHZ可以,其他频率是不行的。
使用内部时钟将时钟频率设置成32MHZ
开发环境:MPLAB X IDE
芯片型号:PICLF1823
#include
__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF&BOREN_ON
&CLKOUTEN_OFF&IESO_ON&FCMEN_ON);//这个要放到上一行去
__CONFIG(PLLEN_ON&LVP_OFF) ;//将FOSC<2:0>:振荡器选择位设置成 INTOSC,使能PLLEN
void init_fosc(void)
{
OSCCON = 0xF0;//32MHZ IRCF<3:0>时钟频率选择位设置成8MHZ ,使能4XPLL
}
int main(int argc, char** argv) {
init_fosc();
while(1);
}
单片机的3种时钟电路设计方案,工程师,你是在用哪1种?
工程师在开发一个电路系统,往往会需要用到中央处理器,比如单片机,FPGA,或者DSP等等,当然一些简单的纯硬件电路项目方案例外,如充电器,热水壶等等;
电路系统
作为单片机研发设计的项目,它的最小电路工作系统包含电源电路,复位电路,时钟频率电路;其中电源电路与复位电路,相信工程师都非常容易理解与设计;然而时钟频率电路,由于不同的开发项目功能需求不一样,设计的方案选择也不尽相同,很难得到有效的统一设计;比如:
A项目对研发成本要求较严格,功能较简单;B项目电路系统需要与外界电路系统完成串口通信,通信数据要求不能出错;C项目包含一个时钟万年历功能,时间要求不能间断而且精度要求高;万年历时钟电路板
针对单片机的时钟频率电路,工程师依据不同的项目要求去设计与选择匹配的方案;具体的选择方案包含三类
第一类:外部晶振方案
所谓外部晶振方案,是指在单片机的时钟引脚X1与X2外部连接一个晶振;
单片机外部晶振图
采用这种设计方案
优点 :时钟频率精度高,稳定性能好;对于一些数据处理能力要求较高的项目,尤其是多个电路系统彼此需要信息通讯,如包含USB通讯,CAN通讯的项目,选用外部晶振的方案较多缺点 :由于增加了外部晶振,所以研发的BOM表元器件成本增加扩大了;第二类:内部晶振方案
所谓内部晶振方案,是指单片机利用内部集成的RC振荡电路产生的时钟频率;
单片机内部晶振图
采用这种设计方案
优点: 省去外部晶振,工程师可以有效的节约研发BOM元器件成本;缺点: RC振荡电路产生的时钟频率精度比较低,误差较大,容易引起一些高频率通信的数据交互错误;第三类:时钟芯片方案
所谓时钟芯片方案,是指在单片机外部加入一个专门处理时钟的时钟芯片,用来给单片机提供精准的时钟信号;比如美信的DS1338这个型号时钟芯片
单片机与时钟芯片电路
关于时钟芯片的一些电路特性,以美信的DS1338型号为例说明
DS1338时钟芯片
1,供电 :
时钟芯片的供电电源包含两个部分
其一,VCC供电,是指电路项目系统的电源,同时也是单片机的电源
其二,Vbat供电,是指电池供电的电源,由于某种原因在VCC供电突然失去的条件下,时钟芯片自动启用Vbat电池电源,用以保持时钟芯片内部的时钟信号处理,不必因为电路系统电源VCC断电而失去电路工作;
2,功能 :
时钟芯片内部集成时间的“秒”“分”“时”“日”“周”“月”和“年”详细信息计时电路功能,通过IIC通信方式将时间的信息发送至单片机,单片机即可获得高精度的时钟信息;
万年历时钟
3,接口 :
时钟芯片与单片机的接口是IIC通信接口,此接口方式为串口通信,工程师开发设计较为简单,容易实现电路功能;
4,精度 :
精度,是指时钟芯片在正常工作条件下产生的时钟误差;例如美信的DS1338时钟芯片精度控制在10 PPM,换算成一天24小时误差精度在0.8秒左右;
5,应用 :
时钟芯片,一般用来处理精确计算时间的电路项目,如时间万年历;
采用时钟芯片这个设计方案
优点:精度高,误差小;适用于一些要求较高的电路项目缺点:电路设计复杂,工程师开发难度较高,研发BOM元器件成本高高精度电路项目
当然这三个方案都是针对一些工业与民用领域,如果涉及到航空航天应用领域,比如卫星导航与遥感测量等,则需要选择更高精度的时钟频率电路,如原子钟方案;
综合上述,针对这三类设计方案,目前工程师使用较多的是第二类内部晶振方案,因为此方案能满足绝大多数的单片机电路项目要求,而且研发设计成本最优; 这就是单片机常用的3种电路设计方案,不知工程师,你是在用哪1种方案?
本文由【芯片哥】原创撰写,喜欢就关注芯片哥,和芯片哥一起加油吧#电子元器件# #芯片#
相关问答
单片机 的 时钟 周期怎样计算(比如6MHZ的晶体振荡)_作业帮[最佳回答]如果是51单片机的话时钟周期是机器周期的12倍机器周期是晶振频率的倒数1/6MHz=1/6us那这样的就是51单片机的时钟周期就是12*(1/6us)=2us如果是51...
单片机 中 时钟 是指什么?时钟是单片机的脉搏,是单片机的驱动源,使用任何一个外设都必须打开相应的时钟。这样的好处是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统...
单片机 的 时钟 电路所采用的晶振频率为24MHz,那么 单片机 的 时钟 ...[最佳回答]LZ确定问的是时钟周期?时钟周期就是晶振提供的震荡频率的倒数.如果你的意思是单片机的机器周期的话就不是这样了,晶振给单片机提供一个震荡频率之后...
单片机时钟 有哪些产生方式?单片机时钟产生方式主要有晶振、RC振荡器、DDS、PLL等方式。其中,晶振作为产生单片机时钟信号的主要方式,其具有稳定性高和频率精度高的特点,同时其成本也比较...
单片机 电子 时钟 详细流程图怎么画?利用实验平台上的4个LED数码管,设计带有闹铃功能的数字时钟。1、在4位数码管上显示当前时间,计时格式为“时时分分”2、由LED闪烁做秒显示3、利用按键可...
单片机 模拟 时钟系统 流程分析?如果是模拟量,这种模拟量一般是用运放电路,把这个信号转换成0-5v的信号。如果是开关量,就简单了,信号驱动能力大的话可以用光耦,驱动能力小就用三极管,都可...
Mcs51 单片机时钟 周期机器周期指令周期是如何分配的?12个时钟周期,是1个机器周期;在单片机中,是以机器周期的个数,作为时间的计量单位。Mcs51单片机的111条指令,执行时,所花费的时间,称为指令周期。有64条...
单片机 中 时钟 、晶振分别是起什么作用的?晶振的作用就是给单片机提供一个时钟信号(一个非常稳定的频率信号),使单片机各内部组件同步工作,并且在和外部设备通信时是也能达到同步。晶振的作用就是给单...
为何51 单片机 一个机器周期有12个 时钟 周期 这话什么意思 机器...时钟周期是生产时就确定的,原因就是因为51的执行速度相对较慢,MCU运行时是对外部时钟进行了12分频,这个没必要纠结,执行不够快那只能慢下来。像AVR的单片机机...
单片机时钟 变慢会影响运行速度吗?指令程序执行时间会变长吗?系统时钟决定了CPU执行指令的时候CPU的主频大家都知道吧,记得上大学那会装的第一台电脑用的是433MH主频的CPU。现在主流CPU主频一般是3GHz,运算速度已经提升了...