<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 單片機設計經(jīng)驗技巧精華集錦(五)

單片機設計經(jīng)驗技巧精華集錦(五)

作者: 時(shí)間:2013-05-27 來(lái)源:網(wǎng)絡(luò ) 收藏
C 語(yǔ)音識別

  用AVR的高速AD檢測功能能實(shí)現簡(jiǎn)單的語(yǔ)音識別。聲音信號被駐極體電容話(huà)筒接收后送至LM386音頻功放芯片放大和過(guò)濾后送至AD轉換口,對音頻信號幅值采樣轉化為一組數字,然后對這組進(jìn)行取方差運算,得出一個(gè)特征值,該特征值可以用于簡(jiǎn)單的語(yǔ)音識別。比如你發(fā)一個(gè)“e”,方差應該比較小,如果你發(fā)“p”爆破音,方差應該較大。當然,如果你用更復雜的數據處理,會(huì )得到更好的識別效果。本設計使用了2路聲音信號,目的是讓單片機判斷出聲源的大體方位。

  D 超聲波測距

  用AVR的1個(gè)IO口輸出40KHz信號送至超聲波發(fā)射電路,當超聲波遇到障礙物返回后,被超聲波接收頭接收,信號經(jīng)CX20106A解碼芯片處理,得到一個(gè)低電平脈沖,用該脈沖引發(fā)AVR單片機中斷,AVR通過(guò)檢查發(fā)波和收到回波之間的時(shí)間差即可算出障礙物距離。

  E 電機驅動(dòng)

  本設計采用2片LG9110電機驅動(dòng)芯片驅動(dòng)兩臺直流減速電機。LG9110輸出最大電流為800mA,僅需要2條控制線(xiàn)與單片機IO口直接相連即可控制一臺電機正反轉或者停止。LG9110僅有8個(gè)引腳,使用非常方便。

  F 讓機器生命更聰明

  我的這個(gè)機器生命設計方案能實(shí)現最酷的效果是:白天,陽(yáng)光明媚,機器生命跑到陽(yáng)光底下曬太陽(yáng),太陽(yáng)光會(huì )隨著(zhù)時(shí)間變化,機器生命能自動(dòng)跑到最合適的位置享受日光浴。到了晚上,機器生命會(huì )找個(gè)安靜的地方閉目養神,等待明天太陽(yáng)升起。你可以訓練機器生命,讓它知道自己的名字叫什么。比如你叫著(zhù)它的名字,同時(shí)站在它面前用強光照射它的太陽(yáng)能電池板,如此反復訓練,會(huì )使機器生命聽(tīng)到自己名字后向聲源方向跑去,在距離聲源一定遠處停止,因為以往這樣做它都能享受強光照射并充電。這就如同真正的寵物狗,你叫它名字它就跑到你跟前希望能獲得食物。這一切都是完全能夠實(shí)現的,關(guān)鍵就在于編程序實(shí)現它。

  G 想象無(wú)極限,你的機器寵物將無(wú)所不能

  以上方案中,ATmega16的功能被發(fā)揮到極致,以至于沒(méi)有空閑的IO口,系統不能再擴展了。如果你用ATmega128單片機做,那么它擁有53個(gè)IO口,30多個(gè)中斷,128Kb的程序存儲器,4Kb的RAM,使得你能編寫(xiě)更復雜的程序、儲存更多的動(dòng)態(tài)數據、連接更多的外設,你的機器生命將變得非常有生命力。比如加入三軸加速度傳感器、地磁傳感器、GPS定位、雨水傳感器甚至攝像頭、無(wú)線(xiàn)通信模塊等,重新設計一個(gè)堅固和強勁的底盤(pán),你的機器生命就可以在室外自由探索了。

  以上芯片外設來(lái)源說(shuō)明:在淘寶上購買(mǎi)很容易

  底盤(pán):340元的高級履帶式1:16電動(dòng)坦克模型

  加速度傳感器、地磁傳感器:美國AD公司的40元ADXL330加速度傳感器

  GPS定位:幾十元的車(chē)載外置GPS天線(xiàn)

  最后,我想說(shuō),機器人是非常好玩的,只要你有想象力,有毅力,努力研究實(shí)踐就能創(chuàng )造奇跡。

  二、工程師分享的單片機學(xué)習步驟

  有了單片機學(xué)習板之后你就要多練習,把學(xué)習板和電腦連好,打開(kāi)調試軟件坐在電腦前,先學(xué)會(huì )怎么用調試軟件,然后從最簡(jiǎn)單的流水燈實(shí)驗做起,等你能讓那八個(gè)流水燈按照你的意愿隨意流動(dòng)時(shí)你已經(jīng)入門(mén)了,你會(huì )發(fā)現單片機是多么迷人的東西啊,太好玩了,這不是在學(xué)習知識,而是在玩,當你編寫(xiě)的程序按你的意愿實(shí)現時(shí)你比做什么事都開(kāi)心,你會(huì )上癮的,真的。做電子類(lèi)的人真的會(huì )上癮。然后讓數碼管亮起來(lái),這兩項會(huì )了后,你已經(jīng)不能自拔了,你已經(jīng)開(kāi)始考慮你這輩子要走哪一行了。就是要這樣練習,在寫(xiě)程序的時(shí)候你肯定會(huì )遇到很多問(wèn)題,而這時(shí)你再去翻書(shū)找,或是問(wèn)別人,當得到解答后你會(huì )記住一輩子的,知識必須用于現實(shí)生活中,解決實(shí)際問(wèn)題,這樣才能發(fā)揮它的作用。另外我再說(shuō)說(shuō)用匯編和C語(yǔ)言編程的問(wèn)題。很多同學(xué)大一二就開(kāi)設了C語(yǔ)言的課 ,我也上過(guò),我知道那時(shí)天天就是幾乘幾,幾加幾啊,求個(gè)階乘啊。學(xué)完了有什么用?讓你用C語(yǔ)言編單片機的程序你是不是就傻了?書(shū)上的東西我們必須要會(huì )運用。單片機編程用C語(yǔ)言或匯編語(yǔ)言都可以,但是我建議用C語(yǔ)言比較好,如果原來(lái)有C語(yǔ)言的基礎那學(xué)起來(lái)會(huì )更好,如果沒(méi)有,也可以邊學(xué)單片機邊學(xué)C語(yǔ)言,C 語(yǔ)言也挺簡(jiǎn)單,只是一門(mén)工具而已,我勸你最好學(xué)會(huì ),將來(lái)肯定用得著(zhù),要不你以后也得學(xué),你一點(diǎn)匯編都不會(huì )根本無(wú)所謂,但你一點(diǎn)C語(yǔ)言都不會(huì )那你將來(lái)會(huì )吃苦頭。匯編寫(xiě)程序代碼效率高,但相對難度較大,而且很羅嗦,尤其是遇到算法方面的問(wèn)題時(shí),根本是麻煩的不得了,現在單片機的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因為有高頻率的時(shí)鐘,單片機的ROM也在不斷的提高,足夠裝得下你用C語(yǔ)言寫(xiě)的任何代碼,C語(yǔ)言的資料又多又好找,將來(lái)可移植性非常好,只需要變一個(gè)IO口寫(xiě)個(gè)溫度傳感器的程序在哪里都能用,所以我勸大家用C語(yǔ)言??偨Y上面,只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,那學(xué)個(gè)單片機來(lái)說(shuō)就是件非常容 易的事。

  步驟:

  1.找本書(shū)大概了解一下單片機結構,大概了解就行。不用都看懂的。

  2.找學(xué)習板練習編寫(xiě)程序,學(xué)單片機就是練編程序,遇到不會(huì )的再問(wèn)人或查書(shū)。

  3.自己網(wǎng)上找些小電路類(lèi)的資料練習設計外圍電路。焊好后自己調試,熟悉過(guò)程。

  4.自己完全設計具有個(gè)人風(fēng)格的電路,產(chǎn)品,。。。你已經(jīng)是高手了

  ^_^。 。。。。

  學(xué)習單片機的八大步驟

  學(xué)習使用單片機就是理解單片機硬件結構,以及內部資源的應用,在匯編或C語(yǔ)言中學(xué)會(huì )各種功能的初始化設置,以及實(shí)現各種功能的程序編制。

  第一步:數字I/O的使用

  使用按鈕輸入信號,發(fā)光二極管顯示輸出電平,就可以學(xué)習引腳的數字I/O功能,在按下某個(gè)按鈕后,某發(fā)光二極管發(fā)亮,這就是數字電路中組合邏輯的功能,雖然很簡(jiǎn)單,但是可以學(xué)習一般的單片機編程思想,例如,必須設置很多寄存器對引腳進(jìn)行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能。每使用單片機的一個(gè)功能,就要對控制該功能的寄存器進(jìn)行設置,這就是單片機編程的特點(diǎn),千萬(wàn)不要怕麻煩,所有的單片機都是這樣。

  第二步:定時(shí)器的使用

  學(xué)會(huì )定時(shí)器的使用,就可以用單片機實(shí)現時(shí)序電路,時(shí)序電路的功能是強大的,在工業(yè)、家用電氣設備的控制中有很多應用,例如,可以用單片機實(shí)現一個(gè)具有一個(gè)按鈕的樓道燈開(kāi)關(guān),該開(kāi)關(guān)在按鈕按下一次后,燈亮3分鐘后自動(dòng)滅,當按鈕連續按下兩次后,燈常亮不滅,當按鈕按下時(shí)間超過(guò)2s,則燈滅。數字集成電路可以實(shí)現時(shí)序電路,可編程邏輯器件(PLD)可以實(shí)現時(shí)序電路,可編程控制器(PLC)也可以實(shí)現時(shí)序電路,但是只有單片機實(shí)現起來(lái)最簡(jiǎn)單,成本最低。定時(shí)器的使用是非常重要的,邏輯加時(shí)間控制是單片機使用的基礎。

  第三步:中斷

  單片機的特點(diǎn)是一段程序反復執行,程序中的每個(gè)指令的執行都需要一定的執行時(shí)間,如果程序沒(méi)有執行到某指令,則該指令的動(dòng)作就不會(huì )發(fā)生,這樣就會(huì )耽誤很多快速發(fā)生的事情,例如,按鈕按下時(shí)的下降沿。要使單片機在程序正常運行過(guò)程中,對快速動(dòng)作做出反應,就必須使用單片機的中斷功能,該功能就是在快速動(dòng)作發(fā)生后,單片機中斷正常運行的程序,處理快速發(fā)生的動(dòng)作,處理完成后,在返回執行正常的程序。中斷功能使用中的困難是需要精確地知道什么時(shí)候不允許中斷發(fā)生(屏蔽中斷)、什么時(shí)候允許中斷發(fā)生(開(kāi)中斷),需要設置哪些寄存器才能使某種中斷起作用,中斷開(kāi)始時(shí),程序應該干什么,中斷完成后,程序應該干什么等等 。

  中斷學(xué)會(huì )后,就可以編制更復雜結構的程序,這樣的程序可以干著(zhù)一件事,監視著(zhù)一件事,一旦監視的事情發(fā)生,就中斷正在干的事情,處理監視的事情,當然也可以監視多個(gè)事情,形象的比喻,中斷功能使單片機具有吃著(zhù)碗里的,看著(zhù)鍋里的功能。 以上三步學(xué)會(huì ),就相當于降龍十八掌武功,會(huì )了三掌了,可以勉強護身。

  第四步:與PC機進(jìn)行RS232通信

  單片機都有USART接口,特別是MSP430系列中很多型號,都具有兩個(gè)USART接口。USART接口不能直接與PC機的RS232接口連接,它們之間的邏輯電平不同,需要使用一個(gè)MAX3232芯片進(jìn)行電平轉換。

  USART接口的使用是非常重要的,通過(guò)該接口,可以使單片機與PC機之間交換信息,雖然RS232通信并不先進(jìn),但是對于接口的學(xué)習是非常重要的。正確使用USART接口,需要學(xué)習通信協(xié)議,PC機的RS232接口編程等等知識。試想,單片機實(shí)驗板


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>