1、在系统编程软件(Flash Magic)的使用1.在系统编程简介进行单片机的实验或开发时,通常需要借助编程器将调试好的目标程序写入到单片机内部程序存储器中。普通的编程器价格从几百元到几千元不等。另外,在开发过程中,程序每改动一次就要拔下电路板上的芯片编程后再插上,也比较麻烦。 随着单片机技术的发展,出现了可以在系统编程(ISP)的单片机。ISP一般是通过单片机的串行接口对内部的程序存储器进行编程,如PHILIPS 公司的P89C51RX+、P89C51RX2单片机;ATMEL公司的AT89S8252单片机;WINBOND公司的W78E516等。利用在系统编程(ISP)的单片机,单片机的实验和开
2、发不需要编程器,单片机芯片可以直接焊接到电路板上,调试结束即成成品,甚至可以远程在线升级单片机中的程序,使得单片机应用系统的设计、生产、维护、升级等环节都发生着深刻的变革。实验仪附带有一片PHILIPS 公司新推出的高性能8 位单片机P89C51RD2,该单片机与MCS-51单片机引脚及指令集完全兼容。该单片机最大的优点是:其片内具有64KB闪速程序存储器,1KB的片内数据存储器,且同PC机连机后,可将目标程序直接写入片内程序存储器中,不再需要专用的编程器。下面就其编程方法作一介绍。 在 断 电 的 情 况 下 , 将 P89C51RD2单片机插入实验仪通用单片机插座并锁紧。将实验仪与单片机之
3、间的串行通信电缆连接好, 通信电缆一端接在PC 的串口COM1或COM2,另一端接实验仪J4。 将实验仪上的编程开关(下载开关SW8)拨至ON位置,编程指示灯亮。按RESET按钮使单片机复位后,即可按下面的说明编程.2. 在系统编程软件的安装随试验仪附带的光盘中,包含有 PHILIPS 单片机的在系统编程软件”Flash Magic”,该软件在使用前需进行安装,安装步骤如下:1、将光盘上的 Flash Magic 拷贝到硬盘上.2、用鼠标双击 Flash Magic 的图标,根据屏幕提示操作,程序会自动安装到你的机器上3. 在系统编程软件的使用在PC机上运行编程软件 Flash Magic,软
4、件运行后屏幕界面如下:屏幕上方为主菜单,主菜单下方的屏幕被分成了5个区,分别标有1、2、3、4、5。下面对主菜单及编程方法做一说明。(1) 主菜单主菜单有4个子菜单,分别是File; isp; options 和 help File子菜单项:包括打开和存储一个 “HEX”文件,打开和存储一个设计文件和退出Flash Magic操作。 ISP子菜单项: 包括芯片空检查;读保密位;读芯片标志字节;显示存储器内容;擦除FLASH等操作。具体内容在下一节介绍。 Options 子菜单项:包括复位和高级选项两项操作,这两项操作在我们的实验系统中一般不用,所以这里不做介绍。 Help子菜单: 包括查看Fl
5、ash Magic的用户手册;可直接通过网络连接到Flash Magic的主页或连接到Philips 半导体公司的主页查看相应信息。(2) 编程操作在对一片Philips的89C51RX2进行编程时,一般按屏幕提示进行5步操作:第一步:通讯设置(屏幕1区) 设置通讯口:可以通过下拉菜单在COM1 COM4中进行选择,也可以在输入框中直接输入所连接的通讯口。 波特率设置:可以通过下拉菜单进行选择,建议先从较低的波特率选起,进行通讯实验,试通以后再选用较高的波特率,在我们的单片机实验系统中,建议选2400或4800波特率。 振荡频率设置:在我们的实验系统中应输入6.000MHZ。 器件选择:可以通
6、过下拉菜单进行选择。该实验系统随机配送一片P89C51RD2,在选择芯片时先仔细看清楚芯片型号是89C51RD2HXX还是89C51RD2XX,两者是不同的,请不要选错。第二步:擦除在屏幕的2区列出了所选器件的各个Flash 块,用鼠标选中你要擦除的Flash块。在执行擦除操作或编程操作时,就会将所选的 Flash 块擦除。注意:当擦除整个 Flash 时芯片的自举指针(Boot Vector)和状态字节(Status byte)将被设置成初始值。除89C51RX+系列芯片以外,在擦除整个Flash时保密位也将被擦除。第三步:选择HEX文件(屏幕 3区)选择和打开一个HEX文件可以有三种方法;
7、 在文本框中键入你所需要的 HEX文件的路径和文件名。点击 Browse(浏览)按扭,寻找你所需要的HEX 文件。在主菜单的 File 子菜单下用 Open 打开一个HEX 文件。第四步:操作选项(屏幕4区)屏幕4区是编程时的一些选项 编程后校验。这项功能一般是需要的 填充用不到的Flash区:这项功能是在选择了一个HEX文件后,将该HEX 文件用不到的存储区用00H填满 产生校验和: 这项功能是在选择了一个 HEX 文件后,Flash Magic 在这个HEX 文件所用到的每一块 Flash 块的最高地址写入一个值,这个值使这个 Flash 块的校验和为 55H。 执行:如果选择该项功能后,
8、将在编程完成后自动执行固化好的程序。注意:在我们的系统中由于使用硬件复位操作,这项功能将不起作用。 保密位:在你的程序尚未完全调试好以前,所有保密位不要选。第五步:编程(屏幕 5 区)在屏幕的第五区只有一个按扭“Start” ,按下这个按扭将根据你的选择顺序执行如下操作: 擦除 FLASH 块 对 HEX 文件编程 校验 填充没有用到的 FLASH 产生校验和的值 写时钟位 写保密位 执行固化好的程序操作完成后,将显示出“Finished”并显示出对 HEX 文件编程所用的时间(3)附加 ISP 功能介绍 芯片空检查:在 ISP 菜单下选择了空检查后,将对所选芯片的所有 FLASH 块进行空检
9、查,并显示出每一块空还是不空的信息。 读保密位:该项功能将对选择的芯片的保密位的状态读出并显示在屏幕上,如果保密位中某一位已经设置,将用高亮度显示出来。 读芯片署名: 芯片署名包括 3 个字节,第一个字节是制造厂标志。例如: 15H就是 PHILIPS 半导体的标志,另外两个是芯片标志。 修改自举指针和状态字节:状态字节指出的是芯片复位以后程序运行的初始地址,如果该字节值为 00H 且 PSEN 引脚没有接低电平(非编程状态) ,那么芯片复位以后,将从 0000H 地址运行用户的应用程序 .自举指针指的是芯片内部自举程序所在的页地址,8051 系列单片机该指针的默认值为 FCH,相对应自举程序的起始地址为 FC00H。注意:用户编程时一定不要修改自举指针的值,一旦该指针被改为非 FCH 的其它值,自举程序将无法运行,在线编程功能将不再作用,这时只有用并行编程器将该芯片擦除才能恢复。 显示 FLASH 存储器:在 ISP 子菜单下选择显示 FLASH 存储器功能后,将显示出 FLASH 存储器的内容,每行显示 16 个字节。 擦除 FLASH:有两种方法可以擦除 FLASH,一种方法是在前面讲到的编程操作的 5 个步骤中,另一种方法是在 ISP 子菜单下选择擦除 FLASH。其它一些功能在该实验系统中不会用到所以这里不做介绍。