在MPLAB-IDE中生成了程序目标代码文件后,将.hex文件通过下载器固化到单片机中时需要相应的下载软件。目标文件的固化又称为器件编程、器件下载等。
PICkit 2编程器可以将程序目标代码文件下载到各种基于闪存的PIC单片机的Flash程序存储器中,以实现在线下载功能。
1)PICkit2窗口简介 将PICkit 2 Starter kit CD ROM插入光驱后,按照计算机屏幕上的指示可以安装PICkit 2下载软件。当PICkit 2下载软件安装好后,双击该软件,将出现如图1-20所示的下载界面窗口。该窗口主要由菜单栏、器件配置、状态条、进度条、器件VDD、程序存储器、EEPROM等部分组成。
【菜单栏】 PICkit 2编程下载软件的菜单栏中主要有File(文件)、Device Family(器件系列)、Programmer(编程)、Tools(工具)、View(查看)、Help(帮助)菜单。
【器件配置】 器件配置区域主要包含Device(器件)、Configuration(配置字)、User IDs(用户ID)、Checksum(校验和)、OSCCAL和BandGap(带隙)等信息。对于基本级(12位内核)的PIC器件,用户必须从Device Family菜单中选择器件,而其他系列的器件都通过器件ID进行检测,器件名会显示在Device行中。OSCCAL和BandGap(带隙)两项仅针对具有这些特性的器件时才会显示相关内容。
图1-20 PICkit 2下载界面
【状态条】 状态条以文本形式显示当前操作的状态。如果操作成功,则状态条会显示绿色背景;如果操作失败,则状态条会显示粉红色背景;如果操作引起警告提示,则状态条会显示黄色背景。
【进度条】 进度条显示任务操作的进度。
【器件VDD】 在VDD PICkit 2区域,通过单击复选框On(使能)可以打开或关闭PICkit 2编程器的VDD,在右边框中直接输入数字或调节上下箭头(每次1/10V)可以设置VDD的电压。允许设置的VDD范围根据目标器件的不同而有所不同。
【程序存储器】 执行菜单命令“File”→“Import Hex”,可将程序代码加载到PICkit 2编程软件中;或者单击Read(读)按钮从器件中读取程序代码。代码的来源显示在存储器源Source文本框中。Program Memory区域仅显示十六进制的程序代码,不能在此区域对代码进行编辑。Program Memory区域左上角的Enable复选框仅在具有EEPROM数据存储器的器件上提供。如果选中该复选框,则程序存储器、用户ID和配置字将写入器件或从器件中读取,并在器件上进行校验。如果未选中该复选框,则程序存储器、用户ID和配置字在写操作中不会被擦除或更改,也不会被读取或校验。该复选框不影响擦除器件或空白检查操作。不能同时清除Program Memory和EEPROM Data两个存储器区域中的Enable复选框。
【EEPROM数据存储器】 执行菜单命令“File”→“Import Hex”,可将程序代码加载到PICkit 2编程软件中;或者单击Read(读)按钮从器件中读取程序代码。代码的来源显示在存储器源Source文本框中。EEPROM Data区域仅显示十六进制的程序代码,不能在此区域对代码进行编辑。EEPROM Data区域左上角的Enable复选框控制读、写或校验EEP-ROM数据存储器。如果选中该复选框,则器件EEPROM中的内容将用该区域中的数据覆盖;如果未选中该复选框,则器件EEPROM中的内容在写操作中不会被擦除或更改。该复选框不影响擦除器件或空白检查操作。
2)下载目标文件 将PICkit 2下载器与单片机正确连接好,并在PICkit 2下载软件中进行相应设置后,就可以下载目标文件。下载目标文件时,首先执行菜单命令“File”→“Import Hex”(如图1-21所示),找到目标文件(如LED test.hex),将该文件内容装载到PICkit 2软件中,在程序存储器区域中显示出所装载的目标文件内容。然后单击Write按钮,将程序下载到单片机的内部程序存储器中。
图1-21 导入目标文件
器件配置区域下面的状态条显示“编程(下载)”操作的状态,如果编程(下载)成功,状态条会变成绿色并显示“Programming Successful”(编程成功);如果编程失败,状态条中会以粉红色的背景显示编程失败的提示信息。显示编程成功的信息时,目标程序文件就已经固化到PIC单片机中了,而PIC单片机也可以运行该程序了。
PonyProg2000是一款功能强大的ISP下载软件,它可以下载/编程AVR、PIC等系列单片机和很多类型的EEPROM。由于该软件在启动时会出现一只马头,因此,有人将该软件称为小马软件。
1)PonyProg2000的安装 PonyProg2000软件的安装可按以下步骤操作。
(1)双击安装文件Setup.exe,弹出如图1-22所示的欢迎信息框,单击“Next”按钮继续。
(2)在弹出的软件授权许可界面中选择“I accept the agreement”(我接受许可协议),再单击“Next”按钮,如图1-23所示。
图1-22 欢迎信息框
图1-23 软件授权许可界面
(3)在弹出的对话框中单击“Change”按钮更改安装路径,或直接单击“Next”按钮按照默认路径进行安装,直到安装结束。
2)PonyProg2000的使用 使用PonyProg2000软件将已编译生成的Hex文件下载到PIC单片机中时,一般需要按以下步骤操作。
(1)启动PonyProg2000软件:执行菜单命令“开始”→“程序”→“PonyProg”→“PonyProg2000”,进入图1-24所示的PonyProg2000的启动界面。在“About PonyProg2000”界面中选择“Disable sound”复选框,将取消音效马叫声。
图1-24 PonyProg2000启动界面
(2)选择下载器件型号:在About PonyProg2000界面中单击“OK”按钮后,执行菜单命令“De-vice”→“PIC 16 micro”→“PIC16F877A”,选择下载目标芯片型号为PIC16F877A。
(3)端口设置:在PonyProg2000界面执行菜单命令“Setup”→“Interface Setup”,弹出如图1-25所示的对话框。在该对话框中可设置下载方式和选择控制线的极性,然后单击“OK”按钮。PonyProg2000支持的下载方式有并行下载和串行下载。
图1-25 端口设置
(4)端口校正:端口设置好后,在PonyProg2000界面执行菜单命令“Setup”→“Calibration”,弹出如图1-26所示的对话框。在该对话框中单击“Yes”按钮开始端口校正,校正完成后会弹出提示窗口,单击“OK”按钮即可。
图1-26 端口校正
图1-27 编程设置
(5)编程设置:PIC16F877A单片机的程序存储器是Flash存储器,在下载程序前必须先对其进行擦除操作。在PonyProg2000界面执行菜单命令“Command”→“Program Op-tions”,在弹出的对话框中选中“Reload Files”、“Erase”、“Write Program memory(FLASH)”3个复选框,如图1-27所示,然后单击“OK”按钮。
(6)装载编程文件:在PonyProg2000界面执行菜单命令“File”→“Open Program(FLASH)Files”,弹出“Open Pro-gram(FLASH)content file”对话框。在该对话框中指定文件类型为“*.hex”,在查找范围中找到已通过MPLAB-IDE编译并生成的目标文件(如LED test.hex),PonyProg2000的编辑窗口中显示已装载的编程文件,如图1-28所示。
(7)下载程序:在PonyProg2000界面执行菜单命令“Command”→“Program”,可将图1-28中装载的编程文件下载到PIC16F877A中。如果删除、下载、确认等没有异常,就会弹出Program successful消息框,表示程序下载成功。
图1-28 装载目标文件