技术文档

单片机计时器 什么是什么单片机时钟?怎么设置

小编 2024-11-24 技术文档 23 0

什么是什么单片机时钟?怎么设置

什么时钟?

首先我们先讲讲什么是时钟。时钟就是单片机的心脏。每跳动一下。整个单片机的各个电路就同步的动作一下。就好像我们做广播体操的时候 广播上喊的节拍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单片机六位显示数码管时钟实例(带闹钟设置,源码,原理图)

相关问答

单片机 有几个时钟引脚?

单片机有2个时钟引脚,一个是外部时钟输入引脚,另一个是内部时钟输出引脚。单片机有2个时钟引脚,一个是外部时钟输入引脚,另一个是内部时钟输出引脚。

C51 单片机计时器 50ms程序编写?

12MHz晶振,经典51核是12分频,因此时钟周期为1μs。50ms=50000μs,因此定时器累加至溢出需要50000个周期。因此65536-50000=15536=0x3CB0因此TH0=0x3C...

【当80C51 单片机 晶振频率为12MHz时,时钟周期.机器周期各是多...

[最佳回答]1.时钟周期即晶振的单位时间发出的脉冲数,12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,即1/12微秒.2...

单片机 的时钟模式是什么?

这是STC单片机特有的系统时钟模式,即单片机可以一个机器周期含12系统时钟的模式工作,也可以以一个机器周期含6系统时钟的模式工作,后一种速度提高一倍,前一种...

单片机 时钟有哪些产生方式?

单片机时钟产生方式主要有晶振、RC振荡器、DDS、PLL等方式。其中,晶振作为产生单片机时钟信号的主要方式,其具有稳定性高和频率精度高的特点,同时其成本也比较...

stc 单片机 时钟电路原理?

时钟电路就是一个振荡器,给单片机提供一个节拍,单片机执行各种操作必须在这个节拍的控制下才能进行。因此单片机没有时钟电路是不会正常工作的。时钟电路本身...

单片机 时钟电描述正确的是?

单片机时钟电路是用来配合外部晶体实现振荡的电路,这样可以为单片机提供运行时钟,如果运行时钟为0的话,单片机就不工作,当然超出单片机的工作频率的时钟也会...

单片机 模拟时钟系统流程分析?

如果是模拟量,这种模拟量一般是用运放电路,把这个信号转换成0-5v的信号。如果是开关量,就简单了,信号驱动能力大的话可以用光耦,驱动能力小就用三极管,都可...

单片机 数字时钟如何实现时间校准?

单片机数字时钟可以通过以下几种方式进行时间校准:1.使用实时时钟模块,该模块可以提供精确的时间基准,单片机通过与实时时钟模块通信获取当前时间,并根据实...

如何让 单片机 掉电保持设置的时间不变动?

1.对于较老型号的单片机,可外扩串口时钟芯片+纽扣电池的方法,如DS1302+3.6V镉电池。2.8051系列,可外扩并口时钟芯片DS12887,DS12887内含电池,只是并口方式...

猜你喜欢