电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

小牛教你如何不断电下载STC单片机

小牛教你如何不断电下载STC单片机_第1页
小牛教你如何不断电下载STC单片机_第2页
小牛教你如何不断电下载STC单片机_第3页
以前我给单片机下载程序是往往要先断电冷启动一下!这样的步骤繁琐又容易按坏按键本人就有深刻的体会,因为一个暑假我在开发板上面就按坏了两个按键。所以我在想有没有其它的办法可以实现不断电下载呢?终于在经过无数次得摸索后(夸张一点)终于实现了不断电下载! 下面的是STC89C52 的官方技术档! 其中提到如果 SW BS 位为1 时复位从 ISP 区开始,如果 SW RST 为1 时产生软件复位!正是这两个特性结合在一起就可以实现不断电下载! 请看下列程序! 只要在程序中加入以下用红色标记了语句据可以实现不断电下载! 不过第一次还得断电下载哦!如果第一次没有断电下载后面的也就不能实现不断电下载!一劳永逸!你说值不值的呢? 温馨提醒:实现不断电下载后 P3.0 口就不能做按键接口了哦! #include #define uchar unsigned char sfr ISP_contro=0xE7; sbit wela=P2^7; sbit dula=P2^6; char num; void display(); sbit key=P3^0; void delay(char xms); uchar code table[]= { 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71, }; void main() { TMOD=0X01; TH0=0X3C; TL0=0XB0; ET0=1; EA=1; EX1=1; TR0=1; while(1) { display(); if(key==0) ISP_contro=0xe0; } } void delay(char xms) { char i,j; for(i=0;i=20) { i=0; num++; if(num>99) num=0; } } 上面的程序实现的是0—99 秒计数!一秒加 1! 下面我就里解释一下实现不断电下载的原理! 在上位机和单片机握手的时候会给 P3.0 口定时的输出低电平! 此时单片机的P3.0 口就会检测到低电平就会实现从 ISP 区开始的复位如果单片机从 ISP 区开始复位的话就会重新下载程序! 下面就开始享受不断电下载的乐趣吧!

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

小辰9+ 关注
实名认证
内容提供者

出售各种资料和文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部