配置字
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PIC的配置位
来源:21ic作者:
关键字:PIC
一.配置字
PIC单片机的配置字可以用__CONFIG命令来定义:
# include
__CONFIG(x)
其中x是配置字,头文件中定义了相应的配置说明符,如:
__CONFIG(WDTDIS & XT & UNPROTECT);
这将关闭看门狗,设置XT振方式,程序不加密。注意:不同的配置符间用'&'相联,未定义的部分保留未编程状态。详细的情况请参考头文件及PIC数据手册
二.ID 位置
有些PIC单片机在程序空间外还有ID空间,可用下面的方法来定义:
# include
__IDLOC(x) 其中x是ID标示,如:
__IDLOC(15F0);
将ID的四个单元定义为:1, 5, 15, 0. ID的具体位置由所指定的PIC芯片自动设定。
三.EEPROM 数据
有些PIC单片机支持用外部编程器对内部的EEPROM进行编程。
__EEPROM_DATA()可以将用于初始化的数据放入HEX文件中,如:
__EEPROM_DATA(0, 1, 2, 3, 4, 5, 6, 7)
可将0-7八个数放入HEX文件中,在用外部的编程器进行编程时将这八个数写入PIC单片机中。
__EEPROM_DATA不是用于运行时写入EEPROM数据的,在运行时请用EEPROM_READ(), EEPROM_WRITE()。
pic 18 __config 配置位 PIC18的__CONFIG设置与PIC16的不一样。PIC16的如:
__CONFIG(_CP_OFF&_WDT_ON&_BODEN_ON&_PWRTE_ON&_RC_OSC); 是写在一起的。
PIC18 不写在一起,CONFIG1..7是分开写的。如:
__CONFIG(1,IESODIS&FCMDIS&HS);
__CONFIG(2,BOREN&PWRTEN&WDTDIS&WDTWINDIS&WDTPS32K);
__CONFIG(3,MCLREN);
__CONFIG(4,DEBUGEN&XINSTEN&STVRDIS);
__CONFIG(5,UNPROTECT);
__CONFIG(N,X) 函数原型在PIC18。H文件中。里面的各项设置在
PIC18Fxx22。H中。
上面的各项设置意义是:
//各项内容在PIC18FXX22.H文件中定义
//1.振荡器切换OFF&故障保护时钟监视器OFF&高速模式
//2.欠压复位ON&上电延时ON&看门狗OFF&看门狗分频数
//3.mclr用于复位脚
//4.使能后台调试器&使能指令集扩展&堆栈溢出不复位
//5.代码不保护
PIC单片机的配置位对于单片机运行起关键作用,若没配置正确是无法正常工
作的,该怎么配置呢,请先下载 MPLAB C18 中文使用指南。
PIC16系列只有一组配置位,而18系列却有多组,弄清楚其含义正确配置即可。
一.配置字
PIC单片机的配置字可以用__CONFIG命令来定义:
# include
__CONFIG(x)
其中x是配置字,头文件中定义了相应的配置说明符,如:
__CONFIG(WDTDIS & XT & UNPROTECT);
这将关闭看门狗,设置XT振方式,程序不加密。注意:不同的配置符间用'&'相联,未定义的部分保留未编程状态。详细的情况请参考头文件及PIC数据手册
二.ID 位置
有些PIC单片机在程序空间外还有ID空间,可用下面的方法来定义:
# include
__IDLOC(x) 其中x是ID标示,如:
__IDLOC(15F0);
将ID的四个单元定义为:1, 5, 15, 0. ID的具体位置由所指定的PIC芯片
自动设定。
三.EEPROM 数据
有些PIC单片机支持用外部编程器对内部的EEPROM进行编程。
__EEPROM_DATA()可以将用于初始化的数据放入HEX文件中,如:
__EEPROM_DATA(0, 1, 2, 3, 4, 5, 6, 7)
可将0-7八个数放入HEX文件中,在用外部的编程器进行编程时将这八个数
写入PIC单片机中。
__EEPROM_DATA不是用于运行时写入EEPROM数据的,在运行时请用 EEPROM_R EAD(), EEPROM_WRITE()。
pic 18 __config 配置位 PIC18的__CONFIG设置与PIC16的不一样。PIC16
的如:
__CONFIG(_CP_OFF&_WDT_ON&_BODEN_ON&_PWRTE_ON&_RC_OSC); 是写在一起的。
PIC18 不写在一起,CONFIG1..7是分开写的。如:
__CONFIG(1,IESODIS&FCMDIS&HS);
__CONFIG(2,BOREN&PWRTEN&WDTDIS&WDTWINDIS&WDTPS32K);
__CONFIG(3,MCLREN);
__CONFIG(4,DEBUGEN&XINSTEN&STVRDIS);
__CONFIG(5,UNPROTECT);
__CONFIG(N,X) 函数原型在PIC18。H文件中。里面的各项设置在PIC18Fxx2 2。H中。
上面的各项设置意义是:
//各项内容在PIC18FXX22.H文件中定义
//1.振荡器切换OFF&故障保护时钟监视器OFF&高速模式
//2.欠压复位ON&上电延时ON&看门狗OFF&看门狗分频数
//3.mclr用于复位脚
//4.使能后台调试器&使能指令集扩展&堆栈溢出不复位
//5.代码不保护
写程序的时候可以设置,在MPLAB软件里也可以设置。如果用某些PIC专用
的烧录工具也可以再烧录界面来设置。
学PIC的单片机首先就必须要学CONFIG配置位等内部寄存器。下面是各种设
置配置位的方法:
1:在汇编程序里加入__CONFIG xxxxx(注意下划线_是两条不是一条,后面
的“xxxxx”是你需要配置的各个配置位信息。比如:__CONFIG _CP_OFF & _ DEBUG_ON & _WRT_ENABLE_ON & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _PW RTE_ON & _WDT_OFF & _XT_OSC
2:在C语言程序里加入__CONGFIG(xxxxxx);,(如上面说的xxxxx是配置
信息,config前的下划线还是两条,如:__CONFIG(INTOSCIO & WDTDIS & B ORDIS & PWRTEN);注意有个分号“;”相关头文件可以看到单独配置位的关键
字
3:还有就是在MPLAB软件里设置,建立好项目后,点击菜单栏的configure,然后是configuration bit,打开窗口后修改配置位。