新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STC15F104E的STC單片機自動下載系統(tǒng)設(shè)計

STC15F104E的STC單片機自動下載系統(tǒng)設(shè)計

作者: 時間:2011-11-24 來源:網(wǎng)絡(luò) 收藏

對目標(biāo)進行冷啟動,實現(xiàn)斷電、再上電,可以用三極管作為電子開關(guān)實現(xiàn)。必須注意到的是,三極管的最大可通過電流不要小于電路的所需電流。如果三極管僅作為供電的開關(guān),由于89系列單片機的正常丁作模式功耗為2~7 mA,90系列三極管通常情況下可以滿足需求。但在某些情況下,單片機的串口上電后會給單片機供電,使單片機各引腳電平處于不確定的狀態(tài),因而必須對目標(biāo)電路板整體進行冷啟動,三極管必須滿足目標(biāo)電路板的總電流需求。由于三極管8550的最大可通過電流為1.5 A,可以滿足絕大多數(shù)電路的供電需求。所以選擇三極管8550連接到目標(biāo)單片機89C52RC的VCC腳,作為對其冷啟動的開關(guān)。
如圖1所示,D1為指示燈,其亮滅可以通過15F104E的P3.3腳控制。在程序中加入相應(yīng)的語句即可實現(xiàn)燈的亮滅與閃爍,以顯示的狀態(tài)。

3 軟件
STC單片機軟件流程如圖2所示。在初始化后,系統(tǒng)循環(huán)檢測是否接收到信號;經(jīng)過判斷證實接收到信號后,就切斷目標(biāo)單片機電源;等待適當(dāng)?shù)臅r間后,再給目標(biāo)單片機上電。單片機正常工作期間,系統(tǒng)接收到發(fā)往目標(biāo)單片機串口的非下載命令程序,經(jīng)判斷后不作任何動作。

本文引用地址:http://2s4d.com/article/172413.htm

b.jpg


3.1 串口模擬程序
由于沒有串口,因而必須利用定時器模擬串口。其方法是,定義一個常量,根據(jù)所需要的波特率對該常量賦值,并將該常量值賦到定時所用的寄存器中。在模擬外部晶振為11.059 2 MHz、波特率為9 600 bps的情況下,設(shè)置常量BAUD為0xFE80,并將該常量賦值到TL1、TH1兩個寄存器中,實現(xiàn)定時。每到相應(yīng)時間觸發(fā)定時中斷程序,將外部引腳的狀態(tài)讀入并存入預(yù)先設(shè)定的數(shù)組中,完成模擬串口讀入字節(jié)的任務(wù)。
3.2 下載命令檢測程序
在STC上位機軟件發(fā)出的下載命令中,波特率為9 600 bps時數(shù)據(jù)流為連續(xù)的0x80。由于在單片機正常工作時也有可能接收0x80,下載系統(tǒng)只有嚴(yán)格檢測到連續(xù)多個0x80時,才能判斷為接收到了下載命令。如果其中有一個不是0x80,則重新檢測計數(shù)。這里設(shè)定為當(dāng)系統(tǒng)連續(xù)接收到200個0x80時,判定為接收到了下載命令。
3.3 冷啟動操作和指示燈程序
接收到下載命令后,首先關(guān)閉定時器中斷,停止模擬串口的接收工作。之后將P3.4置1,切斷目標(biāo)單片機的電源。延遲1~2 s后置0,恢復(fù)對目標(biāo)單片機的供電。考慮到STC上位機下載軟件從發(fā)送下載命令到單片機開始下載大約需要1~2 s的時間,恢復(fù)供電后需要繼續(xù)延遲5 s,保證目標(biāo)單片機已經(jīng)開始下載后再啟動定時器中斷。
STC單片機接收到下載命令后,必須作出回應(yīng)才能進行下載。上位機發(fā)出的下載信號同時發(fā)送到目標(biāo)單片機和下載系統(tǒng),自動下載系統(tǒng)中的單片機的P3.1腳懸空,而目標(biāo)單片機的P3.1與上位機串口相連。這樣,只有目標(biāo)單片機能夠回應(yīng)下載命令實現(xiàn)下載,自動下載系統(tǒng)中的單片機不能回應(yīng)下載命令,避免了對上位機的干擾。

結(jié)語
本文針對STC單片機冷啟動下載的特點,了STC單片機自動下載系統(tǒng),自動判斷下載命令并對目標(biāo)單片機實現(xiàn)自動冷啟動下載。由于自動下載系統(tǒng)是以為核心,在使用前仍然需要以傳統(tǒng)冷啟動方式將代碼下載到STC15F104E中,之后才可以對目標(biāo)單片機實現(xiàn)自動下載。STC單片機自動下載系統(tǒng)省去了操作人員手動開關(guān)電源的不便,避免了相應(yīng)的機械損耗,具有較高的實用價值。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