新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STC單片機專用的自動下載系統

        STC單片機專用的自動下載系統

        作者: 時間:2013-01-19 來源:網絡 收藏

        STC單片機專用的自動下載系統

        對目標單片機進行冷啟動,實現斷電、再上電,可以用三極管作為電子開關實現。必須注意到的是,三極管的最大可通過電流不要小于單片機電路的所需電流。如果三極管僅作為單片機供電的開關,由于STC89系列單片機的正常丁作模式功耗為2~7 mA,90系列三極管通常情況下可以滿足需求。但在某些情況下,單片機的串口上電后會給單片機供電,使單片機各引腳電平處于不確定的狀態,因而必須對目標電路板整體進行冷啟動,三極管必須滿足目標電路板的總電流需求。由于三極管8550的最大可通過電流為1.5 A,可以滿足絕大多數電路的供電需求。所以選擇三極管8550連接到目標單片機STC89C52RC的VCC腳,作為對其冷啟動的開關。

        如圖1所示,D1為指示燈,其亮滅可以通過的P3.3腳控制。在程序中加入相應的語句即可實現燈的亮滅與閃爍,以顯示系統的狀態。

        3 系統軟件設計

        軟件流程如圖2所示。在初始化后,系統循環檢測是否接收到下載信號;經過判斷證實接收到下載信號后,就切斷目標單片機電源;等待適當的時間后,再給目標單片機上電。單片機正常工作期間,系統接收到發往目標單片機串口的非下載命令程序,經自動判斷后不作任何動作。

        3.1 串口模擬程序

        由于沒有串口,因而必須利用定時器模擬串口。其方法是,定義一個常量,根據所需要的波特率對該常量賦值,并將該常量值賦到定時所用的寄存器中。在模擬外部晶振為11.059 2 MHz、波特率為9 600 bps的情況下,設置常量BAUD為0xFE80,并將該常量賦值到TL1、TH1兩個寄存器中,實現定時。每到相應時間觸發定時中斷程序,將外部引腳的狀態讀入并存入預先設定的數組中,完成模擬串口讀入字節的任務。

        3.2 下載命令檢測程序

        在STC上位機軟件發出的下載命令中,波特率為9 600 bps時數據流為連續的0x80。由于在單片機正常工作時也有可能接收0x80,下載系統只有嚴格檢測到連續多個0x80時,才能判斷為接收到了下載命令。如果其中有一個不是0x80,則重新檢測計數。這里設定為當系統連續接收到200個0x80時,判定為接收到了下載命令。

        3.3 冷啟動操作和指示燈程序

        接收到下載命令后,首先關閉定時器中斷,停止模擬串口的接收工作。之后將P3.4置1,切斷目標單片機的電源。延遲1~2 s后置0,恢復對目標單片機的供電。考慮到STC上位機下載軟件從發送下載命令到單片機開始下載大約需要1~2 s的時間,恢復供電后需要繼續延遲5 s,保證目標單片機已經開始下載后再啟動定時器中斷。

        接收到下載命令后,必須作出回應才能進行下載。上位機發出的下載信號同時發送到目標單片機和中的單片機的P3.1腳懸空,而目標單片機的P3.1與上位機串口相連。這樣,只有目標單片機能夠回應下載命令實現下載,自動下載系統中的單片機不能回應下載命令,避免了對上位機的干擾。

        結語

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

        燃氣報警器相關文章:燃氣報警器原理

        上一頁 1 2 下一頁

        關鍵詞: STC單片機 自動下載系統 STC15F104E

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 寿光市| 西盟| 永平县| 绿春县| 乌兰浩特市| 绥化市| 蒙山县| 苍溪县| 柳江县| 南部县| 武隆县| 德江县| 彭泽县| 东丽区| 铜川市| 浙江省| 慈溪市| 江孜县| 芜湖县| 天峻县| 凤阳县| 和硕县| 金山区| 邻水| 马边| 晋州市| 南昌市| 老河口市| 若尔盖县| 深水埗区| 安义县| 许昌市| 安仁县| 凌云县| 周宁县| 宁化县| 偏关县| 合阳县| 西华县| 芦溪县| 天水市|