快乐小小鱼的笔记 https://bbs.21ic.com/?871240 [收藏] [复制] [RSS]

日志

PIC的配置字(1)

热度 3已有 2205 次阅读2013-6-22 18:06 |个人分类:PIC|系统分类:兴趣爱好

有些种类的单片机,在使用前是要配置他们的,这些配置一般和芯片的密切,错误的配置将导致芯片不能工作,比如ISP管脚,ISP加密,EEPROM的加密,看门狗的开启,还有低电压掉电保护,系统时钟的选择,等等。STC单片机,这些配置是在程序ISP的时候,被做了菜单选项。AVR的类似配置是叫熔丝位,是在编译器里设置的,保存在外部EEPROM里的,也是烧写的时候,自动加入的。以前用过NEC的单片机,是在程序里,用户自己写数据,来配置它的,叫关键字。

在PIC16F1828的第51页,就是关于PIC关键字的说明。PIC16F1828有2个配置字,分别放在地址0x8007和0x8008的位置处。可以再MPLAB的Configure ->Configure Bits的目录下找到,我们可以再这里来配置他们。配置前要在configure Bits set in code前的勾去掉,因为默认在用户自己在代码里配置的。其实效果都是一样。

 
 
Bit13-FCMEN:  1:使能故障保护时钟监测器;0:禁止故障保护时钟监测器。故障保护时钟监测是用来监测系统时钟信号,如果没有时钟,或者时钟错误,都将系统时钟由外部晶振转换到内部RC振荡器,使得芯片不出现故障而继续工作,具体的用法在69页的故障保护监测器介绍中,后面,我会用程序来验证,在工作过程中取掉外部晶振,看能不能切换到内部振荡器上。
 
Bit12-IESO:  1:使能内/外部切换模式;0:禁止内/外部切换模式;这个是双时钟启动模式的选择,如果我们的应用在设置成没有中断,就将进入休眠模式后,这个功能在MCU中断唤醒后这时候,外部晶振还不稳定,先使用内部振荡器提供的时候,来使得系统尽快启动,而减小功耗。可见PIC单片机,对功耗的考虑到了极致;
 
Bit11-CLKOUEN: 1:禁止CLKOU输出,对应管脚是IO功能。0:使能CLKOU输出,对应管脚是时钟输出。
 
 
Bit10-9 - BOREN:  00:禁止BOR;01:BOR由BORCON寄存器的SBOREN位控制;
                           10:工作期间使能BOR,休眠期间禁止, BOR;11:一直使能BOR;(BOR就是低电压复位)
Bit8-CPD:  1:禁止数据存储器代码保护;0:使能数据存储器代码保护;这里的数据存储区,是它的EEPROM。
Bit 7-CP:  1:禁止程序存储区代码保护;0:使能程序存储区代码保护;程序存储区是FLASH。
Bit6-MCLRE:    MCLREN好像是芯片外部复位IO,这个管脚配置蛮复杂的,还关系到另外一个寄存器。
 

Bit5-PWRTE:  1:禁止上电延时定时器;0:使能上电延时定时器; 

Bit4-3 - WDTE:  11:使能看门狗;10:在运行的时候使能WDT,在休眠的时候禁止WDT; 01:WDT有WDTCON寄存器的SWDTEN位控制;00:禁止看门狗;

Bit2-0-FOSC: 振荡器的选择;111:外部4-32M时钟;110:外部0.5-4M时钟,101:外部0-0.5M时钟。外部时钟是由CLKIN管脚输入; 100:内部时钟,默认是32M;CLKIN被配置为IO;011:外部RC时钟;010:外部高速晶振,001:外部中速晶振,000:外部低速晶振,晶振链接管脚是OSC1和OSC2;

上面的这些是配置字1,看起来还是蛮复杂的,看来要弄清楚一个芯片的所有的细节,并不是件容易的事情。


路过

鸡蛋
1

鲜花

握手

雷人

刚表态过的朋友 (1 人)

评论 (0 个评论)