0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Microchip PIC16F1619实验:PIC16的双速启动教程

算法&编程学院 来源:网络整理 2018-02-01 05:06 次阅读

PIC16的双速启动模式

振荡器模块被配置为HS模式时,系统使用外部晶振提供的频率作为系统时钟。但是晶振起振与代码执行之间是存在延时的,在这段延时期间,单片机是无法执行任何程序的。HS模式下,上电之后晶振起振,提供时钟信号,但是这个信号不能马上被系统使用,因为这时候的时钟信号可能还不大稳定,所以需要等待一段稳定时间,振荡器才能用作系统时钟源。振荡器起振定时器(OST)的作用就在这里,HS模式OST会被使能接收到晶振的振荡信号后它会开始计数,当计数到1024次振荡时,稳定时间已过,外部晶振开始作用于系统时钟源。

对于一些需要快速启动的系统,这段延时可能会是一个比较让人头疼的问题,例如需要经常休眠然后需要快速启动的系统,这段延时启动会降低系统的反应敏捷度,空等延时也是浪费了无意义的电量损耗。双速时钟启动模式,则可以解决这个问题。

双速时钟启动简单来说,就是在启动延时这段时间里,启动内部振荡器来提供时钟信号,程序上电就能跑,然后当1024次震荡周期过了之后,切换回外部晶振提供的时钟信号。两者合作,度过这段虚无的时光。

1.双速启动顺序

1. 从上电复位或休眠中唤醒。

2. 使用内部振荡器以OSCCON寄存器的IRCF《3:0》位设置的频率(默认只500 kHz)开始执行指令。

3. OST使能,计数1024个时钟周期。

4. OST超时,等待内部振荡器下降沿出现。

5. OSCSTAT寄存器的OSTS位置1(根据此标志位判断是外部时钟源运行,还是内部振荡器运行)。

6. 系统时钟保持为低电平,直到新时钟下一个下降沿出现(HS模式)。

7. 系统时钟切换到外部时钟源。

2.通过以下设置来配置双速启动模式:

1.配置字CONFIG1的bit 12(IESO)=1,使能内/外部时钟切换模式

2.SCS(在OSCCON寄存器中)= 00,由配置字中的FOSC《1:0》决定时钟来源。

3. 配置字中的FOSC《2:0》位被配置HS模式,即FOSC《2:0》 = 010。

3.实验代码

#include

#include

#define _XTAL_FREQ 500000

// CONFIG1

#pragma config FOSC = HS // Oscillator Selection Bits (HS Oscillator, High-speed crystal/resonator connected between OSC1 and OSC2 pins)

#pragma config PWRTE = OFF // Power-up Timer Enable (PWRT disabled)

#pragma config MCLRE = ON // MCLR Pin Function Select (MCLR/VPP pin function is MCLR)

#pragma config CP = OFF // Flash Program Memory Code Protection (Program memory code protection is disabled)

#pragma config BOREN = ON // Brown-out Reset Enable (Brown-out Reset enabled)

#pragma config CLKOUTEN = OFF // Clock Out Enable (CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin)

#pragma config IESO = ON // Internal/External Switch Over (Internal External Switch Over mode is enabled)

#pragma config FCMEN = ON // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is enabled)

void main()

{

OSCCON = 0x38; //0011 1000 时钟初始化

PORTA |= 0x04;

TRISA &= 0xfb;

while(1)

{

RA2=1;

__delay_ms(100);

RA2=0;

__delay_ms(100);

}

}

不过,事实上虽然有代码了,但是没办法进入双速时钟模式,因为板子根本就没有外部晶振。将工程编译烧录之后,确实可以看到D6在闪烁,因为muc以配置的500KHz时钟在运行。dalao不存在的,只有挡刀的小兵。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 时钟
    +关注

    关注

    10

    文章

    1712

    浏览量

    131253
  • PIC16F1619
    +关注

    关注

    0

    文章

    2

    浏览量

    2823
