STC系列單片機不斷電下載程序應用技術(shù)
摘要 針對單片機下載程序時(shí)需要重復機械式復位產(chǎn)生的一系列調試繁瑣的問(wèn)題,提出了一種用軟件引導代替單片機硬件復位寫(xiě)入ROM的方法。該方法通過(guò)檢測串口數據流是否合法,來(lái)判斷是否執行ISP引導程序,從而利用軟件方式復位,可以讓STC單片機復位后從ISP引導程序處執行,利用該特性可以模擬單片機上電復位狀態(tài),實(shí)現單片機的不斷電下載。
關(guān)鍵詞 STC單片機;ISP引導程序;不斷電下載;軟件設計
隨著(zhù)單片機技術(shù)的發(fā)展,單片機片內存儲器的容量越來(lái)越大,可以容納越來(lái)越大的程序。由于程序越來(lái)越復雜,在程序調試過(guò)程中需要不斷進(jìn)行硬件復位來(lái)下載程序,雖然在線(xiàn)下載程序的方法已經(jīng)普遍應用,但在現實(shí)調試實(shí)現中還是比較繁瑣,因此人們在尋求一種用軟件代替硬件的復位方法來(lái)調試下載程序,近而在工程實(shí)際中更加快捷方便地進(jìn)行程序實(shí)現。因此,文中提出了一種軟件復位單片機的方法,即利用STC單片機獨有的ISP引導區,用特殊的指令使調試好的程序從ISP引導區執行,避免頻繁地硬件復位,而且簡(jiǎn)單實(shí)用。
1 軟件復位單片機的工作原理
1.1 STC單片機復位方法簡(jiǎn)介
STC單片機的復位方法分為熱啟動(dòng)和冷啟動(dòng)兩種:冷啟動(dòng)是系統斷電后再上電的硬件復位;熱啟動(dòng)分為3種:一種是reset引腳復位,一種是內部看門(mén)狗復位,一種是ISP引導區復位。熱啟動(dòng)中的reset復位是reset引腳接受到復位信號直接從用戶(hù)區執行,內部看門(mén)狗是在外界電磁干擾致使程序跑飛時(shí)發(fā)出一個(gè)復位信號,使程序地址指針移動(dòng)到00H,產(chǎn)生和reset復位相同的效果,ISP引導區復位是一種只有在系統上電時(shí)才執行的程序存儲區,當程序執行到ISP引導區時(shí),如果系統沒(méi)有檢測到合法的數據流,則直接執行用戶(hù)程序區;如果系統檢測到合法的數據流,則先下載程序,再執行用戶(hù)程序區。單片機啟動(dòng)的過(guò)程為:先給斷電的單片機通電,進(jìn)行STCISP下載,然后執行用戶(hù)程序,或者沒(méi)有檢測到合法的數據流,然后直接執行用戶(hù)程序區。其流程圖如圖1所示。
評論