什么时钟?

首先我们先讲讲什么是时钟。时钟就是单片机的心脏。每跳动一下。整个单片机的各个电路就同步的动作一下。就好像我们做广播体操的时候 广播上喊的节拍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<pic.h>
__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<pic.h>

__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);
}

PIC单片机之时钟设置相关推荐

  1. pic单片机内部时钟校准c语言,实例讲解PIC单片机的时钟设置

    什么时钟? 首先我们先讲讲什么是时钟.时钟就是单片机的心脏.每跳动一下.整个单片机的各个电路就同步的动作一下.就好像我们做广播体操的时候 广播上喊的节拍1234 2234 3234....然后我们全部 ...

  2. pic单片机内部时钟校准c语言,pic单片机时钟配置

    pic单片机时钟配置 已有 1687 次阅读2016-1-2 18:38 |个人分类:发现 还是PIC12F1572,某个io 输出脉冲信号.io置高,置低都是立即数给寄存器,电平竟然要16us才变化 ...

  3. pic单片机内部时钟校准c语言,PIC系列单片机片内定时器实时时钟的实现(转)

    PIC系列单片机片内定时器实时时钟的实现(转) (2008-08-11 14:24:59) 标签: 杂谈 1. 1 振荡频率的考虑 工作频率为4MHz 的单片机, 选择32. 768kHz 的晶振显然 ...

  4. PIC单片机配置位设置方法

    写程序的时候可以设置,在Mplab软件里也可以设置.如果用某些PIC专用的烧录工具也可以再烧录界面来设置. 学PIC的单片机首先就必须要学CONFIG配置位等内部寄存器.下面是各种设置配置位的方法: ...

  5. ioca0中断 pic单片机_用PIC对PT2262进行三态解码(6561个地址),地址码设置方便。...

    //************************PT2262三态解码程序****************************// // //                          ...

  6. 设定pic单片机端口为输入_如何设置PIC单片机的端口

    在学习这个部门的时候,曾经碰到过一些题目.PIC单片机的引脚未几,大多都是复用引脚,例如AD.IO.比较器.外接晶振等等,所以在配置端口的时候,一定要知道每个功能怎样设置才能实现的,在这一小节中,我要 ...

  7. 51单片机DS1302时钟LCD1602显示(可以按键设置时钟)

    DS1302实时时钟具有能计算2100年之前的秒.分.时.日.日期.星期.月.年的能力,还有闰年调整的能力. 图1:DS1302引脚示意图 其中: X1.X2:32.768KHz晶振接入引脚. GND ...

  8. freescale飞思卡尔 HC9S12 系列单片机 Flash擦写详解(一)之时钟设置

    Flash擦写的内容,个人做HC9S12系列单片机时觉得应该是各模块内容中最难而且是最麻烦的一步了.只有能够对Flash进行擦写以后,所做的Bootloader才有真正手段将串口或者其他通讯手段接收到 ...

  9. PIC单片机的学习——时钟的配置与相关外设的一些计算

    一.概念 Fcy是CPU时钟,Fosc晶振频率.Fcy = Fosc/2,也就是CPU时钟是晶振频率的1/2. 二.开发环境 IDE:MAPLABX MCU型号:PIC24EP64GP204 三.系统 ...

最新文章

  1. 中tile函数_HelpGirlFriend 系列 --- tensorflow 中的张量运算思想
  2. 如何利用计算机网络辅助自己,如何借助计算机网络辅助大学英语写作教学.doc...
  3. android普通权限说明,Android权限说明.doc
  4. 【转载】应广大群众的要求,今天开始连载《超容易的Linux系统管理入门书》一书...
  5. Android 核心分析之十二Android GEWS窗口管理之基本架构原理
  6. 从草根到百万年薪程序员的十年风雨之路,使用指南
  7. Flink 流批一体的实践与探索
  8. axios的数据拦截(拦截器)
  9. c mysql maxpoolsize_mysql数据库参数innodb_buffer_pool_size和max_connections
  10. Starlink的20ms延迟怎么计算得到的?
  11. php function curl token_最全PHP代码规范
  12. iOS 检测网络状态
  13. Django笔记8(模板引擎)
  14. 基于 IDL 的遥感要素序列提取代码
  15. 增强 扫描王 源码_全能扫描王(一款识别率超高的OCR识别APP)
  16. 4. 计算机科学 (Kaggle项目拆解:泰坦尼克号预测)
  17. Java多线程下载分析方法
  18. HTTPDNS基礎知識
  19. 全国大学生女子足球锦标赛
  20. Elastic Search一些用法

热门文章

  1. 《软件工程》第9章软件演化
  2. 绝对实用 !USB鼠标失灵的解决办法
  3. 台式计算机操作系统的安装,自己要怎么给台式电脑安装windows操作系统
  4. jpg转换成pdf软件推荐
  5. “百付宝”带来百度未来格局的真正悬念
  6. 随机森林(RandomForestClassifier)----概述与应用
  7. 我是个妈妈,我需要铂金包读后感
  8. 教你怎么画出一幅印象派的画
  9. 【QRcode】二维码数据容量表(附Python字典格式代码表示)
  10. 为何 java 中 int 类型的取值范围是 [-2147483648, 2147483647]