首页 / 单片机 / stc单片机“全自动下载”
stc单片机“全自动下载”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了stc单片机“全自动下载”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1254字,纯文字阅读大概需要2分钟。
内容图文
STC单片机“完全自动下载”,无需再手动重新上电启动!
这里以STC12C5A60S2为例演示:
步骤如下:
1.添加stc公司的mcu到keil软件
(
这一步不是必须的,但进行了这一步之后,keil软件就会有stc公司的mcu的头文件,可以直接调用了,但如果没有这一步在主函数中头文件就要注意,对于IAP_CONTR的特殊功能寄存器就不能直接调用,这时候就必须用户自己定义:
sft IAP_CONTR=0xc7;
)
这里以目前最新 STC-ISP下载软件为例:
选择keil安装目录xxxxxxxxxxx\keil , 点击确定,就会出现:
(2)打开keil,新建工程后,出现MCU选择:
选择STC MCU Database后,选择STC12C5A60S2,后创建并加载.c文件,设置生成hex文件:
技巧:为了防止意外操作导致stc的mcu头文件被修改,设置其为“只读”模式,这时候工程文件就会有如下的“钥匙”标记
(3)程序代码如下:
主函数0000.c:
#include "./STC/stc12c5a60s2.h" #include "uart.h" void main(void) { UartInit(); P1=0x01;/*第一次,leds*/ while(1); }
uart.h文件:
#ifndef __UART_H__ #define __UART_H__ #define selfDownLodCmd 0x01 extern void UartInit(void) ; #endif
uart.c文件:
#include "./stc/stc12c5a60s2.h" #include "uart.h" void UartInit(void) { SCON |= 0x50 ; TMOD |= 0X20 ; TH1 = 0xfd ; //11.0592MHZ , 9600kps TL1 = 0xfd ; TR1=1 ; ES=1 ; EA=1 ; } void UART_IRQ(void) interrupt 4 { unsigned char k ; if(RI) { RI=0; k=SBUF; if(k==selfDownLodCmd) { IAP_CONTR |=0x60 ; } else { /*其他操作,等待补充*/ } } else { TI =0; /*其他操作,等待补充*/ } }
(4)这里第一次先手动启动下载一次,然后发现led0被点亮。保持上电状态。
(5)修改下载设置:
(6)自动下载实验准备:修改main函数中的:
P1=0x01;/*第一次,leds*/
修改为:
P1=0x0f;
(7)发现STC-ISP软件已经自动下载了程序,而没有经过手动的重新上电。
原文:http://blog.csdn.net/yagnruinihao/article/details/21739665
内容总结
以上是互联网集市为您收集整理的stc单片机“全自动下载”全部内容,希望文章能够帮你解决stc单片机“全自动下载”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。