日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 單片機(jī)學(xué)習(xí) > 單片機(jī)教程 > avr單片機(jī)教程,讓你快速學(xué)avr單片機(jī)

avr單片機(jī)教程,讓你快速學(xué)avr單片機(jī) 時間:2018-08-29      來源:未知

嵌入式可以說是IT領(lǐng)域發(fā)展最快的技術(shù)之一了,嵌入式包括的很廣,有什么軟件啦,有什么硬件啦,還有今天我們要了解的單片機(jī),很多人都在問單片機(jī)應(yīng)該怎么樣學(xué)習(xí)啊,尤其是avr單片機(jī)呢,其實(shí)avr單片機(jī)學(xué)習(xí)還是比較容易的,只要你掌握好下面的方法,你就不會迷茫而無所得了。

首先要知道,avr單片機(jī)是什么?不然不了解這個,那接下來的學(xué)習(xí)也是白瞎,AVR單片機(jī)是1997年由ATMEL公司研發(fā)出的增強(qiáng)型內(nèi)置Flash的RISC(Reduced Instruction Set CPU) 精簡指令集高速8位單片機(jī)。可以廣泛應(yīng)用于計算機(jī)外部設(shè)備、工業(yè)實(shí)時控制、儀器儀表、通訊設(shè)備、家用電器等各個領(lǐng)域。

學(xué)習(xí)avr單片機(jī)那你就需要知道avr單片機(jī)的特點(diǎn)有哪些:

1、131條機(jī)器指令,且大多數(shù)指令的執(zhí)行時間為單個系統(tǒng)時鐘周期;

2、32個8位通用工作寄存器;

3、工作在16MHz時具有16MIPS的性能;

4、配備只需要2個時鐘周期的硬件乘法器。

avr單片機(jī)是我們很常用的,你知道是為什么嗎?所以這又是一個學(xué)習(xí)的點(diǎn),你要了解avr單片機(jī)的優(yōu)點(diǎn)有哪些:

1、程序存儲器為價格低廉、可擦寫1萬次以上、指令長度單元為16位(字)的FlashROM(即程序存儲器寬度為16位,按8位字節(jié)計算時應(yīng)乘2)。而數(shù)據(jù)存貯器為8位。因此AVR還是屬于8位單片機(jī)。

2、采用CMOS技術(shù)和RISC架構(gòu),實(shí)現(xiàn)高速(50ns)、低功耗(μA)、具有SLEEP(休眠)功能。AVR的一條指令執(zhí)行速度可達(dá)50ns(20MHz),而耗電則在1uA~2.5mA間。AVR采用Harvard結(jié)構(gòu),以及一級流水線的預(yù)取指令功能,即對程序的讀取和數(shù)據(jù)的操作使用不同的數(shù)據(jù)總線,因此,當(dāng)執(zhí)行某一指令時,下一指令被預(yù)先從程序存儲器中取出,這使得指令可以在每一個時鐘周期內(nèi)被執(zhí)行。

3、工業(yè)級產(chǎn)品。具有大電流10~20mA(輸出電流)或40mA(吸電流)的特點(diǎn),可直接驅(qū)動LED、SSR或繼電器。有看門狗定時器(WDT)安全保護(hù),可防止程序走飛,提高產(chǎn)品的抗干擾能力。

4、通用數(shù)字I/O口的輸入輸出特性與PIC的HI/LOW輸出及三態(tài)高阻抗HI-Z輸入類同,同時可設(shè)定類同與8051結(jié)構(gòu)內(nèi)部有上拉電阻的輸入端功能,便于作為各種應(yīng)用特性所需(多功能I/O口),AVR的I/O口是真正的I/O口,能正確反映I/O口的輸入/輸出的真實(shí)情況。

5、像8051一樣,有多個固定中斷向量入口地址,可快速響應(yīng)中斷,而不是像PIC一樣所有中斷都在同一向量地址,需要以程序判別后才可響應(yīng),這會浪費(fèi)且失去控制時機(jī)的最隹機(jī)會。

學(xué)avr單片機(jī)當(dāng)然少不了的就是要勤于動手,多做例子,在這里就給你舉了例子來學(xué)習(xí)更透徹,慢慢練習(xí),對學(xué)avr單片機(jī)還是很不錯的。

系統(tǒng)時鐘:

