<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 如何學習51單片機/心得/KEIL4/DXP

          如何學習51單片機/心得/KEIL4/DXP

          作者: 時間:2013-08-02 來源:網(wǎng)絡(luò) 收藏

          3.jpg

          單片機需要掌握一些什么內(nèi)容?

          第一步:數(shù)字I/O的使用

          使用按鈕輸入信號,發(fā)光二極管顯示輸出電平,就可以學習引腳的數(shù)字I/O功能,在按下某個按鈕后,某發(fā)光二極管發(fā)亮,這就是數(shù)字電路中組合邏輯的功能,雖然很簡單,但是可以學習一般的單片機編程思想,例如,必須設(shè)置很多寄存器對引腳進行初始化處理,才能使引腳具備有數(shù)字輸入和輸出輸出功能。每使用單片機的一個功能,就要對控制該功能的寄存器進行設(shè)置,這就是單片機編程的特點,千萬不要怕麻煩,所有的單片機都是這樣。IO口的使用,最簡單的就是點亮流水燈啦~Come on!為了讓沒有單片機的同學也能順利學習,我們可以用仿真軟件來做,有視頻喔,學習更簡單,麻麻再也不用擔心了,哈哈。請看:帖子鏈接

          第二步:定時器和按鍵的使用

          學會定時器的使用,就可以用單片機實現(xiàn)時序電路,時序電路的功能是強大的,在工業(yè)、家用電氣設(shè)備的控制中有很多應(yīng)用,例如,可以用單片機實現(xiàn)一個具有一個按鈕的樓道燈開關(guān),該開關(guān)在按鈕按下一次后,燈亮3分鐘后自動滅,當按鈕連續(xù)按下兩次后,燈常亮不滅,當按鈕按下時間超過2s,則燈滅。數(shù)字集成電路可以實現(xiàn)時序電路,可編程邏輯器件(PLD)可以實現(xiàn)時序電路,可編程控制器(PLC)也可以實現(xiàn)時序電路,但是只有單片機實現(xiàn)起來最簡單,成本最低。定時器的使用是非常重要的,邏輯加時間控制是單片機使用的基礎(chǔ)。 按鍵,就不用說了吧,應(yīng)用很廣泛的,不多說,參見帖子,注意,按鍵掃描程序是用if還是while喔~最近在某論壇發(fā)現(xiàn)了一種新型按鍵識別思路(利用AD),也可以看看~

          第三步:中斷

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

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

          第四步:與PC機進行RS232通信

          單片機都有USART接口,特別是MSP430系列中很多型號,都具有兩個USART接口。USART接口不能直接與PC機的RS232接口連接,它們之間的邏輯電平不同,需要使用一個MAX3232芯片進行電平轉(zhuǎn)換。USART接口的使用是非常重要的,通過該接口,可以使單片機與PC機之間交換信息,雖然RS232通信并不先進,但是對于接口的學習是非常重要的。正確使用USART接口,需要學習通信協(xié)議,PC機的RS232接口編程等等知識。試想,單片機實驗板上的數(shù)據(jù)顯示在PC機監(jiān)視器上,而PC機的鍵盤信號可以在單片機實驗板上得到顯示,將是多么有意思的事情啊!

          第五步:學會A/D與D/A

          STC12C5A60S2單片機帶有多通道10位A/D轉(zhuǎn)換器,通過這些A/D轉(zhuǎn)換器可以使單片機操作模擬量,顯示和檢測電壓、電流等信號。學習時注意模擬地與數(shù)字地、參考電壓、采樣時間,轉(zhuǎn)換速率,轉(zhuǎn)換誤差等概念。 使用A/D轉(zhuǎn)換功能的簡單的例子是設(shè)計一個電壓表。DA的芯片承建的有,DAC8032, DAC8032請看: Proteus仿真鏈接

          第六步:學會PCI、I2C接口和液晶顯示器接口

          這些接口的使用可以使單片機更容易連接外部設(shè)備,在擴展單片機功能方面非常重要。

          那我們來看一下如何實現(xiàn)LCD1602的顯示吧:帖子鏈接+仿真鏈接

          第七步:學會比較、捕捉、PWM功能

          這些功能可以使單片機能夠控制電機,檢測轉(zhuǎn)速信號,實現(xiàn)電機調(diào)速器 等控制起功能。 如果以上七步都學會,就可以設(shè)計一般的應(yīng)用系統(tǒng),相當于學會十招降龍十八掌,可以出手攻擊了。

          第八步:學習USB接口、TCP/IP接口、各種工業(yè)總線的硬件與軟件設(shè)計

          學習USB接口、TCP/IP接口、各種工業(yè)總線(CAN總線 、SPI總線 )的硬件與軟件設(shè)計是非常重要的,因為這是當前產(chǎn)品開發(fā)的發(fā)展方向。到此為止,相當于學會15招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了。

          第九步:學習無線傳輸?shù)挠布c軟件設(shè)計

          PT2262/PT2272 是臺灣普城公司生產(chǎn)的一種CMOS 工藝制造的低功耗低價位通用編解碼電路,PT2262/PT2272 最多可有12 位(A0-A11)三態(tài)地址端管腳(懸空,接高電平,接低電平),任意組合可提供531441 地址碼,PT2262 最多可有6 位(D0-D5)數(shù)據(jù)端管腳,設(shè)定的地址碼和數(shù)據(jù)碼從17 腳串行輸出,可用于無線遙控發(fā)射電路。編碼芯片PT2262 發(fā)出的編碼信號由:地址碼、數(shù)據(jù)碼、同步碼組成一個完整的碼字,解碼芯片PT2272 接收到信號后,其地址碼經(jīng)過兩次比較核對后,VT 腳才輸出高電平,與此同時相應(yīng)的數(shù)據(jù)腳也輸出高電平,如果發(fā)送端一直按住按鍵,編碼芯片也會連續(xù)發(fā)射。當發(fā)射機沒有按鍵按下時,PT2262 不接通電源,其17 腳為低電平,所以315MHz 的高頻發(fā)射電路不工作,當有按鍵按下時,PT2262 得電工作,其第17 腳輸出經(jīng)調(diào)制的串行數(shù)據(jù)信號,當17 腳為高電平期間315MHz 的高頻發(fā)射電路起振并發(fā)射等幅高頻信號,當17 腳為低平期間315MHz 的高頻發(fā)射電路停止振蕩,所以高頻發(fā)射電路完全受控于PT2262 的17 腳輸出的數(shù)字信號,從而對高頻電路完成幅度鍵控(ASK 調(diào)制)相當于調(diào)制度為100%的調(diào)幅。

          pwm相關(guān)文章:pwm是什么


          51單片機相關(guān)文章:51單片機教程


          c語言相關(guān)文章:c語言教程


          單片機相關(guān)文章:單片機教程


          單片機相關(guān)文章:單片機視頻教程


          單片機相關(guān)文章:單片機工作原理


          調(diào)速器相關(guān)文章:調(diào)速器原理

          上一頁 1 2 下一頁

          關(guān)鍵詞: 51單片機 KEIL4 DXP

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();