1、官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 1 页 共 25 页STC-ISP Ver6.38 下载软件超强悍高级功能说明书,爱的奉献姚言: 苍天啊,大地啊,怎么会如此的强大!只能自己佩服自己那!Ver2.12013-5-20我们爱您官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 2 页 共 25 页目录 发布项目程序使用说明 3 自定义加密下载使用说明 7 发布项目程序 + 自定义 加密下载结合使用说明 .10 用户自定义下载说明 16 RS485 控制使用说明 17 STC 仿真器使用指南 .19 用户自制 脱机下载板
2、/U7 全自动烧录工具 注意事项 23官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 3 页 共 25 页 发布项目程序使用说明发布项目程序功能主要是将用户的程序代码与相关的选项设置打包成为一个可以直接对目标芯片进行下载编程的超级简单的用户自己界面的可执行文件。关于界面,用户可以自己进行定制(用户可以自行修改发布项目程序的标题、按钮名称以及帮助信息) ,同时用户还可以指定目标电脑的硬盘号和目标芯片的 ID 号,指定目标电脑的硬盘号后,便可以控制发布应用程序只能在指定的电脑上运行(防止烧录人员将程序轻易从电脑盗走,如通过网络发走,如通过 U 盘烤走,防不胜防,当
3、然盗走你的电脑那就没办法那,所以 STC 的脱机下载工具比电脑烧录安全,能限制可烧录芯片数量 ,让前台文员小姐烧,让老板娘烧都可以),拷贝到其它电脑,应用程序不能运行。同样的,当指定了目标芯片的 ID 号后,那么用户代码只能下载到具有相应 ID 号的目标芯片中 (对于一台设备要卖几千万的产品特别有用- 坦克 ,可以发给客户自己升级 ,不需冒着生命危险跑到战火纷飞的伊拉克升级软件啦),对于 ID 号不一致的其它芯片,不能进行下载编程。发布项目程序详细的操作步骤如下:1、首先选择目标芯片的型号2、打开程序代码文件3、设置好相应的硬件选项4、试烧一下芯片,并记下目标芯片的 ID 号,如下图所示,该芯
4、片的 ID 号即为“000D001100641D”(如不需要对目标芯片的 ID 号进行校验,可跳过此步)官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 4 页 共 25 页5、设置自动增量(如不需要自动增量,可跳过此步)6、设置 RS485 控制信息(如不需要 RS485 控制,可跳过此步)7、设置用户自定义下载命令(如不需要此功能,可跳过此步)8、点击界面上的“读取本机硬盘号”按钮,并记下目标电脑的硬盘号(如不需要对目标电官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 5 页 共 25 页脑的硬盘号进行校验,可跳过此步)9、
5、点击“发布项目程序”按钮,进入发布应用程序的设置界面。10、根据各自的需要,修改发布软件的标题、下载按钮的名称、重复下载按钮的名称、自动增量的名称以及帮助信息11、若需要校验目标电脑的硬盘号,则需要勾选上“校验硬盘号” ,并在后面的文本框内输入前面所记下的目标电脑的硬盘号12、若需要校验目标芯片的 ID 号,则需要勾选上“校验芯片 ID 号” ,并在后面的文本框内输入前面所记下的目标芯片的 ID 号13、最后点击发布按钮,将项目发布程序保存,即可得到相应的可执行文件。如下图,设置界面中所定制的内容与发布文件是一一对应的。官方网站:www.STCMCU.com 研发顾问 QQ:139228051
6、90第 6 页 共 25 页注意:校验硬盘号与校验目标芯片 ID 号的功能仅对如下系列及新出的单片机有效:STC15F2K60S2/STC15L2K60S2IAP15F2K61S2/IAP15L2K61S2STC15F104W/STC15L104WIAP15F105W/STC15L105WSTC15W104SW/IAP15W105W官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 7 页 共 25 页 自定义加密下载使用说明(防烧录时串口分析出程序)目前,所有的普通串口下载烧录编程都是采用明码通信的(电脑和目标芯片通信时,或脱机下载板和目标芯片通信时),问题 :
7、 如果烧录人员通过分析下载烧录编程时串口通信的数据,高手是可以在烧录时在串口上引 2 根线出来,通过分析串口通信的数据分析出实际的用户程序代码的。当然用 STC 的脱机下载板烧程序总比用电脑烧程序强 (防止烧录人员将程序轻易从电脑盗走,如通过网络发走,如通过 U 盘烤走,防不胜防,当然盗走你的电脑那就没办法那,所以 STC 的脱机下载工具比电脑烧录安全,让前台文员小姐烧 ,让老板娘烧都可以)。即使是STC 全球首创的脱机下载工具,对于要防止天才的不法分子在脱机下载工具烧录的过程中通过分析串口通信的数据分析出实际的用户程序代码,也是没有办法达到要求的,这就需要用到最新的 STC15 系列单片机所
8、提供的自定义加密下载功能。自定义加密下载是用户先将程序代码通过自己的一套专用密钥进行加密,然后将加密后的代码再通过串口下载,此时下载传输的是加密文件,通过串口分析出来的是加密后的乱码,如不通过派人潜入你公司盗窃你电脑里面的加密密钥,就无任何价值,便可起到防止在烧录程序时被烧录人员通过监测串口分析出代码的目的。自定义加密下载功能的使用需要如下的几个步骤:1、生成并保存新的密钥如下图,进入到“自定义加密下载”页面,点击“生成新密钥”按钮,即可在缓冲区显示新生成的 256 字节的密钥。然后点击“保存密钥”按钮,即可将生成的新密钥保存为以“.K”为扩展名的的密钥文件( 注意:这个密钥文件一定要保存好,
9、以后发布的代码文件都需要使用这个密钥加密,而且这个密钥的生成是非重复的,即任何时候都不可能生成两个完全相同的密钥,所以一旦密钥文件丢失将无法重新获得), 例如我们将密钥保存为“New.k”。2、对代码文件加密加密文件前,需要先打开我们自己的密钥。若缓冲区中存放的已经是我们的密钥,则不要再打开。如下图,在“自定义加密下载”页面中点击“打开密钥”按钮,打开我们之前保存的密钥文件,例如“New.k” 。官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 8 页 共 25 页然后返回到“自定义加密下载”页面中点击“加密代码”按钮,如下图所示,首先会弹出“打开源文件(未加密
10、) ”的对话框,此时选择的是原始的未加密的代码文件点击打开按钮后,马上有会弹出一个类似的对话框,但此时是对加密后的文件进行保存的对话框。如下图所示,点击保存按钮即可保存加密后的文件。3、将用户密钥更新到目标芯片中更新密钥前,需要先打开我们自己的密钥。若缓冲区中存放的已经是我们的密钥,则不要再打开。如下图,在“自定义加密下载”页面中点击“打开密钥”按钮,打开我们之前保存的密钥文件,例如“New.k” 。官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 9 页 共 25 页密钥打开后,如下图所示,勾选上“下载用户代码前先更新用户密钥”选项和“本次下载的代码为加密代码
11、”的选项,然后打开我们之前加密过后的文件,打开后点击界面左下角的“下载/编程”按钮,按正常方式对目标芯片下载完成即可更新用户密钥。4、加密更新用户代码密钥更新成功后,目标芯片便具有接收加密代码并还原的功能。此时若需要再次升级/更新代码,则只需要参考第二步的方法,将目标代码进行加密,然后如下图首先在“自定义加密下载”页面中选择“本次下载的代码为加密代码”的选项(“下载用官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 10 页 共 25 页户代码前先更新用户密钥”选项不需要选了) ,然后打开我们之前加过密后的文件,打开后点击界面左下角的“下载/编程 ”按钮,按正常
12、方式对目标芯片下载即可完成用用户自己专用的加密文件更新用户代码的目的(防止在烧录程序时被烧录人员通过监测串口分析出代码的目的)。注意:自定义加密下载功能仅对如下系列及新出的单片机有效:STC15F2K60S2/STC15L2K60S2IAP15F2K61S2/IAP15L2K61S2STC15F104W/STC15L104WIAP15F105W/STC15L105WSTC15W104SW/IAP15W105W官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 11 页 共 25 页 发布项目程序+自定义加密下载结合使用说明发布项目程序与自定义加密下载两项新的特殊功
13、能可以结合在一起使用。首先自定义加密下载可以确保用户代码在烧录编程时串口通信传输过程当中的保密性,而发布项目程序可实现让最终使用者远程升级功能(方案公司的人员不需要亲自到场) 。所以两项功能结合起来使用,非常适用于方案公司/生产商在软件需要更新时,让最终使用者自己对终端产品进行软件更新的目的,又确保现场烧录人员无法通过串口分析出有用程序,强烈建议方案公司使用。下面用具体的实例来举例说明发布项目程序与自定义加密下载结合使用的方法,首先讲解代码的加密以及加密芯片的制作方法1、生成并保存新的密钥如下图,进入到“自定义加密下载”页面,点击“生成新密钥”按钮,即可在缓冲区显示新生成的 256 字节的密钥
14、。然后点击“保存密钥”按钮,即可将生成的新密钥保存为以“.K”为扩展名的的密钥文件( 注意:这个密钥文件一定要保存好,以后发布的代码文件都需要使用这个密钥加密,而且这个密钥的生成是非重复的,即任何时候都不可能生成两个完全相同的密钥,所以一旦密钥文件丢失将无法重新获得) 。比如我们将密钥保存为“New.k”。2、代码文件加密加密文件前,需要先打开我们自己的密钥。若缓冲区中存放的已经是我们的密钥,则不要再打开。如下图,在“自定义加密下载”页面中点击“打开密钥”按钮,打开我们之前保存的密钥文件,例如“New.k” 。官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 1
15、2 页 共 25 页然后返回到“自定义加密下载”页面中点击“加密代码”按钮,如下图所示,首先会弹出“打开源文件(未加密) ”的对话框,此时选择的是原始的未加密的代码文件点击打开按钮后,马上有会弹出一个类似的对话框,但此时是对加密后的文件进行保存的对话框。如下图所示,点击保存按钮即可保存加密后的文件。3、将用户密钥更新到目标芯片中更新密钥前,需要先打开我们自己的密钥。若缓冲区中存放的已经是我们的密钥,则不要再打开。如下图,在“自定义加密下载”页面中点击“打开密钥”按钮,打开我们之前保存的密钥文件,例如“New.k” 。官方网站:www.STCMCU.com 研发顾问 QQ:13922805190
16、第 13 页 共 25 页密钥打开后,如下图所示,勾选上“下载用户代码前先更新用户密钥”选项和“本次下载的代码为加密代码”的选项,然后打开我们之前加密过后的文件,打开后点击界面左下角的“下载/编程”按钮,按正常方式对目标芯片下载完成即可更新用户密钥。经过上面的三步,此时的目标芯片便具有还原加密代码的功能。便可将目标芯片提供给终端客户使用。下面讲解如何发布加密项目程序1、首先选择目标芯片的型号2、打开程序代码文件3、设置好相应的硬件选项官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 14 页 共 25 页4、试烧一下芯片,并记下目标芯片的 ID 号,如下图所示,
17、该芯片的 ID 号即为“000D001100641D”(如不需要对目标芯片的 ID 号进行校验,可跳过此步)5、在自定义加密下载页面中选择“本次下载的代码为加密代码”选项(注意:加密下载时不支持自动增量)6、设置 RS485 控制信息(如不需要 RS485 控制,可跳过此步)官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 15 页 共 25 页7、设置用户自定义下载命令(如不需要此功能,可跳过此步)8、点击界面上的“读取本机硬盘号”按钮,并记下目标电脑的硬盘号(如不需要对目标电脑的硬盘号进行校验,可跳过此步)9、点击“发布项目程序”按钮,进入发布应用程序的设置
18、界面。10、根据各自的需要,修改发布软件的标题、下载按钮的名称、重复下载按钮的名称、自动增量的名称以及帮助信息11、若需要校验目标电脑的硬盘号,则需要勾选上“校验硬盘号” ,并在后面的文本框内输入前面所记下的目标电脑的硬盘号12、若需要校验目标芯片的 ID 号,则需要勾选上“校验芯片 ID 号” ,并在后面的文本框内输入前面所记下的目标芯片的 ID 号官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 16 页 共 25 页13、最后点击发布按钮,将项目发布程序保存,即可得到相应的可执行文件。如下图,设置界面中所定制的内容与发布文件是一一对应的。上面的整个步骤基本
19、与发布项目程序的步骤相一致,唯一不同的地方是打开的不是原始文件,而是加密后的文件,而且一定要勾选上“本次下载的代码为加密代码”的选项。官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 17 页 共 25 页 用户自定义下载说明“用户自定义下载”与“用户自定义加密下载”是两种完全不同功能。相对用户自定义加密下载的功能而言,用户自定义下载的功能要简单一些。具体的功能为:电脑或脱机下载板在开始发送真正的 ISP 下载编程握手命令前,先发送用户自定义的一串命令(关于这一串串口命令,用户可以根据自己在应用程序中的串口设置来设置波特率、校验位以及停止位) ,然后再立即发送
20、ISP 下载编程握手命令。“用户自定义下载”这一功能主要是在项目的早期开发阶段,实现不断电(不用给目标芯片重新上电)即可下载用户代码。具体的实现方法是:用户需要在自己的程序中加入一段检测自定义命令的代码,当检测到后,执行一句“MOV IAP_CONTR,#60H”的汇编代码或者“IAP_CONTR = 0x60;”的 C 语言代码,MCU 就会自动复位到 ISP 区域执行 ISP 代码。如下图所示,将自定义命令设置为波特率为 115200、无校验位、一位停止位的命令序列:0x12、0x34、0x56、0xAB、0xCD、0xEF、0x12。当勾选上“每次下载前都先发送自定义命令”的选项后,即可
21、实现自定义下载功能点击“发送自定义下载命令”或者点击界面左下角的“下载/编程”按钮,应用程序便会发送如下所示的串口数据官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 18 页 共 25 页 RS485 控制使用说明由于 RS485 相比 RS232 具有抑制共模干扰、传输距离长等优点,所以许多大型的工业设备都采用 RS485 进行串口通讯。但由于 RS485 采用的是差分信号,所以在进行串口通讯时,只能采用半双工的工作方式,必须使用 1 个或 2 个 I/O 口来控制 RS485 的发送和接收状态。当需要采用 RS485 来对 STC 的新版 IC(支持 RS
22、485 下载的单片机系列在后面会详细列出)进行 ISP 下载时,必须进行一些设置才可下载代码。具体的操作步骤如下:1、首先需要设置好相应的 RS485 控制端口,并勾选上“ 下次下载时使能目标芯片的RS485 控制功能”这个选项2、然后使用普通下载方式将 RS485 相关的硬件选项写入到目标芯片3、经过前面两步的设置和编程,此时的目标芯片便具有了对 RS485 的控制功能。接下来仍需要保持 RS485 的控制选项不变,并勾选上“本次使用 RS485 进行控制下载“的选项(此选项的作用是使 PC 端也采用 RS485 的控制方式进行发送/接收串口数据)4、再点击下载编程按钮,并对目标芯片重新上电
23、即可实现使用 RS485 进行通信下载的功能官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 19 页 共 25 页RS485 控制功能仅对如下系列及新出的单片机有效:STC15F2K60S2/STC15L2K60S2IAP15F2K61S2/IAP15L2K61S2STC15F104W/STC15L104WIAP15F105W/STC15L105WSTC15W104SW/IAP15W105W特别注意:若需要 RS485 控制功能,则每次都需要将 RS485 相关的配置设置正确,并勾选上“下次下载时使能目标芯片的 RS485 控制功能”这个选项,否则在下一次下载
24、时将不具有 RS485控制功能了官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 20 页 共 25 页 STC 仿真器使用指南1、安装 Keil 版本的仿真驱动如上图,首先选择“Keil 仿真设置”页面,点击“添加 MCU 型号到 Keil 中” ,在出现的如下的目录选择窗口中,定位到 Keil 的安装目录(一般可能为“C:Keil”), “确定”后出现下图中右边所示的提示信息,表示安装成功。添加头文件的同时也会安装 STC 的Monitor51 仿真驱动 STCMON51.DLL,驱动与头文件的的安装目录如上图所示。2、在 Keil 中创建项目若第一步的驱动
25、安装成功,则在 Keil 中新建项目时选择芯片型号时,便会有“STC MCU Database”的选择项,如下图然后从列表中选择响应的 MCU 型号(目前 STC 支持仿真的型号只有 STC15F2K60S2) ,所以我们在此选择“STC15F2K60S2”的型号,点击“确定 ”完成选择官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 21 页 共 25 页添加源代码文件到项目中,如下图:保存项目,若编译无误,则可以进行下面的项目设置了附加说明一点:当创建的是 C 语言项目,且有将启动文件 “STARTUP.A51”添加到项目中时,里面有一个命名为“IDATAL
26、EN”的宏定义,它是用来定义 IDATA 大小的一个宏,默认值是 128,即十六进制的 80H,同时它也是启动文件中需要初始化为 0 的 IDATA 的大小。所以当IDATA 定义为 80H,那么 STARTUP.A51 里面的代码则会将 IDATA 的 00-7F 的 RAM 初始化为 0;同样若将 IDATA 定义为 0FFH,则会将 IDATA 的 00-FF 的 RAM 初始化为 0。虽然 STC15F2K60S2 系列的单片机的 IDATA 大小为 256 字节(00-7F 的 DATA 和 80H-FFH 的 IDATA) ,但由于 STC15F2K60S2 在 RAM 的最后 1
27、7 个字节有写入 ID 号以及相关的测试参数,若用户在程序中需要使用这一部分数据,则一定不要将 IDATALEN 定义为256。3、项目设置,选择 STC 仿真驱动官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 22 页 共 25 页如上图,首先进入到项目的设置页面,选择“Debug”设置页,第 2 步选择右侧的硬件仿真“Use ”,第 3 步,在仿真驱动下拉列表中选择“STC Monitor-51 Driver”项,然后点击“Settings”按钮,进入下面的设置画面,对串口的端口号和波特率进行设置,波特率一般选择 115200 或者 57600。到此设置便
28、完成了。4、创建仿真芯片准备一颗 IAP15F2K61S2 或者 IAP15L2K61S2 的芯片,并通过下载板连接到电脑的串口,然后如上图,选择正确的芯片型号,然后进入到“Keil 仿真设置”页面,点击“将IAP15F2K61S2 设置为 2.0 版仿真芯片”按钮或者“将 IAP15L2K61S2 设置为 2.0 版仿真芯片”按钮,当程序下载完成后仿真器便制作完成了。5、开始仿真将制作完成的仿真芯片通过串口与电脑相连接。将前面我们所创建的项目编译至没有错误后,按“Ctrl+F5”开始调试。若硬件连接无误的话,将会进入到类似于下面的调试界面,并在命令输出窗口显示当前的官方网站:www.STCM
29、CU.com 研发顾问 QQ:13922805190第 23 页 共 25 页仿真驱动版本号和当前仿真监控代码固件的版本号断点设置的个数目前最大允许 20 个(理论上可设置任意个,但是断点设置得过多会影响调试的速度) 。官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 24 页 共 25 页 用户 自制脱机下载板 / U7 及全自动烧录工具注意事项用户 自制脱机下载板 / U7 时,对主控芯片的选择目前只能是 “IAP15F2K61S2”或者“IAP15L2K61S2”。脱机下载器/ U7 的主控芯片的硬件选项中,如下几项是固定的:1、必须使用外部 22.118
30、4MHz 晶振2、P3.2/P3.3 必须同时接地才可更新下载主控芯片的程序3、关闭上电复位延时脱机下载程序 / U7 为用户提供了如下的常用控制接口(Ver6.38 版):脚位功能 端口 功能描述电源控制脚 P2.6 低有效P1.0 串口 RXD,连接目标芯片的 TXD(P3.1)下载通讯脚P1.1 串口 TXD,连接目标芯片的 RXD(P3.0)编程按键 P3.6 低有效P3.2 LED1P3.3 LED2P3.4 LED3显示P5.5 LED4P2.4 Flash 的 CE 脚P2.2 Flash 的 SO 脚P2.3 Flash 的 SI 脚外挂串行 Flash 控制脚P2.1 Flash 的 SCLK 脚P3.6 起始信号P1.5 完成信号P5.4 OK 信号(良品信号)全自动烧录工具分选机信号P3.7 ERROR 信号(不良品信号),P3.7, NOT P2.1蜂鸣器(BEEP)控制 P2.5 高有效(高电平发出声音)电源控制部分参考电路图Flash 控制部分参考电路图按键部分参考电路图官方网站:www.STCMCU.com 研发顾问 QQ:13922805190第 25 页 共 25 页蜂鸣器部分参考电路图LED 显示部分参考电路图串口通讯脚连接部分参考电路图