本帖最后由 逍遥派掌门 于 2015-11-26 23:57 编辑
STC单片机的串口下载无疑是非常方便的,既节省了专用下载器的花费,又不占用资源,这点秒杀AVR单片机。
但它有一个稍麻烦的地方:每次下载前需要对单片机进行手动复位。
我们利用STC提供的寄存器ISP_CONTR (有的型号是 IAP_CONTR,这个寄存器的定义要参看具体的datasheet)搞点花样,把手动的复位变成自动的复位。
这个只要在单片机的软件上增加一定的代码就可以实现了,不用改动任何的硬件,安全可靠哦。
先上Turbo51的代码:
上面的代码,是通过串口接收指定的协议串,然后改变单片机特殊寄存器的值,从而达到复位单片机的目的。
通讯协议部分稍微复杂,主要的核心是第71行的代码。
同时要在STC的下载软件里做如下(红色框)的设置:
这样,你就不用再每次手动复位单片机,只需要第一次下载本程序时,手动复位一下,以后就可以专注于代码的编写。
完整代码文件:
|