Hello,大家好,歡迎大家來到LIUSE網(wǎng)絡。 說到單片機大家肯定都不陌生,用來做個小型自動化控制啊,解決個小問題啊,都是非常省事的辦法。 現(xiàn)在市面上流行的諸如80C51系列ARM系列STM32等等實在不少。雖然原理都是差不多,但是在編程環(huán)境上卻有差異。對于只是偶爾玩玩的朋友來講,鄙人不推薦大家去玩(當然如果你果真是從頭開始學,而不是玩玩,那推薦從80C51學起,效果會比較好一些)。 那如何用最低的成本,并且還適合小白寫代碼,去做出一個最小系統(tǒng)呢?那今天我們就來說一下。 考慮到以上因素,我們會選擇arduino平臺(好處太多,創(chuàng)客必備,簡單輕便,更多有點請自行百度)。用的單片機呢型號是ATmega8A-PU,編程IED為arduino1.0接下來我們開始進行裝箱。 硬件準備:
硬件接線:先來放一張ATmega8A-PU的引腳圖,看一下各個引腳的作用: (ATmega8A-PU示意圖) 接下來我們開始進行接線: 1先做一個震蕩電路,將晶振連接ATM8A-PU的Pin9、Pin10也就是對應上圖的PB6跟PB7,然后在此的基礎上Pin9跟Pin10分別連接一個22pF的電容,最后引出一條線接地。請看下圖: (震蕩電路接線) 2進行系統(tǒng)的下載與供電,將ICSP的D11/D12/D13分解接單片機的Pin17/Pin18/Pin19 5V接Pin7(VCC) GND接Pin22(GND)rest接Pin1。請看下圖: (ICSP示意圖) (總電路原理圖)
連接好線之后大概就是下圖的樣子啦(鄙人目前在老家,沒辦法上自己的實物圖,先從網(wǎng)上找一張吧) (實物接線圖) 編譯下載程序:以上的硬件環(huán)境搭建好之后,我們就開始來進行燒錄了。 打開我們的arduino IDE編寫環(huán)境,這里我們測試LED燈閃爍所以直接打開官方給我們提供的示例就行(文件->示例->Basics->Blink) (Blink示例) 然后找到文件->參數(shù)設置(首選項)輸出顯示詳細信息打勾(后面有用到路徑) 然后找到工具-選擇開發(fā)板-選擇ATmega8_8MHz這個板子(注意,IDE一定要用1.x的不然有些版本是找不到的) (選擇板卡) 然后點擊左上角的“√”按鈕開始進行編譯。編譯完成之后,IDE會生成一個HEX文件,并且會輸出HEX文件所在的路徑,你可以復制出來找到它。 (hex文件路徑) 燒寫上傳:做完上面的工作后,我們開始上傳到我們的最小系統(tǒng)。在上傳之前,我們還需要做一些準備工作,這包括配置一下文件、安裝USBasp驅(qū)動、做一下熔絲位等。 1.打開arduino的boards.txt這個文件做一下改動(路徑為arduino安裝路徑]\hardware\arduino\avr\boards.txt) 注:有的版本沒有avr這個文件夾 boards.txt直接在arduino下 在最后一行加入下面的代碼:
2.我們將剛才編譯生成的兩個文件復制到arduino根路徑\hardware\arduino\avr\bootloaders\optiboot文件夾下。 3.安裝USBasp驅(qū)動(這個沒啥可說的驅(qū)動隨便搜一下就OK)安裝完計算機管理里面的串口里面會有顯示 (驅(qū)動安裝完成) 4.打開客服給我們提供的燒寫軟件(推薦用智峰的progisp1.72,隨便百度一下都可以下載)選擇我們要燒錄芯片的型號(ATmega8A) (對應我們芯片型號) 然后確認選擇是否正確,正確的話右邊的PRG會點亮。 (配置正確) 然后點右下角的...按鈕進入熔絲位設置。然后點三個'讀出'按鈕,可讀出當前芯片的熔絲設置,點擊'向?qū)Х绞?,彈出向?qū)υ捒颉?/p> 之后,點向?qū)Х绞絹碓O置熔絲向?qū)В赏ㄟ^直接勾選選項來設置熔絲,其它選項我們先不做說明,先看看晶振相關的選項,我們可以看到芯片默認是使用'內(nèi)部RC振蕩器(1MHz)',現(xiàn)在我們要用外部8M的晶振,我們可以選倒數(shù)第三個選項。點寫入。 (繼續(xù)寫入) |
|