天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

淺析Arduino內(nèi)部技術(shù)及合理運(yùn)用開發(fā)

發(fā)布時(shí)間:2017-05-12 20:00

  本文關(guān)鍵詞:Arduino技術(shù)內(nèi)幕,由筆耕文化傳播整理發(fā)布。


  【摘要】Arduino是由一個(gè)基于AVR單片機(jī)具開放源代碼的硬件平臺(tái)和為Arduino板編寫程序的開發(fā)環(huán)境組成。因其具有多平臺(tái)、編程環(huán)境簡(jiǎn)單、軟硬件開源都可擴(kuò)展等諸多優(yōu)點(diǎn)而受到許多非專業(yè)愛好者的喜愛。但在其技術(shù)內(nèi)部有著許多東西可挖掘,以此方可合理運(yùn)用。
  【關(guān)鍵詞】Arduino;AVR;技術(shù)內(nèi)部;合理運(yùn)用
  引言
  Arduino是源于意大利基于AVR單片機(jī)具有開放源碼的硬件平臺(tái)。Arduino也具有類似Java,C語(yǔ)言的集成開發(fā)環(huán)境。他幫助許多愛發(fā)明創(chuàng)造的業(yè)余者和真正的開發(fā)者實(shí)現(xiàn)了自己的想法。具有獨(dú)立性和互動(dòng)性的Arduino可以與PC外圍裝置連接,,也能與PC軟件進(jìn)行溝通,如:Flash,Processing,Max/Msp。與其他大多數(shù)的單片機(jī)系統(tǒng)相比,Arduino還可以在Windous,Macintesh Osx和Linux操作系統(tǒng)上運(yùn)行。當(dāng)然有經(jīng)驗(yàn)的設(shè)計(jì)師可以對(duì)硬件和軟件開源進(jìn)行擴(kuò)展?偟膩(lái)說(shuō)Arduino更適宜非專業(yè)愛好者使用。為了滿足這一類愛好者的求知欲,得對(duì)Arduino的內(nèi)部進(jìn)行深入的了解。
  1.電源
  要將外部電源輸送、穩(wěn)壓和過(guò)濾給Arduino則需要電源電路。電源電路分為外接電源輸入部分和USB電源輸入部分。外接電源輸入部分由二極管、穩(wěn)壓管USB輸入口組成,輸入范圍是從7V到12V。二極管的作用是當(dāng)電源輸入正反極反轉(zhuǎn)時(shí)也不會(huì)燒壞器件。穩(wěn)壓管是將7V到12V的電壓穩(wěn)定為5V。在USB電源輸入電路中由保險(xiǎn)管、電阻非常大的排阻、集成運(yùn)算放大器、PMOS、線性穩(wěn)壓器組成。運(yùn)行時(shí),若電流大于500mA,保險(xiǎn)管會(huì)自動(dòng)斷開保護(hù)電路板。保險(xiǎn)管也具有自我恢復(fù)功能,當(dāng)電壓恢復(fù)到5V的電壓范圍后,保險(xiǎn)管則自動(dòng)恢復(fù)連接,為Arduino提供5V的電壓。而排阻則用來(lái)對(duì)前面的外接電源輸入進(jìn)行分壓。對(duì)于運(yùn)算放大器若輸出為高電平,則PMOS處于截止?fàn)顟B(tài),此時(shí)切斷了USB的供電。若輸出為低電平,則PMOS處于導(dǎo)通狀態(tài),此時(shí)USB對(duì)Arduino供電。線性穩(wěn)壓器則是負(fù)責(zé)將5V的電源轉(zhuǎn)變?yōu)?V電源。(這里主要說(shuō)的是Arduino UNO)
  2.串口
  要實(shí)現(xiàn)PC或其他設(shè)備與Arduino之間的通信則需要使用串口。Arduino的串口USART(即Universal Synchronous/Asynchronous Receiver/Transmitter,通用同步/異步接收器/發(fā)送器)通常與PC的Rs-232端口相連,它以預(yù)設(shè)的速率異步地在一條線上發(fā)送或接受數(shù)據(jù)。當(dāng)串口在異步模式時(shí),不需要一個(gè)分離的時(shí)鐘信號(hào);當(dāng)在同步模式時(shí),則需要一個(gè)專用的信號(hào)表示時(shí)鐘信息。Rs-232與串口相連時(shí),不可直接相連,Rs-232的電壓比較高,容易燒壞Arduino的電路板,需要一個(gè)Rs-232到TTL的適配器。在以往的Arduino中也有個(gè)Rs-232的串口存在。后來(lái)慢慢轉(zhuǎn)變?yōu)榱爽F(xiàn)在流行的更小的USB端口,好處在于在通信的同時(shí)能提供5V的穩(wěn)壓。USB規(guī)范允許一個(gè)已枚舉的設(shè)備(能夠正確向USB主機(jī)申報(bào)自己的設(shè)備,如Arduino I/O電路板)使用5V上最多500mA的電流,而未枚舉的可以用100mA的電流。
  3.處理器
  這里講的主要處理器為ATmega328,其程序儲(chǔ)存為32KB,其余的大多數(shù)處理器只是程序儲(chǔ)存不同而已。在Arduino中為了使用的方便,對(duì)其進(jìn)行了二次封裝。第一次是將AVR CPU、內(nèi)存陣列(有程序Flash,數(shù)據(jù)SRAM,EEPROM)、時(shí)針和外圍設(shè)備(有I/O端口,定時(shí)器/計(jì)數(shù)器,異步串行接口,同步串行接口,兩線串行接口,模數(shù)轉(zhuǎn)換)封裝為ATmega328。第二次是將ALU、一組32個(gè)通用8位寄存器、一個(gè)狀態(tài)寄存器、程序計(jì)數(shù)器、一個(gè)指令譯碼器和與內(nèi)置的內(nèi)存陣列及片內(nèi)外圍設(shè)備的借口封裝為AVR CPU。
  3.1 時(shí)鐘源
  一般的Arduino電路用外部的陶瓷諧振器或石英晶體來(lái)決定其系統(tǒng)時(shí)鐘頻率。在ATmega328中有一個(gè)片內(nèi)振蕩器,它有兩個(gè)模式:低功率模式消耗的功率小,但無(wú)法傳輸?shù)叫酒饷?全幅模式則消耗的功率增大。
  3.2 程序儲(chǔ)存器
  程序儲(chǔ)存器儲(chǔ)存著CPU要執(zhí)行的程序語(yǔ)言指令。AVR中,可編程的16位寬Flash陣列作為程序儲(chǔ)存器。有時(shí)它也被看做ROM,即只讀儲(chǔ)存器,當(dāng)?shù)綦姇r(shí)也不會(huì)丟失數(shù)據(jù)。Arduino中有一小段常駐的固件,叫引導(dǎo)裝載程序,它與PC機(jī)通信,將編譯好的程序從PC送過(guò)來(lái)保存在AVR的程序儲(chǔ)存器中。因此就減少了使用芯片編譯硬件減少了成本。為了跟蹤程序執(zhí)行的位置,則需要寄存器PC。當(dāng)重啟時(shí),PC清除為0,執(zhí)行的順序則變?yōu)榱顺绦虺跏蓟a的開頭。
  3.3 數(shù)據(jù)儲(chǔ)存器
  在AVR中用的是SARM來(lái)保存程序運(yùn)行中的數(shù)據(jù)。SRAM即靜態(tài)隨機(jī)存取內(nèi)存;陟o態(tài)位格的數(shù)據(jù)儲(chǔ)存器是不需要?jiǎng)討B(tài)時(shí)鐘信號(hào)來(lái)觸發(fā)刷新保持?jǐn)?shù)據(jù)的動(dòng)作,而動(dòng)態(tài)RAM則需要。對(duì)于SRAM內(nèi)存,只要芯片有電就保持著里面的數(shù)據(jù)。但掉電時(shí),內(nèi)存的狀態(tài)時(shí)不確定的,不要誤以為會(huì)是某個(gè)特定的值。
  3.4 通用寄存器
  在AVR芯片中的通用寄存器組是由編號(hào)為R0到R31的寄存器組成的。由R26和R27組成的X,R28和R29組成的Y,R30和R31組成的Z是16位指向數(shù)據(jù)存儲(chǔ)器的索引指針。當(dāng)由復(fù)雜的指令時(shí),可將X,Y,Z寄存器作為數(shù)據(jù)指針,加上指令內(nèi)可選的偏移量,加到索引寄存器上形成有效的目的地址。
  3.5 EEPROM
  EEPROM(Electrically Erasable,Programmable Read-only Memory,電子可擦除只讀儲(chǔ)存器)。它是只讀的,也是可寫入的,還是可擦除的。EEPROM大部分和程序儲(chǔ)存器一樣,不同的是他可以承受多次的擦除和寫入。這樣便使得用戶可以隨意的更改數(shù)據(jù)和配置了。要尋址EEPROM則需要通過(guò)一個(gè)特殊的寄存器來(lái)訪問(wèn),還需要一個(gè)相關(guān)的I/O寄存器的一個(gè)位,則可以引起一個(gè)讀的操作,而結(jié)果要在另一個(gè)寄存器中才可以讀到。寫入的操作也是類似的:先把地址寫入EEPROM地址寄存器,再?gòu)?fù)制數(shù)據(jù)進(jìn)入EEPROM數(shù)據(jù)寄存器,最后做稍微復(fù)雜的位操作。這種操作的復(fù)雜性更利于保護(hù)其數(shù)據(jù)。
  4.結(jié)束語(yǔ)
  通過(guò)對(duì)Arduino的電源、串口和處理器中的各個(gè)部分硬件的淺析,可以使得非專業(yè)的愛好者更了解它,進(jìn)而設(shè)計(jì)出更滿足要求、更合理、更可靠的東西。
  參考文獻(xiàn)
  [1]蔡睿妍.Arduino的原理及應(yīng)用[J].電子設(shè)計(jì)工程,2012, 20(16):155-157.
  [2]楊繼志,郭敬.Arduino互動(dòng)產(chǎn)品平臺(tái)創(chuàng)新[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012(4):39-41
  [3]Massimo BanZi.愛上Arduino[M].2版.北京:人民郵電出版社,2012.
  [4]Dale Wheat.Arduino技術(shù)內(nèi)幕[M].北京:人民郵電出版社,2013.


  本文關(guān)鍵詞:Arduino技術(shù)內(nèi)幕,由筆耕文化傳播整理發(fā)布。



本文編號(hào):360688

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/wenshubaike/mishujinen/360688.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶f8fe2***提供,本站僅收錄摘要或目錄,作者需要?jiǎng)h除請(qǐng)E-mail郵箱bigeng88@qq.com
字幕日本欧美一区二区| 亚洲av熟女一区二区三区蜜桃| 中日韩美女黄色一级片 | 激情偷拍一区二区三区视频| 国产欧美日产中文一区| 男女午夜福利院在线观看| 欧美日韩综合免费视频| 欧美日韩有码一二三区| 成人国产激情福利久久| 久久精品国产亚洲av久按摩| 久久精品色妇熟妇丰满人妻91| 超薄肉色丝袜脚一区二区| 99久久精品免费精品国产| 护士又紧又深又湿又爽的视频| 欧美一级特黄大片做受大屁股| 亚洲av成人一区二区三区在线| 亚洲美女国产精品久久| 欧美在线视频一区观看| 国产精品欧美激情在线观看| 大屁股肥臀熟女一区二区视频| 欧美日韩亚洲精品在线观看| 九九热精品视频免费观看| 久草视频这里只是精品| 国产精品午夜视频免费观看| 国产又粗又猛又爽又黄| 亚洲国产性生活高潮免费视频 | 免费黄片视频美女一区| 精品视频一区二区三区不卡| 免费大片黄在线观看国语| 国产免费黄片一区二区| 国产午夜精品福利免费不| av免费视屏在线观看| 少妇人妻中出中文字幕| 视频一区二区三区自拍偷| 伊人久久青草地婷婷综合| 国产目拍亚洲精品区一区| 天堂av一区一区一区| 亚洲最新一区二区三区| 国产精品亚洲综合天堂夜夜| 夫妻激情视频一区二区三区| 神马午夜福利免费视频|