一、基礎(chǔ)篇
單片機(jī)的基本要素
-
CPU核(如:51核 AVR核 M430核) -
ROM(READ ONLY Memory 繞母) -
RAM(random access Memory 隨機(jī)訪(fǎng)問(wèn)寄存器 ) -
片上外設(shè) -
總線(xiàn)
CPU核:相當(dāng)于電腦的CPU吧、就是執(zhí)行從ROM中取指令。這東西有幾個(gè)指標(biāo)非常重要
一、主頻(如51核是2MHZ晶振12分頻過(guò)來(lái)就是2MHZ、AVR 是20MHZ(快達(dá)到DSP水平了)MSP430F1系列的是8MHZ)
二、指令集
三、字長(zhǎng) (就是一次能處理二進(jìn)制數(shù)據(jù)的位數(shù)
ROM:相當(dāng)于電腦的硬盤(pán)、存儲(chǔ)程序用的指標(biāo)就是容量
一、容量
二、高級(jí)指標(biāo) 、自編能力(就是程序在運(yùn)行中可以自己擦出flash然后更改flash中的內(nèi)容的能力一般我們用不到)
如:51(不具備自編能力)-->8KB
RAM:數(shù)據(jù)存儲(chǔ)器、相當(dāng)于計(jì)算機(jī)的內(nèi)存、ROM中的程序在運(yùn)行時(shí)快速的存取數(shù)據(jù)、目前大多數(shù)單
一、容量
主要是程序運(yùn)行時(shí)調(diào)用一些變量啊調(diào)用一些數(shù)組等都是存在RAM中的。
片上外設(shè):相當(dāng)于電腦的接口,鼠標(biāo)接口、顯示器接口等
如:一下三種價(jià)格10元左右的單片機(jī)
總線(xiàn):用于以上四部分之間的傳輸數(shù)據(jù)的通道、相當(dāng)于硬盤(pán)的IDE線(xiàn)、光驅(qū)線(xiàn)等。
單片機(jī)能做什么?
單片機(jī)無(wú)所不能!
所謂的“微電腦控制控制”的核心就是單片機(jī)(微電腦控制比較時(shí)髦的)
覆蓋工業(yè)生產(chǎn)、日常生活、軍事設(shè)備、科研儀表儀器等所有智能化的應(yīng)用場(chǎng)合
例如:智能洗衣機(jī)(一般洗衣機(jī)不能完成的功能)
定時(shí)完成洗衣脫水功能。
可以判斷衣服的干凈程度。
實(shí)現(xiàn)洗凈既停的功能。
蒸汽熨燙的功能。
刷卡投幣洗衣
更加智能LG公司的"IPAD"洗衣機(jī)一邊洗衣一邊聽(tīng)歌。
例如:(LED顯示屏)
LED發(fā)光二極管構(gòu)成顯示屏的像素點(diǎn)
單片機(jī)負(fù)責(zé)逐點(diǎn)火逐行掃描,并與電腦通信獲取圖片信息。
例如:(PH/ORP儀表)
用于環(huán)境監(jiān)測(cè)、工礦企業(yè)、科學(xué)研究、水產(chǎn)養(yǎng)殖等場(chǎng)合的PH值的測(cè)定
讀取PH傳感器的模擬信號(hào)、內(nèi)部處理后顯示在LCD上。(其實(shí)就是讀取液體的PH值)
還有很多數(shù)碼產(chǎn)品。。。
還有智能小車(chē)(我上大學(xué)時(shí)就做過(guò)這樣一個(gè)東西呵呵用ATMEGA8)
一、巡線(xiàn)
二、避障
三、電視機(jī)遙控器遙控(接受各個(gè)遙控器的鍵碼)
四、LCD顯示
----------------------------------------------------------------------------------
二、單片機(jī)的開(kāi)發(fā)工具
- 編程器(燒寫(xiě)器):將編譯出來(lái)的目標(biāo)代碼固化到單片機(jī)的ROM內(nèi)。(老的把單片機(jī)插到編程器上)
- 下載線(xiàn):作用與編程器相同(ISP 通過(guò)一條下載線(xiàn)4根線(xiàn)和單片機(jī)通信就可以把代碼下載到單片機(jī)、好處不需要把單片機(jī)從電路板拔下來(lái))
- 仿真器:對(duì)單片機(jī)的程序進(jìn)行單步調(diào)試、設(shè)置斷點(diǎn)等,便于查找程序中的錯(cuò)誤。其中JTAG仿真器可以在線(xiàn)仿真調(diào)試(它也分為2種一種是傳統(tǒng)的需要把單片機(jī)拔下來(lái)然后把仿真器的仿真頭插到板子上、通過(guò)后再把代碼固化到單片機(jī)中然后把單片機(jī)放回板子上、最近新型的JTAG仿真器是屬于在線(xiàn)仿真左邊的、你只需要把單片機(jī)插到板子上把JTAG跟單片機(jī)相連接就可以進(jìn)行仿真與調(diào)試同事JTAG也具有把代碼固化到單片機(jī)中的能力、所以有仿真器的話(huà)下載線(xiàn)基本可以省了。)
- 軟件開(kāi)發(fā)環(huán)境
- 硬件開(kāi)發(fā)環(huán)境
AVR單片機(jī)簡(jiǎn)介
AVR單片機(jī)的性?xún)r(jià)比遠(yuǎn)高于51單片機(jī)
一、高速 、RISC、主頻最高可達(dá)20MHZ(首先主頻就快10倍 RISC又?jǐn)U大好幾倍。)
二、低功耗、寬電壓(1.8V---5.5V)。最低全速運(yùn)行功耗<300uA
三、I/O驅(qū)動(dòng)能力強(qiáng)、推拉電流能力均達(dá)30mA ,可以直接驅(qū)動(dòng)繼電器、蜂鳴器等。
四、片內(nèi)資源豐富:外部中斷、定時(shí)器/計(jì)數(shù)器、UART、SPI、IIC、ADC、模擬比較器。
五、型號(hào)齊全、而且40腳以下的AVR均具有DIP封裝形式。(8腳到100腳需要的領(lǐng)域基本都有
ATMEGA系列中的ATmega16 應(yīng)該算是我們用的最多一款因?yàn)楹芏嗳硕际怯盟鼘W(xué)習(xí)AVR單片機(jī)學(xué)習(xí)的入門(mén)。
上圖三個(gè)是官方提供的開(kāi)發(fā)工具
選擇AVR開(kāi)發(fā)有一下幾個(gè)優(yōu)點(diǎn)
1、最小系統(tǒng)容易實(shí)現(xiàn)設(shè)計(jì)容易、只需要連接電源 焊接晶振就可以工作(當(dāng)然如果對(duì)時(shí)鐘要求不是很?chē)?yán)格的話(huà)
2、很多概念符合初學(xué)者的思路、理解起來(lái)更容易:例如AVR時(shí)鐘源(晶振、內(nèi)部RC等)不經(jīng)過(guò)分頻直接提供
3、AVR即具有簡(jiǎn)單的、可以自制的ISP下載線(xiàn)和Jtage仿真器,又有DIP直插的封裝形式。(51占用一個(gè)串口,
4、AVR的C語(yǔ)言編程與C語(yǔ)言教科書(shū)上的標(biāo)準(zhǔn)C語(yǔ)言語(yǔ)法是幾乎一樣的,不像51的C語(yǔ)言,一些bit srf 之類(lèi)的變
實(shí)際例子:
電路圖可以看到8個(gè)發(fā)光二極管可以進(jìn)行閃爍和顯示二進(jìn)制顯示等。
的AGND/AVCC/AREF這三個(gè)腳是你用到片內(nèi)模/數(shù)轉(zhuǎn)換 ADC或模擬比較器的時(shí)候需要把這三個(gè)腳接上電源,如果正常用不到可以懸空就可以了。還有RESET可以懸空。Hander6 是一個(gè)簡(jiǎn)易的下載線(xiàn)的接口 MOSI ,
下面是如何用萬(wàn)用板焊接和編譯程序:
這個(gè)下載線(xiàn)電路還是比較簡(jiǎn)單的,只需要一片 74HC244(也可以直接跟并口相連,用244的原因是因?yàn)榉乐篃龎牟⒖谒越恿艘粋(gè)緩沖器,其實(shí)就是用并口模擬的時(shí)序ISP)
下面我們編譯一個(gè)測(cè)試代碼:(打開(kāi)AVR studio下圖)
第一項(xiàng): ADORD
第二項(xiàng):AVR GCC
最下面的location 這個(gè)是路徑
點(diǎn)擊:finish
下面的這步是選擇仿真調(diào)試的工具和將要開(kāi)發(fā)的單片機(jī)的型號(hào):如下圖
調(diào)試工具由于我們小板上沒(méi)有喊JATG ICE接口 如果焊了我們可以選JTAG ICE 選項(xiàng)會(huì)如下圖:
因?yàn)闆](méi)有焊,我們直接下載到單片機(jī)運(yùn)行驗(yàn)證。所以我們不選 JTAG ICE 選AVR Standlitor 意思就是軟件仿真不用仿真器 然后右邊選AT mega 16
點(diǎn)擊:finish
#include
int main (void ){ //avr GCC的語(yǔ)法呢
//由于發(fā)光二極管陽(yáng)極是接在PD口上 屬于PD口輸出型的所以要把整個(gè)PD口都置為輸出
//PD端口方向寄存器 叫做
DDRD =0XFF;//0到7
}
//然后點(diǎn)擊編譯 如下圖
然后用 MuCode ISP
可以看到:如下圖所表現(xiàn)
下面加一些動(dòng)態(tài)效果能夠讓燈閃爍起來(lái) 無(wú)非是讓產(chǎn)生兩種狀態(tài)
#include
int main (void ){ //avr GCC的語(yǔ)法呢
DDRD =0XFF;//方向寄存器
}
編譯驗(yàn)證下:
可以看到mucode isp 自動(dòng)就下載進(jìn)去了。 因?yàn)橛袀(gè)選項(xiàng)是下圖
這個(gè)勾上后就沒(méi)當(dāng)這個(gè)文件更新之后就自動(dòng)下載到單片機(jī)里了。下面可以看到現(xiàn)象每隔1秒閃爍一次
由此說(shuō)明我們的程序是成功的。今天到此結(jié)束。
最后送大家一句話(huà):