以前我给单片机下载程序是往往要先断电冷启动一下
这样的步骤繁琐又容易按坏按键本人就有深刻的体会,因为一个暑假我在开发板上面就按坏了两个按键
所以我在想有没有其它的办法可以实现不断电下载呢
终于在经过无数次得摸索后(夸张一点)终于实现了不断电下载
下面的是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;i99) num=0; } } 上面的程序实现的是0—9