什么是什么单片机时钟?怎么设置
什么时钟?首先我们先讲讲什么是时钟。时钟就是单片机的心脏。每跳动一下。整个单片机的各个电路就同步的动作一下。就好像我们做广播体操的时候 广播上喊的节拍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个按键设置)、闹钟设置(通过前面3个按键设置)、保存设置(设置完成后按下保存并退出)。
时钟可以显示到秒位
数码管用的是共阴,共阳的话加三极管闲麻烦,没加。数码管a~g接的P0口,没用10K排阻上拉,试了下觉得亮度太低了,就都换成了2K的作为上拉。
有兴趣的可以给加上温度传感器,可以显示温度(我这里面就没加了)初学单片机没多久,欢迎大佬指导。材料如下:89C52*1 4位数码管*1+2位数码管*1(当然如果有六位的也可以直接用,找不到其他数码管了就这么混搭了) 有源蜂鸣器*1(试过无源,但时间计算过于占用资源导致发声不是很完美,大佬可以改一下) 轻触开关*7(1个用于复位,其余六个用于设置) + 自锁开关*1 电池*1 + 5V稳压*1
单 片 机 时 钟 源 码 程 序--戳可见--->51单片机六位显示数码管时钟实例(带闹钟设置,源码,原理图)
相关问答
单片机 的时钟电路所采用的晶振频率为24MHz,那么 单片机 的时钟...[最佳回答]LZ确定问的是时钟周期?时钟周期就是晶振提供的震荡频率的倒数.如果你的意思是单片机的机器周期的话就不是这样了,晶振给单片机提供一个震荡频率之后...
单片机 时钟电路组成和原理?单片机时钟电路是由晶振、晶体振荡器、分频器和计数器等部分组成的。其原理是通过晶振提供稳定的振荡信号,晶体振荡器将振荡信号转换成数字信号,分频器将数字...
51 单片机 设置时钟带日期a.用AT89S51 单片机 的定时/计数器T0产...[最佳回答]要实物还是仿真呢我做单片机的
单片机 时钟频率调整?做一个延时程序吧,延时500ms,然后取反,出来的信号就是1HZ的。DELAY_500MS:MOVR5,#10L1:MOVR6,#100L2:MOVR7,#250DJNZR7,$...
单片机 时钟频率设置指令?1.选择适当的寄存器:在大多数单片机中,时钟频率设置通常涉及到一个名为"时钟控制寄存器"或"时钟配置寄存器"的寄存器。这个寄存器通常有一个位用于选择不同的.....
单片机 有几个时钟?时钟是单片机有序工作的节拍,步调一致,多个时钟会造成混乱。因此,单片机工作时有且只能有一个时钟。时钟是单片机有序工作的节拍,步调一致,多个时钟会造成混...
单片机 的计数器,每计数一次是多少时间-ZOL问答定时器/计数器做为定时器来用的时候,是数的单片机时钟的脉冲个数,也就是说,单片机的时钟做为定时器/计数器的时钟源,因为单片机的时钟一般比较固定,因此,我们就...
单片机 数字时钟函数解析?在CPU需要使用定时功能来完成某项任务时,可以调用单片机数字时钟函数。在CPU需要使用定时功能来完成某项任务时,可以调用单片机数字时钟函数。
MCS51 单片机 时钟频率fosc11.0592MHZ,其波特率为1200bps,SMOD=0,T1工作于方式2,请写一段程序进行初始化?TMOD=0x20;//定时器1工作于8位自动重载模式,用于产生波特率TH1=TL1=0xE8;//波特率1200SCON=0x50;//设定串行口工作方式1允许接收,相当...
单片机 指令周期的计算?包含两个机器周期的指令称为双周期指令。另外还有4周期指令,比如乘法和除法指令。而我现在使用的晶振为22.1184MHz,单片机为4时钟周期,所以机器周期为1/5.52...