如何用編程器將程序寫到單片機裡?看完你會絕對一點都不難

2020-09-19 天涯孤星

編譯過的的單片機程序經編譯、仿真和調試完成後,如果確定沒有問題,就可以用編程器將程序寫入單片機。

1.編程器

編程器的主要功能有兩個:一是擦除單片機中的程序,二是向單片機中寫入程序。不同類型的單片機一般需要不同的編程器,也有些編程器可以擦寫多種類型的單片機,但其價格較貴。

這個就是SP-51pro編程器,它主要用於擦寫MCS-51系列單片機,支持的類型有最為經典和市場佔有量最大的 Atmel 公司 51 系列 AT89C51、AT89C52、AT89C55、AT89C1051、AT89C2051、AT89C4051、AT89S51、AT89S52、AT89LV52、AT87F51等單片機和某公司的W78E51、W78E52單片機及串行存儲晶片AT24C02等。購買編程器時,可以查看該編程器附帶的說明書,以了解它是否支持自己所使用的單片機。

2.用編程器擦寫單片機程序

用編程器擦寫單片機程序,首先要將編程器與計算機連接起來,再在編程器的插座中插入要擦寫的單片機,然後啟動編程軟體,在軟體中對單片機進行擦寫操作。

(1)連接編程器


在連接編程器時,先將編程器的COM接口(用作數據通信)與計算機的COM接口連接好,然後將要擦寫的單片機安插在編程器相應的插座中,再用一根USB線將編程器的USB接口與計算機的USB接口連接起來,讓計算機通過這根USB線向編程器提供+5V的工作電壓。

(2)擦寫單片機

欲使編程器能夠擦寫單片機中的程序,需要相配套的軟體,購買編程器時會附帶這種軟體。在計算機中安裝該軟體後,再啟動它,啟動後的 SP-51pro 編程器軟體窗口

軟體啟動後會自動檢測連接計算機 COM 接口的編程器,檢測到編程器後,在軟體窗口右邊的窗口中會顯示「編程器:就緒」字樣。如果檢測失敗,可單擊軟體窗口下方的「設置」項進行設置。

啟動編程軟體並檢測到編程器後,再在軟體窗口左上角的下拉列表框中選擇要擦寫的單片機型號。若想擦除單片機中的程序,可單擊窗口左側的「(自動)擦除器件」項,即可將單片機中的程序擦除。在向有程序的單片機中寫新程序時,要先擦除其中的舊程序。

如果要將程序寫入單片機,可單擊窗口左側的「(自動)打開文件」項,在彈出的對話框中選擇要寫入單片機的程序文件「test1.hex」,再單擊「打開」按鈕,軟體窗口右側的窗口中會出現「讀入文件……」字樣,


在對話框中選擇要寫入單片機的程序文件

單擊「(自動)寫器件」項開始將程序寫入單片機

單擊側的「(自動)寫器件」項,編程器開始將test1.hex文件中的內容寫入單片機,程序完全寫入單片機後,在軟體窗口左下方的進度條上會出現「寫器件完成」字樣,如圖

程序寫入單片機後,將單片機從編程器插座上取下,再將它安裝在實驗板的單片機插座上,給實驗板通電,單片機工作,內部的程序開始運行,通過 I/O 接口控制外圍電路工作,從而實現預定的控制功能。是不是一點都不複雜,只是要有點耐心!

