<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > stc單片機不斷電下載程序

stc單片機不斷電下載程序

作者: 時(shí)間:2012-08-04 來(lái)源:網(wǎng)絡(luò ) 收藏

在調試程序中加入串口初始化代碼,串口中斷代碼即可實(shí)現
///******************
TMOD|=0x20;
SCON=0x50;
TH1=0xfd; //12T時(shí)鐘9600bps
TL1=0xfd;
TR1=1;
ES=1;
EA=1;
AUXR=AUXR|0x40; //定時(shí)器1使用1T時(shí)鐘 9600*12=115200bps
///******************

void uart(void) interrupt 4
{
uchar cdd;
if(RI)
{
RI=0;
cdd=SBUF;
if(cdd==0xaa)
{
ISP_CONTR=0x60; //軟復位,從ISP監控區啟動(dòng)
}
else if(cdd==0x55)
{
ISP_CONTR=0x20; //軟復位,從用戶(hù)程序區啟動(dòng)
}
else
{
senddata(cdd);
}
}
else
{
TI=0;
}
}

在上演示程序中,利用單片機串口收到某個(gè)有效數據后,執行從isp引導區軟啟動(dòng)的命令(ISP_CONTR=0x60;),實(shí)現程序下載。但該方法為實(shí)現程序下載,占用了一些單片機資源——串口、中斷等,實(shí)際應用中有一些不便。下面介紹另一種程序不斷電下載方法:
考慮到單片機開(kāi)發(fā)板在設計時(shí)一般都留有一個(gè)手動(dòng)復位按鈕,能否利用該按鈕實(shí)現程序不斷電下載呢?答案是肯定的?。。。?!

單片機上電復位時(shí),POF=1;單片機手動(dòng)復位時(shí),POF=0
單片機上電運行時(shí)對POF位進(jìn)行判斷,如果POF位=0,將POF位置1,讓單片機從isp引導區軟復位。
如果POF位=1,將POF位清0。

將實(shí)現以上功能的代碼加入到你的程序中,當需要時(shí),按下復位按鈕,此時(shí)POF位=0,單片機再次從isp引導區軟復位,從而實(shí)現程序下載。

該方法只需在用戶(hù)程序中嵌入一段判斷POF標志位的代碼就能實(shí)現程序不斷電下載,無(wú)需占用任何單片機內部資源。

演示程序:

//*******************不斷電******************
#include REG52.H>

sfr ISP_CONTR=0xe7; 軟復位寄存器聲明
void main(void)
{
//////////////將這段代碼嵌入到程序中////////////////
if((PCON0x10)==0) //如果POF位=0
{
PCON=PCON|0x10; //將POF位置1
ISP_CONTR=0x60; //軟復位,從ISP監控區啟動(dòng)
}
else
{
PCON=PCON0xef; //將POF位清零
}
//////////////////////////////////////////////

while(1)
{
`

` 用戶(hù)程序

`

}
}

操作說(shuō)明:
1 將演示程序中的紅色代碼復制到您的程序中,首次使用時(shí)應利用斷電下載的方式將含有紅色代碼的程序下載到單片機中
2 將hex文件載入stc單片機isp軟件,點(diǎn)擊下載按鈕
3 按下單片機開(kāi)發(fā)板上復位鍵,單片機進(jìn)行is程序下載

單片機相關(guān)文章:單片機教程


c++相關(guān)文章:c++教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: stc單片機 不斷電 下載程序

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>