找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4493|回復(fù): 9
收起左側(cè)

STC免斷電下載

[復(fù)制鏈接]
ID:63924 發(fā)表于 2014-8-20 16:51 | 顯示全部樓層 |閱讀模式
/**************************************************
文件名:STC免斷電下載  
功能:實(shí)現(xiàn)免斷電下載單片機(jī)程序
原理:SWBS位為1時(shí)復(fù)位從ISP區(qū)開(kāi)始,如果SWRST為1時(shí)產(chǎn)生軟件復(fù)位!正是這兩個(gè)特性結(jié)合在一起就可以實(shí)現(xiàn)不斷電下載!
在上位機(jī)和單片機(jī)握手的時(shí)候會(huì)給P3.0口定時(shí)的輸出低電平!
此時(shí)單片機(jī)的P3.0口就會(huì)檢測(cè)到低電平就會(huì)實(shí)現(xiàn)從ISP區(qū)開(kāi)始的復(fù)位如果單片機(jī)從ISP區(qū)開(kāi)始復(fù)位的話就會(huì)重新下載程序!
**************************************************/
#include<reg52.h>
#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<xms;i++)
        {
                for(j=0;j<110;j++)
                {;}
        };
}

void display()
{
        dula=1;
        P0=table[num/10];
        dula=0;

        P0=0x00;

        wela=1;
        P0=0xfe;
        wela=0;

        delay(10);

        wela=1;
        P0=0xfd;
        wela=0;

        P0=0x00;

        dula=1;
        P0=table[num%10];
        dula=0;

        delay(10);
}
void time ()interrupt 1 using 1
{
        uchar i;
        TH0=0X3C;
        TL0=0XB0;
        i++;
        if(i>=20)
        {
                i=0;
                num++;
                if(num>99)
                num=0;
               
        }
}


回復(fù)

使用道具 舉報(bào)

ID:51088 發(fā)表于 2014-8-20 17:04 | 顯示全部樓層
硬件上面需要進(jìn)行什么操作嗎
回復(fù)

使用道具 舉報(bào)

ID:58502 發(fā)表于 2014-8-20 18:41 | 顯示全部樓層
問(wèn)題是你這段程序怎么燒進(jìn)單片機(jī),還不是要斷電下載,先斷電下載你這個(gè)程序,然后在免斷電下載嗎?那這個(gè)免斷電也沒(méi)啥用了
回復(fù)

使用道具 舉報(bào)

ID:63924 發(fā)表于 2014-8-27 10:34 | 顯示全部樓層
剛開(kāi)始需要斷電下載到單片機(jī),然后你再下載別的程序之后就會(huì)制動(dòng)下載了
回復(fù)

使用道具 舉報(bào)

ID:58502 發(fā)表于 2014-8-27 22:59 來(lái)自觸屏版 | 顯示全部樓層
那么下完第二個(gè)程序不會(huì)把這個(gè)程序覆蓋掉嗎覆蓋之后下第三個(gè)程序還是不能免斷電下載啊
回復(fù)

使用道具 舉報(bào)

ID:63924 發(fā)表于 2014-8-29 15:30 | 顯示全部樓層
liaolinhui 發(fā)表于 2014-8-27 22:59
那么下完第二個(gè)程序不會(huì)把這個(gè)程序覆蓋掉嗎覆蓋之后下第三個(gè)程序還是不能免斷電下載啊

是的,,,,,,,,,,,
回復(fù)

使用道具 舉報(bào)

ID:58502 發(fā)表于 2014-8-29 23:54 | 顯示全部樓層
84533243 發(fā)表于 2014-8-29 15:30
是的,,,,,,,,,,,

那這個(gè)程序就相當(dāng)于《國(guó)產(chǎn)凌凌漆》里面的達(dá)文西發(fā)明的不用電的手電筒。但是要用另一把手電筒去照,你這個(gè)程序可以免斷電下載,但是要先斷電下載你這個(gè)程序。
回復(fù)

使用道具 舉報(bào)

ID:63924 發(fā)表于 2014-8-30 00:02 | 顯示全部樓層
是,        可以用電路控制的,像普中板一樣的電路,加一個(gè)繼電器
回復(fù)

使用道具 舉報(bào)

ID:66181 發(fā)表于 2014-9-15 11:12 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:70769 發(fā)表于 2014-12-21 04:55 | 顯示全部樓層
很好,正需要
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表