相關焦點

  • 單片機ISP編程器使用
    在Keil集成開發環境中完成了工程建立、源程序輸入、源程序編譯等工作後,得到了.HEX目標文件。單片機ISP編程器就是用來把這個hex文件燒寫到單片機裡去的工具,這樣我們的程序才會被執行。簡單介紹一下我們使用的ISP編程器,什麼是在系統編程技術呢?
  • 各種單片機編程器介紹
    您的編程器將永遠是最新的。3、提供聯機操作模式和脫機操作模式,既適用於開發、試驗、教學,又適用於小批量量產,無須總是開電腦。4、觸摸鍵控制,你可以不用點擊滑鼠,使操作更為方便。觸摸鍵經久耐用,永不損毀。5、針腳接觸檢測準確無誤。遇接觸不良或插放錯誤,及時中止操作進程。6、操作結果三重指示:軟體界面顯示、指示燈顯示、可選擇的蜂鳴指示。
  • 單片機程序怎麼燒寫?各種單片機程序燒寫方法,快來看看吧!
    單片機學習、使用非常重要的一個步驟就是把寫好的程序燒寫到單片機裡,好多初學者,好不容易才寫好一個程序,馬上想讓他跑起來,但是如何燒寫程序確犯難了!我把單片機常用的燒寫方法做了一下歸納,希望能夠幫到大家!
  • 自製AT89S51編程器
    並口引腳1控制P1.7,引腳14控制P1.5,引腳15讀P1.6,引腳16控制RST,引腳17接74373 LE(鎖存允許),18-25這些引腳都可以接地。建議在你的單片機系統板上做個6芯的接口。注意:被燒寫的單片機一定是最小系統(單片機已經接好電源,晶振,可以運行),VCC,GND是給74373提供電源的。
  • STC單片機程序燒錄與ISP下載相關知識
    說點題外話,為了感覺「專業」一點,以後不要再說給單片機「裝程序」了,專業點的說法應該是燒寫程序,或者下載程序。讀者很可能會好奇為什麼叫燒寫程序呢?難道下載程序的時候,要用火烤一烤單片機嗎?當然不是。這個就像馬路為什麼叫馬路一樣,是有來歷的,想知道具體原因,還是等大家學習了單片機,了解早期ROM的工作原理再去深究吧。  回歸正題,不同的單片機燒寫程序的方式是不一樣的。
  • 如何給Atmega328P單片機燒錄Arduino引導程序
    用USBISP/USBasp編程器給Atmega328P下載Arduino bootloader引導程序bootloader引導程序是什麼Arduino UNO引導程序下載接口有些單片機出廠時晶片廠商已經燒錄好了引導程序,例如串口方式下載的引導程序。單片機復位或重新上電時先從引導程序執行代碼檢測是否有其他命令需要執行,再跳轉到用戶程序代碼執行。
  • 單片機程序加解密方法和注意事項
    為了防止未經授訪問或拷貝單片機的機內程序,大部分單片機都帶有加密鎖定位或者加密字節,以保護片內程序。如果在編程時加密鎖定位被使能(鎖定),就無法用普通編程器直接讀取單片機內的程序,這就叫單片機加密。單片機程序基本上都存在於Flash中,大部分能夠讀取或者識別Flash上的數據就能夠獲得Firmware文件,從而給複製產品帶來了機會。
  • 單片機簡介
    在電路中「地」並不是通常意義中的地,而是指電路中的一點,這一點的電壓被人為地規定為 0V。MCS-51 單片機簡介目前生產單片機產品的公司非常多, 當中較有影響力的有 intel 公司推出的 MCS-51 系列等。很多公司的產品都是與 MCS-51 架構兼容(MCS-51 compatible)的。
  • 51單片機指令快速記憶方法總結
    你應該購置相關單片機的晶片、編程器、實驗板,以及開發他的相關軟體。並以邊看書邊實驗的方式進行學習其效果將明顯好的多!由於初學,不可能購置很多昂貴的設備,建議學習用的單片機晶片其程序儲存器是可以反覆可擦寫的,如AT89C系列或AVR系列。這樣,在學習燒寫時是無後顧之憂的。現在來談談單片機開發的步驟。
  • 初學者關於單片機的幾個最關心的問題
    一.學單片機需要多少錢?這是一個很多想學單片機的人都比較關心的問題,大部分過來人的介紹,硬體部分的要求一般是這樣的:1,要有一臺電腦,現在市面上買的電腦都可以。2,要有一個編程器,用來把編譯好的程序寫入單片機的ROM裡面,把寫好後的晶片插到試驗板上面進行試驗。
  • 學習單片機1-單片機-電子工程世界網
    二、單片機內部結構分析:  為了知道延時程序是如何工作的,我們必需首先了解延時程序中出現的一些符號,就從R1開始,R1被稱之為工作寄存器。什麼是工作寄存器呢?讓我們從現實生活中來找找答案。如果出一道數學題:123+567,讓你回答結果是多少,你會馬上答出是690,再看下面一道題:123+567+562,要讓你要上回答,就不這麼容易了吧?我們會怎樣做呢?
  • STM32F10x在OTP MCU編程器中的應用
    OTP單片機因其價格低廉、性能成熟在許多小家電中得以廣泛應用。硬體編程器通常是其開發過程中必不可少的設備。本案是用於該類單片機的硬體編程器,可對該類單片機實現聯機編程和脫機編程;還可以測試該類單片機的工作頻率、工作電壓等多項參數,一機多用。
  • 單片機三種燒錄方式ISP、IAP和ICP有什麼不同?
    玩單片機的都應該聽說過這幾個詞。一直搞不太清楚他們之間的區別。今天查了資料後總結整理如下。ISP和IAP很相似,都是不需要把晶片從板子上拔出來,就達到了用PC-MCU的編程接口(JTAG、串口、雙絞線、SPI等)搞定新版本的升級的目的。
  • 單片機延時程序圖解分析
    我們已經知道,程序中的符號R7、R6是代表了一個個的RAM單元,是用來放一些數據的,下面我們再來看一下其它符號的含義。〈單片機延時程序〉 MOV:這是一條指令,意思是傳遞數據。
  • 單片機延時程序解析
    (轉去執行MOV R6,#250,同時R7中的值減1),最終DJNZ R6,D2這句話將被執行250*250=62500次,執行這麼多次同一條指令幹嗎?就是為了延時。一個問題:如果在R6中放入0,會有什麼樣的結果。
  • 基於proteus的51單片機開發實例30-模塊化程序設計
    我們先從程序結構開始吧。總結在前面的29個例子中的程序,我們會發現:所有的程序都在一個main.c文件中,第一個程序只有不到20行,電腦屏幕上直接能夠從頭看到尾,這個程序看起來非常直觀,所有程序語句都是一目了然的。隨著學習的深入,我們編寫的程序是越來越複雜了,程序的長度是瘋狂地增加。
  • 單片機快速入門實驗:控制LED閃爍發光
    如果說初學計算機編程,最簡單的入門程序是在屏幕上顯示「Hello world!」的話,那麼學習單片機最簡單的入門實驗就是控制發光二極體(LED)閃爍發光。P89LPC900系列單片機是近幾年出現的新一代80C51內核單片機,許多人都想學習,並希望應用到自己的產品設計中。下面我就以控制LED閃爍發光這個最簡單的實驗為例,帶領大家入門。
  • 在8位單片機中使用Google Protobuf
    如對int的定義問題,PC及一些編譯器會把int定義為32位,而在IAR會為16位c. 理解unsigned在C定義一個變量的意思,其實為unsigned int建議在單片機中使用protobuf這個東西時,儘量不要將變量定義成enum或者一些跟int類型相關的,這樣能夠儘可能少地觸發因為8位單片機尋址與32位CPU或晶片尋址的差異。
  • 單片機用Bootloader輕鬆實現程序下載
    本次出了一趟遠差,出差的目的是為了升級程序解決Bug,用戶已經將產品封裝起來,無法開蓋,只能使用CAN總線來更新程序,用Bootloader實現。其實就是通過上位機把.bin/hex文件以CAN通訊的方式發送給單片機並存儲在規定的Flash中。這個過程與手機端更新APP類似。
  • 單片機各大分類與詳解
    學習時要一條語句一條語句的學,學一條活用一條,全部學過用過這些關鍵語句後,相信你的C基礎建立了。當基礎打好以後,你會感覺到單片機不再難學了,而且越學越起勁。當單片機乖乖的依照你的邏輯思維和算法去執行指令,實現預期控制效果的時候,成就感會讓你信心十足、夜以續日、廢寢忘食的投入到單片機的世界裡。可以這麼說,紮實的電子技術基礎和C語言基礎能增強學習單片機信心,較快掌握單片機技術。