發板程序下載
本文檔描述使用宏晶官方下載軟件STC-ISP給艾克姆科技STC8A8K64D4開發板下載程序的方式。
使用STC-ISP軟件只可以下載HEX文件,不可以在線仿真。如需硬件仿真需選用STC帶仿真功能的MCU在Keil軟件上實現,仿真部分是在其他文檔中介紹。
單片機可被下載執行的文件常見有HEX文件和BIN文件,一般HEX文件是我們更常使用的文件,HEX文件可通過Keil軟件編譯生成。
下面介紹下HEX文件和BIN文件的區別。
艾克姆科技提供的開發板配套例程中,都會單獨通過文件夾“HEX文件”的形式把對應實驗的HEX文件提供出來,方便用戶直接下載(不需要再使用Keil軟件打開例程源碼編譯生成HEX文件了),并觀察實驗現象。
舉例,按照路徑“...\第3部分:配套例程源碼 - 基礎實驗程序\實驗2-1-3:流水燈(多個c文件)”打開后,可以看到下圖所示文件,找到HEX文件。
圖1:查找提供的HEX文件
本節以“...\第3部分:配套例程源碼 - 基礎實驗程序\實驗2-1-3:流水燈(多個c文件)”為例,介紹下使用Keil C51生成HEX文件的方法和步驟。
圖2:Keil C51圖標
圖3:Keil C51打開工程文件步驟
圖4:Keil C51打開工程文件
圖5:配置Keil C51選項生成HEX文件
圖6:編譯Keil C51
圖7:找到生成的HEX文件
STC官方針對STC單片機提供了專用的ISP下載軟件,該軟件版本會在官網上不斷更新,STC官網:http://www.stcmcu.com/
開發板配套資料包里面已經下載好了stc-isp-15xx-v6.90D安裝文件,安裝文件的位置在開發板資料包的位于“...\第2部分:開發軟件工具\ 2 - STC-ISP下載軟件”目錄下。
程序燒寫的步驟包括配置STC-ISP軟件參數、打開HEX文件和燒寫,詳細流程如下。
打開STC-ISP軟件,主要設置項目如下圖所示。
圖8:配置STC-ISP軟件參數
開發板使用的單片機型號為STC8A8K64D4或者STC8A8K48D4,所有這里應該選擇STC8A8K64D4或者STC8A8K48D4。
選擇開發板USB轉串口枚舉的COM口,可以在電腦的設備管理器中查看。
這里是選擇單片機內部時鐘使用的,開發板例程是基于24MHz晶振頻率來的,所以選擇24MHz。若選擇使用外部時鐘時,除需軟件配置相關寄存器外,還需焊接合適的外部晶振及負載電容(開發板預留有外部晶振焊盤和2個晶振負載電容焊盤)。
勾選后,單片機P5.4口會作為普通的IO口使用。單片機默認使用片內的復位電路,無需搭建外部復位電路的。而如果去掉該勾選項,單片機P5.4口則被使能為外部復位引腳,此時P5.4口不再是普通IO口,而對開發板再次下載程序就需要使用外部復位電路給P5.4復位引腳復位信號以實現下載。本開發板有外部復位電路,需斷開開發板J26端子的P54與TOUCH短路帽,同時,短接開發板J26端子的P54與RESET短路帽,實現外部復位下載,外部復位按鍵是紅色按鍵S1。
勾選后,每次點擊“下載/編程”按鈕,STC-ISP軟件會重新讀取選定的HEX文件。這一條在開發的過程中一定要勾選,否則,當我們重新編譯程序后,生產的HEX文件內容已經改變,但是下載時仍然下載的是STC-ISP軟件緩存的HEX文件,而不是重新編譯生產的HEX文件。
如下圖所示,點擊“打開程序文件”按鈕,在彈出的窗口中導航到HEX文件目錄,選中HEX文件后打開即可。
圖9:打開待下載的HEX文件
點擊STC-ISP軟件上的“下載/編程”按鈕,點擊后,STC-ISP軟件開始檢測單片機并自動下載程序。下載完成后,信息窗口會提示下載成功與否,如下圖所示。(如果開發板J4端子選擇為了手動下載,我們需要按一下開發板上的下載按鍵S2來啟動下載)
圖10:自動冷啟動下載
圖11:手動冷啟動下載
圖12:開發板下載口選擇
圖13:下載報錯界面,串口打開失敗
圖14:下載報錯界面,缺少目標文件
圖15:下載報錯界面,單片機型號選錯
使用51單片機進行電路設計下載時需要斷一下電才能燒錄進去,這從一些51開發板就能看出來。
一般在項目中不會像開發板那樣有USB接口直接插,然后燒錄測試。
為了解決這個問題測試了一個電路,發現可以解決這個問題,如圖1,圖2。
圖1 未按下按鍵
圖2 按下按鍵
通過三極管控制MOS管電源輸出,通過按下按鍵使三極管基極電壓為零,進而使MOS管關斷,切斷后級電源。通過仿真可以發現功能可實現。
圖3 USB轉TTL電路
USB轉TTL使用了CH340C,接口采用TYPE C 16pin接口,留了一個5V和3.3V的排針及GND。STC8系列功耗很低,這會使USB轉TTL的TX連接MCU的RX時使MCU不能完全斷電,所以按照STC給出的下載電路添加進去即可。5V轉3.3V選用了一款貝嶺的LDO。通過短路冒選擇輸出電壓5V或者3.3V。
圖4 PCB正面
圖5 PCB反面
使用AD設計了一下PCB,如圖4、圖5。
圖6 實物正面
圖7 實物反面
如圖6、圖7是打樣并焊接好后的實物圖。
圖8 選擇程序下載
圖9 按下按鍵
圖10 燒錄成功
如圖8選擇一個程序進行下載,圖9下載成功。
通過這個設計解決了51單片機下載后需要插拔斷電的問題,雖然不是自動下載,但用起來還不賴[呲牙]