|
網(wǎng)上下了幾個(gè)STC不斷電下載程序,驗(yàn)證通不過(guò),于是反復(fù)調(diào)試,在普中開(kāi)發(fā)板上驗(yàn)證通過(guò)。做成了頭文件,方便使用。
普中開(kāi)發(fā)板用普中自動(dòng)下載軟件,會(huì)自動(dòng)斷電然后上電,下載也很方便。為了學(xué)習(xí)STC不斷電下載,從網(wǎng)上下了很多程序,在普中開(kāi)發(fā)板上STC_ISP驗(yàn)證通不過(guò),于是將網(wǎng)上的程序進(jìn)行組合,形成了一的頭文件,編譯后代碼大小90B原理:stcisp電腦端啟動(dòng)時(shí),連續(xù)發(fā)送0x7f.串口檢查下載命令到10次,單片機(jī)通過(guò)軟件復(fù)位到引導(dǎo)區(qū)。使用普中開(kāi)發(fā)板,STC90C516RD 11.059M晶體,程序加入包含頭文件,主程序調(diào)用串口初始化函數(shù)。主程序中串口功能仍然可用。第一次使用要用普中自動(dòng)下載軟件下載,或STC_ISP_V483斷電下載。以后用STC_ISP_V483最高最低都用4800波特率,可不斷電下載
網(wǎng)上程序不可用的原因:可能ISP_contro=0Xe0;數(shù)值不是這個(gè)。 或者波特率不是4800,STC_ISP版本不對(duì),歡迎大家實(shí)驗(yàn)。
單片機(jī)源程序如下:
- #ifndef _STCISP_
- #define __STCISP_H__
- sfr ISP_contro = 0xE7;
- unsigned char receiveData,n;
- void UsartConfiguration()
- {
- TMOD&=0x0F; //把TMOD高4位清0
- TMOD|=0x20; //將TMOD的M1位置1,設(shè)置成自動(dòng)裝入的8位定時(shí)器
- PCON=0X80; //波特率加倍
- TH1=0XF3; //計(jì)數(shù)器初始值設(shè)置,注意波特率是4800的
- TL1=0XF3;
- TR1=1; //打開(kāi)計(jì)數(shù)器
- SCON=0x50; //10位異步收發(fā),波特率由定時(shí)器控制,允許串口接收
- ES=1; //允許串口中斷
- //**************************
- //***開(kāi)全局中斷設(shè)置****
- //串口接口UART設(shè)置了中斷允許,此處要開(kāi)全局中斷
- EA=1; //開(kāi)全局中斷
- }
- void UART_SER (void) interrupt 4
-
- {
-
- if(RI == 1) //查看是否接收到數(shù)據(jù)
- {
- receiveData = SBUF; //讀取數(shù)據(jù)
- RI = 0; //清除標(biāo)志位
- if(receiveData == 0x7f)
- {
- if(n++>=10)
- {
- ISP_contro=0Xe0;
- //NOP(5);
- }
- }
-
- }
- }
- #endif
復(fù)制代碼
- * 實(shí) 驗(yàn) 名 : STC不斷電下載
- * 實(shí)驗(yàn)說(shuō)明 : STC不斷電下載,串口檢查下載命令10次,單片機(jī)通過(guò)軟件復(fù)位到引導(dǎo)區(qū)。
- * 連接方式 :
- * 注 意 : STC90C516RD 11.059M晶體,STC_ISP_V483下載最高最低都用4800波特率
- 使用時(shí)包含頭文件,主程序調(diào)用串口初始化函數(shù)。
- *******************************************************************************/
- #include<reg51.h>
- #include"stc-isp.h"
- /*******************************************************************************
- * 函 數(shù) 名 : main
- * 函數(shù)功能 : 主函數(shù)
- * 輸 入 : 無(wú)
- * 輸 出 : 無(wú)
- *******************************************************************************/
- void main()
- {
- UsartConfiguration();
- while(1)
- {
- //你的代碼
- }
- }
復(fù)制代碼
51hei.png (5.32 KB, 下載次數(shù): 87)
下載附件
2021-12-18 21:08 上傳
上圖Keil代碼工程下載:
OK-STC不斷電下載頭文件.7z
(8.45 KB, 下載次數(shù): 9)
2021-12-18 21:09 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|