基本信息
文件名称:Microchip 系列:PIC18 系列_(16).振荡器和时钟配置.docx
文件大小:22.56 KB
总页数:20 页
更新时间:2025-06-23
总字数:约9.48千字
文档摘要

PAGE1

PAGE1

振荡器和时钟配置

在单片机系统中,振荡器和时钟配置是至关重要的部分,它们决定了系统的运行速度和稳定性。PIC18系列单片机支持多种振荡器和时钟配置方式,可以根据具体应用的需求选择合适的配置。本节将详细介绍PIC18系列单片机的振荡器和时钟配置原理及方法,并提供具体的代码示例。

振荡器类型

PIC18系列单片机支持多种振荡器类型,包括:

内部振荡器:内置低速和高速振荡器。

外部晶振:支持多种频率的外部晶振。

外部RC振荡器:使用外部电阻和电容组成的振荡器。

外部时钟输入:直接从外部输入时钟信号。

内部振荡器

内部振荡器是PIC18系列单片机内置的振荡器,分为低速和高速两种类型。低速振荡器通常用于启动和低功耗模式,而高速振荡器则用于正常运行模式。

低速内部振荡器(LFINTOSC)

低速内部振荡器的频率通常为32.768kHz,适合用于低功耗应用和定时器操作。配置低速内部振荡器通常需要设置OSCCON寄存器。

//配置低速内部振荡器

OSCCON=0//选择LFINTOSC作为系统时钟源

高速内部振荡器(HFINTOSC)

高速内部振荡器的频率通常为8MHz或16MHz,适合用于需要较高运行速度的应用。配置高速内部振荡器同样需要设置OSCCON寄存器。

//配置高速内部振荡器

OSCCON=0//选择HFINTOSC作为系统时钟源,并设置为8MHz

外部晶振

外部晶振是通过连接外部晶体来生成时钟信号的振荡器。常见的晶体频率包括4MHz、20MHz、40MHz等。配置外部晶振需要设置配置位(CONFIG)和OSCCON寄存器。

4MHz晶振配置

//配置4MHz外部晶振

#pragmaconfigFOSC=XT//选择外部晶振

#pragmaconfigPLLCFG=OFF//关闭PLL

#pragmaconfigFCMEN=OFF//关闭故障检测

#pragmaconfigIESO=OFF//关闭内部/外部切换

//初始化OSCCON寄存器

OSCCON=0//选择外部晶振,4MHz

20MHz晶振配置

//配置20MHz外部晶振

#pragmaconfigFOSC=HS//选择外部高速晶振

#pragmaconfigPLLCFG=OFF//关闭PLL

#pragmaconfigFCMEN=OFF//关闭故障检测

#pragmaconfigIESO=OFF//关闭内部/外部切换

//初始化OSCCON寄存器

OSCCON=0//选择外部高速晶振,20MHz

外部RC振荡器

外部RC振荡器使用外部电阻和电容来生成时钟信号,适用于低成本和低精度的应用。配置外部RC振荡器需要设置配置位和OSCCON寄存器。

//配置外部RC振荡器

#pragmaconfigFOSC=EC//选择外部RC振荡器

#pragmaconfigPLLCFG=OFF//关闭PLL

#pragmaconfigFCMEN=OFF//关闭故障检测

#pragmaconfigIESO=OFF//关闭内部/外部切换

//初始化OSCCON寄存器

OSCCON=0//选择外部RC振荡器

外部时钟输入

外部时钟输入允许从外部直接输入时钟信号,适用于需要精确时钟源的应用。配置外部时钟输入需要设置配置位和OSCCON寄存器。

//配置外部时钟输入

#pragmaconfigFOSC=EXTRC//选择外部时钟输入

#pragmaconfigPLLCFG=OFF//关闭PLL

#pragmaconfigFCMEN=OFF//关闭故障检测

#pragmaconfigIESO=OFF//关闭内部/外部切换

//初始化OSCCON寄存器

OSCCON=0//选择外部时钟输入

时钟分频

时钟分频用于调整系统时钟频率,以满足不同应用的需求。PIC18系列单片机的时钟分频可以通过配置OSCCON寄存器中的分频位来实现。

系统时钟分频

系统时钟分频通过设置OSCCON寄存器中的IRCF位来实现