一種基于單片機(jī)的多程序硬復(fù)位控制裝置及方法
【專利摘要】本發(fā)明公開了一種基于單片機(jī)的多程序硬復(fù)位控制裝置及方法,包括硬件部分和軟件部分,在軟件程序中選擇按鍵SW1至SW4中,硬件中按下某一按鍵時,按鍵將同時輸出兩路控制信號控制單片機(jī)IC,一路信號通過電容送至單片機(jī)IC的復(fù)位管腳9管腳,控制單片機(jī)IC復(fù)位,另一路信號送至單片機(jī)IC的P0口相應(yīng)輸入管腳,結(jié)合主程序中的多路選擇命令,選擇相應(yīng)地程序開始執(zhí)行輸出。在執(zhí)行的過程中,如果想讓單片機(jī)終止當(dāng)前程序,去執(zhí)行另一套程序,就按下另一套程序在SW1至SW4中相應(yīng)的按鍵,同上述一樣,單片機(jī)IC就又一次復(fù)位,結(jié)合主程序中的多路選擇命令,去執(zhí)行另一套程序。本發(fā)明解決了51單片機(jī)無法實現(xiàn)多套程序來回轉(zhuǎn)換問題。
【專利說明】
一種基于單片機(jī)的多程序硬復(fù)位控制裝置及方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及一種復(fù)位控制裝置,具體地說,是一種基于單片機(jī)的多程序硬復(fù)位控制裝置。本發(fā)明還提供了一種基于單片機(jī)的多程序硬復(fù)位控制方法。
【背景技術(shù)】
[0002]單片機(jī)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲器RAM、只讀存儲器R0M、多種I/O 口和中斷系統(tǒng)、定時器/計數(shù)器等功能集成到一塊硅片上構(gòu)成的一個小而完善的微型計算機(jī)系統(tǒng)。在單片機(jī)領(lǐng)域中,由于51單片機(jī)有數(shù)據(jù)總線和地址總線的關(guān)系,不僅在工業(yè)控制領(lǐng)域具有舉足輕重的作用,在小型控制系統(tǒng)中也有著無與倫比的優(yōu)勢。
[0003]在實際應(yīng)用中,51單片機(jī)只能執(zhí)行一套完整的程序。如果想讓51單片機(jī)執(zhí)行另一套程序時,51單片機(jī)就得重新刷入程序,原來的程序就被刪除。比如想讓51單片機(jī)控制多路彩燈,或者控制演奏樂曲時,想讓51單片機(jī)能輸出多套程序控制彩燈或者樂曲,在51單片機(jī)正常輸出一套程序的中途,讓它快速切換去執(zhí)行另一套程序,并且能在多套程序之間來回切換。這在現(xiàn)有51單片機(jī)無法實現(xiàn)的。
【發(fā)明內(nèi)容】
[0004]本發(fā)明解決了現(xiàn)有技術(shù)的不足,提供一種能在多套程序之間來回切換的基于單片機(jī)的多程序硬復(fù)位控制裝置。
[0005]本發(fā)明為實現(xiàn)上述目的所采用的技術(shù)方案是:
一種基于單片機(jī)的多程序硬復(fù)位控制電路,包括單片機(jī)1C,所述單片機(jī)IC的I至8管腳為Pl 口,10至17管腳為P3 口,21至28為P2口,32至39管腳為PO 口,所述Pl 口與信號輸出端口PC連接,單片機(jī)IC的復(fù)位管腳9管腳一端與分別與電容Cl的一端、電容C2的一端、電容C3的一端、電容C4的一端連接,另一端與復(fù)位放電電阻R9串聯(lián)后接GND端,單片機(jī)(I C)的18、19管腳接晶振電路,單片機(jī)IC的第20管腳接GND端,單片機(jī)IC的31管腳與功能選擇供電電阻R2串聯(lián)后接電源正極VCC端,單片機(jī)IC的36管腳的第一端接電容C4另一端,第二端接電容C8—端,第三端接按鍵SW4—端,電容C8另一端接電源正極VCC端,按鍵SW4另一端接電源正極VCC端,單片機(jī)IC的37管腳的第一端接電容C3另一端,第二端接電容C7—端,第三端接按鍵SW3一端,電容C7另一端接電源正極VCC端,按鍵SW3另一端接電源正極VCC端,單片機(jī)(I C)的38管腳接電阻C2另一端,第二端接電容C6—端,第三端接按鍵SW2—端,電容C6另一端接電源正極VCC端,按鍵SW2另一端接電源正極VCC端,單片機(jī)IC的39管腳接電阻Cl的另一端,第二端接電容C5—端,第三端接按鍵SWl—端,電容C5另一端接電源正極VCC端,按鍵SWl另一端接電源正極VCC端,單片機(jī)IC的40管腳接電源正極VCC端。
[0006]進(jìn)一步地,所述晶振電路包括單片機(jī)IC、晶振JZ、電容C9、電容C1,所述單片機(jī)IC的18管腳一端與晶振JZ—端連接,另一端與電容C9一端連接,電容C9另一端接GND端,晶振JZ另一端接電容ClO—端,電容ClO另一端接GND端。
[0007]本發(fā)明還提供了一種基于單片機(jī)的多程序硬復(fù)位控制方法,包括:
第一步給單片機(jī)IC通電開機(jī);
第二步單片機(jī)IC開始執(zhí)行復(fù)位;
第三步單片機(jī)IC開始運行主程序;
第四步根據(jù)單片機(jī)IC開始檢測按鍵SWl至SW4的輸入狀態(tài),判斷要運行的子程序; 第五步運行子程序。
[0008]進(jìn)一步地,所述輸入狀態(tài)是根據(jù)檢測到按鍵SWl至SW4的狀態(tài),選擇下述任一種處理方法:
(I )SW1至SW4都沒有被按下,單片機(jī)IC將停在第一步不再往下執(zhí)行;
(2)按下任一鍵,此按鍵將輸出兩路控制信號,一路通過電容Cl送至單片機(jī)IC的第9管腳,控制單片機(jī)IC復(fù)位,執(zhí)行第二步單片機(jī)復(fù)位,單片機(jī)IC復(fù)位后執(zhí)行第三步運行主程序;此按鍵的另一路控制信號,送至單片機(jī)IC的第39管腳,單片機(jī)IC檢測到SWl輸入的高電平后,就會控制單片機(jī)IC開始執(zhí)行第五步運行此按鍵對應(yīng)地子程序,又會返回到子程序的開頭重新運行子程序,如此反復(fù)運行,要運行其他子程序,則要按下其他子程序?qū)?yīng)地按鍵。
[0009]本發(fā)明包括硬件部分和軟件部分,在軟件程序中選擇按鍵SWl至SW4中,硬件中按下某一按鍵時,按鍵將同時輸出兩路控制信號控制單片機(jī)1C,一路信號通過電容送至單片機(jī)IC的復(fù)位管腳9管腳,控制單片機(jī)IC復(fù)位,另一路信號送至單片機(jī)IC的PO 口相應(yīng)輸入管腳,結(jié)合主程序中的多路選擇命令,選擇相應(yīng)程序開始執(zhí)行輸出。在執(zhí)行的過程中,如果想讓單片機(jī)終止當(dāng)前程序,去執(zhí)行另一套程序,就按下另一套程序在SWl至SW4中相應(yīng)的按鍵,同上述一樣,單片機(jī)IC就又一次復(fù)位,結(jié)合主程序中的多路選擇命令,去執(zhí)行另一套程序。本發(fā)明中的單片機(jī)IC可以輸出4套程序,通過按鍵SWl至SW4分別控制4套不同的程序,并且在4套不同程序之間可以不定時來回切換。本發(fā)明結(jié)構(gòu)簡單,使用方便。
【附圖說明】
[0010]圖1為本發(fā)明的電路原理圖。
[0011 ]圖2為本發(fā)明的工作過程方框圖。
【具體實施方式】
[0012]下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述:
如圖1所示,一種基于單片機(jī)的多程序硬復(fù)位控制電路,包括單片機(jī)IC(STC89C52),所述單片機(jī)IC(STC89C52)的I至8管腳為Pl 口,10至17管腳為P3 口,21至28為P2 口,32至39管腳為PO口,所述Pl 口與信號輸出端口PC連接,單片機(jī)IC(STC89C52)的復(fù)位管腳9管腳一端與分別與電容CI的一端、電容C2的一端、電容C3的一端、電容(34的一端連接,另一端與復(fù)位放電電阻1?9串聯(lián)后接6_端,單片機(jī)1(:(3代89052)的18、19管腳接晶振電路,單片機(jī)1〇(STC89C52)的第20管腳接GND端,單片機(jī)IC(STC89C52)的31管腳與功能選擇供電電阻R2串聯(lián)后接電源正極VCC端,單片機(jī)IC(STC89C52)的36管腳的第一端接電容C4另一端,第二端接電容C8—端,第三端接按鍵SW4—端,電容C8另一端接電源正極VCC端,按鍵SW4另一端接電源正極VCC端,單片機(jī)IC( STC89C52)的37管腳的第一端接電容C3另一端,第二端接電容C7—端,第三端接按鍵SW3—端,電容C7另一端接電源正極VCC端,按鍵SW3另一端接電源正極VCC端,單片機(jī)IC(STC89C52)的38管腳接電阻C2另一端,第二端接電容C6—端,第三端接按鍵SW2 —端,電容C6另一端接電源正極VCC端,按鍵SW2另一端接電源正極VCC端,單片機(jī)IC(STC89C52)的39管腳接電阻Cl的另一端,第二端接電容C5—端,第三端接按鍵SWl—端,電容C5另一端接電源正極VCC端,按鍵SWl另一端接電源正極VCC端,單片機(jī)IC(STC89C52)的40管腳接電源正極VCC端。
[0013]進(jìn)一步地,所述晶振電路包括單片機(jī)IC(STC89C52)、晶振JZ、電容C9、電容C10,所述單片機(jī)IC(STC89C52)的18管腳一端與晶振JZ—端連接,另一端與電容C9 一端連接,電容C9另一端接GND端,晶振JZ另一端接電容ClO—端,電容Cl O另一端接GND端。
[0014]如圖1及圖2所示,一種基于單片機(jī)的多程序硬復(fù)位控制方法,包括:
第一步給單片機(jī)IC通電開機(jī);
第二步單片機(jī)IC開始執(zhí)行復(fù)位;
第三步單片機(jī)IC開始運行主程序;
第四步根據(jù)單片機(jī)IC開始檢測按鍵SWl至SW4的輸入狀態(tài),判斷要運行的子程序; 第五步運行子程序。
[0015]進(jìn)一步地,所述輸入狀態(tài)是根據(jù)檢測到按鍵SWl至SW4的狀態(tài),選擇下述任一種處理方法:
(1)SWl至SW4都沒有被按下,單片機(jī)IC(STC89C52)將停在第一步不再往下執(zhí)行;
(2)按下任一鍵,此按鍵將輸出兩路控制信號,一路通過電容Cl送至單片機(jī)IC的第9管腳,控制單片機(jī)IC(STC89C52)復(fù)位,執(zhí)行第二步單片機(jī)復(fù)位,單片機(jī)IC復(fù)位后執(zhí)行第三步運行主程序;此按鍵的另一路控制信號,送至單片機(jī)IC的第39管腳,單片機(jī)IC(STC89C52)檢測到SWl輸入的高電平后,就會控制單片機(jī)IC(STC89C52)開始執(zhí)行第五步運行此按鍵對應(yīng)地子程序,又會返回到子程序的開頭重新運行子程序,如此反復(fù)運行,要運行其他子程序,則要按下其他子程序?qū)?yīng)地按鍵。
[0016]當(dāng)按下按鍵SWl,SWl接通后輸出兩路控制信號,一路通過電容Cl送至單片機(jī)IC(STC89C52)的第9管腳,控制單片機(jī)IC(STC89C52)復(fù)位,執(zhí)行第二步單片機(jī)復(fù)位;此時單片機(jī)IC( STC89C52)開始執(zhí)行第三步運行主程序,第四步主程序運行判斷選擇語句,按鍵SWl輸出的另一路控制信號送至單片機(jī)IC(STC89C52)的第39管腳,單片機(jī)IC(STC89C52)檢測到SWl輸入的高電平后,就會控制單片機(jī)IC(STC89C52)開始執(zhí)行第五步運行子程序I。子程序I運行完后,又會返回到子程序I的開頭重新運行子程序I,如此反復(fù)運行。
[0017]這里需要說明一下,按鍵按下一次保持高電平的最短時間是20毫秒,這個時間完全可以讓單片機(jī)IC(STC89C52)復(fù)位和運行到第四步。
[0018]在反復(fù)運行子程序I的過程中,如果想讓單片機(jī)IC(STC89C52)運行子程序2,就按下按鍵SW2,同上述一樣,SW2輸出兩路控制信號,一路經(jīng)電容C2輸入到單片機(jī)IC(STC89C52)的第9管腳,控制單片機(jī)IC(STC89C52)復(fù)位。SWl輸出的另一路控制信號送至單片機(jī)IC(STC89C52)的第38管腳,控制單片機(jī)IC(STC89C52)運行子程序2。子程序2運行完后,又會返回到子程序2的開頭重新運行子程序2,如此反復(fù)運行。
[0019]其它子程序之間的切換過程也同上述一樣,在此不再敘述。
[0020]綜上所述,就可以實現(xiàn)讓單片機(jī),在多套不同子程序之間,不定時來回切換的目的。
【主權(quán)項】
1.一種基于單片機(jī)的多程序硬復(fù)位控制裝置,其特征在于,包括單片機(jī)(1C),所述單片機(jī)(IC)的I至8管腳為(Pl) 口,10至17管腳為(P3) 口,21至28為(P2) 口,32至39管腳為(PO)口,所述(Pl) 口與信號輸出端口(PC)連接,單片機(jī)(IC)的復(fù)位管腳9管腳一端與分別與電容(Cl)的一端、電容(C2)的一端、電容(C3)的一端、電容(C4)的一端連接,另一端與復(fù)位放電電阻(R9)串聯(lián)后接(GND)端,單片機(jī)(IC)的18、19管腳接晶振電路,單片機(jī)(IC)的20管腳接(GND)端,單片機(jī)(IC)的31管腳與功能選擇供電電阻(R2)串聯(lián)后接電源正極(VCC)端,單片機(jī)(IC)的36管腳的第一端接電容(C4)另一端,第二端接電容(C8)—端,第三端接按鍵(SW4)一端,電容(C8)另一端接電源正極(VCC)端,按鍵(SW4)另一端接電源正極(VCC)端,單片機(jī)(IC)的37管腳的第一端接電容(C3)另一端,第二端接電容(C7)—端,第三端接按鍵(SW3) —端,電容(C7)另一端接電源正極(VCC)端,按鍵(SW3)另一端接電源正極(VCC)端,單片機(jī)(IC)的38管腳接電阻(C2)另一端,第二端接電容(C6)—端,第三端接按鍵(SW2)—端,電容(C6)另一端接電源正極(VCC)端,按鍵(SW2)另一端接電源正極(VCC)端,單片機(jī)(IC)的39管腳接電阻(Cl)的另一端,第二端接電容(C5)—端,第三端接按鍵(SWl)—端,電容(C5)另一端接電源正極(VCC)端,按鍵(SWl)另一端接電源正極(VCC)端,單片機(jī)(IC)的40管腳接電源正極(VCC)端。2.根據(jù)權(quán)利要求1所述基于單片機(jī)的多程序硬復(fù)位控制裝置,其特征在于,所述晶振電路包括單片機(jī)(1C)、晶振(JZ)、電容(C9)、電容(ClO),所述單片機(jī)(IC)的18管腳一端與晶振(JZ)—端連接,另一端與電容(C9) 一端連接,電容(C9)另一端接(GND)端,晶振(JZ)另一端接電容(ClO)—端,電容(ClO)另一端接(GND)端。3.—種基于單片機(jī)的多程序硬復(fù)位控制方法,其特征在于,包括: 第一步給單片機(jī)IC通電開機(jī); 第二步單片機(jī)IC開始執(zhí)行復(fù)位; 第三步單片機(jī)IC開始運行主程序; 第四步根據(jù)單片機(jī)IC開始檢測按鍵SWl至SW4的輸入狀態(tài),判斷要運行的子程序; 第五步運行子程序。4.根據(jù)權(quán)利要求3所述的基于單片機(jī)的軟復(fù)位多程序控制方法,其特征在于:所述輸入狀態(tài)是根據(jù)檢測到按鍵SWl至SW4的狀態(tài),選擇下述任一種處理方法: (I )SW1至SW4都沒有被按下,單片機(jī)IC將停在第一步不再往下執(zhí)行; (2)按下任一鍵,此按鍵將輸出兩路控制信號,一路通過電容Cl送至單片機(jī)IC的第9管腳,控制單片機(jī)IC復(fù)位,執(zhí)行第二步單片機(jī)復(fù)位,單片機(jī)IC復(fù)位后執(zhí)行第三步運行主程序;此按鍵的另一路控制信號,送至單片機(jī)IC的第39管腳,單片機(jī)IC檢測到SWl輸入的高電平后,就會控制單片機(jī)IC開始執(zhí)行第五步運行此按鍵對應(yīng)地子程序,又會返回到子程序的開頭重新運行子程序,如此反復(fù)運行,要運行其他子程序,則要按下其他子程序?qū)?yīng)地按鍵。
【文檔編號】G06F1/24GK106095033SQ201610448891
【公開日】2016年11月9日
【申請日】2016年6月21日
【發(fā)明人】衛(wèi)斌鵬
【申請人】衛(wèi)斌鵬