總結(jié)是一種對過去經(jīng)歷進行回顧、總結(jié)和總結(jié)的方法。編寫總結(jié)時,可以使用一些舉例或?qū)嶋H案例來支撐我們的觀點和結(jié)論,使總結(jié)更具有說服力和可信度。閱讀優(yōu)秀的總結(jié)范文,可以讓我們更好地了解總結(jié)的結(jié)構(gòu)和表達方式。
單片機學(xué)習(xí)總結(jié)篇一
我從大二起,就去實驗室去學(xué)習(xí)。在那里與老師和一些電子設(shè)計愛好者的交流中,我學(xué)到了更多的專業(yè)知識。我從此走上了學(xué)習(xí)嵌入式的道路。這豐富了我的大學(xué)生活,是我在大學(xué)的最大收獲。
我是從學(xué)習(xí)單片機開始我的嵌入式學(xué)習(xí)的。
我接觸單片機的方式是在圖書館看書,我看了很多本書,但是大多數(shù)書寫的大同小異。書里面講解的單片機的寄存器我看了很多遍也沒有看懂。我都不明白改怎樣學(xué)習(xí)它了。慢慢的我悟出了一個道理:電子的學(xué)習(xí)實踐是最重要的,這樣,我在大二的時候就買了一塊學(xué)習(xí)板,我一邊看視頻一邊仿照視頻的程序,自己編寫程序,在很短的時間里,我的單片機有了很大的提高。那些難懂的寄存器透過編寫程序,我慢慢的弄懂了它們,此刻回頭看去,原先它還是很簡單的。
用哪種編程語言最適合我們。
我看過的單片機的書籍,大部分的程序都是匯編寫的。它是一種基于機器硬件的低級語言,對于我們這些只學(xué)習(xí)過c語言的人來說,十分難懂。我認(rèn)為剛開始學(xué)習(xí)單片機沒有必要必須要從學(xué)習(xí)匯編編程開始。我學(xué)習(xí)單片機就是用c語言編程的,我并不會匯編語言,也沒有妨礙我把單片機學(xué)好。
很多人說,學(xué)單片機最好先學(xué)匯編語言,以我的經(jīng)驗告訴大家,絕對沒有這個必要,初學(xué)者一開始就直接用c語言為單片機編程,既省時間,學(xué)起來又容易,進步速度會很快。在剛開始學(xué)單片機的時候,千萬不要為了解單片機內(nèi)部結(jié)構(gòu)而浪費時間,這樣只能打擊你的信心,當(dāng)你學(xué)會編程后,自然一步步就掌握其內(nèi)部結(jié)構(gòu)了。
單片機提高重在實踐,想要學(xué)好單片機,軟件編程必不可少。但是熟悉硬件對于學(xué)好單片機的也是十分重要的。如何學(xué)習(xí)好硬件,動手實踐是必不可少的。我們能夠透過自己動手做一個自己的電子制作,透過完成它,以提高我的對一些芯片的了解和熟練運用它。這樣我們就能夠多一些了解芯片的結(jié)構(gòu)。我相信,你完成了一個屬于自己的電子制作,你的單片機水平就會有一個質(zhì)的提高。
這就是我學(xué)習(xí)單片機的心得體會,期望給單片機的愛好者學(xué)好單片機有所幫忙。
單片機學(xué)習(xí)總結(jié)篇二
優(yōu)秀作文推薦:《單片機》這門課程我已經(jīng)學(xué)了一個學(xué)期了,在這一個學(xué)期的學(xué)習(xí)過程中,我一開始不怎么懂得編程,但慢慢的我現(xiàn)在已經(jīng)不僅會讀程序還會寫程序了。真為自己一個學(xué)期來努力學(xué)到的單片機知識只是而感到高興。
怎么學(xué)單片機?也??吹接腥苏f學(xué)了好幾個月可就是沒有什么進展。當(dāng)然,受限于每個人受到的教育水平不同和個人理解能力的差異,學(xué)習(xí)起來會有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。一個好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機的經(jīng)歷和方法。
我覺得學(xué)習(xí)單片機首先要懂得c語言,因為單片機大多說都是靠程序來實現(xiàn)的,如果看不懂程序或則不懂的編程是很難學(xué)會單片機的。學(xué)習(xí)單片機首先要明白一個程序是怎么走的,要完全懂得程序每一個步驟的意思。其次要懂得每一條指令的意思,不能盲目地去靠背指令,這是記得不牢靠的,最主要的還是靠了解。學(xué)習(xí)單片機最主要的對89c51芯片內(nèi)部結(jié)構(gòu)有全方面的,只要了解了89c51才能知道單片機實現(xiàn)什么樣的功能和作用,才能對單片機有更深一步的了解。通過一個學(xué)期《單片機》這門課程的學(xué)習(xí),我也從中有了不少心得和體會想和大家分享一下。
萬事開頭難、要勇敢邁出第一步。開始的時候,不要老是給自己找借口,不要說單片機的程序全是英文,自己看不懂。遇到困難要一件件攻克,不懂指令就要勤奮看書,不懂程序就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個最簡單的,讓它運行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會差多少。然后建個程序,加入項目中,再寫代碼、編譯、運行。必須熟悉這一套工序。個人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運行一下看結(jié)果,學(xué)習(xí)效果會好很多,仿真器就看個人需要了。單片機是注重理論和實踐的,光看書不動手,是學(xué)不會的。
知識點用到才學(xué),不用的暫時丟一邊。厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計也快忘光了,所以,最好結(jié)合實際程序,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點一小點的啃。程序不要光看不寫,一定要自己寫一次。最開始的時候,什么都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達到什么目的,運行后有什么后果??疵靼琢酥螅鸵约簩懸淮?,你會發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時候卻一句也寫不出來,這就是差距。當(dāng)你自己能寫出來的.時候,說明你就真的懂了。
必須學(xué)會掌握調(diào)試程序的方法。不少人寫程序,把代碼寫好了,然后一運行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個帖子,把程序一貼,問:為什么我的程序不能正常運行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會發(fā)現(xiàn)問題和學(xué)會如何解決問題。這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運行結(jié)果和你想象中不一樣的時候,你可以單步,也可以下斷點,然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個過程非常重要,通過程序的排錯,你可以學(xué)到的知識是書上得不到的。
找到解決問題思路比找到代碼更重要。我們用單片機來控制周邊器件,達到我們想到的目的,這是一個題目,而如何寫出一個程序,來控制器件按你想要的結(jié)果去運作,這個就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會找出這個解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。
我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以。要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人。所以現(xiàn)在我也明白了,以前讀書時說的程序流程圖很重要,現(xiàn)在算是知道了。當(dāng)你知道一個問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。
開動腦筋,運用多種方法,不斷優(yōu)化自己的程序。想想用各種不同方法來實現(xiàn)同一功能。這是一個練習(xí)和提高的過程,一個問題,你解決了,那么你再想想,能不能換種寫法,也可以實現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點,讓程序執(zhí)行效率更高,這個過程,就是一個進步的過程。很多知識和經(jīng)驗的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經(jīng)驗才能得到積累,編程水平才能有所提高。
看別人的程序,學(xué)習(xí)人家的思路。這個在學(xué)習(xí)初期是很有用,通過看別人的程序,特別是老師寫出的具有一定水平的程序,可以使自己編程水平得到迅速的提高。同時,也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的程序,從中得到進步。但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會了,這樣做只會使你退步。
嘗試編寫一下綜合應(yīng)用的程序。從流水燈學(xué)起,到動態(tài)掃描,再到中斷,那么,你可以試試寫一下時鐘這種綜合性應(yīng)用的程序,不要小看時鐘,要寫好它不是一件容易的事情,它包括了單片機大部分的知識,比如有按鍵(io讀?。?、動態(tài)掃描(io輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨寫一個功能的時候,比如按鍵讀取,你可能感覺很容易,因為你的程序什么也不做,只是讀按鍵。但把它和其它功能混合在一起,如何在整個程序運行中使每一部分都正常工作,這就不是寫一個按鍵讀取這么容易的事情,功能模塊之間有可能會互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個協(xié)調(diào)過程。當(dāng)你有了這個處理協(xié)調(diào)能力,你就算是入門了。
著重于培養(yǎng)解決問題的能力,而不是具體看自己編寫了多少程序或者做過什么。“學(xué)單片機重點在于學(xué)習(xí)解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學(xué)單片機學(xué)習(xí)單片機之后感悟出來的。真正的能力不是你曾經(jīng)編寫過多少個可以實現(xiàn)的程序,而應(yīng)該是:“遇到?jīng)]有解決過的問題,能利用自己已學(xué)的知識,迅速找到解決問題的方法?!边@個才是能力。
面對一個新程序時,多自己開動腦筋,不要急于找別人的程序。
有不少人面對一個新程序時,第一步想到的就是網(wǎng)上找別人寫過的程序,然后抄一段,自己再寫幾句,湊在一起就完成任務(wù),這雖然可能是省時間,但絕對不利你的學(xué)習(xí)。當(dāng)你接到一個程序時,應(yīng)該先自己構(gòu)思一下整個程序的架構(gòu),想想如何來完成。有可能的話,畫一個流程圖,簡單的可以畫在腦子里,對程序中用到的數(shù)據(jù)、變量有一個初步的安排,然后自己動手去寫,遇到實在沒辦法解決的地方,再去請教老師或同學(xué),或看別人是怎么處理的,這樣首先起碼你自己動過腦想過,自己有自己的思路。如果你一開始就看別人的程序,你的思維就會受限在別人的思維里,自己想再創(chuàng)新就更難了,這樣你自己永遠也沒辦法提高,因為你是走在別人的影子里。
學(xué)會提問題。一般來說,學(xué)習(xí)過程中,你遇上的問題,多數(shù)人也有遇上的,所以如果有什么不懂,你可以去問老師。我覺得學(xué)習(xí)單片機最主要的要多提問,對于一個自己不是太懂的程序,自己一定要多提問幾遍,這樣不但有利于加深自己的印象還能從中學(xué)到不少別人的方法。
經(jīng)過一個學(xué)期我對《單片機》這門課程的學(xué)習(xí),不僅讓我懂得了很多程序的編寫,還讓我學(xué)到了很多對自己有用的學(xué)習(xí)方法??偨Y(jié)這個學(xué)期來的我自己的學(xué)習(xí)情況,我覺得自己對編程進步了不少,懂得運用正確的學(xué)習(xí)方法學(xué)習(xí)單片機程序,不再去死記硬背指令了。所以我覺得學(xué)習(xí)要不斷總結(jié)學(xué)習(xí)方法,才能讓自己學(xué)習(xí)不斷進步。
交通信號燈設(shè)計報告。
實驗?zāi)康模簆1口的使用方法,延時程序的編寫。
實驗要求:在一個十字路口分為東西南北走向,信號等按以下的狀態(tài)順序工作:
(1)初始狀態(tài)0,東西、南北紅燈全亮。延時一定時間;
(2)狀態(tài)1,南北綠燈亮通車,東西紅燈,延時一定時間;
(3)狀態(tài)2,南北綠燈閃爍幾次轉(zhuǎn)黃燈,東西仍然紅燈,延時一定。
時間;
(4)狀態(tài)3,南北紅燈,東西綠燈通車,延時一定時間;
(5)狀態(tài)4,南北仍然紅燈,東西綠燈閃爍幾次轉(zhuǎn)黃燈,延時一定。
時間;
(6)循環(huán)至狀態(tài)1,繼續(xù)。
實驗電路和流程框架圖:
(1)硬件電路。
交通燈實訓(xùn)設(shè)備用最小系統(tǒng)板和信號燈組合而成。
2、軟件編程。
若各路口燈亮滅的時間間隔為2s鐘,燈光閃爍時間間隔為0.5s。用軟件延時的方法,晶振頻率12mhz時,一個機器周期為1us。
編寫交通信號燈程序:
編寫主程序,由r7做主程序的計數(shù)器,確定調(diào)用延時時間為0.5s,從而獲得交通燈的亮滅時間。
單片機學(xué)習(xí)總結(jié)篇三
剛出生的孩子叫“爸爸”“媽媽”的時候,他甚至不知道“爸爸”“媽媽”是什么意思,更不會理解這些聲音是什么意思,但是我們帶著孩子見到他爸爸就讓他喊“爸爸”,見到媽媽就讓他喊“媽媽”,見到爺爺就喊“爺爺”??慢慢的你會發(fā)現(xiàn),次數(shù)多了,孩子就知道誰是爸爸,誰是媽媽,誰是爺爺,誰是奶奶了。
大家剛開始接觸單片機的時候,也屬于單片機行業(yè)的新生兒。單片機的樣子,單片機外圍的各種器件,單片機內(nèi)部的各種結(jié)構(gòu),單片機使用c語言的編程方法,初學(xué)者可能都沒有見過,腦子里全無概念。沒關(guān)系,有些概念和方法你不理解也沒有關(guān)系,甚至不需要你去理解,你只需要跟著我去鸚鵡學(xué)舌式的學(xué)習(xí),第一遍學(xué)習(xí)某一節(jié)課的內(nèi)容時,對于程序,大家就可以完全跟著抄下來,甚至抄兩三遍,過一段你會發(fā)現(xiàn),好多東西你也認(rèn)識了,好多概念你也慢慢的理解清楚了,你也能大概看懂別人的小程序了,切忌覺得自己看會了,而簡單復(fù)制粘貼。
2)照葫蘆畫瓢。
很多同學(xué)學(xué)習(xí)的時候喜歡看,看我做的視頻,看我寫的程序,甚至看別人的程序,都能看懂,覺得自己就會了,等到自己寫程序的時候,感覺就是老鼠啃天,不知道從哪里下手了,這是初學(xué)者很容易犯的“眼高手低”的毛病,所以第二步的內(nèi)容就非常重要了。
我的要求是,每一位同學(xué),在學(xué)完了當(dāng)前課的內(nèi)容,把第一步順利完成以后,然后關(guān)掉視頻教程,關(guān)掉源代碼,自己通過看電路圖和查找非源代碼的其他任何資料,把當(dāng)節(jié)課我寫的程序代碼重新默寫出來,邊寫邊多少理解那么一點點,不是純粹的背誦,應(yīng)該說是背誦加理解的結(jié)合體。甚至學(xué)過幾節(jié)課以后,可以回頭把前邊曾經(jīng)這樣實現(xiàn)過的課程,再按照這種方法做一遍。千萬不要認(rèn)為這一步?jīng)]必要,這一步是你能否真正學(xué)會單片機的一個關(guān)鍵,在學(xué)完本教程之前,每一課內(nèi)容都要這樣做,如果每一個程序你都能夠完美的完成,那么可以說,當(dāng)節(jié)課的內(nèi)容,百分之七八十你已經(jīng)掌握了。
3)他山之石,可以攻玉。
單片機技術(shù)的最大特點就是可以通過修改程序來實現(xiàn)不同的功能,因此舉一反三的能力就必不可少了。每一節(jié)課的例程后邊,我一般都會布置幾個作業(yè),大家盡量去獨立完成這個作業(yè)。在完成這個作業(yè)的過程中,都可以參考我的程序思路,在這個基礎(chǔ)上通過動腦思考去構(gòu)建你自己的程序框架,最終將程序完成。
在我們工程師實際產(chǎn)品研發(fā)的時候,很多種情況下也是如此。比如一個產(chǎn)品,我們?nèi)绻麖牧闫鸩降脑?,可能會走很多彎路,遭遇很多前人已曾遭遇過的挫折,所以我們通常的做法是尋找購買幾款同類產(chǎn)品,然后先研究他們的各自優(yōu)缺點,學(xué)習(xí)他們的長處,然后在同類產(chǎn)品基礎(chǔ)上再來設(shè)計我們自己的產(chǎn)品,這就是“他山之石,可以攻玉”。
初學(xué)者在學(xué)習(xí)的時候,往往遇到的問題很多,你應(yīng)該想到,你遇到的問題,可能前輩們早就遇到過了,所以遇到問題后,不要慌張,首先利用谷歌或者百度這些搜索引擎在網(wǎng)上搜一下,要做什么新東西,先去網(wǎng)上找相關(guān)資料了解一下,不管是編程還是硬件設(shè)計,多多參考別人的東西,只要把別人的東西分析明白了,自己用起來了,也就成為自己的知識了。
4)理論實踐結(jié)合,溫故知新。
當(dāng)大家把所有的課程都按照前邊三步完成后,這個時候不妨再把書打開,再看看書,經(jīng)過了自己的實戰(zhàn)經(jīng)歷,再看書的時候,對很多知識點會有一種恍然大悟的感覺。甚至視頻教程、書籍都可以反復(fù)看幾遍,可能有的知識點當(dāng)時學(xué)習(xí)的時候不明白,過了一段時間,回過頭來再學(xué)習(xí)的時候,一下就明白了。
單片機學(xué)習(xí)總結(jié)篇四
單片機是一門實用技術(shù),我們學(xué)習(xí)它已經(jīng)不是為了應(yīng)付考試了,我給大家總結(jié)了單片機的學(xué)習(xí)方法是:一個要領(lǐng),四個步驟。
學(xué)習(xí)單片機的要領(lǐng)就是:在實踐中成長,indoingwelearn!
學(xué)射箭,你得去拉弓,整天只擺造型肯定不行;學(xué)游泳,你得下水撲騰,整天在岸上做模仿活動不行;學(xué)開車,你得坐車上去開,坐沙發(fā)上肯定學(xué)不會。同樣的道理,學(xué)單片機,整天盯著單片機書看肯定不行,你也必須得親自動手去練。
沒有不下水就學(xué)會游泳成為游泳健將的,沒有不到車上練就能成為賽車手的,這點大家都清楚,可為什么那么多人學(xué)單片機的時候,總是只抱著一本書看呢。第一,我們小學(xué)中學(xué)甚至大學(xué)的學(xué)習(xí)模式都是如此,學(xué)什么東西主要都是靠看書,應(yīng)付書面考試;第二,很多人想實踐卻不太清楚該怎么去實踐。
遇到問題查下書比直接看書的效果要好過百倍。不是不讓大家看書,而是。
單片機學(xué)習(xí)總結(jié)篇五
為了給前一段時間學(xué)習(xí)pic16f616型單片機的一個總結(jié)和方便大家的交流,我寫了這篇關(guān)于pic單片機的學(xué)習(xí)心得,都是在看了手冊和編程調(diào)試后用自己的語言組織的,其中有不足或者有疑問的地方希望大家能及時的給予糾正和批評,提出寶貴的意見。
單片機學(xué)習(xí)總結(jié)篇六
一直想寫一個帖子,將自己學(xué)習(xí)單片機的經(jīng)歷、經(jīng)驗和方法總結(jié)一下,今天終于動手寫了,呵呵,這是我學(xué)習(xí)單片機的經(jīng)驗、心得、方法。希望對大家學(xué)習(xí)單片機有所幫助。
經(jīng)常在群、論壇里看到有人問:怎么學(xué)單片機?也常看到有人說學(xué)了好幾個月可就是沒有什么進展。當(dāng)然,受限于每個人受到的教育水平不同和個人理解能力的差異,學(xué)習(xí)起來會有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。一個好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機的經(jīng)歷和方法。
的時候,因為制作fm發(fā)射電路采用了bh1415的芯片,需要用到單片機控制,所以開始接觸使用單片機,雖然以前讀書時作為一門功課學(xué)過,不過也快丟荒了了,基本上都忘光了,也算是從頭學(xué)起了吧。我當(dāng)時是買了一塊實驗板,很簡單的功能,比論壇實驗板還要少功能,還有一個仿真器,也是比較簡單的,sst芯片的。然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個程序基本上就抄人家的,翻查了一份快速入門的學(xué)習(xí)資料,()寫下第一個程序。然后,在仿真機是單步的看運行結(jié)果,從每一步執(zhí)行,都硬件上反應(yīng)出來的效果,很快,對單片機的運作有了一個非常感性的認(rèn)識,這跟只看書然后自己想象運行是完全兩碼事。然后,是進一步的其它程序?qū)W習(xí),一個月時間,基本上已經(jīng)熟悉了51的各種硬件資源。把流水燈,數(shù)碼管動態(tài)掃描,中斷等等的學(xué)習(xí)了,然后就是寫綜合性的程序,也就是我發(fā)在論壇里的時鐘。通過這個程序的編寫,使自己的編程水平有了很大的飛躍。之后,就是逐步學(xué)習(xí)編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。在學(xué)過匯編之后,我又轉(zhuǎn)到了c語言學(xué)習(xí),因為以前沒有學(xué)習(xí)過c語言,一切都很陌生,所以自己沿用了學(xué)習(xí)匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實現(xiàn)了從匯編編程為主到c編程為主的轉(zhuǎn)變。然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風(fēng)格,一直到現(xiàn)在,基本上就是c語言編程,匯編已經(jīng)是作為調(diào)試程序的輔助。
下面我概括了幾點我的學(xué)習(xí)經(jīng)驗和心得體會:
1、萬事開頭難、要勇敢邁出第一步。開始的時候,不要老是給自己找借口,說keil不會建項目啦、沒有實驗板啦之類的。遇到困難要一件件攻克,不會建項目,就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個最簡單的,讓它運行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會差多少,總得建個項目,再配置一下項目,然后建個程序,加入項目中,再寫代碼、編譯、生成hex,刷進單片機中、運行。必須熟悉這一套工序。個人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運行一下看結(jié)果,學(xué)習(xí)效果會好很多,仿真器就看個人需要了。單片機是注重理論和實踐的,光看書不動手,是學(xué)不會的。
2、知識點用到才學(xué),不用的暫時丟一邊。厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計也快忘光了,所以,最好結(jié)合實際程序,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點一小點的啃。
3、程序不要光看不寫,一定要自己寫一次。最開始的時候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達到什么目的,運行后有什么后果,看明白了之后,就要自己寫一次,你會發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時候卻一句也寫不出來,這就是差距……當(dāng)你自己能寫出來的時候,說明你就真的懂了。
4、必須學(xué)會掌握調(diào)試程序的方法。不少人寫程序,把代碼寫好了,然后一運行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個帖子,把程序一貼,問:為什么我的程序不能正常運行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會發(fā)現(xiàn)問題和學(xué)會如何解決問題。這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運行結(jié)果和你想象中不一樣的時候,你可以單步,也可以下斷點,然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個過程非常重要,通過程序的排錯,你可以學(xué)到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。我們用單片機來控制周邊器件,達到我們想到的目的,這是一個題目,而如何寫出一個程序,來控制器件按你想要的結(jié)果去運作,這個就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會找出這個解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人,所以現(xiàn)在我也明白了,以前讀書時說的程序流程圖很重要,現(xiàn)在算是知道了。當(dāng)你知道一個問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。舉個例子:數(shù)碼管動態(tài)掃描,沒寫過的初學(xué)者可能搞不清是怎么回事,其實,就是分時讓每一時間段時只控制一只數(shù)碼管顯示數(shù)字,幾只數(shù)碼管輪流顯示,由于速度很快,人眼的看起來是全部數(shù)碼管都亮的。明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數(shù)碼管輪流顯示出相應(yīng)的數(shù)值。顯示數(shù)字,然后延時一下,再下一只顯示數(shù)字,延時,知道是這樣,我們實際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時一下,再關(guān)閉位選,再送出段碼,再打開另一只位選僅此而已。有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動態(tài)掃描的原理都沒懂,不知道如何做,那么這個程序是怎么也寫不出來的。
6、開動腦筋,運用多種方法,不斷優(yōu)化自己的程序。想想用各種不同方法來實現(xiàn)同一功能。這是一個練習(xí)和提高的過程,一個問題,你解決了,那么你再想想,能不能換種寫法,也可以實現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點,讓程序執(zhí)行效率更高,這個過程,就是一個進步的過程。很多知識和經(jīng)驗的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經(jīng)驗才能得到積累,編程水平才能有所提高。
7、看別人的代碼,學(xué)習(xí)人家的思路。這個在學(xué)習(xí)初期是很有用,通過看別人的代碼,特別是有多年編程經(jīng)驗的人寫出的具有一定水平的代碼,可以使自己編程水平得到迅速的提高,同時,也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的代碼,從中得到進步。但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會了,這樣做只會使你退步。
8、嘗試編寫一下綜合應(yīng)用的程序。從流水燈學(xué)起,到動態(tài)掃描,再到中斷,那么,你可以試試寫一下時鐘這種綜合性應(yīng)用的程序,不要小看時鐘,要寫好它不是一件容易的事情,它包括了單片機大部分的知識,比如有按鍵(io讀取)、動態(tài)掃描(io輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨寫一個功能的時候,比如按鍵讀取,你可能感覺很容易,因為你的程序啥也不做,只是讀按鍵。但把它和其它功能混合在一起,如何在整個程序運行中使每一部分都正常工作,這就不是寫一個按鍵讀取這么容易的事情,功能模塊之間有可能會互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個協(xié)調(diào)過程。當(dāng)你有了這個處理協(xié)調(diào)能力,你就算是入門了。
9、著重于培養(yǎng)解決問題的能力,而不是具體看自己編寫了多少代碼或者做過什么?!皩W(xué)單片機重點在于學(xué)習(xí)解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學(xué)單片機多年來感悟出來的。經(jīng)??吹接腥苏f“你會驅(qū)動xx芯片,真牛啊”“你搞過xx項目,真厲害”之類的話,其實這是非常片面的,搞過xx芯片,搞過xx項目,只能說明你做過這一項目,它只是你的業(yè)績,并不是代表能力就一定高。真正的能力應(yīng)該是:“遇到?jīng)]有解決過的問題或器件,能利用自己已學(xué)的知識,迅速找到解決問題的方法?!边@個才是能力。寫程序的過程就是一個創(chuàng)造的過程,幾乎沒有完全一樣的項目,每次你遇上的幾乎都不相同,所以你擁有的必須是你面對新項目時的創(chuàng)造能力,而不是標(biāo)榜著你以往做過多少項目。當(dāng)然,業(yè)績也能從另一側(cè)面反映你的經(jīng)驗和水平。
10、如果有可能,多學(xué)習(xí)計算機專業(yè)的知識,比如數(shù)據(jù)結(jié)構(gòu)等。這些是你解決問題的基礎(chǔ)知識,你把這些知識應(yīng)用得越好,就會發(fā)現(xiàn)越容易找到解決問題的方法,這就是為什么一個學(xué)計算機專業(yè)的人編的程序和一個非計算機專業(yè)的人編的程序有差異的原因。也是一個菜鳥進軍到高手所要配備的知識。如果我們把編程分為宏觀編程和微觀編程,那么微觀編程就是寫具體的代碼,比如控制某某器件的語句;而宏觀編程就是如何對整個程序進行布局、安排,使功能模塊以你想要的方式去運行,得出你想要的結(jié)果。如前所說“會控制xx器件”這些只能算是微觀編程,能做到這一步還只能算是菜鳥級別,如果面對一個新的器件,你心里沒底,沒把握去寫這個控制程序,那說明你還是一個初級的菜鳥。當(dāng)你有了一定的編程經(jīng)驗,控制過相當(dāng)數(shù)量的器件之后,你就會發(fā)現(xiàn),控制器件這些工作都是相似的、重復(fù)的工作,體現(xiàn)不出編程的水平,最多也是寫得好與不好的差別,只能算是一些小技巧的應(yīng)用。而對整個程序進行布局、安排這些才是最頭痛的事情,能達到宏觀編程和微觀編程都做好才是真正的高手。對于規(guī)模越大的程序,越能體現(xiàn)出這一點。
11、面對一個新項目時,多自己開動腦筋,不要急于找別人的程序。有不少人面對一個新項目時,第一步想到的就是網(wǎng)上找別人寫過的代碼,然后抄一段,自己再寫幾句,湊在一起就完成任務(wù),這雖然可能是省時間,但絕對不利你的學(xué)習(xí)。當(dāng)你接到一個新項目時,應(yīng)該先自己構(gòu)思一下整個程序的架構(gòu),想想如何來完成,有可能的話,畫一個流程圖,簡單的可以畫在腦子里,對程序中用到的數(shù)據(jù)、變量有一個初步的安排,然后自己動手去寫,遇到實在沒辦法解決的地方,再去請教別人,或看別人是怎么處理的,這樣首先起碼你自己動過腦想過,自己有自己的`思路,如果你一開始就看別人的程序,你的思維就會受限在別人的思維里,自己想再創(chuàng)新就更難了,這樣你自己永遠也沒辦法提高,因為你是走在別人的影子里。
12、多利用網(wǎng)絡(luò)的搜索,學(xué)會提問題。一般來說,學(xué)習(xí)過程中,你遇上的問題,前人們多數(shù)也有遇上的,所以如果有什么不懂,在自己解決不了的時候,最好先到網(wǎng)上搜索一下,看能不能找到答案,找不到再到論壇里發(fā)問,發(fā)問也要有目的性,盡量簡單明了的描述問題,讓幫助你的人可以用最少的時間就看懂你說什么,畢竟人家?guī)椭闶敲赓M的,時間也是有限的。
以上就是我學(xué)習(xí)單片機的經(jīng)歷和心得體會,希望對大家會有幫助,說得有不好或不對的地方歡迎大家批評指正。
時光飛逝,一轉(zhuǎn)眼,一個學(xué)期又進尾聲了,本學(xué)期的單片機綜合課程設(shè)計也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。說起課程設(shè)計,我認(rèn)為最重要的就是做好設(shè)計的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個自己有興趣的題目。其次,老師對實驗的講解要一絲不茍的去聽去想,因為只有都明白了,做起設(shè)計就會事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計,到頭來一點收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計算起來在實驗室的時間只有三天,不過因為我們都有自己的實驗板,所以在宿舍里做實驗的時間一定不止三天。
硬件的設(shè)計跟焊接都要我們自己動手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個能完成課程設(shè)計的勞動成果出來了,很高興它能按著設(shè)計的思想與要求運動起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯誤。()第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗。對于這次單片機綜合課程實習(xí),我的第一大心得體會就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對應(yīng)該是嚴(yán)謹(jǐn)。我們這次實習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅強,有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設(shè)計過程中我鍛煉了自己的思考能力和動手能力。通過題目選擇和設(shè)計電路的過程中,加強了我思考問題的完整性和實際生活聯(lián)系的可行性。在方案設(shè)計選擇和芯片的選擇上,培養(yǎng)了我們綜合應(yīng)用單片機的能力,對單片機的各個管腳的功能也有了進一步的認(rèn)識。還鍛煉我們個人的查閱技術(shù)資料的能力,動手能力,發(fā)現(xiàn)問題,解決問題的能力。并且我們熟練掌握了有關(guān)器件的性能及測試方法。
再次感謝老師的輔導(dǎo)以及同學(xué)的幫助,是他們讓我有了一個更好的認(rèn)識,無論是學(xué)習(xí)還是生活,生活是實在的,要踏實走路。課程設(shè)計時間雖然很短,但我學(xué)習(xí)了很多的東西,使我眼界打開,感受頗深。
單片機學(xué)習(xí)總結(jié)篇七
先說說單片機,一般我們此刻用的比較多的的mcs—51的單片機,它的資料比較多,用的人也很多,市場也很大。就我個人的體會怎樣樣才能更快的學(xué)會單片機這門課。單片機這門課是一項十分重視動手實踐的科目,不能總是看書,可是學(xué)習(xí)它首先必須得看書,因為從書中你需要大概了解一下,單片機的各個功能寄存器,而說明白點,我們使用單片機就是用軟件去控制單片機的各個功能寄存器,再說明白點,就是控制單片機那些管腳的電平什么時候輸出高,什么時候輸出低。由這些高低電平的變化來控制你的系統(tǒng)板,實現(xiàn)我們需要的各個功能。至于看書,只需大概了解單片機各管腳都是干什么的能實現(xiàn)什么樣的功能第一次,第二次你可能看不明白,但這不要緊,因為還缺少實際的感觀認(rèn)識。所以我總是說,學(xué)單片機看書看兩三天的就夠了,看小說你一天能看五六本,看單片機你兩三天看兩三遍就夠了,能夠不用仔細(xì)的看。
推薦一本書,就這一本就足夠,書名是《新編mcs—51單片機應(yīng)用設(shè)計》,是哈爾濱工業(yè)大學(xué)出版社出的的,作者是張毅剛。大概了解一下書上的資料,然后實踐,這是十分關(guān)鍵的,如果說學(xué)單片機你不實踐那是不可能學(xué)會的,關(guān)于實踐有兩種方法你能夠選擇,一種方法:你自我花錢買一塊單片機的學(xué)習(xí)板,不要求功能太全的,對于初學(xué)者來說你買功能十分多的那種板子,上頭有很多東西你這輩子都用不著,我提議有流水燈、數(shù)碼管、獨立鍵盤、矩陣鍵盤、ad或da(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上頭我提到的這些,你能熟練應(yīng)用,那能夠說對于單片機方面的硬件你已經(jīng)入門了,剩下的就是自我練習(xí)設(shè)計電路,不斷的積累經(jīng)驗。只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。方法二:你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個簡單的最小系統(tǒng)板。對于高手來說,做個單片機的最小系統(tǒng)板只需要一分鐘的時間,而對于初學(xué)者可就難多了,因為僅有對硬件了解了,才能熟練運用。而如果你身邊沒有這樣的高手,又找不到能夠幫忙你的人,那我勸你最好是自我買上一塊,畢竟自我有一塊要方便的多,以后做單片機類的小實驗時都能用得上,還省事。
有了單片機學(xué)習(xí)板之后你就要多練習(xí),最好是自我有臺電腦,一天少看電影,少打游戲,把學(xué)習(xí)板和電腦連好,打開調(diào)試軟件坐在電腦前,先學(xué)會怎樣用調(diào)試軟件,然后從最簡單的流水燈實驗做起,等你能讓那八個流水燈按照你的意愿隨意流動時你已經(jīng)入門了,你會發(fā)現(xiàn)單片機是多么迷人的東西啊,太好玩了,這不是在學(xué)習(xí)知識,而是在玩,當(dāng)你編寫的程序按你的意愿實現(xiàn)時你比做什么事都開心,你會上癮的,真的。做電子類的人真的會上癮。然后讓數(shù)碼管亮起來,這兩項會了后,你已經(jīng)不能自拔了,你已經(jīng)開始研究你這輩子要走哪一行了。就是要這樣練習(xí),在寫程序的時候你肯定會遇到很多問題,而這時你再去翻書找,或是問別人,當(dāng)?shù)玫浇獯鸷竽銜涀∫惠呑拥?,知識必須用于現(xiàn)實生活中,解決實際問題,這樣才能發(fā)揮它的作用,你自我好好想想,上了這么多年大學(xué),天天上課,你在課堂上學(xué)到了什么是不是為了期末考試而忙碌呢考完得了90分,哈哈哈好高興啊,下學(xué)期開學(xué)回來忘的一干二凈,是不是你學(xué)到什么了可是我告訴你單片機一旦學(xué)會,永遠不會忘了。另外我再說說用匯編和c語言編程的問題。
很多同學(xué)大一二就開設(shè)了c語言的課,我也上過,我明白那時天天就是幾乘幾,幾加幾啊,求個階乘啊。學(xué)完了有什么用讓你用c語言編單片機的程序你是不是就傻了書上的東西我們必須要會運用。單片機編程用c語言或匯編語言都能夠,可是我提議用c語言比較好,如果原先有c語言的基礎(chǔ)那學(xué)起來會更好,如果沒有,也能夠邊學(xué)單片機邊學(xué)c語言,c語言也挺簡單,只是一門工具而已,我勸你最好學(xué)會,將來肯定用得著,要不你以后也得學(xué),你一點匯編都不會根本無所謂,但你一點c語言都不會那你將來會吃苦頭。匯編寫程序代碼效率高,但相對難度較大,并且很羅嗦,尤其是遇到算法方面的問題時,根本是麻煩的不得了,此刻單片機的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因為有高頻率的時鐘,單片機的rom也在不斷的提高,足夠裝得下你用c語言寫的任何代碼,c語言的資料又多又好找,將來可移植性十分好,只需要變一個io口寫個溫度傳感器的程序在哪里都能用,所以我勸大家用c語言。
總結(jié)上頭,只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,那學(xué)個單片機來說就是件十分容易的事。
步驟:
1、找本書大概了解一下單片機結(jié)構(gòu),大概了解就行。不用都看懂,又不讓你出書的。(三天)。
2、找學(xué)習(xí)板練習(xí)編寫程序,學(xué)單片機就是練編程序,遇到不會的再問人或查書。(二十天)。
3、自我網(wǎng)上找些小電路類的資料練習(xí)設(shè)計外圍電路。焊好后自我調(diào)試,熟悉過程。(十天)。
4、自我完全設(shè)計具有個人風(fēng)格的電路,產(chǎn)品,你已經(jīng)是高手了......
看到了嗎下功夫一個多月你就能成為高手,我就講這么多了,學(xué)不學(xué)得會,下不下得了功夫就看你的了。
單片機學(xué)習(xí)總結(jié)篇八
經(jīng)常在群、論壇里看到有人問:怎么學(xué)單片機?也常看到有人說學(xué)了好幾個月可就是沒有什么進展。當(dāng)然,受限于每個人受到的教育水平不同和個人理解能力的差異,學(xué)習(xí)起來會有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。一個好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機的經(jīng)歷和方法。
05年的時候,因為制作fm發(fā)射電路采用了bh1415的芯片,需要用到單片機控制,所以開始接觸使用單片機,雖然以前讀書時作為一門功課學(xué)過,不過也快丟荒了10年了,基本上都忘光了,也算是從頭學(xué)起了吧。我當(dāng)時是買了一塊實驗板,很簡單的功能,比論壇實驗板還要少功能,還有一個仿真器,也是比較簡單的,sst芯片的。然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個程序基本上就抄人家的,翻查了一份快速入門的學(xué)習(xí)資料,寫下第一個程序。然后,在仿真機是單步的看運行結(jié)果,從每一步執(zhí)行,都硬件上反應(yīng)出來的效果,很快,對單片機的運作有了一個非常感性的認(rèn)識,這跟只看書然后自己想象運行是完全兩碼事。然后,是進一步的其它程序?qū)W習(xí),一個月時間,基本上已經(jīng)熟悉了51的各種硬件資源。把流水燈,數(shù)碼管動態(tài)掃描,中斷等等的學(xué)習(xí)了,然后就是寫綜合性的程序,也就是我發(fā)在論壇里的時鐘。通過這個程序的編寫,使自己的編程水平有了很大的飛躍。之后,就是逐步學(xué)習(xí)編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。在學(xué)過匯編之后,我又轉(zhuǎn)到了c語言學(xué)習(xí),因為以前沒有學(xué)習(xí)過c語言,一切都很陌生,所以自己沿用了學(xué)習(xí)匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實現(xiàn)了從匯編編程為主到c編程為主的轉(zhuǎn)變。然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風(fēng)格,一直到現(xiàn)在,基本上就是c語言編程,匯編已經(jīng)是作為調(diào)試程序的'輔助。
下面我概括了幾點我的學(xué)習(xí)經(jīng)驗和心得體會:
1、萬事開頭難、要勇敢邁出第一步。開始的時候,不要老是給自己找借口,說keil不會建項目啦、沒有實驗板啦之類的。遇到困難要一件件攻克,不會建項目,就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個最簡單的,讓它運行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會差多少,總得建個項目,再配置一下項目,然后建個程序,加入項目中,再寫代碼、編譯、生成hex,刷進單片機中、運行。必須熟悉這一套工序。個人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運行一下看結(jié)果,學(xué)習(xí)效果會好很多,仿真器就看個人需要了。單片機是注重理論和實踐的,光看書不動手,是學(xué)不會的。
2、知識點用到才學(xué),不用的暫時丟一邊。厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計也快忘光了,所以,最好結(jié)合實際程序,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點一小點的啃。
3、程序不要光看不寫,一定要自己寫一次。最開始的時候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達到什么目的,運行后有什么后果,看明白了之后,就要自己寫一次,你會發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時候卻一句也寫不出來,這就是差距……當(dāng)你自己能寫出來的時候,說明你就真的懂了。
4、必須學(xué)會掌握調(diào)試程序的方法。不少人寫程序,把代碼寫好了,然后一運行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個帖子,把程序一貼,問:為什么我的程序不能正常運行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會發(fā)現(xiàn)問題和學(xué)會如何解決問題。這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運行結(jié)果和你想象中不一樣的時候,你可以單步,也可以下斷點,然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個過程非常重要,通過程序的排錯,你可以學(xué)到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。我們用單片機來控制周邊器件,達到我們想到的目的,這是一個題目,而如何寫出一個程序,來控制器件按你想要的結(jié)果去運作,這個就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會找出這個解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人,所以現(xiàn)在我也明白了,以前讀書時說的程序流程圖很重要,現(xiàn)在算是知道了。當(dāng)你知道一個問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。舉個例子:數(shù)碼管動態(tài)掃描,沒寫過的初學(xué)者可能搞不清是怎么回事,其實,就是分時讓每一時間段時只控制一只數(shù)碼管顯示數(shù)字,幾只數(shù)碼管輪流顯示,由于速度很快,人眼的看起來是全部數(shù)碼管都亮的。明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數(shù)碼管輪流顯示出相應(yīng)的數(shù)值。顯示數(shù)字,然后延時一下,再下一只顯示數(shù)字,延時,知道是這樣,我們實際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時一下,再關(guān)閉位選,再送出段碼,再打開另一只位選僅此而已。有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動態(tài)掃描的原理都沒懂,不知道如何做,那么這個程序是怎么也寫不出來的。
6、開動腦筋,運用多種方法,不斷優(yōu)化自己的程序。想想用各種不同方法來實現(xiàn)同一功能。這是一個練習(xí)和提高的過程,一個問題,你解決了,那么你再想想,能不能換種寫法,也可以實現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點,讓程序執(zhí)行效率更高,這個過程,就是一個進步的過程。很多知識和經(jīng)驗的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經(jīng)驗才能得到積累,編程水平才能有所提高。
7、看別人的代碼,學(xué)習(xí)人家的思路。這個在學(xué)習(xí)初期是很有用,通過看別人的代碼,特別是有多年編程經(jīng)驗的人寫出的具有一定水平的代碼,可以使自己編程水平得到迅速的提高,同時,也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的代碼,從中得到進步。但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會了,這樣做只會使你退步。
8、嘗試編寫一下綜合應(yīng)用的程序。從流水燈學(xué)起,到動態(tài)掃描,再到中斷,那么,你可以試試寫一下時鐘這種綜合性應(yīng)用的程序,不要小看時鐘,要寫好它不是一件容易的事情,它包括了單片機大部分的知識,比如有按鍵(io讀?。討B(tài)掃描(io輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨寫一個功能的時候,比如按鍵讀取,你可能感覺很容易,因為你的程序啥也不做,只是讀按鍵。但把它和其它功能混合在一起,如何在整個程序運行中使每一部分都正常工作,這就不是寫一個按鍵讀取這么容易的事情,功能模塊之間有可能會互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個協(xié)調(diào)過程。當(dāng)你有了這個處理協(xié)調(diào)能力,你就算是入門了。
9、著重于培養(yǎng)解決問題的能力,而不是具體看自己編寫了多少代碼或者做過什么?!皩W(xué)單片機重點在于學(xué)習(xí)解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學(xué)單片機多年來感悟出來的。經(jīng)??吹接腥苏f“你會驅(qū)動xx芯片,真牛啊”“你搞過xx項目,真厲害”之類的話,其實這是非常片面的,搞過xx芯片,搞過xx項目,只能說明你做過這一項目,它只是你的業(yè)績,并不是代表能力就一定高。真正的能力應(yīng)該是:“遇到?jīng)]有解決過的問題或器件,能利用自己已學(xué)的知識,迅速找到解決問題的方法?!边@個才是能力。寫程序的過程就是一個創(chuàng)造的過程,幾乎沒有完全一樣的項目,每次你遇上的幾乎都不相同,所以你擁有的必須是你面對新項目時的創(chuàng)造能力,而不是標(biāo)榜著你以往做過多少項目。當(dāng)然,業(yè)績也能從另一側(cè)面反映你的經(jīng)驗和水平。
10、如果有可能,多學(xué)習(xí)計算機專業(yè)的知識,比如數(shù)據(jù)結(jié)構(gòu)等。這些是你解決問題的基礎(chǔ)知識,你把這些知識應(yīng)用得越好,就會發(fā)現(xiàn)越容易找到解決問題的方法,這就是為什么一個學(xué)計算機專業(yè)的人編的程序和一個非計算機專業(yè)的人編的程序有差異的原因。也是一個菜鳥進軍到高手所要配備的知識。如果我們把編程分為宏觀編程和微觀編程,那么微觀編程就是寫具體的代碼,比如控制某某器件的語句;而宏觀編程就是如何對整個程序進行布局、安排,使功能模塊以你想要的方式去運行,得出你想要的結(jié)果。如前所說“會控制xx器件”這些只能算是微觀編程,能做到這一步還只能算是菜鳥級別,如果面對一個新的器件,你心里沒底,沒把握去寫這個控制程序,那說明你還是一個初級的菜鳥。當(dāng)你有了一定的編程經(jīng)驗,控制過相當(dāng)數(shù)量的器件之后,你就會發(fā)現(xiàn),控制器件這些工作都是相似的、重復(fù)的工作,體現(xiàn)不出編程的水平,最多也是寫得好與不好的差別,只能算是一些小技巧的應(yīng)用。而對整個程序進行布局、安排這些才是最頭痛的事情,能達到宏觀編程和微觀編程都做好才是真正的高手。對于規(guī)模越大的程序,越能體現(xiàn)出這一點。
11、面對一個新項目時,多自己開動腦筋,不要急于找別人的程序。有不少人面對一個新項目時,第一步想到的就是網(wǎng)上找別人寫過的代碼,然后抄一段,自己再寫幾句,湊在一起就完成任務(wù),這雖然可能是省時間,但絕對不利你的學(xué)習(xí)。當(dāng)你接到一個新項目時,應(yīng)該先自己構(gòu)思一下整個程序的架構(gòu),想想如何來完成,有可能的話,畫一個流程圖,簡單的可以畫在腦子里,對程序中用到的數(shù)據(jù)、變量有一個初步的安排,然后自己動手去寫,遇到實在沒辦法解決的地方,再去請教別人,或看別人是怎么處理的,這樣首先起碼你自己動過腦想過,自己有自己的思路,如果你一開始就看別人的程序,你的思維就會受限在別人的思維里,自己想再創(chuàng)新就更難了,這樣你自己永遠也沒辦法提高,因為你是走在別人的影子里。
12、多利用網(wǎng)絡(luò)的搜索,學(xué)會提問題。一般來說,學(xué)習(xí)過程中,你遇上的問題,前人們多數(shù)也有遇上的,所以如果有什么不懂,在自己解決不了的時候,最好先到網(wǎng)上搜索一下,看能不能找到答案,找不到再到論壇里發(fā)問,發(fā)問也要有目的性,盡量簡單明了的描述問題,讓幫助你的人可以用最少的時間就看懂你說什么,畢竟人家?guī)椭闶敲赓M的,時間也是有限的。
單片機學(xué)習(xí)總結(jié)篇九
我從大二起,就去實驗室去學(xué)習(xí)。在那里與教師和一些電子設(shè)計愛好者的交流中,我學(xué)到了更多的專業(yè)知識。我從此走上了學(xué)習(xí)嵌入式的道路。這豐富了我的大學(xué)生活,是我在大學(xué)的最大收獲。
我是從學(xué)習(xí)單片機開始我的嵌入式學(xué)習(xí)的。
我接觸單片機的方式是在圖書館看書,我看了很多本書,可是大多數(shù)書寫的大同小異。書里面講解的單片機的寄存器我看了很多遍也沒有看懂。我都不明白改怎樣學(xué)習(xí)它了。慢慢的我悟出了一個道理:電子的學(xué)習(xí)實踐是最重要的,這樣,我在大二的時候就買了一塊學(xué)習(xí)板,我一邊看視頻一邊仿照視頻的程序,自我編寫程序,在很短的時間里,我的單片機有了很大的提高。那些難懂的寄存器透過編寫程序,我慢慢的弄懂了它們,此刻回頭看去,原先它還是很簡單的。
用哪種編程語言最適合我們。
我看過的單片機的書籍,大部分的程序都是匯編寫的。它是一種基于機器硬件的低級語言,對于我們這些只學(xué)習(xí)過c語言的人來說,十分難懂。我認(rèn)為剛開始學(xué)習(xí)單片機沒有必要必須要從學(xué)習(xí)匯編編程開始。我學(xué)習(xí)單片機就是用c語言編程的,我并不會匯編語言,也沒有妨礙我把單片機學(xué)好。
很多人說,學(xué)單片機最好先學(xué)匯編語言,以我的經(jīng)驗告訴大家,絕對沒有這個必要,初學(xué)者一開始就直接用c語言為單片機編程,既省時間,學(xué)起來又容易,提高速度會很快。在剛開始學(xué)單片機的時候,千萬不要為了解單片機內(nèi)部結(jié)構(gòu)而浪費時間,這樣只能打擊你的信心,當(dāng)你學(xué)會編程后,自然一步步就掌握其內(nèi)部結(jié)構(gòu)了。
單片機提高重在實踐,想要學(xué)好單片機,軟件編程必不可少??墒鞘煜び布τ趯W(xué)好單片機的也是十分重要的。如何學(xué)習(xí)好硬件,動手實踐是必不可少的。我們能夠透過自我動手做一個自我的電子制作,透過完成它,以提高我的對一些芯片的了解和熟練運用它。這樣我們就能夠多一些了解芯片的結(jié)構(gòu)。我相信,你完成了一個屬于自我的電子制作,你的單片機水平就會有一個質(zhì)的提高。
單片機學(xué)習(xí)總結(jié)篇十
本人還是學(xué)生,此刻大三,接觸單片機一年多以來,從最基礎(chǔ)的51開始,到更高級點的msp430,一向到此刻剛開始上手的stm32,編過的程序不算多,但加起來怎樣也有上百個了,做過的東西仔細(xì)數(shù)數(shù),能拿出手來算算的上是個樣的也不下十個,算是小有所成吧。
但今日,我卻發(fā)現(xiàn),這一年我一向在走一條歪路。
先說一下情景吧,是這樣的,最近同學(xué)幾個合伙做個小項目,不算復(fù)雜,跟市面上的工程項目完全沒法比,用難再需要使用的一個芯片是教師給的,從沒用過,沒有歷程,至于一份電子版的數(shù)據(jù)手冊,一切的一切都只能是從頭開始,從底層開始,我們幾個斌開始從最底層的邏輯時序、寄存器操作開始,但經(jīng)過幾天的研究,確實毫無效果可言。
為此,我們幾個郁悶了好長時間,開始瘋狂的上網(wǎng)搜資料,拷代碼,卻終究是不得而返,還讓教師罵了一頓,因為這個項目是我們主動要求教師放給我們的,結(jié)果卻耽誤了工期。
我次我們幾個人很受打擊,最終決定大家一齊靜下心來分析分析,到底我們敗在了什么地方。
最終總經(jīng)過兩天的思考、討論、總結(jié)、檢討···,我們發(fā)現(xiàn)了問題的所在,想來想去,這估計是很大一部分初學(xué)者正在面臨的一個“瓶頸問題”,所以,由我凈這個討論的結(jié)果發(fā)布出來,期望與更多的人交流、分享、提高、共勉。
下頭先總結(jié)一下我們失敗的幾點原因:
1、“都是開發(fā)板惹的禍”,能夠說從開始學(xué)習(xí)單片機,哪怕是最基礎(chǔ)的51、以致之后的msp430、arm,我沒從未離開過開發(fā)板,并且這長達一年多的時間,養(yǎng)成了我們對開發(fā)板極大的依靠,盡管自我焊過51最小系統(tǒng)、繪制過430最小系統(tǒng)板,但都是參考的別人已有的電路圖,連最基本的電路基本都沒分析過,為什么要在這幾個電阻,該加個多大的,不加會怎樣樣,太大了太小了會有什么后果,等等此類問題,我們從未分析過,全是copy、copy、再copy,以致自我做過的東西不少,本事卻未曾提高。
2、“全是例程誤導(dǎo)我”,我們買來的開發(fā)板,往往都會帶有豐富的例程,通常這也是賣家吹噓、比拼的地方,但就是這些附帶的歷程,讓我們與底層的開發(fā)絕緣了,有了例程,我們不用再一個代碼一個代碼地敲鍵盤,不用再去研究那些器件的數(shù)據(jù)手冊、通信接口、寄存器、內(nèi)部原理、以及很多商家沒給我們加進去的功能,哪怕是將這些程序改到別的地方,我們也可是是在宏定義里改兩個引腳配置而已,從未嘗試過從底層寫驅(qū)動、敲代碼、寫函數(shù),從未嘗試過快平臺移植代碼,開發(fā)呢些沒用過的功能等等。
3、“現(xiàn)實環(huán)境太無奈”,這跟上頭兩個說的是不一樣的方面,我們都是大學(xué)生,大學(xué)里此刻吵得火熱的“大學(xué)生就業(yè)難”、“你是考研還是就業(yè)”、“你報xxx培訓(xùn)班了嗎”“你考四六級證了嗎”等等,好像上大學(xué)就是為了干這些,似乎沒有這些,你就會陷入“畢業(yè)即失業(yè)”的困境。應(yīng)對這些外來的干擾,越來越多的學(xué)生坐不住了,我們這些人也一樣,盡管一向在學(xué)習(xí)自我的愛好,但當(dāng)被人問得多了的時候,心里也難免會發(fā)毛、會害怕,從而導(dǎo)致一年來真正靜下心來學(xué)這些東西的時間越來越少。
大體也就總結(jié)怎樣多吧,經(jīng)過這次失敗,也算是教訓(xùn)深刻吧,此刻才大三,到大四畢業(yè),還有近兩年的時間,還不算太晚,再說將來的路還長,此刻發(fā)現(xiàn)這些,應(yīng)當(dāng)不算晚吧。
對我們來說,革命尚未成功,同志仍需努力啊!
開這貼,一為總結(jié)這次失敗、而為自我立志改變、三為警示之后的同學(xué)、四為大家齊言獻計。
大家有遇到同樣問題的、要類似迷茫的、要好的提議意見的,歡迎回帖交流,大家一齊共勉。
單片機學(xué)習(xí)總結(jié)篇十一
學(xué)習(xí)單片機最終要的是當(dāng)然是練,我所說的學(xué)習(xí)跟課堂上的單片機學(xué)習(xí)不同,我以前也看過一些單片機教材,有些教材講的是單片機的工作原理和內(nèi)部結(jié)構(gòu),這些東西對于我們暫時并不需要,等以后開課的時候在學(xué)習(xí)好了?,F(xiàn)在要學(xué)習(xí)的是暫時拋開內(nèi)部結(jié)構(gòu)原理不談,如何能用單片機寫一些簡單的小程序,是從實用性的角度出發(fā),網(wǎng)上有一種說法稱之為先實踐后理論的學(xué)習(xí)方法。
因此我的觀點如下,單片機的硬件結(jié)構(gòu)首先要有一個基本的了解,最起碼要知道各引腳的功能、區(qū)別,能自己動手搭一個單片機的最小系統(tǒng),然后就可以直接從程序入手,程序最好還是用c語言編程,從簡單的跑馬燈做起,逐漸深入,陸續(xù)可以做一些數(shù)碼管、液晶、ds1302、ds18b20等電子元器件的應(yīng)用,在深入就可以結(jié)合一些具體實例擴展一些中斷、串口通訊等功能。還有一點要聲明的是單片機里用到的c語言其實很有限,課堂上學(xué)習(xí)c++的很大一部分內(nèi)容在初期單片機編程中都用不到,因此沒必要因為覺的自己的c語言基礎(chǔ)不是很好而對單片機望而止步!
單片機學(xué)習(xí)總結(jié)篇十二
兩周的單片機課程設(shè)計最終順利完成了,其中包含著歡樂,也有辛酸。我們選的設(shè)計題目是“數(shù)字溫度計”,大家都覺得這個題目是比較簡單的。其實不然,做了之后,發(fā)現(xiàn)設(shè)計電路雖然簡單,但我們認(rèn)為它真正困難的地方是程序設(shè)計,可是在我們同心努力下最終完成了。
我們剛選該題目時,真的是一頭霧水,硬件電路不知如何下手,更何談解決程序那塊,因為我們所學(xué)的都是單片機方面的理論知識,應(yīng)用到實踐中去還比較少??墒?,我們?nèi)艘矝]偷下懶,迅速分工去查閱和收集資料。我們?nèi)チ藞D書館借一些參考書,上網(wǎng)找一些相關(guān)資料,并且請教指導(dǎo)教師。經(jīng)過不斷努力,最終把數(shù)字溫度計的思路和模型定了下來并開始分一個人去焊接硬件電路,剩下的去整理和修改程序。
經(jīng)過一番整理和修改后,在電腦上進行仿真,仿真成功后準(zhǔn)備焊接電路板。在焊接電路板中,我們首先對硬件電路進行布局,然后確認(rèn)無誤后,在電路板上進行焊接,這個過程我們覺得是做得比較快的,以至于后面出現(xiàn)了虛焊的錯誤。
焊接電路板完工,細(xì)心檢查后,進行通電測試。結(jié)果液晶lcd沒有顯示,經(jīng)過檢查,原先是lcd壞了,在換了塊新的后,能顯示顯示值。但還有個問題是,當(dāng)報警電路不會報警,在請教教師后,發(fā)現(xiàn)走動蜂鳴器的電壓太低了,是因為串接了一個太大的電阻。然后,我們換了一個小電阻,但這時蜂鳴器卻一向在叫,停不下來,可是,在我們?nèi)说牡募?xì)心檢查下,原先是在放大電路的一端虛焊了,這說明我們焊接電路的技術(shù)還不夠好。在重新焊接那端后,數(shù)字溫度電路最終成功實現(xiàn)功能,當(dāng)時我們的心境都是無比興奮和歡樂的,因為我們兩周的辛苦沒有白費。
在完成單片機課程設(shè)計后,我們發(fā)現(xiàn)我們還有許多不足,所學(xué)到的知識還遠遠不夠,以至于還有一些功能不能被動完成。但經(jīng)過學(xué)習(xí)這一次實踐,增強了我們的動手本事,提高和鞏固了單片機方面的知識,特別是軟件方面。從中增強了我們的團隊合作精神,并讓我們認(rèn)識到把理論應(yīng)用到實踐中去是多么重要。
單片機學(xué)習(xí)總結(jié)篇十三
很多想學(xué)單片機的人問我的第一句話就是怎樣才能學(xué)好單片機?對于這個問題我今天就我自己是如何開始學(xué)單片機,如何開始上手,如何開始熟練這個過程給大家講講。
先說說單片機,一般我們現(xiàn)在用的比較多的的mcs-51的單片機,它的資料比較多,用的人也很多,市場也很大。
就我個人的體會怎么樣才能更快的學(xué)會單片機這門課。
單片機這門課是一項非常重視動手實踐的科目,不能總是看書,但是學(xué)習(xí)它首先必須得看書,因為從書中你需要大概了解一下,單片機的各個功能寄存器,而說明白點,我們使用單片機就是用軟件去控制單片機的各個功能寄存器,再說明白點,就是控制單片機那些管腳的電平什么時候輸出高,什么時候輸出低。
由這些高低電平的變化來控制你的系統(tǒng)板,實現(xiàn)我們需要的各個功能。
至于看書,只需大概了解單片機各管腳都是干什么的?能實現(xiàn)什么樣的功能?第一次,第二次你可能看不明白,但這不要緊,因為還缺少實際的感觀認(rèn)識。
所以我總是說,學(xué)單片機看書看兩三天的就夠了,看小說你一天能看五六本,看單片機你兩三天看兩三遍就夠了,可以不用仔細(xì)的看。
推薦一本書,就這一本就足夠,書名是《新編mcs-51單片機應(yīng)用設(shè)計》,是哈爾濱工業(yè)大學(xué)出版社出的的,作者是張毅剛。
大概了解一下書上的內(nèi)容,然后實踐,這是非常關(guān)鍵的,如果說學(xué)單片機你不實踐那是不可能學(xué)會的,關(guān)于實踐有兩種方法你可以選擇,一種方法:你自己花錢買一塊單片機的學(xué)習(xí)板,不要求功能太全的,對于初學(xué)者來說你買功能非常多的那種板子,上面有很多東西你這輩子都用不著,我建議有流水燈、數(shù)碼管、獨立鍵盤、矩陣鍵盤、ad或da(原理一樣)、液晶、蜂鳴器,這就差不多了。
如果上面我提到的這些,你能熟練應(yīng)用,那可以說對于單片機方面的硬件你已經(jīng)入門了,剩下的就是自己練習(xí)設(shè)計電路,不斷的積累經(jīng)驗。
只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。
方法二:你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個簡單的最小系統(tǒng)板。
對于高手來說,做個單片機的最小系統(tǒng)板只需要一分鐘的時間,而對于初學(xué)者可就難多了,因為只有對硬件了解了,才能熟練運用。
而如果你身邊沒有這樣的高手,又找不到可以幫助你的人,那我勸你最好是自己買上一塊,畢竟自己有一塊要方便的多,以后做單片機類的小實驗時都能用得上,還省事。
有了單片機學(xué)習(xí)板之后你就要多練習(xí),最好是自己有臺電腦,一天少看電影,少打游戲,把學(xué)習(xí)板和電腦連好,打開調(diào)試軟件坐在電腦前,先學(xué)會怎么用調(diào)試軟件,然后從最簡單的流水燈實驗做起,等你能讓那八個流水燈按照你的意愿隨意流動時你已經(jīng)入門了,你會發(fā)現(xiàn)單片機是多么迷人的東西啊,太好玩了,這不是在學(xué)習(xí)知識,而是在玩,當(dāng)你編寫的程序按你的意愿實現(xiàn)時你比做什么事都開心,你會上癮的,真的。
做電子類的人真的會上癮。
然后讓數(shù)碼管亮起來,這兩項會了后,你已經(jīng)不能自拔了,你已經(jīng)開始考慮你這輩子要走哪一行了。
就是要這樣練習(xí),在寫程序的'時候你肯定會遇到很多問題,而這時你再去翻書找,或是問別人,當(dāng)?shù)玫浇獯鸷竽銜涀∫惠呑拥?,知識必須用于現(xiàn)實生活中,解決實際問題,這樣才能發(fā)揮它的作用,你自己好好想想,上了這么多年大學(xué),天天上課,你在課堂上學(xué)到了什么?是不是為了期末考試而忙碌呢?考完得了90分,哈哈哈好高興啊,下學(xué)期開學(xué)回來忘的一干二凈,是不是?你學(xué)到什么了?但是我告訴你單片機一旦學(xué)會,永遠不會忘了。
另外我再說說用匯編和c語言編程的問題。
很多同學(xué)大一二就開設(shè)了c語言的課,我也上過,我知道那時天天就是幾乘幾,幾加幾啊,求個階乘啊。
學(xué)完了有什么用?讓你用c語言編單片機的程序你是不是就傻了?書上的東西我們必須要會運用。
單片機編程用c語言或匯編語言都可以,但是我建議用c語言比較好,如果原來有c語言的基礎(chǔ)那學(xué)起來會更好,如果沒有,也可以邊學(xué)單片機邊學(xué)c語言,c語言也挺簡單,只是一門工具而已,我勸你最好學(xué)會,將來肯定用得著,要不你以后也得學(xué),你一點匯編都不會根本無所謂,但你一點c語言都不會那你將來會吃苦頭。
匯編寫程序代碼效率高,但相對難度較大,而且很羅嗦,尤其是遇到算法方面的問題時,根本是麻煩的不得了,現(xiàn)在單片機的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因為有高頻率的時鐘,單片機的rom也在不斷的提高,足夠裝得下你用c語言寫的任何代碼,c語言的資料又多又好找,將來可移植性非常好,只需要變一個io口寫個溫度傳感器的程序在哪里都能用,所以我勸大家用c語言。
總結(jié)上面,只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,那學(xué)個單片機來說就是件非常容易的事。
步驟:
1.找本書大概了解一下單片機結(jié)構(gòu),大概了解就行。
不用都看懂,又不讓你出書的。(三天)。
2.找學(xué)習(xí)板練習(xí)編寫程序,學(xué)單片機就是練編程序,遇到不會的再問人或查書。(二十天)。
3.自己網(wǎng)上找些小電路類的資料練習(xí)設(shè)計外圍電路。
焊好后自己調(diào)試,熟悉過程。(十天)。
4.自己完全設(shè)計具有個人風(fēng)格的電路,產(chǎn)品,。
你已經(jīng)是高手了。
看到了嗎?下功夫一個多月你就能成為高手,我就講這么多了,學(xué)不學(xué)得會,下不下得了功夫就看你的了。
單片機學(xué)習(xí)總結(jié)篇一
我從大二起,就去實驗室去學(xué)習(xí)。在那里與老師和一些電子設(shè)計愛好者的交流中,我學(xué)到了更多的專業(yè)知識。我從此走上了學(xué)習(xí)嵌入式的道路。這豐富了我的大學(xué)生活,是我在大學(xué)的最大收獲。
我是從學(xué)習(xí)單片機開始我的嵌入式學(xué)習(xí)的。
我接觸單片機的方式是在圖書館看書,我看了很多本書,但是大多數(shù)書寫的大同小異。書里面講解的單片機的寄存器我看了很多遍也沒有看懂。我都不明白改怎樣學(xué)習(xí)它了。慢慢的我悟出了一個道理:電子的學(xué)習(xí)實踐是最重要的,這樣,我在大二的時候就買了一塊學(xué)習(xí)板,我一邊看視頻一邊仿照視頻的程序,自己編寫程序,在很短的時間里,我的單片機有了很大的提高。那些難懂的寄存器透過編寫程序,我慢慢的弄懂了它們,此刻回頭看去,原先它還是很簡單的。
用哪種編程語言最適合我們。
我看過的單片機的書籍,大部分的程序都是匯編寫的。它是一種基于機器硬件的低級語言,對于我們這些只學(xué)習(xí)過c語言的人來說,十分難懂。我認(rèn)為剛開始學(xué)習(xí)單片機沒有必要必須要從學(xué)習(xí)匯編編程開始。我學(xué)習(xí)單片機就是用c語言編程的,我并不會匯編語言,也沒有妨礙我把單片機學(xué)好。
很多人說,學(xué)單片機最好先學(xué)匯編語言,以我的經(jīng)驗告訴大家,絕對沒有這個必要,初學(xué)者一開始就直接用c語言為單片機編程,既省時間,學(xué)起來又容易,進步速度會很快。在剛開始學(xué)單片機的時候,千萬不要為了解單片機內(nèi)部結(jié)構(gòu)而浪費時間,這樣只能打擊你的信心,當(dāng)你學(xué)會編程后,自然一步步就掌握其內(nèi)部結(jié)構(gòu)了。
單片機提高重在實踐,想要學(xué)好單片機,軟件編程必不可少。但是熟悉硬件對于學(xué)好單片機的也是十分重要的。如何學(xué)習(xí)好硬件,動手實踐是必不可少的。我們能夠透過自己動手做一個自己的電子制作,透過完成它,以提高我的對一些芯片的了解和熟練運用它。這樣我們就能夠多一些了解芯片的結(jié)構(gòu)。我相信,你完成了一個屬于自己的電子制作,你的單片機水平就會有一個質(zhì)的提高。
這就是我學(xué)習(xí)單片機的心得體會,期望給單片機的愛好者學(xué)好單片機有所幫忙。
單片機學(xué)習(xí)總結(jié)篇二
優(yōu)秀作文推薦:《單片機》這門課程我已經(jīng)學(xué)了一個學(xué)期了,在這一個學(xué)期的學(xué)習(xí)過程中,我一開始不怎么懂得編程,但慢慢的我現(xiàn)在已經(jīng)不僅會讀程序還會寫程序了。真為自己一個學(xué)期來努力學(xué)到的單片機知識只是而感到高興。
怎么學(xué)單片機?也??吹接腥苏f學(xué)了好幾個月可就是沒有什么進展。當(dāng)然,受限于每個人受到的教育水平不同和個人理解能力的差異,學(xué)習(xí)起來會有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。一個好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機的經(jīng)歷和方法。
我覺得學(xué)習(xí)單片機首先要懂得c語言,因為單片機大多說都是靠程序來實現(xiàn)的,如果看不懂程序或則不懂的編程是很難學(xué)會單片機的。學(xué)習(xí)單片機首先要明白一個程序是怎么走的,要完全懂得程序每一個步驟的意思。其次要懂得每一條指令的意思,不能盲目地去靠背指令,這是記得不牢靠的,最主要的還是靠了解。學(xué)習(xí)單片機最主要的對89c51芯片內(nèi)部結(jié)構(gòu)有全方面的,只要了解了89c51才能知道單片機實現(xiàn)什么樣的功能和作用,才能對單片機有更深一步的了解。通過一個學(xué)期《單片機》這門課程的學(xué)習(xí),我也從中有了不少心得和體會想和大家分享一下。
萬事開頭難、要勇敢邁出第一步。開始的時候,不要老是給自己找借口,不要說單片機的程序全是英文,自己看不懂。遇到困難要一件件攻克,不懂指令就要勤奮看書,不懂程序就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個最簡單的,讓它運行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會差多少。然后建個程序,加入項目中,再寫代碼、編譯、運行。必須熟悉這一套工序。個人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運行一下看結(jié)果,學(xué)習(xí)效果會好很多,仿真器就看個人需要了。單片機是注重理論和實踐的,光看書不動手,是學(xué)不會的。
知識點用到才學(xué),不用的暫時丟一邊。厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計也快忘光了,所以,最好結(jié)合實際程序,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點一小點的啃。程序不要光看不寫,一定要自己寫一次。最開始的時候,什么都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達到什么目的,運行后有什么后果??疵靼琢酥螅鸵约簩懸淮?,你會發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時候卻一句也寫不出來,這就是差距。當(dāng)你自己能寫出來的.時候,說明你就真的懂了。
必須學(xué)會掌握調(diào)試程序的方法。不少人寫程序,把代碼寫好了,然后一運行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個帖子,把程序一貼,問:為什么我的程序不能正常運行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會發(fā)現(xiàn)問題和學(xué)會如何解決問題。這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運行結(jié)果和你想象中不一樣的時候,你可以單步,也可以下斷點,然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個過程非常重要,通過程序的排錯,你可以學(xué)到的知識是書上得不到的。
找到解決問題思路比找到代碼更重要。我們用單片機來控制周邊器件,達到我們想到的目的,這是一個題目,而如何寫出一個程序,來控制器件按你想要的結(jié)果去運作,這個就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會找出這個解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。
我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以。要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人。所以現(xiàn)在我也明白了,以前讀書時說的程序流程圖很重要,現(xiàn)在算是知道了。當(dāng)你知道一個問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。
開動腦筋,運用多種方法,不斷優(yōu)化自己的程序。想想用各種不同方法來實現(xiàn)同一功能。這是一個練習(xí)和提高的過程,一個問題,你解決了,那么你再想想,能不能換種寫法,也可以實現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點,讓程序執(zhí)行效率更高,這個過程,就是一個進步的過程。很多知識和經(jīng)驗的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經(jīng)驗才能得到積累,編程水平才能有所提高。
看別人的程序,學(xué)習(xí)人家的思路。這個在學(xué)習(xí)初期是很有用,通過看別人的程序,特別是老師寫出的具有一定水平的程序,可以使自己編程水平得到迅速的提高。同時,也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的程序,從中得到進步。但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會了,這樣做只會使你退步。
嘗試編寫一下綜合應(yīng)用的程序。從流水燈學(xué)起,到動態(tài)掃描,再到中斷,那么,你可以試試寫一下時鐘這種綜合性應(yīng)用的程序,不要小看時鐘,要寫好它不是一件容易的事情,它包括了單片機大部分的知識,比如有按鍵(io讀?。?、動態(tài)掃描(io輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨寫一個功能的時候,比如按鍵讀取,你可能感覺很容易,因為你的程序什么也不做,只是讀按鍵。但把它和其它功能混合在一起,如何在整個程序運行中使每一部分都正常工作,這就不是寫一個按鍵讀取這么容易的事情,功能模塊之間有可能會互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個協(xié)調(diào)過程。當(dāng)你有了這個處理協(xié)調(diào)能力,你就算是入門了。
著重于培養(yǎng)解決問題的能力,而不是具體看自己編寫了多少程序或者做過什么。“學(xué)單片機重點在于學(xué)習(xí)解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學(xué)單片機學(xué)習(xí)單片機之后感悟出來的。真正的能力不是你曾經(jīng)編寫過多少個可以實現(xiàn)的程序,而應(yīng)該是:“遇到?jīng)]有解決過的問題,能利用自己已學(xué)的知識,迅速找到解決問題的方法?!边@個才是能力。
面對一個新程序時,多自己開動腦筋,不要急于找別人的程序。
有不少人面對一個新程序時,第一步想到的就是網(wǎng)上找別人寫過的程序,然后抄一段,自己再寫幾句,湊在一起就完成任務(wù),這雖然可能是省時間,但絕對不利你的學(xué)習(xí)。當(dāng)你接到一個程序時,應(yīng)該先自己構(gòu)思一下整個程序的架構(gòu),想想如何來完成。有可能的話,畫一個流程圖,簡單的可以畫在腦子里,對程序中用到的數(shù)據(jù)、變量有一個初步的安排,然后自己動手去寫,遇到實在沒辦法解決的地方,再去請教老師或同學(xué),或看別人是怎么處理的,這樣首先起碼你自己動過腦想過,自己有自己的思路。如果你一開始就看別人的程序,你的思維就會受限在別人的思維里,自己想再創(chuàng)新就更難了,這樣你自己永遠也沒辦法提高,因為你是走在別人的影子里。
學(xué)會提問題。一般來說,學(xué)習(xí)過程中,你遇上的問題,多數(shù)人也有遇上的,所以如果有什么不懂,你可以去問老師。我覺得學(xué)習(xí)單片機最主要的要多提問,對于一個自己不是太懂的程序,自己一定要多提問幾遍,這樣不但有利于加深自己的印象還能從中學(xué)到不少別人的方法。
經(jīng)過一個學(xué)期我對《單片機》這門課程的學(xué)習(xí),不僅讓我懂得了很多程序的編寫,還讓我學(xué)到了很多對自己有用的學(xué)習(xí)方法??偨Y(jié)這個學(xué)期來的我自己的學(xué)習(xí)情況,我覺得自己對編程進步了不少,懂得運用正確的學(xué)習(xí)方法學(xué)習(xí)單片機程序,不再去死記硬背指令了。所以我覺得學(xué)習(xí)要不斷總結(jié)學(xué)習(xí)方法,才能讓自己學(xué)習(xí)不斷進步。
交通信號燈設(shè)計報告。
實驗?zāi)康模簆1口的使用方法,延時程序的編寫。
實驗要求:在一個十字路口分為東西南北走向,信號等按以下的狀態(tài)順序工作:
(1)初始狀態(tài)0,東西、南北紅燈全亮。延時一定時間;
(2)狀態(tài)1,南北綠燈亮通車,東西紅燈,延時一定時間;
(3)狀態(tài)2,南北綠燈閃爍幾次轉(zhuǎn)黃燈,東西仍然紅燈,延時一定。
時間;
(4)狀態(tài)3,南北紅燈,東西綠燈通車,延時一定時間;
(5)狀態(tài)4,南北仍然紅燈,東西綠燈閃爍幾次轉(zhuǎn)黃燈,延時一定。
時間;
(6)循環(huán)至狀態(tài)1,繼續(xù)。
實驗電路和流程框架圖:
(1)硬件電路。
交通燈實訓(xùn)設(shè)備用最小系統(tǒng)板和信號燈組合而成。
2、軟件編程。
若各路口燈亮滅的時間間隔為2s鐘,燈光閃爍時間間隔為0.5s。用軟件延時的方法,晶振頻率12mhz時,一個機器周期為1us。
編寫交通信號燈程序:
編寫主程序,由r7做主程序的計數(shù)器,確定調(diào)用延時時間為0.5s,從而獲得交通燈的亮滅時間。
單片機學(xué)習(xí)總結(jié)篇三
剛出生的孩子叫“爸爸”“媽媽”的時候,他甚至不知道“爸爸”“媽媽”是什么意思,更不會理解這些聲音是什么意思,但是我們帶著孩子見到他爸爸就讓他喊“爸爸”,見到媽媽就讓他喊“媽媽”,見到爺爺就喊“爺爺”??慢慢的你會發(fā)現(xiàn),次數(shù)多了,孩子就知道誰是爸爸,誰是媽媽,誰是爺爺,誰是奶奶了。
大家剛開始接觸單片機的時候,也屬于單片機行業(yè)的新生兒。單片機的樣子,單片機外圍的各種器件,單片機內(nèi)部的各種結(jié)構(gòu),單片機使用c語言的編程方法,初學(xué)者可能都沒有見過,腦子里全無概念。沒關(guān)系,有些概念和方法你不理解也沒有關(guān)系,甚至不需要你去理解,你只需要跟著我去鸚鵡學(xué)舌式的學(xué)習(xí),第一遍學(xué)習(xí)某一節(jié)課的內(nèi)容時,對于程序,大家就可以完全跟著抄下來,甚至抄兩三遍,過一段你會發(fā)現(xiàn),好多東西你也認(rèn)識了,好多概念你也慢慢的理解清楚了,你也能大概看懂別人的小程序了,切忌覺得自己看會了,而簡單復(fù)制粘貼。
2)照葫蘆畫瓢。
很多同學(xué)學(xué)習(xí)的時候喜歡看,看我做的視頻,看我寫的程序,甚至看別人的程序,都能看懂,覺得自己就會了,等到自己寫程序的時候,感覺就是老鼠啃天,不知道從哪里下手了,這是初學(xué)者很容易犯的“眼高手低”的毛病,所以第二步的內(nèi)容就非常重要了。
我的要求是,每一位同學(xué),在學(xué)完了當(dāng)前課的內(nèi)容,把第一步順利完成以后,然后關(guān)掉視頻教程,關(guān)掉源代碼,自己通過看電路圖和查找非源代碼的其他任何資料,把當(dāng)節(jié)課我寫的程序代碼重新默寫出來,邊寫邊多少理解那么一點點,不是純粹的背誦,應(yīng)該說是背誦加理解的結(jié)合體。甚至學(xué)過幾節(jié)課以后,可以回頭把前邊曾經(jīng)這樣實現(xiàn)過的課程,再按照這種方法做一遍。千萬不要認(rèn)為這一步?jīng)]必要,這一步是你能否真正學(xué)會單片機的一個關(guān)鍵,在學(xué)完本教程之前,每一課內(nèi)容都要這樣做,如果每一個程序你都能夠完美的完成,那么可以說,當(dāng)節(jié)課的內(nèi)容,百分之七八十你已經(jīng)掌握了。
3)他山之石,可以攻玉。
單片機技術(shù)的最大特點就是可以通過修改程序來實現(xiàn)不同的功能,因此舉一反三的能力就必不可少了。每一節(jié)課的例程后邊,我一般都會布置幾個作業(yè),大家盡量去獨立完成這個作業(yè)。在完成這個作業(yè)的過程中,都可以參考我的程序思路,在這個基礎(chǔ)上通過動腦思考去構(gòu)建你自己的程序框架,最終將程序完成。
在我們工程師實際產(chǎn)品研發(fā)的時候,很多種情況下也是如此。比如一個產(chǎn)品,我們?nèi)绻麖牧闫鸩降脑?,可能會走很多彎路,遭遇很多前人已曾遭遇過的挫折,所以我們通常的做法是尋找購買幾款同類產(chǎn)品,然后先研究他們的各自優(yōu)缺點,學(xué)習(xí)他們的長處,然后在同類產(chǎn)品基礎(chǔ)上再來設(shè)計我們自己的產(chǎn)品,這就是“他山之石,可以攻玉”。
初學(xué)者在學(xué)習(xí)的時候,往往遇到的問題很多,你應(yīng)該想到,你遇到的問題,可能前輩們早就遇到過了,所以遇到問題后,不要慌張,首先利用谷歌或者百度這些搜索引擎在網(wǎng)上搜一下,要做什么新東西,先去網(wǎng)上找相關(guān)資料了解一下,不管是編程還是硬件設(shè)計,多多參考別人的東西,只要把別人的東西分析明白了,自己用起來了,也就成為自己的知識了。
4)理論實踐結(jié)合,溫故知新。
當(dāng)大家把所有的課程都按照前邊三步完成后,這個時候不妨再把書打開,再看看書,經(jīng)過了自己的實戰(zhàn)經(jīng)歷,再看書的時候,對很多知識點會有一種恍然大悟的感覺。甚至視頻教程、書籍都可以反復(fù)看幾遍,可能有的知識點當(dāng)時學(xué)習(xí)的時候不明白,過了一段時間,回過頭來再學(xué)習(xí)的時候,一下就明白了。
單片機學(xué)習(xí)總結(jié)篇四
單片機是一門實用技術(shù),我們學(xué)習(xí)它已經(jīng)不是為了應(yīng)付考試了,我給大家總結(jié)了單片機的學(xué)習(xí)方法是:一個要領(lǐng),四個步驟。
學(xué)習(xí)單片機的要領(lǐng)就是:在實踐中成長,indoingwelearn!
學(xué)射箭,你得去拉弓,整天只擺造型肯定不行;學(xué)游泳,你得下水撲騰,整天在岸上做模仿活動不行;學(xué)開車,你得坐車上去開,坐沙發(fā)上肯定學(xué)不會。同樣的道理,學(xué)單片機,整天盯著單片機書看肯定不行,你也必須得親自動手去練。
沒有不下水就學(xué)會游泳成為游泳健將的,沒有不到車上練就能成為賽車手的,這點大家都清楚,可為什么那么多人學(xué)單片機的時候,總是只抱著一本書看呢。第一,我們小學(xué)中學(xué)甚至大學(xué)的學(xué)習(xí)模式都是如此,學(xué)什么東西主要都是靠看書,應(yīng)付書面考試;第二,很多人想實踐卻不太清楚該怎么去實踐。
遇到問題查下書比直接看書的效果要好過百倍。不是不讓大家看書,而是。
單片機學(xué)習(xí)總結(jié)篇五
為了給前一段時間學(xué)習(xí)pic16f616型單片機的一個總結(jié)和方便大家的交流,我寫了這篇關(guān)于pic單片機的學(xué)習(xí)心得,都是在看了手冊和編程調(diào)試后用自己的語言組織的,其中有不足或者有疑問的地方希望大家能及時的給予糾正和批評,提出寶貴的意見。
單片機學(xué)習(xí)總結(jié)篇六
一直想寫一個帖子,將自己學(xué)習(xí)單片機的經(jīng)歷、經(jīng)驗和方法總結(jié)一下,今天終于動手寫了,呵呵,這是我學(xué)習(xí)單片機的經(jīng)驗、心得、方法。希望對大家學(xué)習(xí)單片機有所幫助。
經(jīng)常在群、論壇里看到有人問:怎么學(xué)單片機?也常看到有人說學(xué)了好幾個月可就是沒有什么進展。當(dāng)然,受限于每個人受到的教育水平不同和個人理解能力的差異,學(xué)習(xí)起來會有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。一個好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機的經(jīng)歷和方法。
的時候,因為制作fm發(fā)射電路采用了bh1415的芯片,需要用到單片機控制,所以開始接觸使用單片機,雖然以前讀書時作為一門功課學(xué)過,不過也快丟荒了了,基本上都忘光了,也算是從頭學(xué)起了吧。我當(dāng)時是買了一塊實驗板,很簡單的功能,比論壇實驗板還要少功能,還有一個仿真器,也是比較簡單的,sst芯片的。然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個程序基本上就抄人家的,翻查了一份快速入門的學(xué)習(xí)資料,()寫下第一個程序。然后,在仿真機是單步的看運行結(jié)果,從每一步執(zhí)行,都硬件上反應(yīng)出來的效果,很快,對單片機的運作有了一個非常感性的認(rèn)識,這跟只看書然后自己想象運行是完全兩碼事。然后,是進一步的其它程序?qū)W習(xí),一個月時間,基本上已經(jīng)熟悉了51的各種硬件資源。把流水燈,數(shù)碼管動態(tài)掃描,中斷等等的學(xué)習(xí)了,然后就是寫綜合性的程序,也就是我發(fā)在論壇里的時鐘。通過這個程序的編寫,使自己的編程水平有了很大的飛躍。之后,就是逐步學(xué)習(xí)編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。在學(xué)過匯編之后,我又轉(zhuǎn)到了c語言學(xué)習(xí),因為以前沒有學(xué)習(xí)過c語言,一切都很陌生,所以自己沿用了學(xué)習(xí)匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實現(xiàn)了從匯編編程為主到c編程為主的轉(zhuǎn)變。然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風(fēng)格,一直到現(xiàn)在,基本上就是c語言編程,匯編已經(jīng)是作為調(diào)試程序的輔助。
下面我概括了幾點我的學(xué)習(xí)經(jīng)驗和心得體會:
1、萬事開頭難、要勇敢邁出第一步。開始的時候,不要老是給自己找借口,說keil不會建項目啦、沒有實驗板啦之類的。遇到困難要一件件攻克,不會建項目,就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個最簡單的,讓它運行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會差多少,總得建個項目,再配置一下項目,然后建個程序,加入項目中,再寫代碼、編譯、生成hex,刷進單片機中、運行。必須熟悉這一套工序。個人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運行一下看結(jié)果,學(xué)習(xí)效果會好很多,仿真器就看個人需要了。單片機是注重理論和實踐的,光看書不動手,是學(xué)不會的。
2、知識點用到才學(xué),不用的暫時丟一邊。厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計也快忘光了,所以,最好結(jié)合實際程序,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點一小點的啃。
3、程序不要光看不寫,一定要自己寫一次。最開始的時候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達到什么目的,運行后有什么后果,看明白了之后,就要自己寫一次,你會發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時候卻一句也寫不出來,這就是差距……當(dāng)你自己能寫出來的時候,說明你就真的懂了。
4、必須學(xué)會掌握調(diào)試程序的方法。不少人寫程序,把代碼寫好了,然后一運行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個帖子,把程序一貼,問:為什么我的程序不能正常運行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會發(fā)現(xiàn)問題和學(xué)會如何解決問題。這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運行結(jié)果和你想象中不一樣的時候,你可以單步,也可以下斷點,然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個過程非常重要,通過程序的排錯,你可以學(xué)到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。我們用單片機來控制周邊器件,達到我們想到的目的,這是一個題目,而如何寫出一個程序,來控制器件按你想要的結(jié)果去運作,這個就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會找出這個解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人,所以現(xiàn)在我也明白了,以前讀書時說的程序流程圖很重要,現(xiàn)在算是知道了。當(dāng)你知道一個問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。舉個例子:數(shù)碼管動態(tài)掃描,沒寫過的初學(xué)者可能搞不清是怎么回事,其實,就是分時讓每一時間段時只控制一只數(shù)碼管顯示數(shù)字,幾只數(shù)碼管輪流顯示,由于速度很快,人眼的看起來是全部數(shù)碼管都亮的。明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數(shù)碼管輪流顯示出相應(yīng)的數(shù)值。顯示數(shù)字,然后延時一下,再下一只顯示數(shù)字,延時,知道是這樣,我們實際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時一下,再關(guān)閉位選,再送出段碼,再打開另一只位選僅此而已。有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動態(tài)掃描的原理都沒懂,不知道如何做,那么這個程序是怎么也寫不出來的。
6、開動腦筋,運用多種方法,不斷優(yōu)化自己的程序。想想用各種不同方法來實現(xiàn)同一功能。這是一個練習(xí)和提高的過程,一個問題,你解決了,那么你再想想,能不能換種寫法,也可以實現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點,讓程序執(zhí)行效率更高,這個過程,就是一個進步的過程。很多知識和經(jīng)驗的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經(jīng)驗才能得到積累,編程水平才能有所提高。
7、看別人的代碼,學(xué)習(xí)人家的思路。這個在學(xué)習(xí)初期是很有用,通過看別人的代碼,特別是有多年編程經(jīng)驗的人寫出的具有一定水平的代碼,可以使自己編程水平得到迅速的提高,同時,也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的代碼,從中得到進步。但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會了,這樣做只會使你退步。
8、嘗試編寫一下綜合應(yīng)用的程序。從流水燈學(xué)起,到動態(tài)掃描,再到中斷,那么,你可以試試寫一下時鐘這種綜合性應(yīng)用的程序,不要小看時鐘,要寫好它不是一件容易的事情,它包括了單片機大部分的知識,比如有按鍵(io讀取)、動態(tài)掃描(io輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨寫一個功能的時候,比如按鍵讀取,你可能感覺很容易,因為你的程序啥也不做,只是讀按鍵。但把它和其它功能混合在一起,如何在整個程序運行中使每一部分都正常工作,這就不是寫一個按鍵讀取這么容易的事情,功能模塊之間有可能會互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個協(xié)調(diào)過程。當(dāng)你有了這個處理協(xié)調(diào)能力,你就算是入門了。
9、著重于培養(yǎng)解決問題的能力,而不是具體看自己編寫了多少代碼或者做過什么?!皩W(xué)單片機重點在于學(xué)習(xí)解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學(xué)單片機多年來感悟出來的。經(jīng)??吹接腥苏f“你會驅(qū)動xx芯片,真牛啊”“你搞過xx項目,真厲害”之類的話,其實這是非常片面的,搞過xx芯片,搞過xx項目,只能說明你做過這一項目,它只是你的業(yè)績,并不是代表能力就一定高。真正的能力應(yīng)該是:“遇到?jīng)]有解決過的問題或器件,能利用自己已學(xué)的知識,迅速找到解決問題的方法?!边@個才是能力。寫程序的過程就是一個創(chuàng)造的過程,幾乎沒有完全一樣的項目,每次你遇上的幾乎都不相同,所以你擁有的必須是你面對新項目時的創(chuàng)造能力,而不是標(biāo)榜著你以往做過多少項目。當(dāng)然,業(yè)績也能從另一側(cè)面反映你的經(jīng)驗和水平。
10、如果有可能,多學(xué)習(xí)計算機專業(yè)的知識,比如數(shù)據(jù)結(jié)構(gòu)等。這些是你解決問題的基礎(chǔ)知識,你把這些知識應(yīng)用得越好,就會發(fā)現(xiàn)越容易找到解決問題的方法,這就是為什么一個學(xué)計算機專業(yè)的人編的程序和一個非計算機專業(yè)的人編的程序有差異的原因。也是一個菜鳥進軍到高手所要配備的知識。如果我們把編程分為宏觀編程和微觀編程,那么微觀編程就是寫具體的代碼,比如控制某某器件的語句;而宏觀編程就是如何對整個程序進行布局、安排,使功能模塊以你想要的方式去運行,得出你想要的結(jié)果。如前所說“會控制xx器件”這些只能算是微觀編程,能做到這一步還只能算是菜鳥級別,如果面對一個新的器件,你心里沒底,沒把握去寫這個控制程序,那說明你還是一個初級的菜鳥。當(dāng)你有了一定的編程經(jīng)驗,控制過相當(dāng)數(shù)量的器件之后,你就會發(fā)現(xiàn),控制器件這些工作都是相似的、重復(fù)的工作,體現(xiàn)不出編程的水平,最多也是寫得好與不好的差別,只能算是一些小技巧的應(yīng)用。而對整個程序進行布局、安排這些才是最頭痛的事情,能達到宏觀編程和微觀編程都做好才是真正的高手。對于規(guī)模越大的程序,越能體現(xiàn)出這一點。
11、面對一個新項目時,多自己開動腦筋,不要急于找別人的程序。有不少人面對一個新項目時,第一步想到的就是網(wǎng)上找別人寫過的代碼,然后抄一段,自己再寫幾句,湊在一起就完成任務(wù),這雖然可能是省時間,但絕對不利你的學(xué)習(xí)。當(dāng)你接到一個新項目時,應(yīng)該先自己構(gòu)思一下整個程序的架構(gòu),想想如何來完成,有可能的話,畫一個流程圖,簡單的可以畫在腦子里,對程序中用到的數(shù)據(jù)、變量有一個初步的安排,然后自己動手去寫,遇到實在沒辦法解決的地方,再去請教別人,或看別人是怎么處理的,這樣首先起碼你自己動過腦想過,自己有自己的`思路,如果你一開始就看別人的程序,你的思維就會受限在別人的思維里,自己想再創(chuàng)新就更難了,這樣你自己永遠也沒辦法提高,因為你是走在別人的影子里。
12、多利用網(wǎng)絡(luò)的搜索,學(xué)會提問題。一般來說,學(xué)習(xí)過程中,你遇上的問題,前人們多數(shù)也有遇上的,所以如果有什么不懂,在自己解決不了的時候,最好先到網(wǎng)上搜索一下,看能不能找到答案,找不到再到論壇里發(fā)問,發(fā)問也要有目的性,盡量簡單明了的描述問題,讓幫助你的人可以用最少的時間就看懂你說什么,畢竟人家?guī)椭闶敲赓M的,時間也是有限的。
以上就是我學(xué)習(xí)單片機的經(jīng)歷和心得體會,希望對大家會有幫助,說得有不好或不對的地方歡迎大家批評指正。
時光飛逝,一轉(zhuǎn)眼,一個學(xué)期又進尾聲了,本學(xué)期的單片機綜合課程設(shè)計也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。說起課程設(shè)計,我認(rèn)為最重要的就是做好設(shè)計的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個自己有興趣的題目。其次,老師對實驗的講解要一絲不茍的去聽去想,因為只有都明白了,做起設(shè)計就會事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計,到頭來一點收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計算起來在實驗室的時間只有三天,不過因為我們都有自己的實驗板,所以在宿舍里做實驗的時間一定不止三天。
硬件的設(shè)計跟焊接都要我們自己動手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個能完成課程設(shè)計的勞動成果出來了,很高興它能按著設(shè)計的思想與要求運動起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯誤。()第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗。對于這次單片機綜合課程實習(xí),我的第一大心得體會就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對應(yīng)該是嚴(yán)謹(jǐn)。我們這次實習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅強,有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設(shè)計過程中我鍛煉了自己的思考能力和動手能力。通過題目選擇和設(shè)計電路的過程中,加強了我思考問題的完整性和實際生活聯(lián)系的可行性。在方案設(shè)計選擇和芯片的選擇上,培養(yǎng)了我們綜合應(yīng)用單片機的能力,對單片機的各個管腳的功能也有了進一步的認(rèn)識。還鍛煉我們個人的查閱技術(shù)資料的能力,動手能力,發(fā)現(xiàn)問題,解決問題的能力。并且我們熟練掌握了有關(guān)器件的性能及測試方法。
再次感謝老師的輔導(dǎo)以及同學(xué)的幫助,是他們讓我有了一個更好的認(rèn)識,無論是學(xué)習(xí)還是生活,生活是實在的,要踏實走路。課程設(shè)計時間雖然很短,但我學(xué)習(xí)了很多的東西,使我眼界打開,感受頗深。
單片機學(xué)習(xí)總結(jié)篇七
先說說單片機,一般我們此刻用的比較多的的mcs—51的單片機,它的資料比較多,用的人也很多,市場也很大。就我個人的體會怎樣樣才能更快的學(xué)會單片機這門課。單片機這門課是一項十分重視動手實踐的科目,不能總是看書,可是學(xué)習(xí)它首先必須得看書,因為從書中你需要大概了解一下,單片機的各個功能寄存器,而說明白點,我們使用單片機就是用軟件去控制單片機的各個功能寄存器,再說明白點,就是控制單片機那些管腳的電平什么時候輸出高,什么時候輸出低。由這些高低電平的變化來控制你的系統(tǒng)板,實現(xiàn)我們需要的各個功能。至于看書,只需大概了解單片機各管腳都是干什么的能實現(xiàn)什么樣的功能第一次,第二次你可能看不明白,但這不要緊,因為還缺少實際的感觀認(rèn)識。所以我總是說,學(xué)單片機看書看兩三天的就夠了,看小說你一天能看五六本,看單片機你兩三天看兩三遍就夠了,能夠不用仔細(xì)的看。
推薦一本書,就這一本就足夠,書名是《新編mcs—51單片機應(yīng)用設(shè)計》,是哈爾濱工業(yè)大學(xué)出版社出的的,作者是張毅剛。大概了解一下書上的資料,然后實踐,這是十分關(guān)鍵的,如果說學(xué)單片機你不實踐那是不可能學(xué)會的,關(guān)于實踐有兩種方法你能夠選擇,一種方法:你自我花錢買一塊單片機的學(xué)習(xí)板,不要求功能太全的,對于初學(xué)者來說你買功能十分多的那種板子,上頭有很多東西你這輩子都用不著,我提議有流水燈、數(shù)碼管、獨立鍵盤、矩陣鍵盤、ad或da(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上頭我提到的這些,你能熟練應(yīng)用,那能夠說對于單片機方面的硬件你已經(jīng)入門了,剩下的就是自我練習(xí)設(shè)計電路,不斷的積累經(jīng)驗。只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。方法二:你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個簡單的最小系統(tǒng)板。對于高手來說,做個單片機的最小系統(tǒng)板只需要一分鐘的時間,而對于初學(xué)者可就難多了,因為僅有對硬件了解了,才能熟練運用。而如果你身邊沒有這樣的高手,又找不到能夠幫忙你的人,那我勸你最好是自我買上一塊,畢竟自我有一塊要方便的多,以后做單片機類的小實驗時都能用得上,還省事。
有了單片機學(xué)習(xí)板之后你就要多練習(xí),最好是自我有臺電腦,一天少看電影,少打游戲,把學(xué)習(xí)板和電腦連好,打開調(diào)試軟件坐在電腦前,先學(xué)會怎樣用調(diào)試軟件,然后從最簡單的流水燈實驗做起,等你能讓那八個流水燈按照你的意愿隨意流動時你已經(jīng)入門了,你會發(fā)現(xiàn)單片機是多么迷人的東西啊,太好玩了,這不是在學(xué)習(xí)知識,而是在玩,當(dāng)你編寫的程序按你的意愿實現(xiàn)時你比做什么事都開心,你會上癮的,真的。做電子類的人真的會上癮。然后讓數(shù)碼管亮起來,這兩項會了后,你已經(jīng)不能自拔了,你已經(jīng)開始研究你這輩子要走哪一行了。就是要這樣練習(xí),在寫程序的時候你肯定會遇到很多問題,而這時你再去翻書找,或是問別人,當(dāng)?shù)玫浇獯鸷竽銜涀∫惠呑拥?,知識必須用于現(xiàn)實生活中,解決實際問題,這樣才能發(fā)揮它的作用,你自我好好想想,上了這么多年大學(xué),天天上課,你在課堂上學(xué)到了什么是不是為了期末考試而忙碌呢考完得了90分,哈哈哈好高興啊,下學(xué)期開學(xué)回來忘的一干二凈,是不是你學(xué)到什么了可是我告訴你單片機一旦學(xué)會,永遠不會忘了。另外我再說說用匯編和c語言編程的問題。
很多同學(xué)大一二就開設(shè)了c語言的課,我也上過,我明白那時天天就是幾乘幾,幾加幾啊,求個階乘啊。學(xué)完了有什么用讓你用c語言編單片機的程序你是不是就傻了書上的東西我們必須要會運用。單片機編程用c語言或匯編語言都能夠,可是我提議用c語言比較好,如果原先有c語言的基礎(chǔ)那學(xué)起來會更好,如果沒有,也能夠邊學(xué)單片機邊學(xué)c語言,c語言也挺簡單,只是一門工具而已,我勸你最好學(xué)會,將來肯定用得著,要不你以后也得學(xué),你一點匯編都不會根本無所謂,但你一點c語言都不會那你將來會吃苦頭。匯編寫程序代碼效率高,但相對難度較大,并且很羅嗦,尤其是遇到算法方面的問題時,根本是麻煩的不得了,此刻單片機的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因為有高頻率的時鐘,單片機的rom也在不斷的提高,足夠裝得下你用c語言寫的任何代碼,c語言的資料又多又好找,將來可移植性十分好,只需要變一個io口寫個溫度傳感器的程序在哪里都能用,所以我勸大家用c語言。
總結(jié)上頭,只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,那學(xué)個單片機來說就是件十分容易的事。
步驟:
1、找本書大概了解一下單片機結(jié)構(gòu),大概了解就行。不用都看懂,又不讓你出書的。(三天)。
2、找學(xué)習(xí)板練習(xí)編寫程序,學(xué)單片機就是練編程序,遇到不會的再問人或查書。(二十天)。
3、自我網(wǎng)上找些小電路類的資料練習(xí)設(shè)計外圍電路。焊好后自我調(diào)試,熟悉過程。(十天)。
4、自我完全設(shè)計具有個人風(fēng)格的電路,產(chǎn)品,你已經(jīng)是高手了......
看到了嗎下功夫一個多月你就能成為高手,我就講這么多了,學(xué)不學(xué)得會,下不下得了功夫就看你的了。
單片機學(xué)習(xí)總結(jié)篇八
經(jīng)常在群、論壇里看到有人問:怎么學(xué)單片機?也常看到有人說學(xué)了好幾個月可就是沒有什么進展。當(dāng)然,受限于每個人受到的教育水平不同和個人理解能力的差異,學(xué)習(xí)起來會有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。一個好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機的經(jīng)歷和方法。
05年的時候,因為制作fm發(fā)射電路采用了bh1415的芯片,需要用到單片機控制,所以開始接觸使用單片機,雖然以前讀書時作為一門功課學(xué)過,不過也快丟荒了10年了,基本上都忘光了,也算是從頭學(xué)起了吧。我當(dāng)時是買了一塊實驗板,很簡單的功能,比論壇實驗板還要少功能,還有一個仿真器,也是比較簡單的,sst芯片的。然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個程序基本上就抄人家的,翻查了一份快速入門的學(xué)習(xí)資料,寫下第一個程序。然后,在仿真機是單步的看運行結(jié)果,從每一步執(zhí)行,都硬件上反應(yīng)出來的效果,很快,對單片機的運作有了一個非常感性的認(rèn)識,這跟只看書然后自己想象運行是完全兩碼事。然后,是進一步的其它程序?qū)W習(xí),一個月時間,基本上已經(jīng)熟悉了51的各種硬件資源。把流水燈,數(shù)碼管動態(tài)掃描,中斷等等的學(xué)習(xí)了,然后就是寫綜合性的程序,也就是我發(fā)在論壇里的時鐘。通過這個程序的編寫,使自己的編程水平有了很大的飛躍。之后,就是逐步學(xué)習(xí)編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。在學(xué)過匯編之后,我又轉(zhuǎn)到了c語言學(xué)習(xí),因為以前沒有學(xué)習(xí)過c語言,一切都很陌生,所以自己沿用了學(xué)習(xí)匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實現(xiàn)了從匯編編程為主到c編程為主的轉(zhuǎn)變。然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風(fēng)格,一直到現(xiàn)在,基本上就是c語言編程,匯編已經(jīng)是作為調(diào)試程序的'輔助。
下面我概括了幾點我的學(xué)習(xí)經(jīng)驗和心得體會:
1、萬事開頭難、要勇敢邁出第一步。開始的時候,不要老是給自己找借口,說keil不會建項目啦、沒有實驗板啦之類的。遇到困難要一件件攻克,不會建項目,就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個最簡單的,讓它運行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會差多少,總得建個項目,再配置一下項目,然后建個程序,加入項目中,再寫代碼、編譯、生成hex,刷進單片機中、運行。必須熟悉這一套工序。個人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運行一下看結(jié)果,學(xué)習(xí)效果會好很多,仿真器就看個人需要了。單片機是注重理論和實踐的,光看書不動手,是學(xué)不會的。
2、知識點用到才學(xué),不用的暫時丟一邊。厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計也快忘光了,所以,最好結(jié)合實際程序,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點一小點的啃。
3、程序不要光看不寫,一定要自己寫一次。最開始的時候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達到什么目的,運行后有什么后果,看明白了之后,就要自己寫一次,你會發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時候卻一句也寫不出來,這就是差距……當(dāng)你自己能寫出來的時候,說明你就真的懂了。
4、必須學(xué)會掌握調(diào)試程序的方法。不少人寫程序,把代碼寫好了,然后一運行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個帖子,把程序一貼,問:為什么我的程序不能正常運行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會發(fā)現(xiàn)問題和學(xué)會如何解決問題。這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運行結(jié)果和你想象中不一樣的時候,你可以單步,也可以下斷點,然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個過程非常重要,通過程序的排錯,你可以學(xué)到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。我們用單片機來控制周邊器件,達到我們想到的目的,這是一個題目,而如何寫出一個程序,來控制器件按你想要的結(jié)果去運作,這個就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會找出這個解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人,所以現(xiàn)在我也明白了,以前讀書時說的程序流程圖很重要,現(xiàn)在算是知道了。當(dāng)你知道一個問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。舉個例子:數(shù)碼管動態(tài)掃描,沒寫過的初學(xué)者可能搞不清是怎么回事,其實,就是分時讓每一時間段時只控制一只數(shù)碼管顯示數(shù)字,幾只數(shù)碼管輪流顯示,由于速度很快,人眼的看起來是全部數(shù)碼管都亮的。明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數(shù)碼管輪流顯示出相應(yīng)的數(shù)值。顯示數(shù)字,然后延時一下,再下一只顯示數(shù)字,延時,知道是這樣,我們實際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時一下,再關(guān)閉位選,再送出段碼,再打開另一只位選僅此而已。有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動態(tài)掃描的原理都沒懂,不知道如何做,那么這個程序是怎么也寫不出來的。
6、開動腦筋,運用多種方法,不斷優(yōu)化自己的程序。想想用各種不同方法來實現(xiàn)同一功能。這是一個練習(xí)和提高的過程,一個問題,你解決了,那么你再想想,能不能換種寫法,也可以實現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點,讓程序執(zhí)行效率更高,這個過程,就是一個進步的過程。很多知識和經(jīng)驗的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經(jīng)驗才能得到積累,編程水平才能有所提高。
7、看別人的代碼,學(xué)習(xí)人家的思路。這個在學(xué)習(xí)初期是很有用,通過看別人的代碼,特別是有多年編程經(jīng)驗的人寫出的具有一定水平的代碼,可以使自己編程水平得到迅速的提高,同時,也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的代碼,從中得到進步。但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會了,這樣做只會使你退步。
8、嘗試編寫一下綜合應(yīng)用的程序。從流水燈學(xué)起,到動態(tài)掃描,再到中斷,那么,你可以試試寫一下時鐘這種綜合性應(yīng)用的程序,不要小看時鐘,要寫好它不是一件容易的事情,它包括了單片機大部分的知識,比如有按鍵(io讀?。討B(tài)掃描(io輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨寫一個功能的時候,比如按鍵讀取,你可能感覺很容易,因為你的程序啥也不做,只是讀按鍵。但把它和其它功能混合在一起,如何在整個程序運行中使每一部分都正常工作,這就不是寫一個按鍵讀取這么容易的事情,功能模塊之間有可能會互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個協(xié)調(diào)過程。當(dāng)你有了這個處理協(xié)調(diào)能力,你就算是入門了。
9、著重于培養(yǎng)解決問題的能力,而不是具體看自己編寫了多少代碼或者做過什么?!皩W(xué)單片機重點在于學(xué)習(xí)解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學(xué)單片機多年來感悟出來的。經(jīng)??吹接腥苏f“你會驅(qū)動xx芯片,真牛啊”“你搞過xx項目,真厲害”之類的話,其實這是非常片面的,搞過xx芯片,搞過xx項目,只能說明你做過這一項目,它只是你的業(yè)績,并不是代表能力就一定高。真正的能力應(yīng)該是:“遇到?jīng)]有解決過的問題或器件,能利用自己已學(xué)的知識,迅速找到解決問題的方法?!边@個才是能力。寫程序的過程就是一個創(chuàng)造的過程,幾乎沒有完全一樣的項目,每次你遇上的幾乎都不相同,所以你擁有的必須是你面對新項目時的創(chuàng)造能力,而不是標(biāo)榜著你以往做過多少項目。當(dāng)然,業(yè)績也能從另一側(cè)面反映你的經(jīng)驗和水平。
10、如果有可能,多學(xué)習(xí)計算機專業(yè)的知識,比如數(shù)據(jù)結(jié)構(gòu)等。這些是你解決問題的基礎(chǔ)知識,你把這些知識應(yīng)用得越好,就會發(fā)現(xiàn)越容易找到解決問題的方法,這就是為什么一個學(xué)計算機專業(yè)的人編的程序和一個非計算機專業(yè)的人編的程序有差異的原因。也是一個菜鳥進軍到高手所要配備的知識。如果我們把編程分為宏觀編程和微觀編程,那么微觀編程就是寫具體的代碼,比如控制某某器件的語句;而宏觀編程就是如何對整個程序進行布局、安排,使功能模塊以你想要的方式去運行,得出你想要的結(jié)果。如前所說“會控制xx器件”這些只能算是微觀編程,能做到這一步還只能算是菜鳥級別,如果面對一個新的器件,你心里沒底,沒把握去寫這個控制程序,那說明你還是一個初級的菜鳥。當(dāng)你有了一定的編程經(jīng)驗,控制過相當(dāng)數(shù)量的器件之后,你就會發(fā)現(xiàn),控制器件這些工作都是相似的、重復(fù)的工作,體現(xiàn)不出編程的水平,最多也是寫得好與不好的差別,只能算是一些小技巧的應(yīng)用。而對整個程序進行布局、安排這些才是最頭痛的事情,能達到宏觀編程和微觀編程都做好才是真正的高手。對于規(guī)模越大的程序,越能體現(xiàn)出這一點。
11、面對一個新項目時,多自己開動腦筋,不要急于找別人的程序。有不少人面對一個新項目時,第一步想到的就是網(wǎng)上找別人寫過的代碼,然后抄一段,自己再寫幾句,湊在一起就完成任務(wù),這雖然可能是省時間,但絕對不利你的學(xué)習(xí)。當(dāng)你接到一個新項目時,應(yīng)該先自己構(gòu)思一下整個程序的架構(gòu),想想如何來完成,有可能的話,畫一個流程圖,簡單的可以畫在腦子里,對程序中用到的數(shù)據(jù)、變量有一個初步的安排,然后自己動手去寫,遇到實在沒辦法解決的地方,再去請教別人,或看別人是怎么處理的,這樣首先起碼你自己動過腦想過,自己有自己的思路,如果你一開始就看別人的程序,你的思維就會受限在別人的思維里,自己想再創(chuàng)新就更難了,這樣你自己永遠也沒辦法提高,因為你是走在別人的影子里。
12、多利用網(wǎng)絡(luò)的搜索,學(xué)會提問題。一般來說,學(xué)習(xí)過程中,你遇上的問題,前人們多數(shù)也有遇上的,所以如果有什么不懂,在自己解決不了的時候,最好先到網(wǎng)上搜索一下,看能不能找到答案,找不到再到論壇里發(fā)問,發(fā)問也要有目的性,盡量簡單明了的描述問題,讓幫助你的人可以用最少的時間就看懂你說什么,畢竟人家?guī)椭闶敲赓M的,時間也是有限的。
單片機學(xué)習(xí)總結(jié)篇九
我從大二起,就去實驗室去學(xué)習(xí)。在那里與教師和一些電子設(shè)計愛好者的交流中,我學(xué)到了更多的專業(yè)知識。我從此走上了學(xué)習(xí)嵌入式的道路。這豐富了我的大學(xué)生活,是我在大學(xué)的最大收獲。
我是從學(xué)習(xí)單片機開始我的嵌入式學(xué)習(xí)的。
我接觸單片機的方式是在圖書館看書,我看了很多本書,可是大多數(shù)書寫的大同小異。書里面講解的單片機的寄存器我看了很多遍也沒有看懂。我都不明白改怎樣學(xué)習(xí)它了。慢慢的我悟出了一個道理:電子的學(xué)習(xí)實踐是最重要的,這樣,我在大二的時候就買了一塊學(xué)習(xí)板,我一邊看視頻一邊仿照視頻的程序,自我編寫程序,在很短的時間里,我的單片機有了很大的提高。那些難懂的寄存器透過編寫程序,我慢慢的弄懂了它們,此刻回頭看去,原先它還是很簡單的。
用哪種編程語言最適合我們。
我看過的單片機的書籍,大部分的程序都是匯編寫的。它是一種基于機器硬件的低級語言,對于我們這些只學(xué)習(xí)過c語言的人來說,十分難懂。我認(rèn)為剛開始學(xué)習(xí)單片機沒有必要必須要從學(xué)習(xí)匯編編程開始。我學(xué)習(xí)單片機就是用c語言編程的,我并不會匯編語言,也沒有妨礙我把單片機學(xué)好。
很多人說,學(xué)單片機最好先學(xué)匯編語言,以我的經(jīng)驗告訴大家,絕對沒有這個必要,初學(xué)者一開始就直接用c語言為單片機編程,既省時間,學(xué)起來又容易,提高速度會很快。在剛開始學(xué)單片機的時候,千萬不要為了解單片機內(nèi)部結(jié)構(gòu)而浪費時間,這樣只能打擊你的信心,當(dāng)你學(xué)會編程后,自然一步步就掌握其內(nèi)部結(jié)構(gòu)了。
單片機提高重在實踐,想要學(xué)好單片機,軟件編程必不可少??墒鞘煜び布τ趯W(xué)好單片機的也是十分重要的。如何學(xué)習(xí)好硬件,動手實踐是必不可少的。我們能夠透過自我動手做一個自我的電子制作,透過完成它,以提高我的對一些芯片的了解和熟練運用它。這樣我們就能夠多一些了解芯片的結(jié)構(gòu)。我相信,你完成了一個屬于自我的電子制作,你的單片機水平就會有一個質(zhì)的提高。
單片機學(xué)習(xí)總結(jié)篇十
本人還是學(xué)生,此刻大三,接觸單片機一年多以來,從最基礎(chǔ)的51開始,到更高級點的msp430,一向到此刻剛開始上手的stm32,編過的程序不算多,但加起來怎樣也有上百個了,做過的東西仔細(xì)數(shù)數(shù),能拿出手來算算的上是個樣的也不下十個,算是小有所成吧。
但今日,我卻發(fā)現(xiàn),這一年我一向在走一條歪路。
先說一下情景吧,是這樣的,最近同學(xué)幾個合伙做個小項目,不算復(fù)雜,跟市面上的工程項目完全沒法比,用難再需要使用的一個芯片是教師給的,從沒用過,沒有歷程,至于一份電子版的數(shù)據(jù)手冊,一切的一切都只能是從頭開始,從底層開始,我們幾個斌開始從最底層的邏輯時序、寄存器操作開始,但經(jīng)過幾天的研究,確實毫無效果可言。
為此,我們幾個郁悶了好長時間,開始瘋狂的上網(wǎng)搜資料,拷代碼,卻終究是不得而返,還讓教師罵了一頓,因為這個項目是我們主動要求教師放給我們的,結(jié)果卻耽誤了工期。
我次我們幾個人很受打擊,最終決定大家一齊靜下心來分析分析,到底我們敗在了什么地方。
最終總經(jīng)過兩天的思考、討論、總結(jié)、檢討···,我們發(fā)現(xiàn)了問題的所在,想來想去,這估計是很大一部分初學(xué)者正在面臨的一個“瓶頸問題”,所以,由我凈這個討論的結(jié)果發(fā)布出來,期望與更多的人交流、分享、提高、共勉。
下頭先總結(jié)一下我們失敗的幾點原因:
1、“都是開發(fā)板惹的禍”,能夠說從開始學(xué)習(xí)單片機,哪怕是最基礎(chǔ)的51、以致之后的msp430、arm,我沒從未離開過開發(fā)板,并且這長達一年多的時間,養(yǎng)成了我們對開發(fā)板極大的依靠,盡管自我焊過51最小系統(tǒng)、繪制過430最小系統(tǒng)板,但都是參考的別人已有的電路圖,連最基本的電路基本都沒分析過,為什么要在這幾個電阻,該加個多大的,不加會怎樣樣,太大了太小了會有什么后果,等等此類問題,我們從未分析過,全是copy、copy、再copy,以致自我做過的東西不少,本事卻未曾提高。
2、“全是例程誤導(dǎo)我”,我們買來的開發(fā)板,往往都會帶有豐富的例程,通常這也是賣家吹噓、比拼的地方,但就是這些附帶的歷程,讓我們與底層的開發(fā)絕緣了,有了例程,我們不用再一個代碼一個代碼地敲鍵盤,不用再去研究那些器件的數(shù)據(jù)手冊、通信接口、寄存器、內(nèi)部原理、以及很多商家沒給我們加進去的功能,哪怕是將這些程序改到別的地方,我們也可是是在宏定義里改兩個引腳配置而已,從未嘗試過從底層寫驅(qū)動、敲代碼、寫函數(shù),從未嘗試過快平臺移植代碼,開發(fā)呢些沒用過的功能等等。
3、“現(xiàn)實環(huán)境太無奈”,這跟上頭兩個說的是不一樣的方面,我們都是大學(xué)生,大學(xué)里此刻吵得火熱的“大學(xué)生就業(yè)難”、“你是考研還是就業(yè)”、“你報xxx培訓(xùn)班了嗎”“你考四六級證了嗎”等等,好像上大學(xué)就是為了干這些,似乎沒有這些,你就會陷入“畢業(yè)即失業(yè)”的困境。應(yīng)對這些外來的干擾,越來越多的學(xué)生坐不住了,我們這些人也一樣,盡管一向在學(xué)習(xí)自我的愛好,但當(dāng)被人問得多了的時候,心里也難免會發(fā)毛、會害怕,從而導(dǎo)致一年來真正靜下心來學(xué)這些東西的時間越來越少。
大體也就總結(jié)怎樣多吧,經(jīng)過這次失敗,也算是教訓(xùn)深刻吧,此刻才大三,到大四畢業(yè),還有近兩年的時間,還不算太晚,再說將來的路還長,此刻發(fā)現(xiàn)這些,應(yīng)當(dāng)不算晚吧。
對我們來說,革命尚未成功,同志仍需努力啊!
開這貼,一為總結(jié)這次失敗、而為自我立志改變、三為警示之后的同學(xué)、四為大家齊言獻計。
大家有遇到同樣問題的、要類似迷茫的、要好的提議意見的,歡迎回帖交流,大家一齊共勉。
單片機學(xué)習(xí)總結(jié)篇十一
學(xué)習(xí)單片機最終要的是當(dāng)然是練,我所說的學(xué)習(xí)跟課堂上的單片機學(xué)習(xí)不同,我以前也看過一些單片機教材,有些教材講的是單片機的工作原理和內(nèi)部結(jié)構(gòu),這些東西對于我們暫時并不需要,等以后開課的時候在學(xué)習(xí)好了?,F(xiàn)在要學(xué)習(xí)的是暫時拋開內(nèi)部結(jié)構(gòu)原理不談,如何能用單片機寫一些簡單的小程序,是從實用性的角度出發(fā),網(wǎng)上有一種說法稱之為先實踐后理論的學(xué)習(xí)方法。
因此我的觀點如下,單片機的硬件結(jié)構(gòu)首先要有一個基本的了解,最起碼要知道各引腳的功能、區(qū)別,能自己動手搭一個單片機的最小系統(tǒng),然后就可以直接從程序入手,程序最好還是用c語言編程,從簡單的跑馬燈做起,逐漸深入,陸續(xù)可以做一些數(shù)碼管、液晶、ds1302、ds18b20等電子元器件的應(yīng)用,在深入就可以結(jié)合一些具體實例擴展一些中斷、串口通訊等功能。還有一點要聲明的是單片機里用到的c語言其實很有限,課堂上學(xué)習(xí)c++的很大一部分內(nèi)容在初期單片機編程中都用不到,因此沒必要因為覺的自己的c語言基礎(chǔ)不是很好而對單片機望而止步!
單片機學(xué)習(xí)總結(jié)篇十二
兩周的單片機課程設(shè)計最終順利完成了,其中包含著歡樂,也有辛酸。我們選的設(shè)計題目是“數(shù)字溫度計”,大家都覺得這個題目是比較簡單的。其實不然,做了之后,發(fā)現(xiàn)設(shè)計電路雖然簡單,但我們認(rèn)為它真正困難的地方是程序設(shè)計,可是在我們同心努力下最終完成了。
我們剛選該題目時,真的是一頭霧水,硬件電路不知如何下手,更何談解決程序那塊,因為我們所學(xué)的都是單片機方面的理論知識,應(yīng)用到實踐中去還比較少??墒?,我們?nèi)艘矝]偷下懶,迅速分工去查閱和收集資料。我們?nèi)チ藞D書館借一些參考書,上網(wǎng)找一些相關(guān)資料,并且請教指導(dǎo)教師。經(jīng)過不斷努力,最終把數(shù)字溫度計的思路和模型定了下來并開始分一個人去焊接硬件電路,剩下的去整理和修改程序。
經(jīng)過一番整理和修改后,在電腦上進行仿真,仿真成功后準(zhǔn)備焊接電路板。在焊接電路板中,我們首先對硬件電路進行布局,然后確認(rèn)無誤后,在電路板上進行焊接,這個過程我們覺得是做得比較快的,以至于后面出現(xiàn)了虛焊的錯誤。
焊接電路板完工,細(xì)心檢查后,進行通電測試。結(jié)果液晶lcd沒有顯示,經(jīng)過檢查,原先是lcd壞了,在換了塊新的后,能顯示顯示值。但還有個問題是,當(dāng)報警電路不會報警,在請教教師后,發(fā)現(xiàn)走動蜂鳴器的電壓太低了,是因為串接了一個太大的電阻。然后,我們換了一個小電阻,但這時蜂鳴器卻一向在叫,停不下來,可是,在我們?nèi)说牡募?xì)心檢查下,原先是在放大電路的一端虛焊了,這說明我們焊接電路的技術(shù)還不夠好。在重新焊接那端后,數(shù)字溫度電路最終成功實現(xiàn)功能,當(dāng)時我們的心境都是無比興奮和歡樂的,因為我們兩周的辛苦沒有白費。
在完成單片機課程設(shè)計后,我們發(fā)現(xiàn)我們還有許多不足,所學(xué)到的知識還遠遠不夠,以至于還有一些功能不能被動完成。但經(jīng)過學(xué)習(xí)這一次實踐,增強了我們的動手本事,提高和鞏固了單片機方面的知識,特別是軟件方面。從中增強了我們的團隊合作精神,并讓我們認(rèn)識到把理論應(yīng)用到實踐中去是多么重要。
單片機學(xué)習(xí)總結(jié)篇十三
很多想學(xué)單片機的人問我的第一句話就是怎樣才能學(xué)好單片機?對于這個問題我今天就我自己是如何開始學(xué)單片機,如何開始上手,如何開始熟練這個過程給大家講講。
先說說單片機,一般我們現(xiàn)在用的比較多的的mcs-51的單片機,它的資料比較多,用的人也很多,市場也很大。
就我個人的體會怎么樣才能更快的學(xué)會單片機這門課。
單片機這門課是一項非常重視動手實踐的科目,不能總是看書,但是學(xué)習(xí)它首先必須得看書,因為從書中你需要大概了解一下,單片機的各個功能寄存器,而說明白點,我們使用單片機就是用軟件去控制單片機的各個功能寄存器,再說明白點,就是控制單片機那些管腳的電平什么時候輸出高,什么時候輸出低。
由這些高低電平的變化來控制你的系統(tǒng)板,實現(xiàn)我們需要的各個功能。
至于看書,只需大概了解單片機各管腳都是干什么的?能實現(xiàn)什么樣的功能?第一次,第二次你可能看不明白,但這不要緊,因為還缺少實際的感觀認(rèn)識。
所以我總是說,學(xué)單片機看書看兩三天的就夠了,看小說你一天能看五六本,看單片機你兩三天看兩三遍就夠了,可以不用仔細(xì)的看。
推薦一本書,就這一本就足夠,書名是《新編mcs-51單片機應(yīng)用設(shè)計》,是哈爾濱工業(yè)大學(xué)出版社出的的,作者是張毅剛。
大概了解一下書上的內(nèi)容,然后實踐,這是非常關(guān)鍵的,如果說學(xué)單片機你不實踐那是不可能學(xué)會的,關(guān)于實踐有兩種方法你可以選擇,一種方法:你自己花錢買一塊單片機的學(xué)習(xí)板,不要求功能太全的,對于初學(xué)者來說你買功能非常多的那種板子,上面有很多東西你這輩子都用不著,我建議有流水燈、數(shù)碼管、獨立鍵盤、矩陣鍵盤、ad或da(原理一樣)、液晶、蜂鳴器,這就差不多了。
如果上面我提到的這些,你能熟練應(yīng)用,那可以說對于單片機方面的硬件你已經(jīng)入門了,剩下的就是自己練習(xí)設(shè)計電路,不斷的積累經(jīng)驗。
只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。
方法二:你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個簡單的最小系統(tǒng)板。
對于高手來說,做個單片機的最小系統(tǒng)板只需要一分鐘的時間,而對于初學(xué)者可就難多了,因為只有對硬件了解了,才能熟練運用。
而如果你身邊沒有這樣的高手,又找不到可以幫助你的人,那我勸你最好是自己買上一塊,畢竟自己有一塊要方便的多,以后做單片機類的小實驗時都能用得上,還省事。
有了單片機學(xué)習(xí)板之后你就要多練習(xí),最好是自己有臺電腦,一天少看電影,少打游戲,把學(xué)習(xí)板和電腦連好,打開調(diào)試軟件坐在電腦前,先學(xué)會怎么用調(diào)試軟件,然后從最簡單的流水燈實驗做起,等你能讓那八個流水燈按照你的意愿隨意流動時你已經(jīng)入門了,你會發(fā)現(xiàn)單片機是多么迷人的東西啊,太好玩了,這不是在學(xué)習(xí)知識,而是在玩,當(dāng)你編寫的程序按你的意愿實現(xiàn)時你比做什么事都開心,你會上癮的,真的。
做電子類的人真的會上癮。
然后讓數(shù)碼管亮起來,這兩項會了后,你已經(jīng)不能自拔了,你已經(jīng)開始考慮你這輩子要走哪一行了。
就是要這樣練習(xí),在寫程序的'時候你肯定會遇到很多問題,而這時你再去翻書找,或是問別人,當(dāng)?shù)玫浇獯鸷竽銜涀∫惠呑拥?,知識必須用于現(xiàn)實生活中,解決實際問題,這樣才能發(fā)揮它的作用,你自己好好想想,上了這么多年大學(xué),天天上課,你在課堂上學(xué)到了什么?是不是為了期末考試而忙碌呢?考完得了90分,哈哈哈好高興啊,下學(xué)期開學(xué)回來忘的一干二凈,是不是?你學(xué)到什么了?但是我告訴你單片機一旦學(xué)會,永遠不會忘了。
另外我再說說用匯編和c語言編程的問題。
很多同學(xué)大一二就開設(shè)了c語言的課,我也上過,我知道那時天天就是幾乘幾,幾加幾啊,求個階乘啊。
學(xué)完了有什么用?讓你用c語言編單片機的程序你是不是就傻了?書上的東西我們必須要會運用。
單片機編程用c語言或匯編語言都可以,但是我建議用c語言比較好,如果原來有c語言的基礎(chǔ)那學(xué)起來會更好,如果沒有,也可以邊學(xué)單片機邊學(xué)c語言,c語言也挺簡單,只是一門工具而已,我勸你最好學(xué)會,將來肯定用得著,要不你以后也得學(xué),你一點匯編都不會根本無所謂,但你一點c語言都不會那你將來會吃苦頭。
匯編寫程序代碼效率高,但相對難度較大,而且很羅嗦,尤其是遇到算法方面的問題時,根本是麻煩的不得了,現(xiàn)在單片機的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因為有高頻率的時鐘,單片機的rom也在不斷的提高,足夠裝得下你用c語言寫的任何代碼,c語言的資料又多又好找,將來可移植性非常好,只需要變一個io口寫個溫度傳感器的程序在哪里都能用,所以我勸大家用c語言。
總結(jié)上面,只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,那學(xué)個單片機來說就是件非常容易的事。
步驟:
1.找本書大概了解一下單片機結(jié)構(gòu),大概了解就行。
不用都看懂,又不讓你出書的。(三天)。
2.找學(xué)習(xí)板練習(xí)編寫程序,學(xué)單片機就是練編程序,遇到不會的再問人或查書。(二十天)。
3.自己網(wǎng)上找些小電路類的資料練習(xí)設(shè)計外圍電路。
焊好后自己調(diào)試,熟悉過程。(十天)。
4.自己完全設(shè)計具有個人風(fēng)格的電路,產(chǎn)品,。
你已經(jīng)是高手了。
看到了嗎?下功夫一個多月你就能成為高手,我就講這么多了,學(xué)不學(xué)得會,下不下得了功夫就看你的了。