如果你打算学习PIC系列单片机的相关知识,从PIC16F84入手是比较合适的。它是一款低价位的、内部程序区可反复编程的、支持在线串行编程的PIC单片机。现在,我们可以自己动手,花很少的钱来制作一款PIC16F84编程器,利用这个编程器进行各种学习和实验。
电路如图1所示, 由于是串行编程方式,所以电路很简单。

一、硬件部分
电源电路提供了两组电压输出。变压器输出经整流滤波后应在16V以上,这一部分也可由外接电源提供。16V经过三端稳压集成电路7805输出一组+5V,为芯片提供正常的工作电压。另外还有一个三端稳压集成电路7808,它的输入端接16V,接地端接在7805的输出端上,也就是接+5V,所以7808输出端的输出电压为+13V。这个+13V作为PIC16F84的编程电压。当然也可以用LM317来实现13V的输出。
电源部分采用两个发光二极管作为指示。一个加在+5V的输出端,是工作电压的指示,绿色的。另一个在13V输出部分作为编程电压的指示,黄色的。当电路通电后,两个发光管都会点亮。
由于PIC单片机是串行编程,只需要连接5个引脚:电源、地、编程电压、时钟、数据,其中电源和编程电压需要单独控制。这些引脚连接到了并口,由程序通过并口对它们进行控制。
+5V和+13V的控制是通过三极管来完成的。对于VT2,当并口的第④脚D2输出低电平即逻辑0时,三极管导通,16F84的加上+5V。同样,当并口的第⑤脚D3输出低电平即逻辑0时,VT1导通,16F84的第④脚加上+13V的编程电压。在16F84的第④脚接了一个红色发光二极管,用于编程电压的指示,当16F84开始编程加上编程电压时,红色发光管会点亮。
D1用于向16F84输出一个时钟信号与整个编程过程同步。D0则负责和16F84进行数据通讯。
电路制作完成后,暂不连接计算机,先用万用表检测+5V和+13V是否正常,其他部分不需调整。图中16F84的插座最好选用ZIF插座。
二、软件部分
软件的安装没有特殊的地方,下载程序压缩包后,将压缩包解压至任一目录下即可,双击目录下的WPICPROG16.exe即可运行该程序。
该程序可支持16C84、16F84、16F83三种芯片。程序为Windows版的,操作很容易,功能也非常齐全。
在首次使用该程序时,需要先对硬件进行设置。首先将编程器连接到计算机的并口(即打印口),再接通编程器的电源。打开编程器软件。在菜单项OPTION下单击FIND PORT,程序会自动查找编程器所连接的端口,如果你的编程器没有连接到计算机的并口,或者编程器的电源没有打开,程序将找不到编程器硬件,程序的读写等功能将被禁止。在菜单项OPTION下单击HARDWARE,出现设置窗口(见图2),对于本编程器而言,默认的参数不需要调整。当退出该窗口,设置将自动保存在INI文件中。下面介绍一下编程软件的使用方法。
New(新建):开始一个新的设计。
Open(打开):打开一个文件,文件内容将显示在缓冲区中。
Save(保存):保存缓冲区的内容。
Save as(保存为):将缓冲区内容另存为一个文件,可保存为hex文件或者asm文件。
Edit菜单
Copy(复制)、Cut(剪切)、Paste(粘贴)。
Option菜单
Find port:查找硬件端口。
Hardware:硬件设置。
2. 工具栏
提供了各种常用操作的快捷方式。
3. 主窗口(见图3)
在主窗口的上部是一个活页夹。它包括Buffer(缓冲区)、Hex file(十六进制文件)、Source code(源代码)3项。
Buffer(缓冲区):
左边是程序区,右边是数据区,右下脚是ID号设置区。这些区域的内容可以直接进行编辑。
Hex file(十六进制文件):
这是缓冲区数据的Hex文件(见图4)。
Source code(源代码):
你可以在这里看到程序反汇编后的源代码(见图5)。
主窗口中部的左边是几个常用操作的按钮:
Read PIC:读取芯片内容。
Verify:校验,比较芯片的内容与缓冲区内容是否一致。
Erase:擦除,擦除芯片内容。
Write PIC:编程,将缓冲区内容写入芯片。
Disassemble:反汇编,反汇编后的内容将显示在Source code区。
芯片选择区:
可选择待编程的芯片的型号。
配置位选择区:
包括Protect(代码包含)、WDT(看门狗状态)、PUT(上电延迟)(见图6)。
振荡类型选择:
可在XT、LP、HS、RC之间进行选择。
主窗口的最下面是状态栏,左边显示当前编程器所连接的端口号,右边显示各种操作的提示信息。
最后我们来看看实际对芯片编程的过程:
第一步,将编程器连接到计算机,打开编程器电源。打开计算机,启动编程软件。
第二步,打开待写入芯片的hex文件。选择芯片型号,选择配置位、振荡方式。
第三步,将待编程芯片插入编程器的ZIF插座(注意方向)。
第四步,单击Write PIC按钮,开始编程,若芯片不是空的,则先进行擦除。编程完成后单击Verify进行校验。
本文提到的编程器软件可到http://ediy.yeah.net上下载。
(电子DIY工作室)



