IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> PIC24HJ单片机时钟 -> 正文阅读

[嵌入式]PIC24HJ单片机时钟

PIC24HJ时钟

1.时钟来源
PIC24HJ系列单片机的时钟来源有以下几个:
a.主振荡器:EC,HS,XT,三个外部时钟源,这三个又有不同的频率范围,具体不赘述,可以在PIC24HJ数据手册中找到,这里有必要说明一下这三个时钟源的接法:EC高速晶振单脚接入单片机,它的特点是接电源自激振荡,并输出时钟信号至PIC24HJ,HS和XT都是通过PIC24HJ的OSC1和OSC2接入,需要单片机起振才能正常工作。
b.内部快速RC振荡器(FRC),它的标称值是7.37MHz。
c.辅助振荡器Socs,它的频率是32768KHz。

2.配置时钟
PIC24HJ的时钟源可以配置,如果我们写的代码里面没有设置时钟的话,PIC24HJ默认使用内部FRC晶振的。7.37MHz并不是直接作用于器件(外设)上的,如果使用带PLL锁相环的FRC,需要配置三个系数M,N1和N2。这里的FRC标称值7.37MHz就是Fosc,单片机的工作频率,它驱动PIC24HJ的定时器外设时,不是直接输出到定时器上的,PIC24HJ单片机有器件工作频率Fcy = Fosc / 2。
接上一篇文章配置TIMER定时1MS,在中断函数中设置一个计数器,累加1000,翻转LED状态。具体是修改上一篇代码中的PR1的值,修改为:3684,因为TIMER的工作频率是3.685MHz。根据Fcy = Fosc / 2得到。代码中设置的时钟分频是1分频。

使用MPLAB X IDE 自带的配置位设置时钟源为:外部时钟HS:
在这里插入图片描述
具体是修改图中红色箭头所指的这两部分。一个选择时钟源为带PLL锁相环的主振荡器PRIPLL,一个是选择主振荡器的类型为HS,由于我的外部晶振是接在PIC24HJ的OSC1和OSC2上所以不能选择EC,之前选择EC发现单片机不能工作,直接影响不能使用MPLAB X IDE 调试代码,调试代码出现:“Your Target could not ready to DEBUG”类似的话,问题就出现在这,这是因为DEBUG时时钟没有起振,PIC24HJ不工作。配置完成后,点击下面的Generate Source Code,将生成的代码复制到编辑框内。


// PIC24HJ128GP506A Configuration Bit Settings

// 'C' source line config statements

// FBS
#pragma config BWRP = WRPROTECT_OFF     // Boot Segment Write Protect (Boot Segment may be written)
#pragma config BSS = NO_FLASH           // Boot Segment Program Flash Code Protection (No Boot program Flash segment)
#pragma config RBS = NO_RAM             // Boot Segment RAM Protection (No Boot RAM)

// FSS
#pragma config SWRP = WRPROTECT_OFF     // Secure Segment Program Write Protect (Secure segment may be written)
#pragma config SSS = NO_FLASH           // Secure Segment Program Flash Code Protection (No Secure Segment)
#pragma config RSS = NO_RAM             // Secure Segment Data RAM Protection (No Secure RAM)

// FGS
#pragma config GWRP = OFF               // General Code Segment Write Protect (User program memory is not write-protected)
#pragma config GSS = OFF                // General Segment Code Protection (User program memory is not code-protected)

// FOSCSEL
#pragma config FNOSC = PRIPLL           // Oscillator Mode (Primary Oscillator (XT, HS, EC) w/ PLL)
#pragma config IESO = ON                // Two-speed Oscillator Start-Up Enable (Start up with FRC, then switch)

// FOSC
#pragma config POSCMD = HS              // Primary Oscillator Source (HS Oscillator Mode)
#pragma config OSCIOFNC = OFF           // OSC2 Pin Function (OSC2 pin has clock out function)
#pragma config FCKSM = CSDCMD           // Clock Switching and Monitor (Both Clock Switching and Fail-Safe Clock Monitor are disabled)

// FWDT
#pragma config WDTPOST = PS32768        // Watchdog Timer Postscaler (1:32,768)
#pragma config WDTPRE = PR128           // WDT Prescaler (1:128)
#pragma config WINDIS = OFF             // Watchdog Timer Window (Watchdog Timer in Non-Window mode)
#pragma config FWDTEN = ON              // Watchdog Timer Enable (Watchdog timer always enabled)

// FPOR
#pragma config FPWRT = PWR128           // POR Timer Value (128ms)

// FICD
#pragma config ICS = PGD1               // Comm Channel Select (Communicate on PGC1/EMUC1 and PGD1/EMUD1)
#pragma config JTAGEN = OFF             // JTAG Port Enable (JTAG is Disabled)

// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.

#include <xc.h>

int main(void){
    return 0;
}

以上#progma …都是对PIC24HJ的配置,可以在上面找到时钟源的配置。分别是FOSCSEL和FOSC两块。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 09:59:50  更:2021-08-06 10:00:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 10:32:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计