<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è) > 嵌入式系統 > 設計應用 > 如何開(kāi)始上手學(xué)習單片機C語(yǔ)言

如何開(kāi)始上手學(xué)習單片機C語(yǔ)言

作者: 時(shí)間:2018-08-22 來(lái)源:網(wǎng)絡(luò ) 收藏

  導讀

本文引用地址:http://dyxdggzs.com/article/201808/390927.htm

  很多想學(xué)單片機的人問(wèn)我的第一句話(huà)就是怎樣才能學(xué)好單片機?對于這個(gè)問(wèn)題我今天就我自己是如何開(kāi)始學(xué)單片機,如何開(kāi)始上手,如何開(kāi)始熟練這個(gè)過(guò)程給大家講講。

  先說(shuō)說(shuō)單片機,一般我們現在用的比較多的的MCS-51的單片機,它的資料比較多,用的人也很多,市場(chǎng)也很大。就我個(gè)人的體會(huì )怎么樣才能更快的學(xué)會(huì )單片機這門(mén)課。單片機這門(mén)課是一項非常重視動(dòng)手實(shí)踐的科目,不能總是看書(shū),但是學(xué)習它首先必須得看書(shū),因為從書(shū)中你需要大概了解一下,單片機的各個(gè)功能寄存器,而說(shuō)明白點(diǎn),我們使用單片機就是用軟件去控制單片機的各個(gè)功能寄存器,再說(shuō)明白點(diǎn),就是控制單片機那些管腳的電平什么時(shí)候輸出高,什么時(shí)候輸出低。

  由這些高低電平的變化來(lái)控制你的系統板,實(shí)現我們需要的各個(gè)功能。至于看書(shū),只需大概了解單片機各管腳都是干什么的?能實(shí)現什么樣的功能?第一次,第二次你可能看不明白,但這不要緊,因為還缺少實(shí)際的感觀(guān)認識。所以我總是說(shuō),學(xué)單片機看書(shū)看兩三天的就夠了,看小說(shuō)你一天能看五六本,看單片機你兩三天看兩三遍就夠了,可以不用仔細的看。推薦一本書(shū),就這一本就足夠,書(shū)名是《新編MCS-51單片機應用設計》,是哈爾濱工業(yè)大學(xué)出版社出的的,作者是張毅剛。大概了解一下書(shū)上的內容,然后實(shí)踐,這是非常關(guān)鍵的。

  如果說(shuō)學(xué)單片機你不實(shí)踐那是不可能學(xué)會(huì )的,關(guān)于實(shí)踐有兩種方法你可以選擇,一種方法:你自己花錢(qián)買(mǎi)一塊單片機的學(xué)習板,不要求功能太全的,對于初學(xué)者來(lái)說(shuō)你買(mǎi)功能非常多的那種板子,上面有很多東西你這輩子都用不著(zhù),我建議有流水燈、數碼管、獨立鍵盤(pán)、矩陣鍵盤(pán)、AD或DA(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上面我提到的這些,你能熟練應用,那可以說(shuō)對于單片機方面的硬件你已經(jīng)入門(mén)了,剩下的就是自己練習設計電路,不斷的積累經(jīng)驗。

  只要過(guò)了第一關(guān),后面的路就好走多了,萬(wàn)事開(kāi)頭難,大家可能都聽(tīng)過(guò)。方法二:你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個(gè)簡(jiǎn)單的最小系統板。對于高手來(lái)說(shuō),做個(gè)單片機的最小系統板只需要一分鐘的時(shí)間,而對于初學(xué)者可就難多了,因為只有對硬件了解了,才能熟練運用。而如果你身邊沒(méi)有這樣的高手,又找不到可以幫助你的人,那我勸你最好是自己買(mǎi)上一塊,畢竟自己有一塊要方便的多,以后做單片機類(lèi)的小實(shí)驗時(shí)都能用得上,還省事。

  有了單片機學(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ā)揮它的作用,你自己好好想想,上了這么多年大學(xué),天天上課,你在課堂上學(xué)到了什么?是不是為了期末考試而忙碌呢?考完得了90分,哈哈哈好高興啊,下學(xué)期開(kāi)學(xué)回來(lái)忘的一干二凈,是不是?你學(xué)到什么了?但是我告訴你單片機一旦學(xué)會(huì ),永遠不會(huì )忘了。另外我再說(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ǔ)言。

  總結上面,只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,那學(xué)個(gè)單片機來(lái)說(shuō)就是件非常容易的事。

  步驟

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

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

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

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

  看到了嗎?下功夫一個(gè)多月你就能成為高手,我就講這么多了,學(xué)不學(xué)得會(huì ),下不下得了功夫就看你的了。

  我的單片機學(xué)習心得

  很多人說(shuō),學(xué)單片機最好先學(xué)匯編語(yǔ)言,以我的經(jīng)驗告訴大家,絕對沒(méi)有這個(gè)必要,初學(xué)者一開(kāi)始就直接用C語(yǔ)言為單片機編程,既省時(shí)間,學(xué)起來(lái)又容易,進(jìn)步速度會(huì )很快。在剛開(kāi)始學(xué)單片機的時(shí)候,千萬(wàn)不要為了解單片機內部結構而浪費時(shí)間,這樣只能打擊你的信心,當你學(xué)會(huì )編程后,自然一步步就掌握其內部結構了。

  單片機的學(xué)習實(shí)踐

  單片機提高重在實(shí)踐,想要學(xué)好單片機,軟件編程必不可少。但是熟悉硬件對于學(xué)好單片機的也是非常重要的。如何學(xué)習好硬件,動(dòng)手實(shí)踐是必不可少的。我們可以通過(guò)自己動(dòng)手做一個(gè)自己的電子制作,通過(guò)完成它,以提高我的對一些芯片的了解和熟練運用它。這樣我們就可以多一些了解芯片的結構。我相信,你完成了一個(gè)屬于自己的電子制作,你的單片機水平就會(huì )有一個(gè)質(zhì)的提高。

  這就是我學(xué)習單片機的心得體會(huì ),希望給單片機的愛(ài)好者學(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í)驗板上的數據顯示在PC機監視器上,而PC機的鍵盤(pán)信號可以在單片機實(shí)驗板上得到顯示,將是多么有意思的事情啊!

  第五步:學(xué)會(huì )A/D轉換

  MAP430單片機帶有多通道12位A/D轉換器,通過(guò)這些A/D轉換器可以使單片機操作模擬量,顯示和檢測電壓、電流等信號。學(xué)習時(shí)注意模擬地與數字地、參考電壓、采樣時(shí)間,轉換速率,轉換誤差等概念。使用A/D轉換功能的簡(jiǎn)單的例子是設計一個(gè)電壓表。

  第六步:學(xué)會(huì )PCI、I2C接口和液晶顯示器接口

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

  第七步:學(xué)會(huì )比較、捕捉、PWM功能

  這些功能可以使單片機能夠控制電機,檢測轉速信號,實(shí)現電機調速器等控制起功能。如果以上七步都學(xué)會(huì ),就可以設計一般的應用系統,相當于學(xué)會(huì )十招降龍十八掌,可以出手攻擊了。

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

  學(xué)習USB接口、TCP/IP接口、各種工業(yè)總線(xiàn)的硬件與軟件設計是非常重要的,因為這是當前產(chǎn)品開(kāi)發(fā)的發(fā)展方向。

  到此為止,相當于學(xué)會(huì )15招降龍十八掌,但還不到打遍天下無(wú)敵手的境界。即使如此,也算是單片機大蝦了!!



關(guān)鍵詞: 單片機C語(yǔ)言

評論


技術(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>