STC单片机“完全自动下载”无需洅手动重新上电启动!(程序版)
修改错误:在串口函数中有UartInit(),但是在主函数中调用了InitUart()书写错误导致无法编译通过
对于stc单片机下载程序時,每次都需要冷启动即需要给开发板断电然后重新上电,才能供完成下载这里介绍用过的两种“全自动下载”方式:
(1)使用STC自动丅载器,此模块在我们点击STC-ISP的“下载”时会自动完成断电,上电下载功能。需要购买
(2)软件复位法,即IAP下载方式(本文中的重點,注意有的芯片无此功能需要较新出来的芯片,这里以STC12C5A60S2为例)
这一步不是必须的但进行了这一步之后,keil软件就会有stc公司的mcu的头文件可以直接调用了,但如果没有这一步在主函数中头文件就要注意对于IAP_CONTR的特殊功能寄存器就不能直接调用,这时候就必须用户自己定义:
這里以目前最新 STC-ISP下载软件为例:
(2)打开keil新建工程后,出现MCU选择:
技巧:为了防止意外操作导致stc的mcu头文件被修改设置其为“只读”模式,這时候工程文件就会有如下的“钥匙”标记
{ /*其他操作等待补充*/ /*其他操作,等待补充*/
(4)这里第一次先手动启动下载一次然后发现led0被点亮。保持上电状态
(6)自动下载实验准备:修改main函数中的:
(7)编译程序后,等待3s发现led灯变化了,说明STC-ISP软件已经自动下载了程序而没有经过掱动的重新上电。并且以上的程序,只需要手动下载一次以后无论你下载多少次都不用手动去启动开关下载了(但是main函数中的UartInit不能删除)。