STC單片機免斷電下載程序的另一種更簡單的方法
從上面可以看出比較麻煩,那么有沒有一種更為簡單的方法呢,從上面的視頻得知只要對0xe7這個地址賦予0x60就可以完成下載程序的功能了,那么我就想,stc下載軟件用的是串口,用串口就必然用要發(fā)送數(shù)據(jù)到單片機,而單片機接收引腳是P3^0,那么我們只要檢測這個引腳有沒有電平的變化,如果有變化那么就對0xe7這個地址賦予0x60,就會完成自動下載的命令了,有了思路就開始驗證。經(jīng)過調(diào)試結(jié)果成功,說明本人只是對STC89C52RC做過測試,其它芯片能否可行請自行測試,以下為完整的程序,在stc下載軟件中不需要做任何的設置,就像平常下載程序一樣就行。
/*** STC單片機免斷電下載程序的另一種更簡單的方法*******************************************************************
**芯片型號:STC89C52RC
**晶振頻率:11.0592M
**編寫日期:2010年11月23日
**編寫人員:wang QQ:349259818 Email:hongfadg@163.com
**備注說明:
*******************************************************************/
//以下為所需的頭文件
//#includeabsacc.h>
//#includestring.h>
//#includestdio.h>
//#include INTRINS.H>
#include reg52.H>
//定義關(guān)鍵字方便使用
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
sfr iap=0xe7; //定義下載命令
sbit p30=P3^0; //串口接收引腳
/* 主函數(shù)
*******************************************************************
**函數(shù)原型:main()
**函數(shù)功能:
**輸入?yún)?shù):無
**輸出參數(shù):無
**備注說明:完成程序的主要功能
*******************************************************************/
main()
{
while(1) //主循環(huán)
{
if(!p30) //判斷串口是不是有數(shù)據(jù)
{
iap=0x60; //執(zhí)行自動下載的命令
}
}
}
晶振相關(guān)文章:晶振原理
評論