ATmega16的片內(nèi)含有4種頻率(1/2/4/8M)的RC振蕩源,可直接作為系統(tǒng)的工作時鐘使用。同時片內(nèi)還設(shè)有一個由反向放大器所構(gòu)成的OSC(Oscillator)振蕩電路,外圍引腳XTAL1和XTAL2分別為OSC振蕩電路的輸入端和輸出端,用于外接石英晶體等,構(gòu)成高精度的或其它標(biāo)稱頻率的系統(tǒng)時鐘系統(tǒng)。

為ATmega16提供系統(tǒng)時鐘源時,有三種主要的選擇:(1)直接使用片內(nèi)的1/2/4/8M的RC振蕩源;(2)在引腳XTAL1和XTAL2上外接由石英晶體和電容組成的諧振回路,配合片內(nèi)的OSC(Oscillator)振蕩電路構(gòu)成的振蕩源;(3)直接使用外部的時鐘源輸出的脈沖信號。方式2和方式3的電路連接見圖2-6(a)和2-6(b)。

 

 

內(nèi)部看門狗:

在AVR片內(nèi)還集成了一個1MHz獨(dú)立的時鐘電路,它僅供片內(nèi)的看門狗定時器(WDT)使用。因此,AVR片內(nèi)的WDT是獨(dú)立硬件形式的看門狗,使用AVR可以省掉外部的WDT芯片。使用WDT可以有效的提高系統(tǒng)的可靠行。

avr單片機(jī)的工作流程:

AVR CPU的工作是由系統(tǒng)時鐘直接驅(qū)動的,在片內(nèi)不再進(jìn)行分頻。圖2-7所示為Harvard結(jié)構(gòu)和快速訪問寄存器組的并行指令存取和指令執(zhí)行時序。CPU在啟動后第一個時鐘周期T1取出第一條指令,在T2周期便執(zhí)行取出的指令,并同時又取出第二條指令,依次進(jìn)行。這種基于流水線形式的取指方式,使AVR可以以非常高的速度執(zhí)行指令,獲得高達(dá)1MIPS/MHz的效率。

存儲器:

所有的I/O寄存器可以通過IN(I/O口輸入)和OUT(輸出到I/O口)指令訪問,這些指令是在32個通用寄存器與I/O寄存器空間之間傳輸交換數(shù)據(jù),指令周期為1個時鐘周期。此外,I/O寄存器地址范圍在$00-$1F之間的寄存器(前32個)還可通過指令實(shí)現(xiàn)bit位操作和bit位判斷跳轉(zhuǎn)。SBI(I/O寄存器中指定位置1)和CBI(I/O寄存器中指定位清零)指令可直接對I/O寄存器中的每一位進(jìn)行位操作。使用SBIS(I/O寄存器中指定位為1跳行)和SBIC(I/O寄存器中指定位為0跳行)指令能夠?qū)@些I/O寄存器中的每一位的值進(jìn)行檢驗判斷,實(shí)現(xiàn)跳過一條指令執(zhí)行下一條指令的跳轉(zhuǎn)。

 

 

在I/O寄存器專用指令I(lǐng)N、OUT、SBI、CBI、SBIS和SBIC中使用I/O寄存器地址$OO~$3F。

當(dāng)以SRAM方式尋址I/0寄存器時,必須將該其地址加上$0020,映射成在數(shù)據(jù)存儲器空間的地址。

兩個重要的寄存器:狀態(tài)寄存器SREG和堆棧指針寄存器SP

堆棧是數(shù)據(jù)結(jié)構(gòu)中所使用的專用名詞,它是由一塊連續(xù)的SRAM空間和一個堆棧指針寄存器組成,主要應(yīng)用于快速便捷的保存臨時數(shù)據(jù)、局部變量和中斷調(diào)用或子程序調(diào)用的返回地址。堆棧在系統(tǒng)程序的設(shè)計和運(yùn)行中起者非常重要的作用,只要程序中使用了中斷和子程序調(diào)用,就必須正確的設(shè)置堆棧指針寄存器SP,在SRAM空間建立堆棧區(qū)。

