实力讲解PIC单片机的时钟设置操作

发布者:BlissfulAura最新更新时间:2019-12-20 来源: elecfans关键字:PIC单片机  时钟设置  时钟频率 手机看文章 扫描二维码
随时随地手机看文章

  单片机的时钟信号好比是单片机的心脏。单片机的时钟频率决定了单片机运行一个指令周期的时间。原理的话应该是晶振与外部电容构成电容三点式振荡电路,此时时钟输入为正弦波,经过内部施密特触发器整形变为方波。


  内部时钟方式:

  利用单片机内部的振荡器,然后在引脚XTAL1(18脚)和XTAL2(19脚)两端接晶振,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,外接晶振时,晶振两端的电容一般选择为30PF左右;这两个电容对频率有微调的作用,晶振的频率范围可在1.2MHz-12MHz之间选择。为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。


  外部时钟方式:

  此方式是利用外部振荡脉冲接入XTAL1或XTAL2。HMOS和CHMOS单片机外时钟信号接入方式不同,HMOS型单片机(例如8051)外时钟信号由XTAL2端脚注入后直接送至内部时钟电路,输入端XTAL1应接地。由于XTAL2端的逻辑电平不是TTL的,故建议外接一个上接电阻。对于CHMOS型的单片机(例如80C51),因内部时钟发生器的信号取自反相器的输入端,故采用外部时钟源时,接线方式为外时钟信号接到XTAL1而XTAL2悬空。


  PIC单片机时钟的设置:

  时钟设置一般只和两处有关 一个是配置字,一个是振荡器控制寄存器 OSCCON 下面我们以PICLF1823为例子进行讲解。


  PICLF1823 配置字设置 中与时钟有关的就是 FOSC《2:0》:振荡器选择位,和PLLEN:PLL使能位 。


  OSCCON 是有关内部时钟频率选择,如果只用外部时钟一般不理会。以下是数据手册中OSCCON寄存器的详细介绍。

实力讲解PIC单片机的时钟设置操作

  实例讲解:

    使用内部时钟将时钟频率设置成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);

  }

关键字:PIC单片机  时钟设置  时钟频率 引用地址:实力讲解PIC单片机的时钟设置操作

上一篇:PIC单片机读写I2C实例源程序一
下一篇:PIC单片机的读写93C46程序

推荐阅读最新更新时间:2024-11-06 17:04

PIC单片机CAN总线通讯汇编程序
;该汇编程序实现CAN总线通讯发送缓冲器0向接收缓冲器0发送数据的自测试模式,单片机采用P18F458,其中接收采用中断方式,发送采用查询方式,本例的c51程序请打开 http://www.51hei.com/mcu/555.html ,流程和这个一样的。 LIST P=18F458 INCLUDE "P18F458.INC" CAN_FLAG EQU 0X20 ;定义标志寄存器 ORG 0X00 GOTO MAIN ORG 0X18 GOTO CAN_INTSERVE ;转向中断服务子程序 ORG 0X30 ;*********初始化子程序*************** INITIAL BCF TRISB,2 BSF T
[单片机]
基于多路移相时钟的瞬时测频模块设计
  0 引 言   目前,脉冲雷达的脉内信号分析一直是研究的热点和难点,如何能更快速,准确的对脉内载波频率测量成为研究人员关注的目标,与此同时高精度频率源在无线电领域应用越来越广泛,对频率测量设备有了更高的要求,因此研究新的测频方法对开发低成本、小体积且使用和携带方便的频率测量设备有着十分重要的意义。本文根据雷达发射机频率快速变化的特点,采用目前新型的逻辑控制器件研究新型频率测量模块,结合等精度内插测频原理,对整形放大后的脉冲直接计数,实现对下变频后单脉冲包络的载波快速测频。具有测量精度高,测量用时短的特点,能作为脉冲雷达单脉冲瞬时测频模块。 1 移相时钟计数法测频原理   移相时钟计数法以等精度测频法为基础,是一种新的内