收藏 人收藏

    评论

    相关推荐

    EN8F1823E完全替代PIC16F883,PIC16F1883,PIC16F1936,PIC16F1937

    PIC
    捷尚微辉芒微MCU单片机
    发布于 :2024年07月30日 16:59:15

    MPU进入64位时代,Microchip推出PIC64系列产品

    ,MCU和MPU之间的界限也越来越小,以适应更多新的应用。Microchip作为嵌入式解决方案的领导者,近日推出了全新的PIC64GX MPU,这也是Microchip推出的首款64位MPU产品
    的头像 发表于 07-24 00:12 3458次阅读

    英锐恩EN8F1812完全替代PIC16F54,PIC16C54C,PIC16C711,PIC16F716

    mcu
    捷尚微辉芒微MCU单片机
    发布于 :2024年06月25日 10:59:42

    Microchip发布PIC16F13145系列MCU,促进可定制逻辑的新发展

    为了满足嵌入式应用日益增长的定制化需求,MicrochipTechnologyInc.(微芯科技公司)推出PIC16F13145系列单片机(MCU),提供量身定制的硬件解决方案。该系列MCU配备了
    的头像 发表于 02-19 12:01 419次阅读
    <b class='flag-5'>Microchip</b>发布<b class='flag-5'>PIC16F</b>13145系列MCU,促进可定制逻辑的新发展

    Microchip推出PIC16F13145系列单片机

    随着嵌入式应用的日益复杂,对定制化硬件解决方案的需求也在不断增长。为了满足这一需求,Microchip Technology Inc.(微芯科技公司)近日推出了PIC16F13145系列单片机(MCU),为用户提供高度定制化的硬件选择。
    的头像 发表于 01-25 17:00 1084次阅读

    Microchip发布PIC16F13145系列MCU,促进可定制逻辑的新发展

    为了满足嵌入式应用日益增长的定制化需求,Microchip Technology Inc.(微芯科技公司)推出PIC16F13145系列单片机(MCU),提供量身定制的硬件解决方案。
    的头像 发表于 01-25 16:49 934次阅读
    <b class='flag-5'>Microchip</b>发布<b class='flag-5'>PIC16F</b>13145系列MCU,促进可定制逻辑的新发展

    PIC18F2682/2685/4682/4685 数据手册

    电子发烧友网站提供《PIC18F2682/2685/4682/4685 数据手册.pdf》资料免费下载
    发表于 01-05 10:47 0次下载

    pic16f628a烧录设置

    PIC16F628A是微芯科技(Microchip)推出的一款8位微控制器芯片。它是一款多功能的芯片,被广泛应用于各种嵌入式系统和电子设备中。烧录是将程序代码写入芯片的过程,它是使用这款芯片的第一步
    的头像 发表于 12-19 09:43 2198次阅读

    简单介绍MicrochipPIC18F8585 MCU

    MicrochipPIC18F8585 MCU,这是一款带CAN接口的MCU。
    发表于 11-24 16:52 1162次阅读
    简单介绍<b class='flag-5'>Microchip</b>的<b class='flag-5'>PIC18F</b>8585 MCU

    采用混合信号高电压PIC16HV785单片机 实现LED降压-升压驱动电路

    电子发烧友网站提供《采用混合信号高电压PIC16HV785单片机 实现LED降压-升压驱动电路.pdf》资料免费下载
    发表于 11-17 09:33 0次下载
    采用混合信号高电压<b class='flag-5'>PIC16</b>HV785单片机 实现LED降压-升压驱动电路

    PIC16F73

    电路PIC
    jf_34538777
    发布于 :2023年11月15日 14:24:18

    基于PIC16F785单片机的汽车用氙气前照灯镇流器设计

    简介:采用PIC16F785单片机进行控制,设计并实现了一种新型的汽车用氙气前照灯镇流器。针对当前汽车用氙气前照灯镇流器产品效率低、可靠性差等方面的不足,采用单芯片控制、平面变压器、软开关和全贴片等技术,大幅度提高产品的可靠性,效率提高了4%。实验结果证明了该设计的可行性
    发表于 11-09 17:33 1次下载
    基于<b class='flag-5'>PIC16F</b>785单片机的汽车用氙气前照灯镇流器设计

    pic16f1947睡眠后经常无法唤醒,如何查找原因?

    使用pic16f1947过程中发现,上电运行正常,但是睡眠进入低功耗后经常出现无法唤醒,不知道什么原因,应该怎么排查
    发表于 11-09 08:25

    基于PIC16F877A单片机的自定义无线传输协议和短信通信协议

    电子发烧友网站提供《基于PIC16F877A单片机的自定义无线传输协议和短信通信协议.pdf》资料免费下载
    发表于 11-08 14:47 1次下载
    基于<b class='flag-5'>PIC16F</b>877A单片机的自定义无线传输协议和短信通信协议

    PIC16C57的滚动码遥控安防系统电路图设计

    电子发烧友网站提供《PIC16C57的滚动码遥控安防系统电路图设计.pdf》资料免费下载
    发表于 11-06 08:31 0次下载
    <b class='flag-5'>PIC16</b>C57的滚动码遥控安防系统电路图设计