處在I/O地址空間的$3E($005E)和$3D($005D)的兩個8位寄存器構(gòu)成了AVR單片機(jī)的16位堆棧指針寄存器SP。AVR單片機(jī)復(fù)位后堆棧寄存器的初始值為SPH=$00、SPL=$00,因此建議用戶程序必須首先對堆棧指針寄存器SP進(jìn)行初始化設(shè)置。

AVR的堆棧區(qū)是建立在SRAM空間的,16位的SP寄存器可以尋址的空間為64K。

由于AVR的堆棧是向下增長的,即新數(shù)據(jù)進(jìn)入堆棧時棧頂指針的數(shù)據(jù)將減小(注意:這里與51不同,51的堆棧是向上增長的,即進(jìn)棧操作時棧頂指針的數(shù)據(jù)將增加),所以盡管原則上堆棧可以在SRAM的任何區(qū)域中,但通常初始化時將SP的指針設(shè)在SRAM最高處。

對于具體的ATmega16芯片,堆棧指針必須指向高于$0060的SRAM 地址空間,因為低于$0060的區(qū)域為寄存器空間。ATmega16片內(nèi)集成有1K的SRAM,不支持外部擴(kuò)展SRAM,所以堆棧指針寄存器SP的初始值應(yīng)設(shè)在SRAM的最高端:$045F處。

根據(jù)上面所講述,AVR的SP堆棧指針寄存器指示了在數(shù)據(jù)SRAM中堆棧區(qū)域的棧頂?shù)刂罚恍┡R時數(shù)據(jù)、局部變量,以及子程序返回地址和中斷返回地址將被放置在堆棧區(qū)域中。在數(shù)據(jù)SRAM中,該堆棧空間的頂部地址必須在系統(tǒng)程序初始化時由初始化程序定義和設(shè)置。

當(dāng)執(zhí)行PUSH指令,一個字節(jié)的數(shù)據(jù)被壓入堆棧,堆棧指針(SP中的數(shù)據(jù))將自動減1;當(dāng)執(zhí)行子程序調(diào)用指令CALL或CPU響應(yīng)中斷時,硬件會自動把返回地址(16位數(shù)據(jù))壓入堆棧中,同時將堆棧指針自動減2。反之,當(dāng)執(zhí)行POP指令,從堆棧頂部彈出一個字節(jié)的數(shù)據(jù),堆棧指針將自動加1;當(dāng)執(zhí)行從子程序RET返回或從中斷RETI返回指令時,返回地址將從堆棧頂部彈出,堆棧指針自動加2。

從了解avr單片機(jī)到用例子來練習(xí)avr單片機(jī),這樣循序漸進(jìn)的來學(xué)習(xí),對學(xué)avr單片機(jī)是一個很不錯的方法,不要覺得很難,你掌握了不就不難了嗎,這些方法你都了解了嗎,尤其是這個例子,對學(xué)習(xí)avr單片機(jī)還是很有用的,記得勤加練習(xí)哦。

相關(guān)推薦:單片機(jī)學(xué)習(xí)

上一篇:單片機(jī)如何實(shí)現(xiàn)短距離的無線數(shù)據(jù)傳輸

下一篇:單片機(jī)是什么意思

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗分享
熱點(diǎn)新聞推薦
前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部

主站蜘蛛池模板: 天地争霸美猴王在线观看| 忍者神龟 电影| 青春无季演员表| 谭凯琪| 太太的情人电影| 蚀电影| 妈妈帮儿子打飞机| 航班危机电影| 帕瓦德奥特曼| 滑胎最凶的食物孕早期| 电影白上之黑| 电影百鸟朝凤免费完整版| 日本动漫天使之剑| 蒂塔万提斯全集免费观看| 樱井步| 富含维生素c的水果和蔬菜| 藏身之所| 莫比乌斯电影完整版免费观看| 电影壮志凌云| 全国房价| 我的老婆是鬼王| 瑜伽焰口全集 简体字| 林智妍三部曲电影免费观看| 绿门背后| 荒野求生电影完整版| 苏捷斯卡战役 电影| 安徽农金存款利率2024最新消息 | 迪欧电影网| 白雪公主在线| 男同性恋者| 特种部队电影全集观看| 出轨的女人电影| 洛城僵尸| 炖鲫鱼汤怎么做好喝又营养视频| 大秦帝国第一部免费看| 谍中谍7| 大甜甜| 肢体的诱惑电影| 凤凰资讯台| 潇湘影院| 马子俊|