[安防电子]
基于多路移相<font color='red'>时钟</font>的瞬时测频模块设计
ZC-ADK中PIC单片机的CONGFIG说明
CONFIG又称为熔丝位,可以通过配置熔丝位来配置单片机内部的功能,比如晶振时钟、看门狗、JTAG、掉电检测与代码保护等,如果对这些设置不了解的话,建议直接复制粘贴。 在PIC单片机中,我们既可以通过在代码中添加CONFIG代码来设置熔丝位,也可以通过在MPLAB IDE集成开发环境中通过界面进行配置。 界面配置方法: 点击Configure Select Device选择相应的器件,这里我们选择PIC24FJ64GB004,如图1、图2所示: 图1 图2 选择好器件后,点击Configure Configuration Bits,进入图3界面,取消掉Configration Bits set in code,这样
[单片机]
ZC-ADK中<font color='red'>PIC单片机</font>的CONGFIG说明
如何选择PIC单片机的C编译器
如果是编译PIC10、PIC12、PIC16系列单片机,用CCS最好。而PIC18/PIC24/dsPIC/PIC32系列,用MCC最好。 PIC单片机的C编译器只有HI-TECH公司出品PICC编译器,和CCS公司的CCS编译器。还有PIC的生产商Microchip公司自行生产的只针对PIC18/PIC24/dsPIC/PIC32系列单片机的C语言编译器MCC(MCC18 / MCC30 / MCC32)。 IAR软件不能编译PIC的C语言或汇编语言。 要注意的一点是,CCS虽然也是C语言,但因为头文件不同,所以它的程序和PICC,MCC都不一样,三者的程序不能混着编译,比如针对CCS编写的程序只能用CCS的编译器
[单片机]
如何选择<font color='red'>PIC单片机</font>的C编译器
PIC单片机基础2
PIC中档系列单片机,每条指令14位,共有35条汇编指令,根据操作对象不同,可将其分为三类: 字节操作类指令 位操作类指令 立即数与控制类操作指令 1、字节操作类指令,以MOVF指令为例: 指令:MOVF f, d 说明: 功能:寄存器f值传送; MOVF为助记符,即操作指令,大小写均可; f代表文件寄存器标识符,即RAM寄存器(PIC单片机基础1中有说明),取值范围为 d代表目标标识符,表明指令操作的结果放在何处;    d=0:操作的结果放在W寄存器中;    d=1:操作的结果放在f寄存器中; 影响状态位:Z 指令周期:1(执行本指令需要的时间) 实例1: 假设执行指令前,F寄存器22H的值为0
[单片机]
Microchip宣布推出全新单片机系列PIC16(L)F161X
Microchip Technology Inc.(美国微芯科技公司)近日在德国慕尼黑电子展上宣布推出多外设、低引脚数的PIC16(L)F161X系列,拓展其8位PIC单片机产品线。全新的单片机引入并扩展了Microchip独立于内核的外设(CIP)。这些CIP均具备低功耗的特性,不仅缩短中断延迟,提升系统的效率和安全性,而且最大限度地降低了设计时间和投入。这些外设无需额外代码和外部组件,大大降低了系统的复杂性。基于硬件的外设使CPU无需承担时序关键功能和内核密集功能,可以专注于系统内的其他重要任务。 PIC16(L)F161X PIC单片机可提供具有比例-积分-微分(PID)的数学加速器(MATH ACC),实现完全独立于内
[单片机]
pic单片机多路ad切换程序介绍
PIC单片机(Peripheral Interface Controller)是一种用来开发和控制外围设备的集成电路(IC)。一种具有分散作用(多任务)功能的CPU。与人类相比,大脑就是CPU,PIC 共享的部分相当于人的神经系统。PIC 单片机是一个小的计算机。PIC单片机有计算功能和记忆内存像CPU并由软件控制运行。然而,处理能力—般,存储器容量也很有限,这取决于PIC的类型。但是它们的最高操作频率大约都在20MHz左右,存储器容量用做写程序的大约1K—4K字节。时钟频率与扫描程序的时间和执行程序指令的时间有关系。但不能仅以时钟频率来判断程序处理能力,它还随处理装置的体系结构改变。如果是同样的体系结构,时钟频率较高的处理能力会
[单片机]
<font color='red'>pic单片机</font>多路ad切换程序介绍
PIC单片机虚拟串行通信设计
1.实例目的: 本实例完全建立在计算机软件的基础上,利用PROTEUS软件构建一个单片机系统,利用VB编写一个计算机控制软件和单片机系统串行通信,计算机上的控制软件可以发送一个值在0——999之间的数,在单片机系统上显示出来,单片机系统上也可输入一个相同值域的数并在计算机控制软件上显示出来。本实例主要是为了展示虚拟串行通信的仿真。 2.系统配置 本实例虽然简单,但是要想看到想要的仿真结果,建立虚拟的串口连接是必不可少的。要想仿真串行通信,必须要把单片机系统上的串行口与计算机上的串行口连接,这样他们之间才能传输数据,但由于是仿真,实际没有相连接,所以需要创建一对虚拟串行口并使他们相连,这里我使用的是这个软件Virtual Ser
[单片机]
<font color='red'>PIC单片机</font>虚拟串行通信设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved