Microchip通过在一个Hex文件中包含编程PIC单片机所需的所有信息,在Atmel AVR上取得了相当的成功。这包括代码、EEPROM数据、用户字节(用户ID)以及最重要的配置字。
这使得将项目从开发转移到生产或工程师之间变得更加容易,因为所需的所有信息都在一个文件中。Atmel现在已经被Microchip接管,他们已经姗姗来迟地添加了一个可以做同样事情的ELF生产文件格式。下面英锐恩将讲解有关PIC单片机Hex文件的问题。
一、在源文件中创建配置字节
您需要在C或汇编程序中将配置字节数据添加到源文件中。对于不同的工具和C或汇编程序,语法确实有所不同。Microchip C或汇编程序中的PIC16F示例使用__Config指令,例如
__CONFIG(0x3F72);
汇编程序中的另一个示例是:
__config _CP_OFF&_HS_OSC&_WDT_OFF&_PWRTE_ON&_LVP_OFF&_BODEN_ON
PIC18F通常使用CONFIG指令,例如,
CONFIG WDT = OFF; 禁用看门狗定时器
CONFIG MCLRE = ON;
CONFIG DEBUG = ON时MCLEAR引脚; 启用调试模式
CONFIG LVP = OFF;
XC8和XC16编译器使用pragma指令,例如
#pragma config FOSC = HS //振荡器选择
#pragma config WDTE = OFF //看门狗定时器使能(禁止WDT)
#pragma config PWRTE = OFF //上电延时定时器使能(PWRT)禁用)
#pragma config MCLRE = ON // MCLR引脚功能选择
#pragma config CP = OFF //闪存程序存储器代码保护
#pragma config CPD = OFF //数据存储器保护
查看编译器文档以获取更多详细信息 配置位名称从PIC单片机到PIC单片机不同,有关配置字节的详细信息,请参见PIC单片机数据手册中的“CPU部分的特殊功能”。
二、MPLAB X配置工具
最新的MPLAB X在C文件中以不同方式处理配置字节。使用MPLAB X汇编程序文件时,__ CONFIG和CONFIG指令仍然有效,但C编译器需要不同的格式。它需要使用#pragma config WDTE = ON语法。
生成所需#pragma指令的最简单方法是使用内置的配置字节工具。
转到窗口菜单->PIC内存视图->配置位。
将打开一个窗口,其中列出了项目中设置的可用配置字节。PIC18F芯片的可用配置字节不同,但方法相同。按照您的需要设置它们,然后单击“生成源代码到输出”按钮。这会创建您需要剪切并粘贴到主源文件中的代码,或者放入单独的C文件并使用#incl