历史上的今天
今天是:2024年10月10日(星期四)
2018年10月10日 | 实例讲解PIC单片机的时钟设置
2018-10-10 来源:eefocus
什么时钟?
首先我们先讲讲什么是时钟。时钟就是单片机的心脏。每跳动一下。整个单片机的各个电路就同步的动作一下。就好像我们做广播体操的时候 广播上喊的节拍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);
}
上一篇:单片机的几种寻址方式
下一篇:破解单片机的常用方法及应对策略
史海拾趣
|
Microchip扩充率22位Δ-Σ模数转换器阵容新款模数转换器可抑制阻止50或60 Hz线路频率噪音噪声,实现高精度测量 Microchip Technology Inc.(美国微芯科技公司)日前宣布其低功耗率、高分辨率Δ-Σ模数转换器系列又添新成员——新款MCP3550加 ...… 查看全部问答> |
|
本人有个带驱动器的步进电机,型号为BL55S-M01是三星打印机上的,上面带一个10针的插座分别为:1.24V 2. 24V 3.GND 4.GND 5.BK 6.5V(NC) 7.ST/SP 8.RD 9.CLK 10.CW /CCW。哪位高手能否介绍一下那些管脚的作用?… 查看全部问答> |
|
平台:S3C2440、WINCE5.0 问题现象描述: 1、1G以下的SD卡一切正常。 2、2G的卡插入无法识别到卡的盘符 特别现象描述: 正常插入卡无法识别2G卡,但插入的时候使劲按住卡不放,能正常识别到卡,并能正常读写,为什么?1G以下卡没 ...… 查看全部问答> |
|
由于公司扩展,急需招聘Windows Mobile/Win CE应用工程师 有意者发送简历到simonjin@gotoup.cn或直接发送到hr@gotoup.cn 公司简介: 上海向上信息科技有限公司是一家专业从事智能手机研究、开发的高新技术企业。主要 ...… 查看全部问答> |
|
我在计算机上用串口调试助手给80S51发送31个字节的16进制数据,比如:dd 01 ...09。dd是一个标志位后面的30个数据才是单片机所要处理的数据,单片机然后将这30个字节显示在数码管上。但是得到的现象是:所有数码管都显示最后一个字节的数09,单片机 ...… 查看全部问答> |
|
各位: 我用一个临时DC来选图片,然后把到放到内存DC指定位置,然后把内存DC的图片拷到显示DC里去。 刚开始的时候显示DC里是一个纯黑的图,BitBlt过去后,彩色图片变成白色了。 后来我把显示DC清空,直接把内存DC的拷到显示DC里去, ...… 查看全部问答> |
|
已经为大家准备了一批STM32系列芯片,覆盖了所有的芯片型号,从36PIN到100PIN,直接查询零售价,如果有需要可以电话联系我们。www.mxchip.com网站新版,欢迎指导!… 查看全部问答> |




