【转】PIC单片机的配置字总结

平台为:MPLAB V8.92,这个ID有两个编译选项:DEBUG和RELEASE,那么可以根据系统预定宏来自动根据选择模式,配置配置字。

一、PIC18F系列配置字编写

MUC: PIC18F4550

IDE: MPLAB V8.92

编译器:MCC18 V3.47

配置字讲解帮助手册在编译器如下目录:doc\hlpPIC18ConfigSet.chm

例如:D:\Program Files\Microchip\mplabc18\v3.47\doc\hlpPIC18ConfigSet.chm

注意:配置字文件必须只能有main.c文件包含。。。。。。

配置字编写:以18F为例

#ifdef  __DEBUG
    #pragma config  EBTRB   =   OFF
#else
    #pragma config  EBTRB   =   ON
#endif

这段代码就编译预定义宏__DEBUG,然后根据用户选择编译模式自动打开和关闭读保护

 

例子:

#ifndef __PIC18F4550_CONFIG_H__
#define __PIC18F4550_CONFIG_H__


#include    <p18cxxx.h>




//看门狗
#define WDT_ENABLE  0//1:打开;0:关闭
//USB
#define USB_ENABLE  0//1:打开;0:关闭






//PLL Prescaler Selection bits
//96 MHz PLL Prescaler
/*
PLLDIV  = 1     No  divide      (4  MHz input)  
PLLDIV  = 2     Divide  by  2   (8  MHz input)  
PLLDIV  = 3     Divide  by  3   (12 MHz input)  
PLLDIV  = 4     Divide  by  4   (16 MHz input)  
PLLDIV  = 5     Divide  by  5   (20 MHz input)  
PLLDIV  = 6     Divide  by  6   (24 MHz input)  
PLLDIV  = 10    Divide  by  10  (40 MHz input)  
PLLDIV  = 12    Divide  by  12  (48 MHz input) 
*/
#pragma config  PLLDIV  =   5






//CPU System Clock Postscaler
/*
CPUDIV  =   OSC1_PLL2   [OSC1/OSC2  Src: /1][96 MHz PLL Src: /2]  
CPUDIV  =   OSC2_PLL3   [OSC1/OSC2  Src: /2][96 MHz PLL Src: /3]  
CPUDIV  =   OSC3_PLL4   [OSC1/OSC2  Src: /3][96 MHz PLL Src: /4]  
CPUDIV  =   OSC4_PLL6   [OSC1/OSC2  Src: /4][96 MHz PLL Src: /6]  
*/
#pragma config  CPUDIV  =   OSC1_PLL2


//USB Clock Selection bit
//used in Full Speed USB mode only; UCFG:FSEN = 1
//USBDIV = 1    Clock source from OSC1/OSC2  
//USBDIV = 2    Clock source from 96 MHz PLL/2 
#pragma config  USBDIV  =   2


//Oscillator Selection bits
/*
FOSC = XT_XT            XT oscillator, XT used by USB  
FOSC = XTPLL_XT         XT oscillator, PLL enabled, XT used by USB  
FOSC = ECIO_EC          External clock, port function on RA6, EC used by USB  
FOSC = EC_EC            External clock, CLKOUT on RA6, EC used by USB  
FOSC = ECPLLIO_EC       External clock, PLL enabled, port function on RA6, EC used by USB  
FOSC = ECPLL_EC         External clock, PLL enabled, CLKOUT on RA6, EC used by USB  
FOSC = INTOSCIO_EC      Internal oscillator, port function on RA6, EC used by USB  
FOSC = INTOSC_EC        Internal oscillator, CLKOUT on RA6, EC used by USB  
FOSC = INTOSC_XT        Internal oscillator, XT used by USB  
FOSC = INTOSC_HS        Internal oscillator, HS used by USB  
FOSC = HS               HS oscillator, HS used by USB  
FOSC = HSPLL_HS         HS oscillator, PLL enabled, HS used by USB
*/
#pragma config  FOSC    =   HSPLL_HS


//Fail-Safe Clock Monitor Enable bit
#pragma config  FCMEN   =   OFF


//Internal/External Oscillator Switchover bit
#pragma config  IESO    =   OFF


//Power-up Timer Enable bit

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值