欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
零成本學(xué)Arduino單片機之入門(mén) 來(lái)自 宜昌城老張的博客
圖1 Arduino單片機的Proteus仿真
我的Arduino博客:http://www.eefocus.com/zhang700309/blog/
一、前言
Arduino是由Massimo Banzi,David Cuartielles,Tom Igoe,Gianluca Martino,David Mellis 和Nicholas Zambetti共同開(kāi)發(fā)的。據說(shuō)Auduino開(kāi)發(fā)團隊的領(lǐng)袖Massimo Banzi 之前是意大利Ivrea 一家高科技設計學(xué)校的老師。他的學(xué)生們經(jīng)常抱怨找不到便宜好用的微控制器。2005年冬天,Massimo Banzi 跟David Cuartielles 討論了這個(gè)問(wèn)題。David Cuartielles 是一個(gè)西班牙籍芯片工程師,當時(shí)在這所學(xué)校做訪(fǎng)問(wèn)學(xué)者。兩人決定設計自己的電路板,并引入了Banzi 的學(xué)生David Mellis 為電路板設計編程語(yǔ)言。兩天以后,David Mellis 就寫(xiě)出了程式碼。又過(guò)了三天,電路板就完工了。這塊電路板被命名為Arduino。幾乎任何人,即使不懂電腦編程,也能用Arduino 做出很酷的東西,比如對傳感器作出回應,閃爍燈光,還能控制馬達。
圖2  Arduino開(kāi)發(fā)團隊(兩個(gè)意大利人、兩個(gè)美國人和一個(gè)西班牙人)
Arduino 是一款便捷靈活、方便上手的開(kāi)源電子原型平臺,包含硬件(各種型號的arduino板)和軟件(arduino IDE)。它適用于藝術(shù)家、設計師、愛(ài)好者和對于“互動(dòng)”有興趣的朋友們。
Arduino可以用來(lái)開(kāi)發(fā)交互產(chǎn)品,比如它可以讀取大量的開(kāi)關(guān)和傳感器信號,并且控制各式各樣的電燈、電機和其它物理設備,Arduino也可以開(kāi)發(fā)與PC相連的外圍設備,能在運行時(shí)與PC上的軟件(比如Flash, Processing, MaxMSP)進(jìn)行通信。
Arduino硬件電路板可以根據共享圖紙,自行焊接組裝,也可以購買(mǎi)已經(jīng)組裝好的,軟件則可以從Arduino網(wǎng)站免費下載使用。
Arduino 1.0最新版下載地址:http://arduino.cc/en/Main/Software。
圖3  Arduino軟硬件原型開(kāi)發(fā)平臺
Arduino為啥這么紅,我想Arduino單片機較其他微控制器有以下5點(diǎn)優(yōu)勢:1、您學(xué)習Arduino單片機可以完全不需要了解其內部硬件結構和寄存器設置,僅僅知道它的端口作用即可;所以不需要硬件知識,只要會(huì )C語(yǔ)言,就可立即為Arduino單片機編程。2、Arduino軟件語(yǔ)言為精簡(jiǎn)指令系統,所需掌握的指令不多,但指令的功能卻很強大,往往一條指令就可以完成一整套操作,而且指令的可讀性也好,屬于低門(mén)檻的語(yǔ)言,輕松上手,快速應用。3、針對周邊I/O設備的Arduino編程,由于很多I/O設備都隨之帶有庫文件或者樣例程序,所以在自己的程序中,可以引用庫文件中的函數,或復制樣例程序,然后修改下其中的參數,即可迅速編寫(xiě)出大段大段的復雜程序,從而放大了您的編程能力。4、Arduino開(kāi)源硬件在創(chuàng )客界十分流行。所謂開(kāi)源產(chǎn)品定義,不僅是其軟硬件底層信息完全公開(kāi),而且還在于產(chǎn)品的應用資訊可以從Arduino相關(guān)網(wǎng)站、博客里的大量共享資源里獲得,所以在共享資訊的輔助下,能激發(fā)出您創(chuàng )意作品的靈感,并加快您創(chuàng )作作品的效率。5、國內在開(kāi)源硬件的制造能力非常強,涌現出被意大利Arduino公司認可的代理商,如DFRobot、Seeed Studio公司,這些公司提供了豐富的質(zhì)優(yōu)、價(jià)廉Arduino及周邊產(chǎn)品,所以在國內學(xué)習和應用Arduino具有得天獨厚的硬件資源優(yōu)勢。
但是如果是初學(xué)者,想先不花錢(qián)買(mǎi)硬件設備,那么是否也能體驗下Arduino系統呢?通過(guò)仿真的方法是可以的,目前最流行的單片機仿真軟件當屬Proteus了,這篇文章就介紹用Proteus軟件來(lái)仿真Arduino單片機的應用。
Proteus軟件是初學(xué)者入門(mén)的首選軟件,它是英國Labcenter公司的一款商業(yè)版電路設計與仿真軟件。它包括ISIS、ARES等軟件模塊。ARES模塊主要用來(lái)完成PCB的設計,ISIS模塊用來(lái)完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于能仿真大量的單片機芯片,比如MCS-51系列、PIC系列等等,甚至ARM處理器,以及單片機外圍I/O電路,比如鍵盤(pán)、LED、LCD等等。
二、Arduino單片機的Proteus仿真方法
Arduino單片機的Proteus仿真基本過(guò)程是:軟件在A(yíng)rduino IDE編程軟件里編寫(xiě),硬件在Proteus ISIS軟件模塊里通過(guò)繪制電氣原理圖建立。程序編寫(xiě)完后,選擇Arduino IDE編程界面菜單欄的Tools菜單項,再選擇Board→Arduino Duemilanove w/ATmega328,也可以選擇Board→Arduino Uno,然后點(diǎn)擊編譯按鈕,生成Hex文件(二進(jìn)制機器碼文件)。有了Hex文件,接著(zhù)轉到Proteus電氣原理圖,雙擊原理圖中的型號為ATMEGA328P 單片機芯片,出現對話(huà)框,通過(guò)文件目錄瀏覽的方法確定Hex文件存儲位置,并進(jìn)行一些單片機芯片工作狀態(tài)參數的設置,最后點(diǎn)擊Proteus ISIS軟件界面左下方的播放按鈕,就可以看到Arduino單片機在Proteus仿真環(huán)境中的運行效果了。
圖4 Arduino程序的編譯
圖4中顯示的程序是一個(gè)最簡(jiǎn)單的Arduino單片機項目實(shí)例,任務(wù)是:連在A(yíng)rduino單片機數字端口13上的LED發(fā)光二級管,讓它不斷閃爍。要想成功仿真這個(gè)項目,有兩點(diǎn)要特別注意,一是Arduino程序的Hex文件生成和位置確定,二是Proteus原理圖中的Atmel328P芯片中Hex文件加載和工作參數設置。
圖5 Arduino項目實(shí)例LED閃爍的硬件原理圖
Arduino編譯之后,Hex文件會(huì )自動(dòng)刪除,而在Proteus仿真的Arduino單片機中,需要使用Arduino軟件產(chǎn)生的Hex文件,可是,Arduino  1.0默認使用完Hex文件會(huì )自動(dòng)刪除的,所以取不到hex文件,為了取出hex文件,加載到Porteus中的單片機ATMEGA328P,需要修改如下:
首先要在D盤(pán)建立一個(gè)文件夾,用來(lái)專(zhuān)門(mén)放置Hex文件,文件名可以隨便取名,我命名為Arduino_Hex,然后點(diǎn)擊Arduino軟件界面菜單欄的File->preferences,打開(kāi)對話(huà)框,如圖6,把Show verbose output during的兩個(gè)參數項打勾,雙擊preferences.txt文件,找到文件所在位置,再雙擊,用記事本打開(kāi)文件。這時(shí)要點(diǎn)擊Arduino界面preferences對話(huà)框下方的OK按鈕,接著(zhù)關(guān)掉Arduino IDE編程界面。最后,在剛才打開(kāi)的preferences文檔的最后一行編輯加入build.path=d:\Arduino_Hex,保存文檔。這樣以后您再編譯Arduino程序,就可以在d:\Arduino_Hex中,看到編譯的Hex目標文件了。(所有圖片雙擊,都可以放大?。?div style="height:15px;">
圖6 Arduino的Preference參數設置
談完了Arduino程序的Hex文件生成和位置確定,再談?wù)劻硪粋€(gè)值得注意的問(wèn)題,Proteus原理圖中Atmel328P芯片的Hex文件加載和工作參數設置。
雙擊圖5中的Proteus ISIS電氣原理圖中ATMEGA328P單片機,出現編輯對話(huà)框,點(diǎn)擊“Program File”參數項的“文件夾”按鈕,來(lái)確定Hex文件的位置,到d:\Arduino_Hex文件夾中可以找到當前程序的Hex文件。上個(gè)程序的Hex文件會(huì )被新編譯的Hex文件“沖掉”,所以您每次仿真項目時(shí),都要編譯一次Arduino程序。
圖7 Proteus中的ATMEGA328P單片機的Hex文件加載和參數設置
確定了Hex文件,還有三個(gè)參數項要修訂,一是“CLKDIV8(Divide clock by 8)”參數項修改為“Unprogrammed”;二是“CKSEL Fuses”參數項修改為“(1111)Ext. Crystal 8.0-MHz”;三是Advanced Properties的Clock Frequency參數項設為16Mhz。最后點(diǎn)擊編輯對話(huà)框的“確定”按鈕,然后就可以仿真了。
網(wǎng)絡(luò )上有一個(gè)Arduino單片機的Proteus仿真視頻,講解的就是圖5所示LED燈閃爍的項目,可以看看Proteus電氣原理圖是如何建立,Arduino程序是如何編寫(xiě),以及程序編譯后是如何仿真的過(guò)程。只不過(guò)這個(gè)視頻中,Arduino程序編譯后的Hex文件,并沒(méi)有在自己指定的文件目錄里找到,而是還是用老辦法在默認目錄里找到。
三、Arduino單片機的Proteus仿真項目實(shí)例
這個(gè)仿真項目實(shí)例的任務(wù)是:分別按下K1(正轉)按鈕、K2(反轉)按鈕和K3(停止)按鈕,直流電機會(huì )分別產(chǎn)生相應的動(dòng)作,而且當調節電位計時(shí),電機的轉速也隨之發(fā)生變化。(所有圖片雙擊,都可以放大?。?div style="height:15px;">
圖8 直流電機正反轉、啟停和調速仿真圖
圖8中的電氣符號用到了芯片元件、電源終端、虛擬儀器和連線(xiàn)標號,它們分別從各自的模式庫中提取出來(lái)。
圖9 仿真圖中的電氣符號的提取
仿真圖中,電源終端用到了VCC電源與接地符號,虛擬儀器用到了四通道示波器和直流電壓表,連線(xiàn)標號的作用是相同連線(xiàn)標號的兩根線(xiàn)在電氣意義上是相連的,如圖8中的標號A、B和PWM。至于芯片元件,仿真圖里用到了電阻、電容、CPU、晶振、直流電機、穩壓管、L298N驅動(dòng)等等,芯片元件的提取通常有兩種方法,父、子類(lèi)別檢索方法和關(guān)鍵字查詢(xún)法。
父、子類(lèi)別檢索方法是:先選擇元件模式庫,再點(diǎn)擊“P”按鈕,打開(kāi)元件查詢(xún)提取對話(huà)框,如圖10所示,例如提取的元件是單片機芯片ATMEGA328P,先在類(lèi)別里找到Microprocessor ICs,在子類(lèi)別里找到AVR Family,再在制造商里找到Atmel,然后在縮小了尋找范圍的結果中找到這個(gè)單片機芯片ATMEGA328P,找到后雙擊芯片,就可以把芯片提取到ISIS界面左側的DEVICES欄中,供原理圖繪制時(shí)隨時(shí)選用,如圖11所示。
圖10 芯片元件的父、子類(lèi)別檢索法
關(guān)鍵字查詢(xún)法是:如果事先知道要提取的元件名稱(chēng),可以在元件查詢(xún)提取對話(huà)框左上方的關(guān)鍵字輸入欄里輸入元件名稱(chēng),如搜尋motor元件,直接輸入motor,回車(chē)后,在結果中可以很容易地找到所需元件。
圖11 芯片元件的關(guān)鍵字查詢(xún)法
按照圖8所示的直流電機控制電氣原理圖,把硬件線(xiàn)路繪制完成,剩下的事就是編寫(xiě)程序,編譯仿真了,我設計的這個(gè)仿真項目正好把數字量和模擬量輸入輸出都涉及到了,按鈕輸入和驅動(dòng)芯片L298N的電機轉向控制端A、B是數字量輸入輸出,電位計輸入和L298N的轉速調節控制端PWM是模擬量輸入輸出。
數字量輸入輸出的Arduino命令分別是digitalRead(數字端口號)和digitalWrite(數字端口號,LOW或HIGH);模擬量輸入輸出的Arduino命令是analogRead(模擬端口號)和analogWrite(數字端口號, 0~255)。模擬端口只有輸入模式,沒(méi)有輸出模式,Arduino模擬量輸出是以PWM信號形式從具有PWM輸出功能的數字端口輸出的。Arduino微控制器的數字端口和模擬端口與ATMEGA 328芯片引腳的對應關(guān)系圖如下。標有0~13標號的引腳對應的是數字端口,在0~13前面有符號“~”的引腳對應的端口具有PWM輸出功能。標有A0~A5標號的是模擬端口。
圖12  Arduino UNO端口與Atmega328P引腳對應圖
有了Arduino UNO端口與Atmega328P引腳對應圖,就可以方便地利用Proteus硬件仿真圖,有針對性地編寫(xiě)Arduino程序了。由于以下程序中有詳細的注釋?zhuān)詫γ啃蠥rduino程序的作用就不再累述了。
Arduino程序:
//任務(wù):通過(guò)按鈕控制電機啟停和正反轉,通過(guò)電位計調節電機轉速。
int K1=5;  //把K1(正轉)按鈕連在數字端口5
int K2=6;  //把K2(反轉)按鈕連在數字端口6
int K3=7;  //把K3(停止)按鈕連在數字端口7
int potpin = 3; // 把電位計連在模擬端口3
int A=2;   //數字端口2、3控制電機啟停和轉向
int B=3;
int PWMpin = 9; // 數字端口9輸出PWM信號,控制電機轉速
//初始化
void setup()
{
pinMode(K1,INPUT);//把數字端口5、6、7設置輸入模式
pinMode(K2,INPUT);
pinMode(K2,INPUT);
pinMode(A,OUTPUT);//把數字端口2、3設置輸入模式
pinMode(B,OUTPUT);
}
//主程序
void loop()
{
//如果按下K1(正轉)按鈕
if(digitalRead(K1)==LOW)
{
//電機正轉
digitalWrite(A,HIGH);
digitalWrite(B,LOW);
}
//如果按下K2(反轉)按鈕
if(digitalRead(K2)==LOW)
{
//電機反轉
digitalWrite(A,LOW);
digitalWrite(B,HIGH);
}
//如果按下K3(停止)按鈕
if(digitalRead(K3)==LOW)
{
//電機停止
digitalWrite(A,LOW);
digitalWrite(B,LOW);
}
int sensorValue = analogRead(potpin); //讀取電位計采樣值
sensorValue = sensorValue/4; // 采樣值 0-1024 轉換為 0-255
analogWrite(PWMpin, sensorValue);//把處理后的轉換值以PWM信號形式輸出
delay(20);//延時(shí)
}
Arduino程序及Proteus仿真圖請下載:Arduino仿真之直流電機控制.zip
把程序編寫(xiě)完,編譯Hex文件,再把Hex文件加載到Proteus仿真圖中Arduino單片機芯片中,最后點(diǎn)擊仿真圖左下方的播放按鈕,就可以看到基于A(yíng)rduino直流電機控制項目的運行效果了。
四、結束語(yǔ)
經(jīng)常有對創(chuàng )客文化感興趣的網(wǎng)友,詢(xún)問(wèn)這樣的問(wèn)題,是否可以少投入些硬件成本,而又能用Arduino單片機多多做些趣味電子項目。所以這篇文章就是談在資金不足的情況下,如何通過(guò)仿真的方法來(lái)實(shí)現我們創(chuàng )意實(shí)踐。
為啥有必要學(xué)習Arduino呢?其實(shí)許多學(xué)習者曾經(jīng)為了追趕電子科技的進(jìn)步,也花了大量的精力去一個(gè)個(gè)地學(xué)習那些微控制器和智能邏輯部件,如51、ARM,DSP和FPGA,當初僅僅是為做一些應用,沒(méi)想會(huì )消耗那么多的時(shí)間和金錢(qián),“陷在”了冷酷的程序和無(wú)止盡的硬件原理中,最后也只是做了些走馬燈和數碼管秒表實(shí)驗,就草草結束,而又去追新了。這樣追逐哪有什么利用微控制器做應用的樂(lè )趣可談。好在目前秉承開(kāi)放式學(xué)習架構的Arduino系統越來(lái)越流行,它可以讓所有樂(lè )于創(chuàng )作的人在短時(shí)間之內就可以完成一個(gè)作品,并且可以透過(guò)網(wǎng)絡(luò ),獲得大量共享資訊的支援。您會(huì )發(fā)現,有了Arduino,微控制器的世界不再那么的陌生和令人敬畏,微控制器就是一個(gè)易用的工具,讓我們能夠騰出精力全力投向作品中最能體現個(gè)人創(chuàng )新精神的部分。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
利用Proteus虛擬開(kāi)發(fā)技術(shù)進(jìn)行Arduino單片機系統開(kāi)發(fā)
簡(jiǎn)單的邏輯電路實(shí)驗(三)
基于Protues的Arduino學(xué)習筆記01
基于proteus的51單片機仿真實(shí)例五十二、按鍵的判斷與消抖實(shí)例
電路仿真——零投入玩轉Arduino開(kāi)源硬件系列之一
基于proteus的51單片機仿真實(shí)例六、運行你的第一個(gè)仿真實(shí)例
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久