ISP烧写程序注意事项
程序无法下载进MCU,可能出错的地方有:如果准备条件充分(驱动程序安装成功STC_ISP.EXE安装成功),在下载程序进入MCU的时候,需要对ISP软件进行参数的设置。
Ⅰ:MCU Type选项,我用的是STC89C54RD+。(型号必须匹配)
Ⅱ:(CH3415SER.EXE)驱动安装成功后,设备管理器中查看端口(COM和LPT),其中的USB-SERIAL CH340(COM4)中的COM4是可以和MCU连接的通信端口。其他通讯端口(COM1和COM2)在没有必要的情况下不要使用。选择COM4,Max Buad参数选默认。
Ⅲ:根据MCU支持的晶振频率选择OSCDN(OSC Control):选择oscillator的频率,具体选项根据oscillator的情况而定。
Ⅳ:注意冷启动的步骤,断电后进行下载,再按按钮或者接通电源给MCU上电复位。
HEX文件生成注意事项
Ⅰ:正确安装 Keil uVision2 或 Keil uVision3,推荐安装Keil uVision2。
Ⅱ:创建工程(New Project),输入工程名 Test1.uv2 ,这里扩展名可省略。单击保存弹出MCU型号选择对话框,我用的是STC89C54RD+,但是找不到STC系列的(国产)。找到匹配类型CPU后,选中并单击确定。弹出“Copy Standard 8051 Startup Code to Project Folder and Add File to Project?”但是不要添加,选否。这样一个空Keil工程就OK了。
Ⅲ:右单击源文件组的Source Group1后点击 Add files to Group ’Source Group 1’,查找编号的C文件,双击选中后选择Close,就把文件添加进去了。
Ⅳ:进行编译,有错的话改正,形成正确的C文件。
Ⅴ:右单击源文件种的Target 1,选Options for Targets ’Target 1’,弹出对话框,在output中选中Creat HEX file,确定。重新编译,会生成 Test1.hex 文件。ISP中就是将此文件烧写进MCU。
其它注意事项
Ⅰ:由于STC属于国产芯片,在Keil没有针对这种芯片的资源,所以在编译C或汇编程序的时候可以找到Atmel、Intel、SST的,却找不到STC系列的。此时可以选择AT89S52系列替代STC89C54RD+系列(相同51内核),原来试过AT89C系列的,生成的 .hex文件在烧入MCU后不生效。
Ⅱ:AT89C系列不支持ISP技术,在使用ISP的MCU中不能选C系列的芯片资源生成.hex,否则无法和MCU进行通讯。
Ⅲ:每次重新连接MCU的usb端口时,分配的COM端口和上次的可能会不一样,所以在ISP中,事先查看设备管理器的端口(COM和LPT)上的显示。usb转串口线 stc官方是推荐的ch340芯片的。