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