總結學習心得可以幫助我們更好地理解所學知識,并提高學習效果。以下是一些學習心得的分享,希望能夠給大家在學習上提供一些新的思路和方法。
單片機學習心得
經常在群、論壇里看到有人問:怎么學單片機?也常看到有人說學了好幾個月可就是沒有什么進展。當然,受限于每個人受到的教育水平不同和個人理解能力的差異,學習起來會有快慢之分,但我感覺最重的就是學習方法。一個好的學習方法,能讓你事半功倍,這里說說我學習單片機的經歷和方法。
05年的時候,因為制作fm發射電路采用了bh1415的芯片,需要用到單片機控制,所以開始接觸使用單片機,雖然以前讀書時作為一門功課學過,不過也快丟荒了10年了,基本上都忘光了,也算是從頭學起了吧。我當時是買了一塊實驗板,很簡單的功能,比論壇實驗板還要少功能,還有一個仿真器,也是比較簡單的,sst芯片的。然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個程序基本上就抄人家的,翻查了一份快速入門的學習資料,寫下第一個程序。然后,在仿真機是單步的看運行結果,從每一步執行,都硬件上反應出來的效果,很快,對單片機的運作有了一個非常感性的認識,這跟只看書然后自己想象運行是完全兩碼事。然后,是進一步的其它程序學習,一個月時間,基本上已經熟悉了51的各種硬件資源。把流水燈,數碼管動態掃描,中斷等等的學習了,然后就是寫綜合性的程序,也就是我發在論壇里的時鐘。通過這個程序的編寫,使自己的編程水平有了很大的飛躍。之后,就是逐步學習編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。在學過匯編之后,我又轉到了c語言學習,因為以前沒有學習過c語言,一切都很陌生,所以自己沿用了學習匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實現了從匯編編程為主到c編程為主的轉變。然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風格,一直到現在,基本上就是c語言編程,匯編已經是作為調試程序的'輔助。
下面我概括了幾點我的學習經驗和心得體會:
1、萬事開頭難、要勇敢邁出第一步。開始的時候,不要老是給自己找借口,說keil不會建項目啦、沒有實驗板啦之類的。遇到困難要一件件攻克,不會建項目,就先學它,這方面網上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個最簡單的,讓它運行起來,先培養一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會差多少,總得建個項目,再配置一下項目,然后建個程序,加入項目中,再寫代碼、編譯、生成hex,刷進單片機中、運行。必須熟悉這一套工序。個人認為,一塊學習板還是必要的,寫好程序在上面運行一下看結果,學習效果會好很多,仿真器就看個人需要了。單片機是注重理論和實踐的,光看書不動手,是學不會的。
2、知識點用到才學,不用的暫時丟一邊。厚厚的一本書,看著人頭都暈了,學了后面的,前面的估計也快忘光了,所以,最好結合實際程序,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學好就是了,這是把整本書化整為零,一小點一小點的啃。
3、程序不要光看不寫,一定要自己寫一次。最開始的時候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達到什么目的,運行后有什么后果,看明白了之后,就要自己寫一次,你會發現,原來看明白別人的程序很容易,但到自己寫的時候卻一句也寫不出來,這就是差距……當你自己能寫出來的時候,說明你就真的懂了。
4、必須學會掌握調試程序的方法。不少人寫程序,把代碼寫好了,然后一運行,不是自己想要的結果,就暈了,然后跑到論壇上發個帖子,把程序一貼,問:為什么我的程序不能正常運行?然后就等別人來給自己分析。這是一種很不好的行為,應該自己學會發現問題和學會如何解決問題。這就需要學習調試程序的方法,比如keil里,可以下斷點啦,查看寄存器內容等等,這些都是調試程序的手段,當你發現你寫的程序運行結果和你想象中不一樣的時候,你可以單步,也可以下斷點,然后跟蹤,查看各相關寄存器內容,看看程序運行過中是不是有什么偏差,找出影響結果的地方,改正過來。這一個過程非常重要,通過程序的排錯,你可以學到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。我們用單片機來控制周邊器件,達到我們想到的目的,這是一個題目,而如何寫出一個程序,來控制器件按你想要的結果去運作,這個就是解題的思路。要寫程序,就得先找到解決問題的思路,你學會找出這個解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復制到自己的程序中,可以說,這不是一種學習的態度,無助于你編程水平的提高。我幾乎不怎么看人家的代碼,多數時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當困難的,特別是大型的程序,看起來是非常的累人,所以現在我也明白了,以前讀書時說的程序流程圖很重要,現在算是知道了。當你知道一個問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經不是什么問題了。舉個例子:數碼管動態掃描,沒寫過的初學者可能搞不清是怎么回事,其實,就是分時讓每一時間段時只控制一只數碼管顯示數字,幾只數碼管輪流顯示,由于速度很快,人眼的看起來是全部數碼管都亮的。明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數碼管輪流顯示出相應的數值。顯示數字,然后延時一下,再下一只顯示數字,延時,知道是這樣,我們實際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時一下,再關閉位選,再送出段碼,再打開另一只位選僅此而已。有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動態掃描的原理都沒懂,不知道如何做,那么這個程序是怎么也寫不出來的。
6、開動腦筋,運用多種方法,不斷優化自己的程序。想想用各種不同方法來實現同一功能。這是一個練習和提高的過程,一個問題,你解決了,那么你再想想,能不能換種寫法,也可以實現同一功能,或者說,你寫出來的代碼,能不能再精簡一點,讓程序執行效率更高,這個過程,就是一個進步的過程。很多知識和經驗的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經驗才能得到積累,編程水平才能有所提高。
7、看別人的代碼,學習人家的思路。這個在學習初期是很有用,通過看別人的代碼,特別是有多年編程經驗的人寫出的具有一定水平的代碼,可以使自己編程水平得到迅速的提高,同時,也可以結合別人的編程手法,與自己的想法融合在一起,寫出更高水平的代碼,從中得到進步。但要注意,切忌將學習變成抄襲,更不是抄襲完了就認為自己學會了,這樣做只會使你退步。
8、嘗試編寫一下綜合應用的程序。從流水燈學起,到動態掃描,再到中斷,那么,你可以試試寫一下時鐘這種綜合性應用的程序,不要小看時鐘,要寫好它不是一件容易的事情,它包括了單片機大部分的知識,比如有按鍵(io讀取)、動態掃描(io輸出)、中斷等,如何協調好各功能模塊正常工作,才是編程者需要學習的地方,當你單獨寫一個功能的時候,比如按鍵讀取,你可能感覺很容易,因為你的程序啥也不做,只是讀按鍵。但把它和其它功能混合在一起,如何在整個程序運行中使每一部分都正常工作,這就不是寫一個按鍵讀取這么容易的事情,功能模塊之間有可能會互相影響,比如你需要讓數碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個協調過程。當你有了這個處理協調能力,你就算是入門了。
9、著重于培養解決問題的能力,而不是具體看自己編寫了多少代碼或者做過什么。“學單片機重點在于學習解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學單片機多年來感悟出來的。經常看到有人說“你會驅動xx芯片,真牛啊”“你搞過xx項目,真厲害”之類的話,其實這是非常片面的,搞過xx芯片,搞過xx項目,只能說明你做過這一項目,它只是你的業績,并不是代表能力就一定高。真正的能力應該是:“遇到沒有解決過的問題或器件,能利用自己已學的知識,迅速找到解決問題的方法。”這個才是能力。寫程序的過程就是一個創造的過程,幾乎沒有完全一樣的項目,每次你遇上的幾乎都不相同,所以你擁有的必須是你面對新項目時的創造能力,而不是標榜著你以往做過多少項目。當然,業績也能從另一側面反映你的經驗和水平。
10、如果有可能,多學習計算機專業的知識,比如數據結構等。這些是你解決問題的基礎知識,你把這些知識應用得越好,就會發現越容易找到解決問題的方法,這就是為什么一個學計算機專業的人編的程序和一個非計算機專業的人編的程序有差異的原因。也是一個菜鳥進軍到高手所要配備的知識。如果我們把編程分為宏觀編程和微觀編程,那么微觀編程就是寫具體的代碼,比如控制某某器件的語句;而宏觀編程就是如何對整個程序進行布局、安排,使功能模塊以你想要的方式去運行,得出你想要的結果。如前所說“會控制xx器件”這些只能算是微觀編程,能做到這一步還只能算是菜鳥級別,如果面對一個新的器件,你心里沒底,沒把握去寫這個控制程序,那說明你還是一個初級的菜鳥。當你有了一定的編程經驗,控制過相當數量的器件之后,你就會發現,控制器件這些工作都是相似的、重復的工作,體現不出編程的水平,最多也是寫得好與不好的差別,只能算是一些小技巧的應用。而對整個程序進行布局、安排這些才是最頭痛的事情,能達到宏觀編程和微觀編程都做好才是真正的高手。對于規模越大的程序,越能體現出這一點。
11、面對一個新項目時,多自己開動腦筋,不要急于找別人的程序。有不少人面對一個新項目時,第一步想到的就是網上找別人寫過的代碼,然后抄一段,自己再寫幾句,湊在一起就完成任務,這雖然可能是省時間,但絕對不利你的學習。當你接到一個新項目時,應該先自己構思一下整個程序的架構,想想如何來完成,有可能的話,畫一個流程圖,簡單的可以畫在腦子里,對程序中用到的數據、變量有一個初步的安排,然后自己動手去寫,遇到實在沒辦法解決的地方,再去請教別人,或看別人是怎么處理的,這樣首先起碼你自己動過腦想過,自己有自己的思路,如果你一開始就看別人的程序,你的思維就會受限在別人的思維里,自己想再創新就更難了,這樣你自己永遠也沒辦法提高,因為你是走在別人的影子里。
12、多利用網絡的搜索,學會提問題。一般來說,學習過程中,你遇上的問題,前人們多數也有遇上的,所以如果有什么不懂,在自己解決不了的時候,最好先到網上搜索一下,看能不能找到答案,找不到再到論壇里發問,發問也要有目的性,盡量簡單明了的描述問題,讓幫助你的人可以用最少的時間就看懂你說什么,畢竟人家幫助你是免費的,時間也是有限的。
單片機學習心得
1、學習單片機沒有捷徑,別指望兩三天就學會,要堅持不懈,重在積累。
2、別崇拜高手,別相信天才,大部分人都不是天才(相信你也不是)!
3、單片機是一門應用性和實踐性很強的學科,要多動手,多做實驗。
4、要學會參考別人的程序,減少自我琢磨的時間,迅速提高自我的編程潛力。
5、碰到問題能夠借助網絡來搜尋答案和對自我有幫忙的問題,能夠大大減少你的開發時間。
6、要多交一些朋友,多交流。技術是靠不斷的積累和交流才會提高的,封閉自守只會更加落后。
單片機學習心得
我從大二起,就去實驗室去學習。在那里與教師和一些電子設計愛好者的交流中,我學到了更多的專業知識。我從此走上了學習嵌入式的道路。這豐富了我的大學生活,是我在大學的最大收獲。
我是從學習單片機開始我的嵌入式學習的。
我接觸單片機的方式是在圖書館看書,我看了很多本書,可是大多數書寫的大同小異。書里面講解的單片機的寄存器我看了很多遍也沒有看懂。我都不明白改怎樣學習它了。慢慢的我悟出了一個道理:電子的學習實踐是最重要的,這樣,我在大二的時候就買了一塊學習板,我一邊看視頻一邊仿照視頻的程序,自我編寫程序,在很短的時間里,我的單片機有了很大的提高。那些難懂的寄存器透過編寫程序,我慢慢的弄懂了它們,此刻回頭看去,原先它還是很簡單的。
用哪種編程語言最適合我們。
我看過的單片機的書籍,大部分的程序都是匯編寫的。它是一種基于機器硬件的低級語言,對于我們這些只學習過c語言的人來說,十分難懂。我認為剛開始學習單片機沒有必要必須要從學習匯編編程開始。我學習單片機就是用c語言編程的,我并不會匯編語言,也沒有妨礙我把單片機學好。
很多人說,學單片機最好先學匯編語言,以我的經驗告訴大家,絕對沒有這個必要,初學者一開始就直接用c語言為單片機編程,既省時間,學起來又容易,提高速度會很快。在剛開始學單片機的時候,千萬不要為了解單片機內部結構而浪費時間,這樣只能打擊你的信心,當你學會編程后,自然一步步就掌握其內部結構了。
單片機提高重在實踐,想要學好單片機,軟件編程必不可少。可是熟悉硬件對于學好單片機的也是十分重要的。如何學習好硬件,動手實踐是必不可少的。我們能夠透過自我動手做一個自我的電子制作,透過完成它,以提高我的對一些芯片的了解和熟練運用它。這樣我們就能夠多一些了解芯片的結構。我相信,你完成了一個屬于自我的電子制作,你的單片機水平就會有一個質的提高。
單片機學習心得
一直想寫一個帖子,將自己學習單片機的經歷、經驗和方法總結一下,今天終于動手寫了,呵呵,這是我學習單片機的經驗、心得、方法。希望對大家學習單片機有所幫助。
經常在群、論壇里看到有人問:怎么學單片機?也常看到有人說學了好幾個月可就是沒有什么進展。當然,受限于每個人受到的教育水平不同和個人理解能力的差異,學習起來會有快慢之分,但我感覺最重的就是學習方法。一個好的學習方法,能讓你事半功倍,這里說說我學習單片機的經歷和方法。
05年的時候,因為制作fm發射電路采用了bh1415的芯片,需要用到單片機控制,所以開始接觸使用單片機,雖然以前讀書時作為一門功課學過,不過也快丟荒了10年了,基本上都忘光了,也算是從頭學起了吧。我當時是買了一塊實驗板,很簡單的功能,比論壇實驗板還要少功能,還有一個仿真器,也是比較簡單的,sst芯片的。然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個程序基本上就抄人家的,翻查了一份快速入門的學習資料,寫下第一個程序。然后,在仿真機是單步的看運行結果,從每一步執行,都硬件上反應出來的效果,很快,對單片機的運作有了一個非常感性的認識,這跟只看書然后自己想象運行是完全兩碼事。然后,是進一步的其它程序學習,一個月時間,基本上已經熟悉了51的各種硬件資源。把流水燈,數碼管動態掃描,中斷等等的學習了,然后就是寫綜合性的程序,也就是我發在論壇里的時鐘。通過這個程序的編寫,使自己的編程水平有了很大的飛躍。之后,就是逐步學習編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。在學過匯編之后,我又轉到了c語言學習,因為以前沒有學習過c語言,一切都很陌生,所以自己沿用了學習匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實現了從匯編編程為主到c編程為主的轉變。然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風格,一直到現在,基本上就是c語言編程,匯編已經是作為調試程序的輔助。
下面我概括了幾點我的學習經驗和心得體會:
1、萬事開頭難、要勇敢邁出第一步。開始的時候,不要老是給自己找借口,說keil不會建項目啦、沒有實驗板啦之類的。遇到困難要一件件攻克,不會建項目,就先學它,這方面網上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個最簡單的,讓它運行起來,先培養一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會差多少,總得建個項目,再配置一下項目,然后建個程序,加入項目中,再寫代碼、編譯、生成hex,刷進單片機中、運行。必須熟悉這一套工序。個人認為,一塊學習板還是必要的,寫好程序在上面運行一下看結果,學習效果會好很多,仿真器就看個人需要了。單片機是注重理論和實踐的,光看書不動手,是學不會的。
2、知識點用到才學,不用的暫時丟一邊。厚厚的一本書,看著人頭都暈了,學了后面的,前面的估計也快忘光了,所以,最好結合實際程序,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學好就是了,這是把整本書化整為零,一小點一小點的啃。
3、程序不要光看不寫,一定要自己寫一次。最開始的時候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達到什么目的,運行后有什么后果,看明白了之后,就要自己寫一次,你會發現,原來看明白別人的程序很容易,但到自己寫的時候卻一句也寫不出來,這就是差距……當你自己能寫出來的時候,說明你就真的懂了。
4、必須學會掌握調試程序的方法。不少人寫程序,把代碼寫好了,然后一運行,不是自己想要的結果,就暈了,然后跑到論壇上發個帖子,把程序一貼,問:為什么我的程序不能正常運行?然后就等別人來給自己分析。這是一種很不好的行為,應該自己學會發現問題和學會如何解決問題。這就需要學習調試程序的方法,比如keil里,可以下斷點啦,查看寄存器內容等等,這些都是調試程序的手段,當你發現你寫的程序運行結果和你想象中不一樣的時候,你可以單步,也可以下斷點,然后跟蹤,查看各相關寄存器內容,看看程序運行過中是不是有什么偏差,找出影響結果的地方,改正過來。這一個過程非常重要,通過程序的排錯,你可以學到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。我們用單片機來控制周邊器件,達到我們想到的目的,這是一個題目,而如何寫出一個程序,來控制器件按你想要的結果去運作,這個就是解題的思路。要寫程序,就得先找到解決問題的思路,你學會找出這個解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復制到自己的程序中,可以說,這不是一種學習的態度,無助于你編程水平的提高。我幾乎不怎么看人家的代碼,多數時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當困難的,特別是大型的程序,看起來是非常的累人,所以現在我也明白了,以前讀書時說的程序流程圖很重要,現在算是知道了。當你知道一個問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經不是什么問題了。舉個例子:數碼管動態掃描,沒寫過的初學者可能搞不清是怎么回事,其實,就是分時讓每一時間段時只控制一只數碼管顯示數字,幾只數碼管輪流顯示,由于速度很快,人眼的看起來是全部數碼管都亮的。明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數碼管輪流顯示出相應的數值。顯示數字,然后延時一下,再下一只顯示數字,延時,知道是這樣,我們實際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時一下,再關閉位選,再送出段碼,再打開另一只位選僅此而已。有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動態掃描的原理都沒懂,不知道如何做,那么這個程序是怎么也寫不出來的。
6、開動腦筋,運用多種方法,不斷優化自己的程序。想想用各種不同方法來實現同一功能。這是一個練習和提高的過程,一個問題,你解決了,那么你再想想,能不能換種寫法,也可以實現同一功能,或者說,你寫出來的代碼,能不能再精簡一點,讓程序執行效率更高,這個過程,就是一個進步的過程。很多知識和經驗的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經驗才能得到積累,編程水平才能有所提高。
覺,先建個項目,再配置一下項目,然后建個程序,加入項目中,再寫代碼、編譯、生成hex,刷進單片機中、運行。其實當遇到問題一定要自己嘗試著解決,不能遇到問題就去問別人,自己一定要掌握解決問的方法和思路。對一個新項目時,自己一定要多想想,不要急著去看別人是怎么寫的。應該先想一下程序的構架,想想如何來完成。然后自己動手去寫,理清自己的思路這樣更容易提高自己。
熟悉單片機的人都知道,要學好單片機可不是一件容易的事,倒不是因為單片機很難學,而是很難找到一本專為單片機入門者而編寫的教材。翻一下身邊的單片機教材,都好像是為已經懂單片機的人而寫的,一般先介紹單片機的硬件結構和指令系統,再是系統擴展和外圍器件,順便講一些應用設計(隨便說一下,很多書中的電路設計已經過時,并且有些程序還是錯誤的)。如果按照此種學習方法,想進行產品開發,就必須先把所有的知識全部掌握了才可以進行實際應用。學習使用單片機只能靠循序漸進的積累,雖然單片機的課程只上了幾節就去上班了,但在學習的過程中有了一定的了解。下面就本人學習單片機的過程和經驗做簡要介紹。
首先,學習單片機要有一定的基礎:電子技術方面要有數字電路和模擬電路等方面的理論基礎,特別是數字電路;編程語言要求匯編語言或c語言。要想成為單片機高手,建議初學者首先學習匯編語言,學的差不多的時候,轉入c語言學習。盡管匯編語言屬于低級語言,編程效率低,但是較c語言具有目標代碼簡短,占用內存少,執行速度快等優點,更重要的是能使初學者盡快熟悉單片機的內部結構,并能對其進行精確的控制。匯編語言在單片機教材里面都會涉及,不需要單獨購買教材和學習。c語言是一門學問,有很多專業書籍來講解,并且對我們今后的編程生涯有絕對的好處,因此要深入學習,千萬不要自以為看了某某的視頻教程就以為掌握了c語言,那只是c語言的一部分。在這里給大家推薦一本單片機c語言程序設計參考書,馬忠梅等著,北京航空航天大學出版社出版的《單片機的c語言應用程序設計》,要求c語言基礎。如果沒學過c語言,建議學習清華大學譚浩強編寫的c語言程序設計,這本書寫的不錯,通俗易懂。
但這并不要緊,因為你還缺乏實踐經驗。現在單片機應用廣泛,因此各個廠家分別推出了自己的單片機,我們沒必要每樣都學!因為他們的編程方法和調試過程以及內部指令結構有一定的相似,只要學精通一款就ok了!尤其是用c語言編程,就幾乎不用分什么派系,但是我們要選擇一款有代表性的知識范圍廣,并且入門容易,書籍多。一般來說,mcs-51系列單片機已經得到廣泛的普及和應用,市場上它的資料也比較多,用的人也很多。給大家推薦一些參考書,學習時只需要一本就足夠拉。書名:《新編mcs-51單片機應用設計》,哈爾濱工業大學出版,作者:張毅剛;書名:《單片機原理及應用》,高等教育出版社,作者:張毅剛等;書名:《單片機高級教程:應用與設計》,北京航空航天大學出版社,作者:何立民。相關教材還有很多,在這不一一列舉。
然后,是開發工具和開發環境的選擇。選擇一塊合適的學習板,對于初學者來說一般無力接受,如果經濟條件允許、本人又對單片機很感興趣、有從事相關工作意向的話,鼓勵大家購買。隨便說一句,學習板功能要求太全,具有流水燈、數碼管、獨立鍵盤、矩陣鍵盤、ad或da、液晶、蜂鳴器等就差不多啦,畢竟,功能齊全的價格比較高。仿真器對單片機初學者來說既是那么耳熟,同時又有些陌生,這主要是因為市場上傳統的仿真器價格都在千元以上,對經濟不是非常寬裕的人來說是不小的開支。同時仿真器是用來提高調試程序效率的,也不是非需不可的,如果你沒有仿真器,遇到程序出錯的時候,只好苦思冥想,反復燒寫調試。隨便推薦一下,學林電子的51tracer仿真器,有興趣的朋友可關注一下。有了單片機教程板以后,先看下指導說明書,熟悉一下學習板,開卷有益。以后就得靠自己多練習了,將學習板與電腦連接好,先學會開發軟件的使用,然后從最簡單的流水燈實驗做起,按照你自己的意愿控制流水燈,當你完成時,你會發現這是多么愜意的事情。太好玩了,你會覺得這不是在學習,而是在玩,當你發現,單片機能夠按照你編寫的程序工作時,你會覺得非常興奮,比做什么事情都開心,這樣你會慢慢迷上單片機,真的。不少網站上說搞定某個實驗,就恭維的告訴你一聲”恭喜你,學會了”自己學會了單片機,這有點可笑,這只能說明你算過關了,對單片機有了一定了解和會使用它了。但是單片機能完成的功能太多了,尤其是對外圍器件的控制,綜合起來能設計出許多意想不到的產品.因此除了入門外,精通可千萬別輕易說出口。
最后,在熟練掌握和應用后,那可以說對于單片機方面的硬件你已經入門了,剩下的就是自己練習設計開發各種課題,不斷的積累經驗。最終,自己完全設計具有個人風格的課題,產品,這樣你就是單片機高手拉。只要過了第一關,后面的路就好走多了,萬事開頭難,這大家可能都聽過。
有時候單片機的學習很單調,有些知識學起來很抽象,不容易理解,只能慢慢適應,一邊學習理論知識,一邊編寫程序,將程序刷入單片機進行調試,通過這種方式才能更快速的學習單片機。要堅定自己的學習信心,在付出持之以恒的努力,我相信自己能進一步加深對單片機的了解,在單片機的學習道路上走得更遠!
單片機學習心得
在學校學習期間我有幸的參加了學校的單片機學習小組,在小組里我了解了什么是單片機,單片機有哪些用途,利用單片機可以實現哪些功能來方便人們的生活如交通燈,時鐘,還有手機中,電子玩具等等,它們里面都有單片機的存在來實現某種功能。通過在單片機小組里的學習我簡單總結了幾點心得和體會:
第一:萬事開頭難,要勇敢的邁出第一步,不要總找借口說沒有學習過就總推脫。凡事都有第一步可以先可簡單的來,然后可以逐步的向深層次學習。可以從建項目開始,然后可以找一個簡單的小程序先把它敲進單片機內然他運行起來,感覺一下單片機的運行,讓自己了解單片機整個運行。
第二:對于知識點,學過的要掌握牢固,對于沒有學的和暫時用不到的先不用學習。比如:小燈得點亮就沒有用到中斷可以先不用看。這樣可以避免知識過多記不住的麻煩。對于程序這里的知識點不能只停留在理論層次上,一定要結合著程序進行學習這樣才能掌握的很牢靠,當用到哪里的知識點不記得了可以去看書,對于用不到的可以不去看。
第三:程序不要只是看別人得,一定要自己寫過才是自己的。開始不懂可以參考別人的,看看每一句代表著什么意思,能夠實現什么現象。明白之后自己再重新寫一遍,你會發現看別人的能懂到自己寫的時候很困難。當你自己能寫出來的時候說明你真懂了。
第四:一定要學會程序調試的方法。有時候把程序寫完了然后運行時不能實現理想的現象。這時有人就暈了不知該怎么辦,然后就去問別人。當別人找出問題出在哪里時就會恍然大悟。其實當遇到問題一定要自己嘗試著解決,不能遇到問題就去問別人。自己一定要掌握解決問的方法和思路。
一起完成任務,雖然省時間但不利你的學習。當你遇到一新項目時你應該先想一下程序的構架,想想如何來完成。然后自己動手去寫,當你遇到實在是沒辦法解決的問題時再去請教別人,看他是怎么處理的,學習他的方法。這樣起碼你自己想過了,有自己的思路不會受到別人的影響,這樣更容易提高自己。
在單片機的學習開始時感覺很吃力,在不斷的學習過程中慢慢的對單片機產生了些好感,而且在編寫程序過程中吃力的感覺慢慢的淡了。在這其中基礎知識掌握牢固是非常重要的,然后在學習過程中要學會提問題和自己解決問題,慢慢的對于學習單片機你也會產興趣。雖然在開始學習單片機時感覺很青澀,但只要堅定自己的學習信心,在付出持之以恒的努力,我相信自己能進一步加深對單片機的了解,在單片機的學習道路上走得更遠!
單片機學習心得
先說說單片機,一般我們此刻用的比較多的的mcs—51的單片機,它的資料比較多,用的人也很多,市場也很大。就我個人的體會怎樣樣才能更快的學會單片機這門課。單片機這門課是一項十分重視動手實踐的科目,不能總是看書,可是學習它首先必須得看書,因為從書中你需要大概了解一下,單片機的各個功能寄存器,而說明白點,我們使用單片機就是用軟件去控制單片機的各個功能寄存器,再說明白點,就是控制單片機那些管腳的電平什么時候輸出高,什么時候輸出低。由這些高低電平的變化來控制你的系統板,實現我們需要的各個功能。至于看書,只需大概了解單片機各管腳都是干什么的能實現什么樣的功能第一次,第二次你可能看不明白,但這不要緊,因為還缺少實際的感觀認識。所以我總是說,學單片機看書看兩三天的就夠了,看小說你一天能看五六本,看單片機你兩三天看兩三遍就夠了,能夠不用仔細的看。
推薦一本書,就這一本就足夠,書名是《新編mcs—51單片機應用設計》,是哈爾濱工業大學出版社出的的,作者是張毅剛。大概了解一下書上的資料,然后實踐,這是十分關鍵的,如果說學單片機你不實踐那是不可能學會的,關于實踐有兩種方法你能夠選擇,一種方法:你自我花錢買一塊單片機的學習板,不要求功能太全的,對于初學者來說你買功能十分多的那種板子,上頭有很多東西你這輩子都用不著,我提議有流水燈、數碼管、獨立鍵盤、矩陣鍵盤、ad或da(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上頭我提到的這些,你能熟練應用,那能夠說對于單片機方面的硬件你已經入門了,剩下的就是自我練習設計電路,不斷的積累經驗。只要過了第一關,后面的路就好走多了,萬事開頭難,大家可能都聽過。方法二:你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個簡單的最小系統板。對于高手來說,做個單片機的最小系統板只需要一分鐘的時間,而對于初學者可就難多了,因為僅有對硬件了解了,才能熟練運用。而如果你身邊沒有這樣的高手,又找不到能夠幫忙你的人,那我勸你最好是自我買上一塊,畢竟自我有一塊要方便的多,以后做單片機類的小實驗時都能用得上,還省事。
有了單片機學習板之后你就要多練習,最好是自我有臺電腦,一天少看電影,少打游戲,把學習板和電腦連好,打開調試軟件坐在電腦前,先學會怎樣用調試軟件,然后從最簡單的流水燈實驗做起,等你能讓那八個流水燈按照你的意愿隨意流動時你已經入門了,你會發現單片機是多么迷人的東西啊,太好玩了,這不是在學習知識,而是在玩,當你編寫的程序按你的意愿實現時你比做什么事都開心,你會上癮的,真的。做電子類的人真的會上癮。然后讓數碼管亮起來,這兩項會了后,你已經不能自拔了,你已經開始研究你這輩子要走哪一行了。就是要這樣練習,在寫程序的時候你肯定會遇到很多問題,而這時你再去翻書找,或是問別人,當得到解答后你會記住一輩子的,知識必須用于現實生活中,解決實際問題,這樣才能發揮它的作用,你自我好好想想,上了這么多年大學,天天上課,你在課堂上學到了什么是不是為了期末考試而忙碌呢考完得了90分,哈哈哈好高興啊,下學期開學回來忘的一干二凈,是不是你學到什么了可是我告訴你單片機一旦學會,永遠不會忘了。另外我再說說用匯編和c語言編程的問題。
很多同學大一二就開設了c語言的課,我也上過,我明白那時天天就是幾乘幾,幾加幾啊,求個階乘啊。學完了有什么用讓你用c語言編單片機的程序你是不是就傻了書上的東西我們必須要會運用。單片機編程用c語言或匯編語言都能夠,可是我提議用c語言比較好,如果原先有c語言的基礎那學起來會更好,如果沒有,也能夠邊學單片機邊學c語言,c語言也挺簡單,只是一門工具而已,我勸你最好學會,將來肯定用得著,要不你以后也得學,你一點匯編都不會根本無所謂,但你一點c語言都不會那你將來會吃苦頭。匯編寫程序代碼效率高,但相對難度較大,并且很羅嗦,尤其是遇到算法方面的問題時,根本是麻煩的不得了,此刻單片機的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因為有高頻率的時鐘,單片機的rom也在不斷的提高,足夠裝得下你用c語言寫的任何代碼,c語言的資料又多又好找,將來可移植性十分好,只需要變一個io口寫個溫度傳感器的程序在哪里都能用,所以我勸大家用c語言。
總結上頭,只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,那學個單片機來說就是件十分容易的事。
步驟:
1、找本書大概了解一下單片機結構,大概了解就行。不用都看懂,又不讓你出書的。(三天)。
2、找學習板練習編寫程序,學單片機就是練編程序,遇到不會的再問人或查書。(二十天)。
3、自我網上找些小電路類的資料練習設計外圍電路。焊好后自我調試,熟悉過程。(十天)。
4、自我完全設計具有個人風格的電路,產品,你已經是高手了......
看到了嗎下功夫一個多月你就能成為高手,我就講這么多了,學不學得會,下不下得了功夫就看你的了。
單片機學習心得
很多人說,學單片機最好先學匯編語言,以我的經驗告訴大家,絕對沒有這個必要,初學者一開始就直接用c語言為單片機編程,既省時間,學起來又容易,提高速度會很快。在剛開始學單片機的時候,千萬不要為了解單片機內部結構而浪費時間,這樣只能打擊你的信心,當你學會編程后,自然一步步就掌握其內部結構了。
單片機提高重在實踐,想要學好單片機,軟件編程必不可少。可是熟悉硬件對于學好單片機的也是十分重要的。如何學習好硬件,動手實踐是必不可少的。我們能夠經過自我動手做一個自我的電子制作,經過完成它,以提高我的對一些芯片的了解和熟練運用它。這樣我們就能夠多一些了解芯片的結構。我相信,你完成了一個屬于自我的電子制作,你的單片機水平就會有一個質的提高。
這就是我學習單片機的心得體會,期望給單片機的愛好者學好單片機有所幫忙。
使用按鈕輸入信號,發光二極管顯示輸出電平,就能夠學習引腳的數字io功能,在按下某個按鈕后,某發光二極管發亮,這就是數字電路中組合邏輯的功能,雖然很簡單,可是能夠學習一般的單片機編程思想,例如,必須設置很多寄存器對引腳進行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能。每使用單片機的一個功能,就要對控制該功能的寄存器進行設置,這就是單片機編程的特點,千萬不要怕麻煩,所有的單片機都是這樣。
第二步:定時器的使用。
學會定時器的使用,就能夠用單片機實現時序電路,時序電路的功能是強大的,在工業、家用電氣設備的控制中有很多應用,例如,能夠用單片機實現一個具有一個按鈕的樓道燈開關,該開關在按鈕按下一次后,燈亮3分鐘后自動滅,當按鈕連續按下兩次后,燈常亮不滅,當按鈕按下時間超過2s,則燈滅。數字集成電路能夠實現時序電路,可編程邏輯器件(pld)能夠實現時序電路,可編程控制器(plc)也能夠實現時序電路,可是僅有單片機實現起來最簡單,成本最低。定時器的使用是十分重要的,邏輯加時間控制是單片機使用的基礎。
第三步:中斷。
單片機的特點是一段程序反復執行,程序中的每個指令的執行都需要必須的執行時間,如果程序沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情,例如,按鈕按下時的下降沿。要使單片機在程序正常運行過程中,對快速動作做出反應,就必須使用單片機的中斷功能,該功能就是在快速動作發生后,單片機中斷正常運行的程序,處理快速發生的動作,處理完成后,在回到執行正常的程序。中斷功能使用中的困難是需要精確地明白什么時候不允許中斷發生(屏蔽中斷)、什么時候允許中斷發生(開中斷),需要設置哪些寄存器才能使某種中斷起作用,中斷開始時,程序應當干什么,中斷完成后,程序應當干什么等等。中斷學會后,就能夠編制更復雜結構的程序,這樣的程序能夠干著一件事,監視著一件事,一旦監視的事情發生,就中斷正在干的事情,處理監視的事情,當然也能夠監視多個事情,形象的比喻,中斷功能使單片機具有吃著碗里的,看著鍋里的功能。
以上三步學會,就相當于降龍十八掌武功,會了三掌了,能夠勉強護身。
第四步:與pc機進行rs232通信。
單片機都有usart接口,異常是msp430系列中很多型號,都具有兩個usart接口。usart接口不能直接與pc機的rs232接口連接,它們之間的邏輯電平不一樣,需要使用一個max3232芯片進行電平轉換。
usart接口的使用是十分重要的,經過該接口,能夠使單片機與pc機之間交換信息,雖然rs232通信并不先進,可是對于接口的學習是十分重要的。正確使用usart接口,需要學習通信協議,pc機的rs232接口編程等等知識。試想,單片機實驗板上的數據顯示在pc機監視器上,而pc機的鍵盤信號能夠在單片機實驗板上得到顯示,將是多么有意思的事情啊!
第五步:學會ad轉換。
map430單片機帶有多通道12位ad轉換器,經過這些ad轉換器能夠使單片機操作模擬量,顯示和檢測電壓、電流等信號。學習時注意模擬地與數字地、參考電壓、采樣時間,轉換速率,轉換誤差等概念。使用ad轉換功能的簡單的例子是設計一個電壓表。
第六步:學會pci、i2c接口和液晶顯示器接口。
這些接口的使用能夠使單片機更容易連接外部設備,在擴展單片機功能方面十分重要。
第七步:學會比較、捕捉、pwm功能。
這些功能能夠使單片機能夠控制電機,檢測轉速信號,實現電機調速器等控制起功能。如果以上七步都學會,就能夠設計一般的應用系統,相當于學會十招降龍十八掌,能夠出手攻擊了。
第八步:學習usb接口、tcpip接口、各種工業總線的硬件與軟件設計。
學習usb接口、tcpip接口、各種工業總線的硬件與軟件設計是十分重要的,因為這是當前產品開發的發展方向。
到此為止,相當于學會15招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了!
單片機實訓心得體會
為期幾天的單片機實訓暴露出來很多學習上的問題,這些問題的發現將為我們以后的學習和工作找明道路,查漏補缺為進一步學習作好準備!
本次實驗我們組做的課題是《交通燈控制》,這是一個實用性質非常強的題目。
首先,它非常聯系我們日常生活,每當我們在馬路上走的時候對我們的人身安全關系最密切的莫過于紅綠燈,因此設計一款好的性能優異功能強大的交通燈控制系統是對所有車輛行人的一個最大的福音,是對社會的巨大貢獻!
其次,交通燈控制系統是涉及到單片機、電路、信號、數學數字運算等多學科的一門綜合性應用非常強的課題,這個課題的成功實踐必將在一定程度上極大地激發我們在這些相關學科的學習興趣,也會促使我們去向多學科綜合應用的方面發展,這也是當今科學科技領域一個顯著的特點。從這一點上來說這個課題的選取對所有參加這個課題研究的同學們來說都是一個非常好的鍛煉。
再次,任何一個任務的完成,都體現了一個小組一個組織的配合,單純一個人的力量是完不成很大很多的工作的,這就要求整個組里的成員共同配合積極協作,為了一個共同的目標努力。從這一點上來說,這個課題的意義就在于培養了我們大家團結協作的作風同時也培養了我們每個人在對待科學問題上孜孜不倦、嚴謹求實的科學作風,這對我們每個人來說都是相當有益的!
當然,通過做這個課題,也暴露出來了很多問題值得我們去探討解決和克服:
第一,時間利用問題。由于課題難度較大,因此很多組員都以不會為理由而無所事事,在實驗室上網玩游戲,耽誤了寶貴的時間也造成了整個組課題研究效率的低下。再一個有關時間的問題就是時間利用率太低。
第二,組員之間配合不甚默契。也許是由于課題的原因,小組內成員之間總是各自干各自的缺少那種配合上的默契,結果到最后很多人都重復去做同一件事情造成了時間浪費、效率下降。
第三,課題研究不夠深刻。課題研究總是浮于表面文章,對程序對最后結果研究不夠造成雖然某一塊地方做的比較好但是在大腦中沒有一個總體的印象,無法理論聯系實際,研究成果的應用嚴重背離實際現實,影響使用。
基本上,這次實訓暴露出來的問題就這些,我且先。
總結。
到這里。這些問題的發現,有助于提高我們在以后的工作和學習中對此類問題的認識,確保不在同一問題上再次犯錯。團結協作、積極配合、嚴謹求實、踏實務實,是對這次實訓的深刻總結。
還要事事做在同學前邊,事事做到點子上。錯誤傳遞領導的命令和遲到都是對工作的極度不負責,都是工作上的極大失職,以后要嚴格要求自己,堅決杜絕此類事情的再次發生,否則這一次次的“小錯”必將帶來人生中的“大后悔”!萬老師這次的懲罰是對我的一次深刻的教訓,要牢牢記住這次失職帶來的教訓,確保不再犯同樣的錯誤!
最后,衷心感謝萬老師給我們提供了這次難得的實訓機會,給了我這么深刻的人生體會,這一切一切對我我來說是有益而無害!
單片機實訓心得體會
當我們經過反思,對生活有了新的看法時,好好地寫一份心得體會,這樣我們就可以提高對思維的訓練。是不是無從下筆、沒有頭緒?下面是小編收集整理的單片機實訓心得體會,歡迎閱讀與收藏。
我看到書上講:單片機可以用兩種語言編寫,一種是c語言,另外一種是匯編語言。匯編語言是一種機器語言,且代碼繁瑣,不易記憶。需要掌握單片機的內部結構和邏輯結構,通過看了幾本書讓我了解認識到匯編確實太繁瑣,不過我學習過c語言,也參加了全國計算機二級考試,覺得自己在一方面具有優勢,能很快學好它。
不過在學習中,我才發現學習單片機不僅僅需要軟件的知識,還需要硬件的知識。我買了一個單片機在實踐中就是一個活生生的例子,沒有相應的硬件知識,我連單片機怎么和電腦相連都不知道,我為我當初的想法感到羞愧。單片機是一門很好的學問,需要我去鉆研它。
時光飛逝,一轉眼,一個學期又進尾聲了,本學期的單片機綜合課程設計也在一周內完成了。
俗話說“好的開始是成功的一半”。說起課程設計,我認為最重要的就是做好設計的預習,認真的研究老師給的題目,選一個自己有興趣的題目。其次,老師對實驗的講解要一絲不茍的`去聽去想,因為只有都明白了,做起設計就會事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設計,到頭來一點收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調試,掌握其方法。
雖然這次的課程設計算起來在實驗室的時間只有三天,不過因為我們都有自己的實驗板,所以在宿舍里做實驗的時間一定不止三天。
硬件的設計跟焊接都要我們自己動手去焊,軟件的編程也要我們不斷的調試,最終一個能完成課程設計的勞動成果出來了,很高興它能按著設計的思想與要求運動起來。
當然,這其中也有很多問題,第一、不夠細心比如由于粗心大意焊錯了線,由于對課本理論的不熟悉導致編程出現錯誤。第二,是在學習態度上,這次課設是對我的學習態度的一次檢驗。對于這次單片機綜合課程實習,我的第一大體會就是作為一名工程技術人員,要求具備的首要素質絕對應該是嚴謹。我們這次實習所遇到的多半問題多數都是由于我們不夠嚴謹。第三,在做人上,我認識到,無論做什么事情,只要你足夠堅強,有足夠的毅力與決心,有足夠的挑戰困難的勇氣,就沒有什么辦不到的。
單片機實訓心得體會
很多人說,學單片機最好先學匯編語言,以我的經驗告訴大家,絕對沒有這個必要,初學者一開始就直接用c語言為單片機編程,既省時間,學起來又容易,進步速度會很快。
在剛開始學單片機的時候,千萬不要為了解單片機內部結構而浪費時間,這樣只能打擊你的信心,當你學會編程后,自然一步步就掌握其內部結構了。單片機提高重在實踐,想要學好單片機,軟件編程必不可少。但是熟悉硬件對于學好單片機的也是非常重要的。
如何學習好硬件,動手實踐是必不可少的。我們可以通過自己動手做一個自己的電子制作,通過完成它,以提高我的對一些芯片的了解和熟練運用它。這樣我們就可以多一些了解芯片的結構。我相信,你完成了一個屬于自己的電子制作,你的單片機水平就會有一個質的提高。
這就是我學習單片機的心得體會,希望給單片機的愛好者學好單片機有所幫助。
使用單片機就是理解單片機硬件結構,以及內部資源的應用,在匯編或c語言中學會各種功能的初始化設置,以及實現各種功能的程序編制。
第一步:數字i/o的使用。顯示輸出電平,就可以學習引腳的數字i/o功能,在按下某個按鈕后,某發光二極管發亮,這就是數字電路中組合邏輯的功能,雖然很簡單,但是可以學習一般的單片機編程思想,例如,必須設置很多寄存器對引腳進行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能。每使用單片機的一個功能,就要對控制該功能的寄存器進行設置,這就是單片機編程的特點,千萬不要怕麻煩,所有的單片機都是這樣。
第二步:定時器的使用。學會定時器的使用,就可以用單片機實現時序電路,時序電路的功能是強大的,在工業、家用電氣設備的控制中有很多應用,例如,可以用單片機實現一個具有一個按鈕的樓道燈開關,該開關在按鈕按下一次后,燈亮3分鐘后自動滅,當按鈕連續按下兩次后,燈常亮不滅,當按鈕按下時間超過2s,則燈滅。數字集成電路可以實現時序電路,可編程邏輯器件(pld)可以實現時序電路,可編程控制器(plc)也可以實現時序電路,但是只有單片機實現起來最簡單,成本最低。定時器的使用是非常重要的,邏輯加時間控制是單片機使用的基礎。
第三步:中斷。單片機的特點是一段程序反復執行,程序中的每個指令的執行都需要一定的執行時間,如果程序沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情,例如,按鈕按下時的下降沿。要使單片機在程序正常運行過程中,對快速動作做出反應,就必須使用單片機的中斷功能,該功能就是在快速動作發生后,單片機中斷正常運行的程序,處理快速發生的動作,處理完成后,在返回執行正常的程序。中斷功能使用中的困難是需要精確地知道什么時候不允許中斷發生(屏蔽中斷)、什么時候允許中斷發生(開中斷),需要設置哪些寄存器才能使某種中斷起作用,中斷開始時,程序應該干什么,中斷完成后,程序應該干什么等等。中斷學會后,就可以編制更復雜結構的程序,這樣的程序可以干著一件事,監視著一件事,一旦監視的事情發生,就中斷正在干的事情,處理監視的事情,當然也可以監視多個事情,形象的比喻,中斷功能使單片機具有吃著碗里的,看著鍋里的功能。
以上三步學會,就相當于降龍十八掌武功,會了三掌了,可以勉強護身。
第四步:與pc機進行rs232通信。單片機都有usart接口,特別是msp430系列中很多型號,都具有兩個usart接口。usart接口不能直接與pc機的rs232接口連接,它們之間的邏輯電平不同,需要使用一個max3232芯片進行電平轉換。usart接口的使用是非常重要的,通過該接口,可以使單片機與pc機之間交換信息,雖然rs232通信并不先進,但是對于接口的學習是非常重要的。正確使用usart接口,需要學習通信協議,pc機的rs232接口編程等等知識。試想,單片機實驗板上的數據顯示在pc機監視器上,而pc機的鍵盤信號可以在單片機實驗板上得到顯示,將是多么有意思的事情啊!
第五步:學會a/d轉換。map430單片機帶有多通道12位a/d轉換器,通過這些a/d轉換器可以使單片機操作模擬量,顯示和檢測電壓、電流等信號。學習時注意模擬地與數字地、參考電壓、采樣時間,轉換速率,轉換誤差等概念。使用a/d轉換功能的簡單的例子是設計一個電壓表。
第六步:學會pci、i2c接口和液晶顯示器接口。這些接口的使用可以使單片機更容易連接外部設備,在擴展單片機功能方面非常重要。
第七步:學會比較、捕捉、pwm這些功能可以使單片機能夠控制電機,檢測轉速信號,實現電機調速器等控制起功能。
如果以上七步都學會,就可以設計一般的應用系統,相當于學會十招降龍十八掌,可以出手攻擊了。
第八步:學習usb接口、tcp/ip接口、各種工業總線的硬件與軟件設計?學習usb接口、tcp/ip接口、各種工業總線的硬件與軟件設計是非常重要的,因為這是當前產品開發的發展方向。到此為止,相當于學會15招降龍十八掌,但還不到打遍天下無敵手的境界。
即使如此,也算是單片機大蝦了!
單片機實訓心得體會
掌握了單片機應用電路的設計和調試方法。
首先,我們要從所給定的元器件中設計出6個不同的電路,并編寫程序實現相關任務要求。我們小組設計出的電路主有:
(1)數碼管輪流顯示百十個位的數。要求:數據來源于撥碼開關;
個位顯示完畢停留的時間稍微長些。
(2)定時計數器實現對外部脈沖計數5次后,流水燈的狀態由亮點左流動轉化成閃爍5次,然后回到初始狀態。
(3)單鍵改變流水燈狀態。按鍵一旦按下,流水燈狀態由暗點右流動轉化成閃爍8次,然后回到初始狀態。
并且按鍵k1級別高于k0。
(5)串口輸出數據,實現在2個數碼管上顯示60秒計數器。
(6)在集成的8位數碼管上動態顯示出:1——8的效果。
其次,我們要對我們所設計的電路進行電路布局、連線,檢查電路是否出現錯誤或者遺漏。
然后,學會用keil軟件調試程序,并用該軟件菜單的各項調試工具和窗口。再結合硬件和軟件,進行整體調試。
最后,當我們根據相關要求從所給定的元器件中設計出6個不同的電路、編寫程序、線路布局,調試成功,我們的設計就完成了。
在這實訓期間我深刻的認識到了理論知識和實踐操作必須是相結合的,也許在實訓時會有很多各種軟、硬件等故障。
在編程時我們就出現了很大的障礙,本來還以為編程會很簡單的,等到實際操作起來才知道它的復雜性,沒有想像中的那么得心應手,最后不得不求出其他小組,原來本身程序的思維是正確的,只是步驟中有點小錯誤,所以導致整個程序的結果很亂。
我們在做雙鍵改變流水燈狀態的電路時又發現了一個頭痛的問題,發光二極管不亮、開關不管用,剛開始的時候,我們檢查了好幾遍就是沒有發現問題,快要失去耐心是發現少兩連接了兩根線,這是個好現象讓我們有了繼續往下的勇氣,終于在反復的檢查研究中,我們發現發光二極管不亮的正負方向反了,開關接錯了位臵,這才導致連接線路期間的錯誤不斷。結果是可喜的,在我們小組竭盡全力,同學老師的幫忙下,我們的電路很成功。
我們會遇到很多挫折,不要氣餒,不要放棄。我們只有這樣才能提高自己的實際操作能力;
培養自己獨立思考能力;
樹立良好的心理素質和吃苦耐勞精神。因此,本實訓對培養學生正確的勞動觀念、組織紀律性、團隊合作精神。
單片機實訓心得體會
單片機是一種集成電路芯片,可以完成各種任務的小型計算機。在單片機實訓中,我有幸親自動手進行實驗,不僅提升了自己的動手能力,還深刻體會到了單片機的魅力。在這篇文章中,我將分享我的實訓心得與體會。
首先,單片機實訓讓我更加了解了計算機的基本原理。在實訓中,我學習了單片機的結構與工作原理,對計算機內部的各個組成部分有了更深入的了解。通過編寫程序,我也學會了如何控制電流與電壓,以及如何與外部設備進行交互。這讓我對計算機的工作方式有了更清晰的認識,提升了我對技術的理解與掌握能力。
其次,單片機實訓培養了我的問題解決能力。在實訓過程中,我遇到了許多問題,如代碼錯誤、電路連接問題等。這些問題需要我細心分析、運用已學知識尋找解決方案。通過一次次的錯誤與調試,我慢慢成長為一個能夠獨立解決問題的實訓者。這種解決問題的能力不僅僅在實訓中有用,將在我的日后的工作中幫助到我。
再次,單片機實訓鍛煉了我的耐心與細心。在實訓中,有時候一個小的錯誤會導致整個實驗失敗,需要耐心地一步一步排查。這要求我具備細致的觀察力和耐心的分析能力。而這種細心與耐心也會在其他生活中的事情中發揮作用。我相信,只要經過相應的訓練和鍛煉,這種細心與耐心會使我在各個領域都能取得更好的成績。
另外,單片機實訓也讓我更加注重團隊合作的重要性。在實訓中,我與同學們分工合作,共同完成實驗任務。在實驗過程中,我們相互幫助、相互協作,解決了許多困難。這使我意識到,團隊精神與團隊合作能夠取得更好的結果。在以后的工作中,無論是與同事合作還是與客戶溝通,團隊合作都是取得成功的關鍵。
最后,單片機實訓讓我意識到學習是一個持續不斷的過程。在實訓中,單片機技術更新換代迅速,需要不斷學習與更新知識才能跟上時代的步伐。我明白了,學習不僅僅是為了應對考試,更是為了提升自己、適應社會的需要。我將繼續學習,不斷地提高自己的專業技能,以適應未來社會的需求。
總之,單片機實訓給我帶來了許多寶貴的體會與收獲。通過實際操作與不斷實驗,我更加了解了單片機與計算機的工作原理,培養了自己的問題解決能力與耐心,意識到了團隊合作的重要性,并且明白了學習是一個持續不斷的過程。我相信,這些體會與收獲將對我的未來發展產生積極的影響。
單片機實訓的心得體會
這幾個月,我參加了一項關于單片機的實訓課程,通過這段時間的學習和實踐,我不僅掌握了單片機的基本原理和技能,更重要的是,我也深深感受到了實踐學習的魅力和價值。在這篇文章中,我想分享一下自己對于這次單片機實訓的心得和體會。
第二段:學習方法的重要性。
在單片機的實訓中,我最先學會的是如何學習。單片機的知識內容十分龐雜和繁瑣,考驗的不僅是學生的學習能力和耐心,更重要的是如何找到正確的方法。對于這個問題,我認為,首先要掌握好知識的具體界限和基本原理,然后才能更好地展開深入的學習和實踐。其次要注重實踐,將理論知識與實際應用相結合,只有真正掌握了這些方法,才能成功地掌握單片機這個知識領域。
第三段:溝通和合作的重要性。
在單片機實訓中,我們學生不僅需要通過自學掌握技能和知識,還需要與同學進行合作和交流,互相討論和分享。為了提高學習效果,我們需要組隊完成各種任務和項目,這時候就需要溝通和合作的能力。通過這次實訓,我感受到了為什么團隊合作對于成功至關重要,我們通過彼此的交流和合作,完成了一項項任務和項目,讓我深刻體會到了團隊合作的力量和效益。
第四段:挑戰與獎勵并存。
單片機實訓不斷帶給我挑戰,也帶給我極大的滿足感和成就感。我們要完成各種各樣的任務和項目,需要不斷地摸索和嘗試,有時候布線錯了、程序運行不了,還有各種各樣的錯誤和問題,解決這些問題和克服挑戰都是十分艱苦的。但是,哈哈!你一旦突破了這些問題,在那一刻,你會感覺到無以倫比的成就感和喜悅。實訓的挑戰和獎勵,正是這樣搭配并成。
第五段:總結。
對于單片機實訓,我的學習之路依然還很長,但是不管路多艱難,從中我們也應該看到它的價值和意義。單片機的實踐不僅能夠提升我們的實踐能力和動手能力,更重要的是能夠啟發我們的創造力和思維。在這個過程中,我們學會了自學、合作、解決問題,也學會了如何在實踐中不斷提高自己。這次單片機實訓,對于我來說是一次難忘的體驗,它讓我學到了很多東西,學到了不同的方法和思路,我也希望在今后能夠繼續學習和運用這些技能和知識,讓自己不斷進步。
單片機學習心得
一直想寫一個帖子,將自己學習單片機的經歷、經驗和方法一下,今天終于動手寫了,呵呵,這是我學習單片機的經驗、心得、方法。希望對大家學習單片機有所幫助。
經常在群、論壇里看到有人問:怎么學單片機?也常看到有人說學了好幾個月可就是沒有什么進展。當然,受限于每個人受到的教育水平不同和個人理解能力的差異,學習起來會有快慢之分,但我感覺最重的就是學習方法。一個好的學習方法,能讓你事半功倍,這里說說我學習單片機的經歷和方法。
的時候,因為制作fm發射電路采用了bh1415的芯片,需要用到單片機控制,所以開始接觸使用單片機,雖然以前讀書時作為一門功課學過,不過也快丟荒了了,基本上都忘光了,也算是從頭學起了吧。我當時是買了一塊實驗板,很簡單的功能,比論壇實驗板還要少功能,還有一個仿真器,也是比較簡單的,sst芯片的。然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個程序基本上就抄人家的,翻查了一份快速入門的學習資料,()寫下第一個程序。然后,在仿真機是單步的看運行結果,從每一步執行,都硬件上反應出來的效果,很快,對單片機的運作有了一個非常感性的認識,這跟只看書然后自己想象運行是完全兩碼事。然后,是進一步的其它程序學習,一個月時間,基本上已經熟悉了51的各種硬件資源。把流水燈,數碼管動態掃描,中斷等等的學習了,然后就是寫綜合性的程序,也就是我發在論壇里的時鐘。通過這個程序的編寫,使自己的編程水平有了很大的飛躍。之后,就是逐步學習編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。在學過匯編之后,我又轉到了c語言學習,因為以前沒有學習過c語言,一切都很陌生,所以自己沿用了學習匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實現了從匯編編程為主到c編程為主的轉變。然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風格,一直到現在,基本上就是c語言編程,匯編已經是作為調試程序的輔助。
下面我概括了幾點我的學習經驗和:
1、萬事開頭難、要勇敢邁出第一步。開始的時候,不要老是給自己找借口,說keil不會建項目啦、沒有實驗板啦之類的。遇到困難要一件件攻克,不會建項目,就先學它,這方面網上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個最簡單的,讓它運行起來,先培養一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會差多少,總得建個項目,再配置一下項目,然后建個程序,加入項目中,再寫代碼、編譯、生成hex,刷進單片機中、運行。必須熟悉這一套工序。個人認為,一塊學習板還是必要的,寫好程序在上面運行一下看結果,學習效果會好很多,仿真器就看個人需要了。單片機是注重理論和實踐的,光看書不動手,是學不會的。
2、知識點用到才學,不用的暫時丟一邊。厚厚的一本書,看著人頭都暈了,學了后面的,前面的估計也快忘光了,所以,最好結合實際程序,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學好就是了,這是把整本書化整為零,一小點一小點的啃。
3、程序不要光看不寫,一定要自己寫一次。最開始的時候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達到什么目的,運行后有什么后果,看明白了之后,就要自己寫一次,你會發現,原來看明白別人的程序很容易,但到自己寫的時候卻一句也寫不出來,這就是差距……當你自己能寫出來的時候,說明你就真的懂了。
4、必須學會掌握調試程序的方法。不少人寫程序,把代碼寫好了,然后一運行,不是自己想要的結果,就暈了,然后跑到論壇上發個帖子,把程序一貼,問:為什么我的程序不能正常運行?然后就等別人來給自己分析。這是一種很不好的行為,應該自己學會發現問題和學會如何解決問題。這就需要學習調試程序的方法,比如keil里,可以下斷點啦,查看寄存器內容等等,這些都是調試程序的手段,當你發現你寫的程序運行結果和你想象中不一樣的時候,你可以單步,也可以下斷點,然后跟蹤,查看各相關寄存器內容,看看程序運行過中是不是有什么偏差,找出影響結果的地方,改正過來。這一個過程非常重要,通過程序的排錯,你可以學到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。我們用單片機來控制周邊器件,達到我們想到的目的,這是一個題目,而如何寫出一個程序,來控制器件按你想要的結果去運作,這個就是解題的思路。要寫程序,就得先找到解決問題的思路,你學會找出這個解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復制到自己的程序中,可以說,這不是一種學習的態度,無助于你編程水平的提高。我幾乎不怎么看人家的代碼,多數時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當困難的,特別是大型的程序,看起來是非常的累人,所以現在我也明白了,以前讀書時說的程序流程圖很重要,現在算是知道了。當你知道一個問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經不是什么問題了。舉個例子:數碼管動態掃描,沒寫過的初學者可能搞不清是怎么回事,其實,就是分時讓每一時間段時只控制一只數碼管顯示數字,幾只數碼管輪流顯示,由于速度很快,人眼的看起來是全部數碼管都亮的。明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數碼管輪流顯示出相應的數值。顯示數字,然后延時一下,再下一只顯示數字,延時,知道是這樣,我們實際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時一下,再關閉位選,再送出段碼,再打開另一只位選僅此而已。有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動態掃描的原理都沒懂,不知道如何做,那么這個程序是怎么也寫不出來的。
6、開動腦筋,運用多種方法,不斷優化自己的程序。想想用各種不同方法來實現同一功能。這是一個練習和提高的過程,一個問題,你解決了,那么你再想想,能不能換種寫法,也可以實現同一功能,或者說,你寫出來的代碼,能不能再精簡一點,讓程序執行效率更高,這個過程,就是一個進步的過程。很多知識和經驗的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經驗才能得到積累,編程水平才能有所提高。
7、看別人的代碼,學習人家的思路。這個在學習初期是很有用,通過看別人的代碼,特別是有多年編程經驗的人寫出的具有一定水平的代碼,可以使自己編程水平得到迅速的提高,同時,也可以結合別人的編程手法,與自己的想法融合在一起,寫出更高水平的代碼,從中得到進步。但要注意,切忌將學習變成抄襲,更不是抄襲完了就認為自己學會了,這樣做只會使你退步。
8、嘗試編寫一下綜合應用的程序。從流水燈學起,到動態掃描,再到中斷,那么,你可以試試寫一下時鐘這種綜合性應用的程序,不要小看時鐘,要寫好它不是一件容易的事情,它包括了單片機大部分的知識,比如有按鍵(io讀取)、動態掃描(io輸出)、中斷等,如何協調好各功能模塊正常工作,才是編程者需要學習的地方,當你單獨寫一個功能的時候,比如按鍵讀取,你可能感覺很容易,因為你的程序啥也不做,只是讀按鍵。但把它和其它功能混合在一起,如何在整個程序運行中使每一部分都正常工作,這就不是寫一個按鍵讀取這么容易的事情,功能模塊之間有可能會互相影響,比如你需要讓數碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個協調過程。當你有了這個處理協調能力,你就算是入門了。
9、著重于培養解決問題的能力,而不是具體看自己編寫了多少代碼或者做過什么。“學單片機重點在于學習解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學單片機多年來感悟出來的。經常看到有人說“你會驅動xx芯片,真牛啊”“你搞過xx項目,真厲害”之類的話,其實這是非常片面的,搞過xx芯片,搞過xx項目,只能說明你做過這一項目,它只是你的業績,并不是代表能力就一定高。真正的能力應該是:“遇到沒有解決過的問題或器件,能利用自己已學的知識,迅速找到解決問題的方法。”這個才是能力。寫程序的過程就是一個創造的過程,幾乎沒有完全一樣的項目,每次你遇上的幾乎都不相同,所以你擁有的必須是你面對新項目時的創造能力,而不是標榜著你以往做過多少項目。當然,業績也能從另一側面反映你的經驗和水平。
10、如果有可能,多學習計算機專業的知識,比如數據結構等。這些是你解決問題的基礎知識,你把這些知識應用得越好,就會發現越容易找到解決問題的方法,這就是為什么一個學計算機專業的人編的程序和一個非計算機專業的人編的程序有差異的原因。也是一個菜鳥進軍到高手所要配備的知識。如果我們把編程分為宏觀編程和微觀編程,那么微觀編程就是寫具體的代碼,比如控制某某器件的語句;而宏觀編程就是如何對整個程序進行布局、安排,使功能模塊以你想要的方式去運行,得出你想要的結果。如前所說“會控制xx器件”這些只能算是微觀編程,能做到這一步還只能算是菜鳥級別,如果面對一個新的器件,你心里沒底,沒把握去寫這個控制程序,那說明你還是一個初級的菜鳥。當你有了一定的編程經驗,控制過相當數量的器件之后,你就會發現,控制器件這些工作都是相似的、重復的工作,體現不出編程的水平,最多也是寫得好與不好的差別,只能算是一些小技巧的應用。而對整個程序進行布局、安排這些才是最頭痛的事情,能達到宏觀編程和微觀編程都做好才是真正的高手。對于規模越大的程序,越能體現出這一點。
11、面對一個新項目時,多自己開動腦筋,不要急于找別人的程序。有不少人面對一個新項目時,第一步想到的就是網上找別人寫過的代碼,然后抄一段,自己再寫幾句,湊在一起就完成任務,這雖然可能是省時間,但絕對不利你的學習。當你接到一個新項目時,應該先自己構思一下整個程序的架構,想想如何來完成,有可能的話,畫一個流程圖,簡單的可以畫在腦子里,對程序中用到的數據、變量有一個初步的安排,然后自己動手去寫,遇到實在沒辦法解決的地方,再去請教別人,或看別人是怎么處理的,這樣首先起碼你自己動過腦想過,自己有自己的`思路,如果你一開始就看別人的程序,你的思維就會受限在別人的思維里,自己想再創新就更難了,這樣你自己永遠也沒辦法提高,因為你是走在別人的影子里。
12、多利用網絡的搜索,學會提問題。一般來說,學習過程中,你遇上的問題,前人們多數也有遇上的,所以如果有什么不懂,在自己解決不了的時候,最好先到網上搜索一下,看能不能找到答案,找不到再到論壇里發問,發問也要有目的性,盡量簡單明了的描述問題,讓幫助你的人可以用最少的時間就看懂你說什么,畢竟人家幫助你是免費的,時間也是有限的。
以上就是我學習單片機的經歷和心得體會,希望對大家會有幫助,說得有不好或不對的地方歡迎大家批評指正。
時光飛逝,一轉眼,一個學期又進尾聲了,本學期的單片機綜合課程設計也在一周內完成了。
俗話說“好的開始是成功的一半”。說起課程設計,我認為最重要的就是做好設計的預習,認真的研究老師給的題目,選一個自己有興趣的題目。其次,老師對實驗的講解要一絲不茍的去聽去想,因為只有都明白了,做起設計就會事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設計,到頭來一點收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調試,掌握其方法。
雖然這次的課程設計算起來在實驗室的時間只有三天,不過因為我們都有自己的實驗板,所以在宿舍里做實驗的時間一定不止三天。
硬件的設計跟焊接都要我們自己動手去焊,軟件的編程也要我們不斷的調試,最終一個能完成課程設計的勞動成果出來了,很高興它能按著設計的思想與要求運動起來。
當然,這其中也有很多問題,第一、不夠細心比如由于粗心大意焊錯了線,由于對課本理論的不熟悉導致編程出現錯誤。()第二,是在學習態度上,這次課設是對我的學習態度的一次檢驗。對于這次單片機綜合課程實習,我的第一大心得體會就是作為一名工程技術人員,要求具備的首要素質絕對應該是嚴謹。我們這次實習所遇到的多半問題多數都是由于我們不夠嚴謹。第三,在做人上,我認識到,無論做什么事情,只要你足夠堅強,有足夠的毅力與決心,有足夠的挑戰困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設計過程中我鍛煉了自己的思考能力和動手能力。通過題目選擇和設計電路的過程中,加強了我思考問題的完整性和實際生活聯系的可行性。在方案設計選擇和芯片的選擇上,培養了我們綜合應用單片機的能力,對單片機的各個管腳的功能也有了進一步的認識。還鍛煉我們個人的查閱技術資料的能力,動手能力,發現問題,解決問題的能力。并且我們熟練掌握了有關器件的性能及測試方法。
再次感謝老師的輔導以及同學的幫助,是他們讓我有了一個更好的認識,無論是學習還是生活,生活是實在的,要踏實走路。課程設計時間雖然很短,但我學習了很多的東西,使我眼界打開,感受頗深。
單片機實訓心得體會
通過為期一周的單片機實訓,是我們對這門課有了許多新的了解,彌補了在課堂上學習的不足。相信這對我們以后的學習和工作都會有很大的幫助。我們一定要在最短的時間里對這些不足加以改正!
到這次試訓不僅僅是一個軟件的應用,更多的是使我們認識到學習到很多在課堂上無法得到的東西。特別是protues軟件的功能是我們了解了當今開發系統的新方向,簡直太不可思議啦!
單片機作為一種最簡單的軟件,與我們的日常生活息息相關,了解一些單片機程序的簡單錄入是費城必要的。如:led顯示器、鍵盤和顯示器的應用和原理。
始平臺的完善與成熟。只要你有想法,單片機就有可能讓他成為現實。這里我學習完protues軟件后的第一感覺是,雖然這軟件工作不穩定,但是會有相當不錯的效果出來。這對我以后的工作一定會有幫助的。在這次試訓中不僅只對單片機編程有了新的認識,還對整個單片機的開發平臺都有了一廳的了解,這是一筆不錯的收獲。
通過這幾天的試訓,使我的感觸很深,真實"條條大路通羅馬",要達到目的,不同的人就有不同的方法。只要你的方法不錯!五花八門都可以,而且是各有特色。走出來的結果都有各自的獨到之處。在編程中"簡"字貫穿于整個程序設計中,越簡單越好,畢竟單片機留給用戶的資源是有限的,所以我們要充分利用這些資源,達到更好的效果,這些是我們在以后的學習生活中應值得注意的地方。
在試訓中有苦有甜,當我們為一個很難攻破的程序找出路時,心情煩躁,感覺自己很不可理喻,當程序一點一點編好后,自己從心底感覺到一點小小的安慰,看著自己的成果。感覺很欣慰,有一絲絲的甜意,幾天的實訓使自己的思維邏輯也有了小小的進步。
2。結束了兩周的電視機實訓,我們又迎來了單片機課程設計實訓,真是讓我們受益匪淺啊?學到了很多東西,不管怎么樣,先感謝學校給我的這么多機會。真正的學到了東西。為期一周的單片機課程設計讓我們受益匪淺。此次課程設計軟件與硬件相結合,考察了我們的焊接水平與編程能力。對于我們應用電子技術的學生而言焊接是不成問題,也很順利;可到了編程時就出現了很大的障礙,先開始的顯示時鐘還算順利,下面的報警部分就花費了相當長的時間,還有加上報警時的音樂也是我們到圖書館里查閱資料由匯編轉化成c語言得來的本來還以為編程會很簡單的,等到實際操作起來才知道它的復雜性,沒有想像中的那么得心應手,理解流程是有思維的前提。單片機是我們上學期開設的課程,所以很多專業知識也都忘記了。不過經過我們一步步的努力,花費的時間與精力終于沒有白費,效果漸漸地出現了。其實本身程序的思維是正確的,只是步驟中有點小錯誤,所以導致整個程序的結果很亂,在仔細修改程序之后,終于一步步地達到效果了。
我們將各個部分的程序編好后怎么都連不起來,出不了預期的效果。對于硬件在編程過程中pcb板的接觸又是一個頭疼的問題,在進行編譯的時候,數碼顯示管上什么都沒有,按一下旁邊與之相連的元器件時就有顯示了,所以也花費了好多時間在pcb板的重新焊接上。對于軟件我們在時鐘完成后就對其加入了報警系統,可加了之后發現程序亂了,以前的時鐘也不可以控制了。經過反復研究,發現接地接錯了位置,導致了用來報警的紅燈跟綠燈根本不亮,然后就將接地線重新焊接了一下,功夫不負有心人,紅燈亮了,配合編好的程序,用紙板擋住了發射管與接收管之間的信號傳輸,數碼顯示管出現閃爍的效果,并且沒信號的時候綠燈亮,有信號的時候紅燈就亮了,這個現象讓我們喜出望外。經過修改時鐘程序和報警系統都被使用上了,可更大的難題就是如何讓它報警?這困擾了我們,數碼顯示管上終于有了閃爍的效果,可報警聲還沒加的上去。老師的要求是除了蜂鳴器上的報警聲再加一段音樂。翻閱了圖書館里的書籍,查出來的音樂程序都是用匯編編的,要將此程序放到主程序中就必須將匯編程序改編成c語言程序。這再次困擾了我們,雖然以前也學過匯編跟c之間的互換,可都是簡單的,從沒涉及到這么復雜的程序過,改編很是有壓力,經過研究,我們將匯編程序舍棄了,到網上下載了一段音樂程序,是c語言編的要讓音樂在我們的紅外報警系統中唱出來可不是什么簡單的事情,雖然找到了音樂程序,但要讓音樂程序跟我們的主程序融合在一起得花費點心思了。