了解并熟悉一些學(xué)科的基本原理和概念。一個(gè)好的總結(jié)應(yīng)當(dāng)有清晰的邏輯結(jié)構(gòu)和連貫的思路。情感表達(dá)并不是一件容易的事情,需要我們不斷地練習(xí)和探索。
單片機(jī)心得篇一
課設(shè)的選題,方案的設(shè)計(jì)與確定,元器件的選擇,硬件的焊接,這一系列的課設(shè)準(zhǔn)備工作早在課設(shè)開始之前,老師就向我們做了相關(guān)的介紹和明確的說明,同時(shí)非常友好的提示我們早點(diǎn)著手準(zhǔn)備自己的課設(shè)項(xiàng)目。但是如此語重心長的話語在當(dāng)時(shí)似乎沒有引起所有人的注意,只到有同學(xué)拿出已成型的作品時(shí),只到課程設(shè)計(jì)進(jìn)入第二周時(shí),只到看到有同學(xué)拿著作品去驗(yàn)收時(shí),只到發(fā)現(xiàn)自己在規(guī)定的時(shí)間里無法完成擴(kuò)展功能是,我們開始醒悟,開始想起老師之前的友情提示,開始意識到課設(shè)的準(zhǔn)備工作沒做好,開始產(chǎn)生恐懼。這樣的情形并不只是出現(xiàn)在的課程設(shè)計(jì)過程中,而是經(jīng)常出現(xiàn)在我們的生活中。整個(gè)課程設(shè)計(jì)的過程中都顯得有些盲目,有些匆忙。
像這樣的實(shí)訓(xùn)課程,對我們學(xué)習(xí)自動(dòng)化的學(xué)生來說意義非常重大,它不僅是對單片機(jī)這一門課程的理解與運(yùn)用,同時(shí)也涉及到數(shù)字電路和模擬電路的領(lǐng)域;這也是一次鍛煉我們動(dòng)手動(dòng)腦的絕佳機(jī)會(huì),能讓我們切實(shí)感受理論與實(shí)際相結(jié)合的過程。
設(shè)計(jì)的過程是枯燥的,程序的調(diào)試過程是讓人感到乏味的、無奈的、頭疼的,但是看到完工的作品卻是激動(dòng)高興的。對于硬件的焊接,這可能是很多同學(xué)都喜歡做的一個(gè)環(huán)節(jié)。但是這次的硬件焊接與上一次實(shí)訓(xùn)時(shí)的不一樣,這次你需要自己設(shè)計(jì)電路,自己學(xué)習(xí)理解某些芯片的引腳功能。芯片引腳的接線是我們?nèi)菀壮鲥e(cuò)的地方,如果接線圖或者焊接有問題,這將對對芯片有很大的危害。硬件完工后,是軟件的調(diào)試。我認(rèn)為程序的調(diào)試是課設(shè)全過程中最難得部分,原因是我這塊的功底非常薄弱。很坦誠的講,以自己現(xiàn)有的能力,沒法寫出設(shè)計(jì)中的程序,我和同學(xué)只能借鑒高手的程序,努力地去修改源程序,使其能夠?qū)崿F(xiàn)想要的功能。軟件的調(diào)試不像硬件焊接那么容易,調(diào)試過程中,我們必須考慮硬件與程序相匹配。在比如在這個(gè)環(huán)節(jié)中,很感謝我的同學(xué),因?yàn)樗軌蚍浅D托牡臑槲抑v解c語言中一些語句的用法和功能。
這次實(shí)訓(xùn)還有一重大收獲是學(xué)會(huì)寫一份正式的科技論文。報(bào)告的書寫與軟硬件同等重要,我們應(yīng)遵守論文的格式要求,這也是對思維嚴(yán)謹(jǐn)性的一種鍛煉。
完成一個(gè)出色的作品,單靠一個(gè)人的力量是不行的,小組成員之間必須相互配合,相互支持,相互團(tuán)結(jié),所以這也是一次鍛煉我們團(tuán)隊(duì)合作精神的機(jī)會(huì)。
雖然本次實(shí)訓(xùn)結(jié)束了,但是實(shí)訓(xùn)留給我們思考的地方還很多,需要我們學(xué)習(xí)的地方還很多。無論在現(xiàn)在的學(xué)習(xí)中還是在以后的工作中,我們都應(yīng)養(yǎng)成多學(xué)習(xí),理解、多思考、多合作,多實(shí)踐的好習(xí)慣,重視理論與實(shí)踐相結(jié)合。
單片機(jī)心得篇二
時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。
說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目。
其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢?,做起設(shè)計(jì)就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。
最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計(jì)算起來在實(shí)驗(yàn)室的時(shí)間只有三天,不過因?yàn)槲覀兌加凶约旱膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間一定不止三天。
硬件的設(shè)計(jì)跟焊接都要我們自己動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。
第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。
對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會(huì)就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對應(yīng)該是嚴(yán)謹(jǐn)。
我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。
第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設(shè)計(jì)過程中我鍛煉了自己的思考能力和動(dòng)手能力。
通過題目選擇和設(shè)計(jì)電路的過程中,加強(qiáng)了我思考問題的完整性和實(shí)際生活聯(lián)系的可行性。
在方案設(shè)計(jì)選擇和芯片的選擇上,培養(yǎng)了我們綜合應(yīng)用單片機(jī)的能力,對單片機(jī)的各個(gè)管腳的功能也有了進(jìn)一步的認(rèn)識。
還鍛煉我們個(gè)人的查閱技術(shù)資料的能力,動(dòng)手能力,發(fā)現(xiàn)問題,解決問題的能力。
并且我們熟練掌握了有關(guān)器件的性能及測試方法。
再次感謝老師的輔導(dǎo)以及同學(xué)的幫助,是他們讓我有了一個(gè)更好的認(rèn)識,無論是學(xué)習(xí)還是生活,生活是實(shí)在的,要踏實(shí)走路。
課程設(shè)計(jì)時(shí)間雖然很短,但我學(xué)習(xí)了很多的東西,使我眼界打開,感受頗深。
這學(xué)期開始接觸單片機(jī),老師就開始要求我們焊接單片機(jī)下載器,以此來提高我們對單片機(jī)的`理解與熟悉程度,這也能最大程度的提高我們隊(duì)單片機(jī)的興趣和最快讓我們?nèi)谌雴纹瑱C(jī)的海洋中。
單片機(jī)下載器是學(xué)習(xí)單片機(jī)的必要器件,其主要零件都由很小的貼片元件組成,配以幾個(gè)大的插件,因此通過焊接單片機(jī)下載器的學(xué)習(xí),我大致掌握了小的貼片電容、電阻和插件元件的焊接,但貼片芯片的焊接仍需多練習(xí)。
話說貼片真心小啊,我瞪大了眼睛才能看清,而且在焊的過程中,掉了好幾次原件,費(fèi)了好大的功夫找到。
這讓我深切體會(huì)到焊貼片真是一個(gè)細(xì)心活啊,特別是對于理工男,那真是鍛煉耐心和細(xì)心地大好機(jī)會(huì)啊。
對于芯片,真是暴走來了。
引腳那叫一個(gè)纖細(xì),密密麻麻,一上場亮瞎了我有木有啊。
對于視頻教程上的松香法,我只能說,這是一個(gè)傳說。
我怎么吸都吸不掉啊,坑爹啊。
我又買了一塊芯片,覺得還是老老實(shí)實(shí)一個(gè)一個(gè)點(diǎn)焊比較實(shí)際。
有了第一次的經(jīng)驗(yàn),加上我無比耐心,終于弄好了。
激動(dòng)啊,奔走相告啊,差點(diǎn)買煙花慶祝了。
這次焊接單片機(jī)下載器,真的是苦盡甘來啊,讓我對單片機(jī)產(chǎn)生了濃郁的興趣,我也深刻體會(huì)到,自己學(xué)的還不夠,一定要多買些電板來焊 一 焊 , 提 高 自 己 的 動(dòng) 手 能 力 。
在上個(gè)學(xué)期學(xué)校舉辦電子設(shè)計(jì)競賽,在比賽過程看過一些郭天祥的單片機(jī)教程,然后在這個(gè)學(xué)期真正的理論。
通過上課理論與實(shí)踐相互結(jié)合,使我對單片機(jī)的認(rèn)識有了更深刻的理解。
系統(tǒng)以51單片機(jī)為核心部件,利用匯編軟件編程,通過鍵盤控制和數(shù)碼管顯示實(shí)現(xiàn)了基本時(shí)鐘顯示功能、時(shí)間調(diào)節(jié)功能,能實(shí)現(xiàn)本設(shè)計(jì)題目的基本要求和發(fā)揮部分。
在平時(shí)上課中由于時(shí)間有限和本身知識水平的限制,有時(shí)做某些作業(yè)時(shí),花上很多時(shí)間才能完成!但是在完成后,成功的喜悅充斥著。
在課上,我認(rèn)識到計(jì)算機(jī)有運(yùn)算器,計(jì)算器,控制器,輸入輸出設(shè)備組成。
之前都是利用開發(fā)板,進(jìn)行程序的仿真。
現(xiàn)在不斷利用軟件仿真,但兩者的作用是一樣。
在仿真過程中,總是會(huì)碰到程序出錯(cuò)的時(shí)候,只好苦思冥想,反復(fù)比對程序,在不斷修改后,總會(huì)成功。
在第一次是點(diǎn)亮led燈來熟悉,keil軟件的使用和試驗(yàn)箱上器材。
第一次實(shí)驗(yàn)體現(xiàn)了一個(gè)人對新事物的接受能力和敏感度。
雖然之前做過許多種實(shí)驗(yàn)。
但依舊發(fā)現(xiàn)自己存在一個(gè)很大的問題,對已懂的東西沒耐心聽下去,容易開小差;在聽老師講解軟件使用時(shí),思路容易停滯,然后就跟不上老師的步驟了,結(jié)果需要?jiǎng)e人再次指導(dǎo);對軟件的功能沒有太大的熱情去研究探索,把一個(gè)個(gè)圖標(biāo)點(diǎn)開,進(jìn)去看看。
在做實(shí)驗(yàn)中,由于沒有課前準(zhǔn)備的意識,每每都是到了實(shí)驗(yàn)室才開始編程,完成作業(yè),導(dǎo)致每次時(shí)間都有些倉促。
在與同學(xué)討論,換種思路,換種方法,把問題給吃透。
發(fā)現(xiàn)、提出、分析、解決問題和實(shí)踐能力是作為我們這個(gè)專業(yè)的基本素質(zhì)。
依賴性很大,剛開始編程序時(shí)喜歡套用書上的語句,卻對語句的理解不夠。
于是當(dāng)程序出現(xiàn)問題時(shí),不知道如何修改,眼前的程序都是一塊一塊的被拼湊整合起來的,沒法知道哪里錯(cuò)了。
但是編程是一件很嚴(yán)肅的事情,容不得半點(diǎn)錯(cuò)誤。
在錯(cuò)誤中不斷摸索中前行。
單片機(jī)心得篇三
一直想寫一個(gè)帖子,將自己學(xué)習(xí)單片機(jī)的經(jīng)歷、經(jīng)驗(yàn)和方法總結(jié)一下,今天終于動(dòng)手寫了,呵呵,這是我學(xué)習(xí)單片機(jī)的經(jīng)驗(yàn)、心得、方法。希望對大家學(xué)習(xí)單片機(jī)有所幫助。
經(jīng)常在群、論壇里看到有人問:怎么學(xué)單片機(jī)?也??吹接腥苏f學(xué)了好幾個(gè)月可就是沒有什么進(jìn)展。當(dāng)然,受限于每個(gè)人受到的教育水平不同和個(gè)人理解能力的差異,學(xué)習(xí)起來會(huì)有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。一個(gè)好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機(jī)的經(jīng)歷和方法。
05年的時(shí)候,因?yàn)橹谱鱢m發(fā)射電路采用了bh1415的芯片,需要用到單片機(jī)控制,所以開始接觸使用單片機(jī),雖然以前讀書時(shí)作為一門功課學(xué)過,不過也快丟荒了10年了,基本上都忘光了,也算是從頭學(xué)起了吧。我當(dāng)時(shí)是買了一塊實(shí)驗(yàn)板,很簡單的功能,比論壇實(shí)驗(yàn)板還要少功能,還有一個(gè)仿真器,也是比較簡單的,sst芯片的。然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個(gè)程序基本上就抄人家的,翻查了一份快速入門的學(xué)習(xí)資料,寫下第一個(gè)程序。然后,在仿真機(jī)是單步的看運(yùn)行結(jié)果,從每一步執(zhí)行,都硬件上反應(yīng)出來的效果,很快,對單片機(jī)的運(yùn)作有了一個(gè)非常感性的認(rèn)識,這跟只看書然后自己想象運(yùn)行是完全兩碼事。然后,是進(jìn)一步的其它程序?qū)W習(xí),一個(gè)月時(shí)間,基本上已經(jīng)熟悉了51的各種硬件資源。把流水燈,數(shù)碼管動(dòng)態(tài)掃描,中斷等等的學(xué)習(xí)了,然后就是寫綜合性的程序,也就是我發(fā)在論壇里的時(shí)鐘。通過這個(gè)程序的編寫,使自己的編程水平有了很大的飛躍。之后,就是逐步學(xué)習(xí)編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。在學(xué)過匯編之后,我又轉(zhuǎn)到了c語言學(xué)習(xí),因?yàn)橐郧皼]有學(xué)習(xí)過c語言,一切都很陌生,所以自己沿用了學(xué)習(xí)匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時(shí)鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實(shí)現(xiàn)了從匯編編程為主到c編程為主的轉(zhuǎn)變。然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風(fēng)格,一直到現(xiàn)在,基本上就是c語言編程,匯編已經(jīng)是作為調(diào)試程序的輔助。
下面我概括了幾點(diǎn)我的學(xué)習(xí)經(jīng)驗(yàn)和心得體會(huì):
1、萬事開頭難、要勇敢邁出第一步。開始的時(shí)候,不要老是給自己找借口,說keil不會(huì)建項(xiàng)目啦、沒有實(shí)驗(yàn)板啦之類的。遇到困難要一件件攻克,不會(huì)建項(xiàng)目,就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個(gè)最簡單的,讓它運(yùn)行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會(huì)差多少,總得建個(gè)項(xiàng)目,再配置一下項(xiàng)目,然后建個(gè)程序,加入項(xiàng)目中,再寫代碼、編譯、生成hex,刷進(jìn)單片機(jī)中、運(yùn)行。必須熟悉這一套工序。個(gè)人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運(yùn)行一下看結(jié)果,學(xué)習(xí)效果會(huì)好很多,仿真器就看個(gè)人需要了。單片機(jī)是注重理論和實(shí)踐的,光看書不動(dòng)手,是學(xué)不會(huì)的。
2、知識點(diǎn)用到才學(xué),不用的暫時(shí)丟一邊。厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計(jì)也快忘光了,所以,最好結(jié)合實(shí)際程序,用到的時(shí)候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點(diǎn)一小點(diǎn)的啃。
3、程序不要光看不寫,一定要自己寫一次。最開始的時(shí)候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達(dá)到什么目的,運(yùn)行后有什么后果,看明白了之后,就要自己寫一次,你會(huì)發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時(shí)候卻一句也寫不出來,這就是差距……當(dāng)你自己能寫出來的時(shí)候,說明你就真的懂了。
4、必須學(xué)會(huì)掌握調(diào)試程序的方法。不少人寫程序,把代碼寫好了,然后一運(yùn)行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個(gè)帖子,把程序一貼,問:為什么我的程序不能正常運(yùn)行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會(huì)發(fā)現(xiàn)問題和學(xué)會(huì)如何解決問題。這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點(diǎn)啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運(yùn)行結(jié)果和你想象中不一樣的時(shí)候,你可以單步,也可以下斷點(diǎn),然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運(yùn)行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個(gè)過程非常重要,通過程序的排錯(cuò),你可以學(xué)到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。我們用單片機(jī)來控制周邊器件,達(dá)到我們想到的目的,這是一個(gè)題目,而如何寫出一個(gè)程序,來控制器件按你想要的結(jié)果去運(yùn)作,這個(gè)就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會(huì)找出這個(gè)解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時(shí)候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人,所以現(xiàn)在我也明白了,以前讀書時(shí)說的程序流程圖很重要,現(xiàn)在算是知道了。當(dāng)你知道一個(gè)問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。舉個(gè)例子:數(shù)碼管動(dòng)態(tài)掃描,沒寫過的初學(xué)者可能搞不清是怎么回事,其實(shí),就是分時(shí)讓每一時(shí)間段時(shí)只控制一只數(shù)碼管顯示數(shù)字,幾只數(shù)碼管輪流顯示,由于速度很快,人眼的看起來是全部數(shù)碼管都亮的。明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數(shù)碼管輪流顯示出相應(yīng)的數(shù)值。顯示數(shù)字,然后延時(shí)一下,再下一只顯示數(shù)字,延時(shí),知道是這樣,我們實(shí)際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時(shí)一下,再關(guān)閉位選,再送出段碼,再打開另一只位選僅此而已。有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動(dòng)態(tài)掃描的原理都沒懂,不知道如何做,那么這個(gè)程序是怎么也寫不出來的。
6、開動(dòng)腦筋,運(yùn)用多種方法,不斷優(yōu)化自己的程序。想想用各種不同方法來實(shí)現(xiàn)同一功能。這是一個(gè)練習(xí)和提高的過程,一個(gè)問題,你解決了,那么你再想想,能不能換種寫法,也可以實(shí)現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點(diǎn),讓程序執(zhí)行效率更高,這個(gè)過程,就是一個(gè)進(jìn)步的過程。很多知識和經(jīng)驗(yàn)的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實(shí)踐,開動(dòng)腦筋,經(jīng)驗(yàn)才能得到積累,編程水平才能有所提高。
覺,先建個(gè)項(xiàng)目,再配置一下項(xiàng)目,然后建個(gè)程序,加入項(xiàng)目中,再寫代碼、編譯、生成hex,刷進(jìn)單片機(jī)中、運(yùn)行。其實(shí)當(dāng)遇到問題一定要自己嘗試著解決,不能遇到問題就去問別人,自己一定要掌握解決問的方法和思路。對一個(gè)新項(xiàng)目時(shí),自己一定要多想想,不要急著去看別人是怎么寫的。應(yīng)該先想一下程序的構(gòu)架,想想如何來完成。然后自己動(dòng)手去寫,理清自己的思路這樣更容易提高自己。
熟悉單片機(jī)的人都知道,要學(xué)好單片機(jī)可不是一件容易的事,倒不是因?yàn)閱纹瑱C(jī)很難學(xué),而是很難找到一本專為單片機(jī)入門者而編寫的教材。翻一下身邊的單片機(jī)教材,都好像是為已經(jīng)懂單片機(jī)的人而寫的,一般先介紹單片機(jī)的硬件結(jié)構(gòu)和指令系統(tǒng),再是系統(tǒng)擴(kuò)展和外圍器件,順便講一些應(yīng)用設(shè)計(jì)(隨便說一下,很多書中的電路設(shè)計(jì)已經(jīng)過時(shí),并且有些程序還是錯(cuò)誤的)。如果按照此種學(xué)習(xí)方法,想進(jìn)行產(chǎn)品開發(fā),就必須先把所有的知識全部掌握了才可以進(jìn)行實(shí)際應(yīng)用。學(xué)習(xí)使用單片機(jī)只能靠循序漸進(jìn)的積累,雖然單片機(jī)的課程只上了幾節(jié)就去上班了,但在學(xué)習(xí)的過程中有了一定的了解。下面就本人學(xué)習(xí)單片機(jī)的過程和經(jīng)驗(yàn)做簡要介紹。
首先,學(xué)習(xí)單片機(jī)要有一定的基礎(chǔ):電子技術(shù)方面要有數(shù)字電路和模擬電路等方面的理論基礎(chǔ),特別是數(shù)字電路;編程語言要求匯編語言或c語言。要想成為單片機(jī)高手,建議初學(xué)者首先學(xué)習(xí)匯編語言,學(xué)的差不多的時(shí)候,轉(zhuǎn)入c語言學(xué)習(xí)。盡管匯編語言屬于低級語言,編程效率低,但是較c語言具有目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快等優(yōu)點(diǎn),更重要的是能使初學(xué)者盡快熟悉單片機(jī)的內(nèi)部結(jié)構(gòu),并能對其進(jìn)行精確的控制。匯編語言在單片機(jī)教材里面都會(huì)涉及,不需要單獨(dú)購買教材和學(xué)習(xí)。c語言是一門學(xué)問,有很多專業(yè)書籍來講解,并且對我們今后的編程生涯有絕對的好處,因此要深入學(xué)習(xí),千萬不要自以為看了某某的視頻教程就以為掌握了c語言,那只是c語言的一部分。在這里給大家推薦一本單片機(jī)c語言程序設(shè)計(jì)參考書,馬忠梅等著,北京航空航天大學(xué)出版社出版的《單片機(jī)的c語言應(yīng)用程序設(shè)計(jì)》,要求c語言基礎(chǔ)。如果沒學(xué)過c語言,建議學(xué)習(xí)清華大學(xué)譚浩強(qiáng)編寫的c語言程序設(shè)計(jì),這本書寫的不錯(cuò),通俗易懂。
但這并不要緊,因?yàn)槟氵€缺乏實(shí)踐經(jīng)驗(yàn)。現(xiàn)在單片機(jī)應(yīng)用廣泛,因此各個(gè)廠家分別推出了自己的單片機(jī),我們沒必要每樣都學(xué)!因?yàn)樗麄兊木幊谭椒ê驼{(diào)試過程以及內(nèi)部指令結(jié)構(gòu)有一定的相似,只要學(xué)精通一款就ok了!尤其是用c語言編程,就幾乎不用分什么派系,但是我們要選擇一款有代表性的知識范圍廣,并且入門容易,書籍多。一般來說,mcs-51系列單片機(jī)已經(jīng)得到廣泛的普及和應(yīng)用,市場上它的資料也比較多,用的人也很多。給大家推薦一些參考書,學(xué)習(xí)時(shí)只需要一本就足夠拉。書名:《新編mcs-51單片機(jī)應(yīng)用設(shè)計(jì)》,哈爾濱工業(yè)大學(xué)出版,作者:張毅剛;書名:《單片機(jī)原理及應(yīng)用》,高等教育出版社,作者:張毅剛等;書名:《單片機(jī)高級教程:應(yīng)用與設(shè)計(jì)》,北京航空航天大學(xué)出版社,作者:何立民。相關(guān)教材還有很多,在這不一一列舉。
然后,是開發(fā)工具和開發(fā)環(huán)境的選擇。選擇一塊合適的學(xué)習(xí)板,對于初學(xué)者來說一般無力接受,如果經(jīng)濟(jì)條件允許、本人又對單片機(jī)很感興趣、有從事相關(guān)工作意向的話,鼓勵(lì)大家購買。隨便說一句,學(xué)習(xí)板功能要求太全,具有流水燈、數(shù)碼管、獨(dú)立鍵盤、矩陣鍵盤、ad或da、液晶、蜂鳴器等就差不多啦,畢竟,功能齊全的價(jià)格比較高。仿真器對單片機(jī)初學(xué)者來說既是那么耳熟,同時(shí)又有些陌生,這主要是因?yàn)槭袌錾蟼鹘y(tǒng)的仿真器價(jià)格都在千元以上,對經(jīng)濟(jì)不是非常寬裕的人來說是不小的開支。同時(shí)仿真器是用來提高調(diào)試程序效率的,也不是非需不可的,如果你沒有仿真器,遇到程序出錯(cuò)的時(shí)候,只好苦思冥想,反復(fù)燒寫調(diào)試。隨便推薦一下,學(xué)林電子的51tracer仿真器,有興趣的朋友可關(guān)注一下。有了單片機(jī)教程板以后,先看下指導(dǎo)說明書,熟悉一下學(xué)習(xí)板,開卷有益。以后就得靠自己多練習(xí)了,將學(xué)習(xí)板與電腦連接好,先學(xué)會(huì)開發(fā)軟件的使用,然后從最簡單的流水燈實(shí)驗(yàn)做起,按照你自己的意愿控制流水燈,當(dāng)你完成時(shí),你會(huì)發(fā)現(xiàn)這是多么愜意的事情。太好玩了,你會(huì)覺得這不是在學(xué)習(xí),而是在玩,當(dāng)你發(fā)現(xiàn),單片機(jī)能夠按照你編寫的程序工作時(shí),你會(huì)覺得非常興奮,比做什么事情都開心,這樣你會(huì)慢慢迷上單片機(jī),真的。不少網(wǎng)站上說搞定某個(gè)實(shí)驗(yàn),就恭維的告訴你一聲”恭喜你,學(xué)會(huì)了”自己學(xué)會(huì)了單片機(jī),這有點(diǎn)可笑,這只能說明你算過關(guān)了,對單片機(jī)有了一定了解和會(huì)使用它了。但是單片機(jī)能完成的功能太多了,尤其是對外圍器件的控制,綜合起來能設(shè)計(jì)出許多意想不到的產(chǎn)品.因此除了入門外,精通可千萬別輕易說出口。
最后,在熟練掌握和應(yīng)用后,那可以說對于單片機(jī)方面的硬件你已經(jīng)入門了,剩下的就是自己練習(xí)設(shè)計(jì)開發(fā)各種課題,不斷的積累經(jīng)驗(yàn)。最終,自己完全設(shè)計(jì)具有個(gè)人風(fēng)格的課題,產(chǎn)品,這樣你就是單片機(jī)高手拉。只要過了第一關(guān),后面的路就好走多了,萬事開頭難,這大家可能都聽過。
有時(shí)候單片機(jī)的學(xué)習(xí)很單調(diào),有些知識學(xué)起來很抽象,不容易理解,只能慢慢適應(yīng),一邊學(xué)習(xí)理論知識,一邊編寫程序,將程序刷入單片機(jī)進(jìn)行調(diào)試,通過這種方式才能更快速的學(xué)習(xí)單片機(jī)。要堅(jiān)定自己的學(xué)習(xí)信心,在付出持之以恒的努力,我相信自己能進(jìn)一步加深對單片機(jī)的了解,在單片機(jī)的學(xué)習(xí)道路上走得更遠(yuǎn)!
單片機(jī)心得篇四
這學(xué)期開始接觸單片機(jī),老師就開始要求我們焊接單片機(jī)下載器,以此來提高我們對單片機(jī)的理解與熟悉程度,這也能最大程度的提高我們隊(duì)單片機(jī)的興趣和最快讓我們?nèi)谌雴纹瑱C(jī)的海洋中。
單片機(jī)下載器是學(xué)習(xí)單片機(jī)的必要器件,其主要零件都由很小的貼片元件組成,配以幾個(gè)大的插件,因此通過焊接單片機(jī)下載器的學(xué)習(xí),我大致掌握了小的貼片電容、電阻和插件元件的焊接,但貼片芯片的焊接仍需多練習(xí)。
話說貼片真心小啊,我瞪大了眼睛才能看清,而且在焊的過程中,掉了好幾次原件,費(fèi)了好大的功夫找到。
這讓我深切體會(huì)到焊貼片真是一個(gè)細(xì)心活啊,特別是對于理工男,那真是鍛煉耐心和細(xì)心地大好機(jī)會(huì)啊。
對于芯片,真是暴走來了。
引腳那叫一個(gè)纖細(xì),密密麻麻,一上場亮瞎了我有木有啊。
對于視頻教程上的松香法,我只能說,這是一個(gè)傳說。
我怎么吸都吸不掉啊,坑爹啊。
我又買了一塊芯片,覺得還是老老實(shí)實(shí)一個(gè)一個(gè)點(diǎn)焊比較實(shí)際。
有了第一次的經(jīng)驗(yàn),加上我無比耐心,終于弄好了。
激動(dòng)啊,奔走相告啊,差點(diǎn)買煙花慶祝了。
這次焊接單片機(jī)下載器,真的是苦盡甘來啊,讓我對單片機(jī)產(chǎn)生了濃郁的興趣,我也深刻體會(huì)到,自己學(xué)的還不夠,一定要多買些電板來焊一焊,提高自己的動(dòng)手能力。
單片機(jī)心得篇五
經(jīng)常在群、論壇里看到有人問:怎么學(xué)單片機(jī)?也??吹接腥苏f學(xué)了好幾個(gè)月可就是沒有什么進(jìn)展。
當(dāng)然,受限于每個(gè)人受到的教育水平不同和個(gè)人理解能力的差異,學(xué)習(xí)起來會(huì)有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。
一個(gè)好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機(jī)的經(jīng)歷和方法。
20xx年的時(shí)候,因?yàn)橹谱鱢m發(fā)射電路采用了bh1415的芯片,需要用到單片機(jī)控制,所以開始接觸使用單片機(jī),雖然以前讀書時(shí)作為一門功課學(xué)過,不過也快丟荒了20xx年了,基本上都忘光了,也算是從頭學(xué)起了吧。
我當(dāng)時(shí)是買了一塊實(shí)驗(yàn)板,很簡單的功能,比論壇實(shí)驗(yàn)板還要少功能,還有一個(gè)仿真器,也是比較簡單的,sst芯片的。
然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個(gè)程序基本上就抄人家的,翻查了一份快速入門的學(xué)習(xí)資料,寫下第一個(gè)程序。
然后,在仿真機(jī)是單步的看運(yùn)行結(jié)果,從每一步執(zhí)行,都硬件上反應(yīng)出來的效果,很快,對單片機(jī)的運(yùn)作有了一個(gè)非常感性的認(rèn)識,這跟只看書然后自己想象運(yùn)行是完全兩碼事。
然后,是進(jìn)一步的其它程序?qū)W習(xí),一個(gè)月時(shí)間,基本上已經(jīng)熟悉了51的各種硬件資源。
把流水燈,數(shù)碼管動(dòng)態(tài)掃描,中斷等等的學(xué)習(xí)了,然后就是寫綜合性的程序,也就是我發(fā)在論壇里的時(shí)鐘。
通過這個(gè)程序的編寫,使自己的編程水平有了很大的飛躍。
之后,就是逐步學(xué)習(xí)編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。
在學(xué)過匯編之后,我又轉(zhuǎn)到了c語言學(xué)習(xí),因?yàn)橐郧皼]有學(xué)習(xí)過c語言,一切都很陌生,所以自己沿用了學(xué)習(xí)匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時(shí)鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實(shí)現(xiàn)了從匯編編程為主到c編程為主的轉(zhuǎn)變。
然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風(fēng)格,一直到現(xiàn)在,基本上就是c語言編程,匯編已經(jīng)是作為調(diào)試程序的輔助。
下面我概括了幾點(diǎn)我的學(xué)習(xí)經(jīng)驗(yàn)和心得體會(huì):
1、萬事開頭難、要勇敢邁出第一步。
開始的時(shí)候,不要老是給自己找借口,說keil不會(huì)建項(xiàng)目啦、沒有實(shí)驗(yàn)板啦之類的。
遇到困難要一件件攻克,不會(huì)建項(xiàng)目,就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。
然后可以參考別的人程序,抄過來也無所謂,寫一個(gè)最簡單的,讓它運(yùn)行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會(huì)差多少,總得建個(gè)項(xiàng)目,再配置一下項(xiàng)目,然后建個(gè)程序,加入項(xiàng)目中,再寫代碼、編譯、生成hex,刷進(jìn)單片機(jī)中、運(yùn)行。
必須熟悉這一套工序。
個(gè)人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運(yùn)行一下看結(jié)果,學(xué)習(xí)效果會(huì)好很多,仿真器就看個(gè)人需要了。
單片機(jī)是注重理論和實(shí)踐的,光看書不動(dòng)手,是學(xué)不會(huì)的。
2、知識點(diǎn)用到才學(xué),不用的暫時(shí)丟一邊。
厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計(jì)也快忘光了,所以,最好結(jié)合實(shí)際程序,用到的時(shí)候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。
比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點(diǎn)一小點(diǎn)的啃。
3、程序不要光看不寫,一定要自己寫一次。
最開始的時(shí)候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達(dá)到什么目的,運(yùn)行后有什么后果,看明白了之后,就要自己寫一次,你會(huì)發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時(shí)候卻一句也寫不出來,這就是差距。
當(dāng)你自己能寫出來的時(shí)候,說明你就真的懂了。
4、必須學(xué)會(huì)掌握調(diào)試程序的方法。
不少人寫程序,把代碼寫好了,然后一運(yùn)行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個(gè)帖子,把程序一貼,問:為什么我的程序不能正常運(yùn)行?然后就等別人來給自己分析。
這是一種很不好的行為,應(yīng)該自己學(xué)會(huì)發(fā)現(xiàn)問題和學(xué)會(huì)如何解決問題。
這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點(diǎn)啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運(yùn)行結(jié)果和你想象中不一樣的時(shí)候,你可以單步,也可以下斷點(diǎn),然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運(yùn)行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。
這一個(gè)過程非常重要,通過程序的排錯(cuò),你可以學(xué)到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。
我們用單片機(jī)來控制周邊器件,達(dá)到我們想到的目的,這是一個(gè)題目,而如何寫出一個(gè)程序,來控制器件按你想要的結(jié)果去運(yùn)作,這個(gè)就是解題的思路。
要寫程序,就得先找到解決問題的思路,你學(xué)會(huì)找出這個(gè)解題思路,比你找到代碼更為重要。
不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。
我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時(shí)候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人,所以現(xiàn)在我也明白了,以前讀書時(shí)說的程序流程圖很重要,現(xiàn)在算是知道了。
當(dāng)你知道一個(gè)問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。
舉個(gè)例子:數(shù)碼管動(dòng)態(tài)掃描,沒寫過的初學(xué)者可能搞不清是怎么回事,其實(shí),就是分時(shí)讓每一時(shí)間段時(shí)只控制一只數(shù)碼管顯示數(shù)字,幾只數(shù)碼管輪流顯示,由于速度很快,人眼的看起來是全部數(shù)碼管都亮的。
明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數(shù)碼管輪流顯示出相應(yīng)的數(shù)值。
顯示數(shù)字,然后延時(shí)一下,再下一只顯示數(shù)字,延時(shí),知道是這樣,我們實(shí)際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時(shí)一下,再關(guān)閉位選,再送出段碼,再打開另一只位選..僅此而已。
有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動(dòng)態(tài)掃描的原理都沒懂,不知道如何做,那么這個(gè)程序是怎么也寫不出來的。
6、開動(dòng)腦筋,運(yùn)用多種方法,不斷優(yōu)化自己的程序。
想想用各種不同方法來實(shí)現(xiàn)同一功能。
這是一個(gè)練習(xí)和提高的過程,一個(gè)問題,你解決了,那么你再想想,能不能換種寫法,也可以實(shí)現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點(diǎn),讓程序執(zhí)行效率更高,這個(gè)過程,就是一個(gè)進(jìn)步的過程。
很多知識和經(jīng)驗(yàn)的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實(shí)踐,開動(dòng)腦筋,經(jīng)驗(yàn)才能得到積累,編程水平才能有所提高。
7、看別人的代碼,學(xué)習(xí)人家的思路。
這個(gè)在學(xué)習(xí)初期是很有用,通過看別人的代碼,特別是有多年編程經(jīng)驗(yàn)的人寫出的具有一定水平的代碼,可以使自己編程水平得到迅速的提高,同時(shí),也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的代碼,從中得到進(jìn)步。
但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會(huì)了,這樣做只會(huì)使你退步。
8、嘗試編寫一下綜合應(yīng)用的程序。
從流水燈學(xué)起,到動(dòng)態(tài)掃描,再到中斷,那么,你可以試試寫一下時(shí)鐘這種綜合性應(yīng)用的程序,不要小看時(shí)鐘,要寫好它不是一件容易的事情,它包括了單片機(jī)大部分的知識,比如有按鍵(io讀取)、動(dòng)態(tài)掃描(io輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨(dú)寫一個(gè)功能的時(shí)候,比如按鍵讀取,你可能感覺很容易,因?yàn)槟愕某绦蛏兑膊蛔觯皇亲x按鍵。
但把它和其它功能混合在一起,如何在整個(gè)程序運(yùn)行中使每一部分都正常工作,這就不是寫一個(gè)按鍵讀取這么容易的事情,功能模塊之間有可能會(huì)互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個(gè)協(xié)調(diào)過程。
當(dāng)你有了這個(gè)處理協(xié)調(diào)能力,你就算是入門了。
9、著重于培養(yǎng)解決問題的能力,而不是具體看自己編寫了多少代碼或者做過什么。
“學(xué)單片機(jī)重點(diǎn)在于學(xué)習(xí)解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學(xué)單片機(jī)多年來感悟出來的。
經(jīng)??吹接腥苏f“你會(huì)驅(qū)動(dòng)芯片,真牛啊”“你搞過xx項(xiàng)目,真厲害”之類的話,其實(shí)這是非常片面的,搞過芯片,搞過xx項(xiàng)目,只能說明你做過這一項(xiàng)目,它只是你的業(yè)績,并不是代表能力就一定高。
真正的能力應(yīng)該是:“遇到?jīng)]有解決過的問題或器件,能利用自己已學(xué)的知識,迅速找到解決問題的方法?!?BR> 這個(gè)才是能力。
寫程序的過程就是一個(gè)創(chuàng)造的過程,幾乎沒有完全一樣的項(xiàng)目,每次你遇上的幾乎都不相同,所以你擁有的必須是你面對新項(xiàng)目時(shí)的創(chuàng)造能力,而不是標(biāo)榜著你以往做過多少項(xiàng)目。
當(dāng)然,業(yè)績也能從另一側(cè)面反映你的經(jīng)驗(yàn)和水平。
10、如果有可能,多學(xué)習(xí)計(jì)算機(jī)專業(yè)的知識,比如數(shù)據(jù)結(jié)構(gòu)等。
這些是你解決問題的基礎(chǔ)知識,你把這些知識應(yīng)用得越好,就會(huì)發(fā)現(xiàn)越容易找到解決問題的方法,這就是為什么一個(gè)學(xué)計(jì)算機(jī)專業(yè)的人編的程序和一個(gè)非計(jì)算機(jī)專業(yè)的人編的程序有差異的原因。
也是一個(gè)菜鳥進(jìn)軍到高手所要配備的知識。
如果我們把編程分為宏觀編程和微觀編程,那么微觀編程就是寫具體的代碼,比如控制某某器件的語句;而宏觀編程就是如何對整個(gè)程序進(jìn)行布局、安排,使功能模塊以你想要的方式去運(yùn)行,得出你想要的結(jié)果。
如前所說“會(huì)控制器件”這些只能算是微觀編程,能做到這一步還只能算是菜鳥級別,如果面對一個(gè)新的器件,你心里沒底,沒把握去寫這個(gè)控制程序,那說明你還是一個(gè)初級的菜鳥。
當(dāng)你有了一定的編程經(jīng)驗(yàn),控制過相當(dāng)數(shù)量的器件之后,你就會(huì)發(fā)現(xiàn),控制器件這些工作都是相似的、重復(fù)的工作,體現(xiàn)不出編程的水平,最多也是寫得好與不好的差別,只能算是一些小技巧的應(yīng)用。
而對整個(gè)程序進(jìn)行布局、安排這些才是最頭痛的事情,能達(dá)到宏觀編程和微觀編程都做好才是真正的高手。
對于規(guī)模越大的程序,越能體現(xiàn)出這一點(diǎn)。
11、面對一個(gè)新項(xiàng)目時(shí),多自己開動(dòng)腦筋,不要急于找別人的程序。
有不少人面對一個(gè)新項(xiàng)目時(shí),第一步想到的就是網(wǎng)上找別人寫過的代碼,然后抄一段,自己再寫幾句,湊在一起就完成任務(wù),這雖然可能是省時(shí)間,但絕對不利你的學(xué)習(xí)。
當(dāng)你接到一個(gè)新項(xiàng)目時(shí),應(yīng)該先自己構(gòu)思一下整個(gè)程序的架構(gòu),想想如何來完成,有可能的話,畫一個(gè)流程圖,簡單的可以畫在腦子里,對程序中用到的數(shù)據(jù)、變量有一個(gè)初步的安排,然后自己動(dòng)手去寫,遇到實(shí)在沒辦法解決的地方,再去請教別人,或看別人是怎么處理的,這樣首先起碼你自己動(dòng)過腦想過,自己有自己的思路,如果你一開始就看別人的程序,你的思維就會(huì)受限在別人的思維里,自己想再創(chuàng)新就更難了,這樣你自己永遠(yuǎn)也沒辦法提高,因?yàn)槟闶亲咴趧e人的影子里。
12、多利用網(wǎng)絡(luò)的搜索,學(xué)會(huì)提問題。
一般來說,學(xué)習(xí)過程中,你遇上的問題,前人們多數(shù)也有遇上的,所以如果有什么不懂,在自己解決不了的時(shí)候,最好先到網(wǎng)上搜索一下,看能不能找到答案,找不到再到論壇里發(fā)問,發(fā)問也要有目的性,盡量簡單明了的描述問題,讓幫助你的人可以用最少的時(shí)間就看懂你說什么,畢竟人家?guī)椭闶敲赓M(fèi)的,時(shí)間也是有限的。
以上就是我學(xué)習(xí)單片機(jī)的經(jīng)歷和心得體會(huì),希望對大家會(huì)有幫助,說得有不好或不對的地方歡迎大家批評指正。
單片機(jī)心得篇六
這個(gè)學(xué)期的單片機(jī)課已經(jīng)早早的上完了,但是理論純屬理論,沒有與實(shí)踐的結(jié)合總讓我們學(xué)的不踏實(shí),感覺沒有達(dá)到學(xué)以致用的效果。
所慶幸的是在課程介紹考試完之后,老師給我們安排了這次單片機(jī)課程設(shè)計(jì),給了我們學(xué)以致用的做好的實(shí)踐。
關(guān)于這次課程設(shè)計(jì),我們花費(fèi)了比較多的心思,既是對課程理論內(nèi)容的一次復(fù)習(xí)和鞏固,還讓我們豐富了更多與該專業(yè)相關(guān)的其他知識,比如軟件應(yīng)用等,在摸索中學(xué)習(xí),在摸索中成長,在學(xué)習(xí)的過程中帶著問題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計(jì)的又一收獲,在真正設(shè)計(jì)之前我們做了相當(dāng)豐富的準(zhǔn)備,首先鞏固一下課程理論,再一遍熟悉課程知識的構(gòu)架,然后結(jié)合加以理論分析、總結(jié),有了一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖之后才著手設(shè)計(jì)。
在設(shè)計(jì)程序時(shí),我們不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;養(yǎng)成注釋程序的好習(xí)慣是非常必要的,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也能為資料的保存和交流提供了方便;我覺得在設(shè)計(jì)課程過程中遇到問題是很正常,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題的課程設(shè)計(jì)又出錯(cuò)了。
除了對此次設(shè)計(jì)的準(zhǔn)備工作之外,我們還學(xué)到了很多平時(shí)難得的東西,首先是團(tuán)隊(duì)協(xié)作,在這次設(shè)計(jì)當(dāng)中,難免和同學(xué)產(chǎn)生觀點(diǎn)和意見的分歧,以及分工明細(xì)、時(shí)間安排等不合理,通過這次設(shè)計(jì),我們體會(huì)到了團(tuán)結(jié)合作的重要性及力量之強(qiáng)大,還有讓我們處理事情更加有條理,思路更加清晰明了了,發(fā)現(xiàn)、提出、分析、解決問題和實(shí)踐能力的提高都將受益于我在以后的學(xué)習(xí)、工作和生活中。
此次的設(shè)計(jì),其實(shí)也是我們所學(xué)知識的一次綜合運(yùn)用,讓我深深的認(rèn)識到了學(xué)習(xí)單片機(jī)要有一定的基礎(chǔ),要有電子技術(shù)方面的數(shù)字電路和模擬電路等方面的理論基礎(chǔ),特別是數(shù)字電路;也要有編程語言的匯編語言或c語言。
要想成為單片機(jī)高手,我們首先要學(xué)好匯編語言,然后轉(zhuǎn)入c語言學(xué)習(xí),所以我們不能學(xué)到后面就忘了前面的知識,更應(yīng)該將所學(xué)的知識緊緊的結(jié)合在一起,綜合運(yùn)用,所謂設(shè)計(jì),就是要求創(chuàng)新,只有將知識綜合運(yùn)用起來才能真正的設(shè)計(jì)好。
經(jīng)過本次微機(jī)課題的設(shè)計(jì)與研究,我們深入的學(xué)習(xí)了除課本以外的很多微機(jī)附件的內(nèi)容,掌握了很多實(shí)驗(yàn)室操作技能。
我們在實(shí)際設(shè)計(jì)中遇到很多問題,但結(jié)合所學(xué)知識以及參考資料的幫助,不斷地嘗試,設(shè)計(jì)了一種能夠解決實(shí)際問題的系統(tǒng)。
同時(shí)也加深了我們對于現(xiàn)實(shí)生活中,實(shí)際的嵌入式操作系統(tǒng)的原理的理解。
單片機(jī)在日常生活中應(yīng)用廣泛,結(jié)合這學(xué)期在學(xué)的嵌入式系統(tǒng)原理,我們更多的了解了單片機(jī)的發(fā)展現(xiàn)狀和發(fā)展趨勢,以及在生活中的廣泛應(yīng)用,其實(shí)80c51只是我們所接觸的一種簡單的單片機(jī),在實(shí)際應(yīng)用中,有各個(gè)公司生產(chǎn)的不同型號的、針對不同功能設(shè)計(jì)的、以及根據(jù)用戶的需要和發(fā)展自主研發(fā)設(shè)計(jì)的單片機(jī)還有很多,由此設(shè)計(jì)出來的嵌入式系統(tǒng)更是數(shù)不勝數(shù)。
能夠親身的進(jìn)行自我實(shí)踐,并進(jìn)行實(shí)際的應(yīng)用,其實(shí)使我們對現(xiàn)行單片機(jī)的一次深入的了解,并能夠提升我們將來在學(xué)習(xí)工作遇到的單片機(jī)設(shè)計(jì)問題。
在實(shí)際設(shè)計(jì)過程中,我們遇到了諸多設(shè)計(jì)的問題。
例如接口不夠,這一問題主要是因?yàn)槲覀兯O(shè)計(jì)的功能諸多,剛開始對于這一接口的規(guī)劃不是非常的合理,后來通過使用中斷,兩個(gè)中斷合理的設(shè)計(jì)便解決了所有的按鍵和現(xiàn)實(shí)問題。
考慮到目前空調(diào)系統(tǒng)也并不是使用我們所用到的80c51單片機(jī),中斷也有可能通過擴(kuò)展有所增加,考慮到硬件設(shè)計(jì)的難度,使用兩中斷解決這一問題則是最佳的選擇。
在程序設(shè)計(jì)中,我們更加深入了解了中斷的使用與本質(zhì),合理利用這些,會(huì)使程序簡化而不會(huì)出錯(cuò)。
比如開始我們把主程序?qū)懺谥袛嗬锩?,?dǎo)致程序運(yùn)行混亂,而后來發(fā)現(xiàn),只在中斷中做少量工作,比如改一下某一個(gè)標(biāo)志,這樣比較好。
對于傳感器芯片的使用,我們查找了它的datasheet,并查閱了各種關(guān)于其硬件連接和軟件設(shè)計(jì)的資料,同時(shí)發(fā)現(xiàn)了理論資料與實(shí)踐上的區(qū)別,通過多次嘗試,成功完成了硬件和軟件的設(shè)計(jì)。
在這次課題設(shè)計(jì)過程中,我們合理的分工,適宜的規(guī)劃進(jìn)度的進(jìn)展,不僅僅暗示完成了預(yù)先設(shè)計(jì)的內(nèi)容。
在這一過程中,我們充分發(fā)揮我們的主觀能動(dòng)性,想象創(chuàng)造性,攻克了很多之前都沒有想過的難關(guān),真的受益匪淺。
這次設(shè)計(jì)不僅僅耗時(shí)耗力,而且自己也親自跑了電子市場去進(jìn)行實(shí)際考察,對我們理論和實(shí)驗(yàn)都有很大的提升,我想這些對于我們今后的學(xué)習(xí)生活都有很重要的意義,這將是我們在程序設(shè)計(jì)以及大學(xué)學(xué)習(xí)過程中的寶貴經(jīng)驗(yàn)和財(cái)富。
-------------------------
單片機(jī)是一門應(yīng)用性和實(shí)踐性很強(qiáng)的學(xué)科,很多人都想學(xué)習(xí)單片機(jī),并且想知道如何學(xué)習(xí)單片機(jī),基于本人學(xué)習(xí)單片機(jī)的過程和愉快經(jīng)歷,特寫此篇文章和廣大的單片機(jī)初學(xué)者一起分享,希望您能從中受益。
熟悉單片機(jī)的人都知道,要學(xué)好單片機(jī)可不是一件容易的事,倒不是因?yàn)閱纹瑱C(jī)很難學(xué),而是很難找到一本專為單片機(jī)入門者而編寫的教材。
翻一下身邊的單片機(jī)教材,都好像是為已經(jīng)懂單片機(jī)的人而寫的,一般先介紹單片機(jī)的硬件結(jié)構(gòu)和指令系統(tǒng),再是系統(tǒng)擴(kuò)展和外圍器件,順便講一些應(yīng)用設(shè)計(jì)(隨便說一下,很多書中的電路設(shè)計(jì)已經(jīng)過時(shí),并且有些程序還是錯(cuò)誤的)。
如果按照此種學(xué)習(xí)方法,想進(jìn)行產(chǎn)品開發(fā),就必須先把所有的知識全部掌握了才可以進(jìn)行實(shí)際應(yīng)用。
學(xué)習(xí)使用單片機(jī)只能靠循序漸進(jìn)的積累,下面就本人學(xué)習(xí)單片機(jī)的過程和經(jīng)驗(yàn)做簡要介紹。
首先,學(xué)習(xí)單片機(jī)要有一定的基礎(chǔ):電子技術(shù)方面要有數(shù)字電路和模擬電路等方面的'理論基礎(chǔ),特別是數(shù)字電路;編程語言要求匯編語言或c語言。
要想成為單片機(jī)高手,建議初學(xué)者首先學(xué)習(xí)匯編語言,學(xué)的差不多的時(shí)候,轉(zhuǎn)入c語言學(xué)習(xí)。
盡管匯編語言屬于低級語言,編程效率低,但是較c語言具有目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快等優(yōu)點(diǎn),更重要的是能使初學(xué)者盡快熟悉單片機(jī)的內(nèi)部結(jié)構(gòu),并能對其進(jìn)行精確的控制。
匯編語言在單片機(jī)教材里面都會(huì)涉及,不需要單獨(dú)購買教材和學(xué)習(xí)。
c語言是一門學(xué)問,有很多專業(yè)書籍來講解,并且對我們今后的編程生涯有絕對的好處,因此要深入學(xué)習(xí),千萬不要自以為看了某某的視頻教程就以為掌握了c語言,那只是c語言的一部分。
在這里給大家推薦一本單片機(jī)c語言程序設(shè)計(jì)參考書,馬忠梅等著,北京航空航天大學(xué)出版社出版的《單片機(jī)的c語言應(yīng)用程序設(shè)計(jì)》,要求c語言基礎(chǔ)。
如果沒學(xué)過c語言,建議學(xué)習(xí)清華大學(xué)譚浩強(qiáng)編寫的c語言程序設(shè)計(jì),這本書寫的不錯(cuò),通俗易懂。
其次,是單片機(jī)教材選擇。
單片機(jī)是一門非常重視實(shí)踐的技術(shù),不能總是看書,但要學(xué)習(xí)它首先應(yīng)看書,對單片機(jī)引腳、內(nèi)部結(jié)構(gòu)、寄存器和原理有一定地了解和感官認(rèn)識,它的是怎樣工作的,能干些什么?剛開始時(shí),也許你看不明白,但這并不要緊,因?yàn)槟氵€缺乏實(shí)踐經(jīng)驗(yàn)。
現(xiàn)在單片機(jī)應(yīng)用廣泛,因此各個(gè)廠家分別推出了自己的單片機(jī),按內(nèi)部結(jié)構(gòu)體系派系分:51系列、pic系列、avr系列、摩托羅拉等等……我們沒必要每樣都學(xué)!因?yàn)樗麄兊木幊谭椒ê驼{(diào)試過程以及內(nèi)部指令結(jié)構(gòu)有一定的相似,只要學(xué)精通一款就ok了!尤其是用c語言編程,就幾乎不用分什么派系,但是我們要選擇一款有代表性的知識范圍廣,并且入門容易,書籍多。
一般來說,mcs-51系列單片機(jī)已經(jīng)得到廣泛的普及和應(yīng)用,市場上它的資料也比較多,用的人也很多。
給大家推薦一些參考書,學(xué)習(xí)時(shí)只需要一本就足夠拉。
書名:《新編mcs-51單片機(jī)應(yīng)用設(shè)計(jì)》,哈爾濱工業(yè)大學(xué)出版,作者:張毅剛;書名:《單片機(jī)原理及應(yīng)用》,高等教育出版社,作者:張毅剛等;書名:《單片機(jī)高級教程:應(yīng)用與設(shè)計(jì)》,北京航空航天大學(xué)出版社,作者:何立民。
相關(guān)教材還有很多,在這不一一列舉。
然后,是開發(fā)工具和開發(fā)環(huán)境的選擇。
選擇一塊合適的學(xué)習(xí)板,對于初學(xué)者來說一般無力接受,如果經(jīng)濟(jì)條件允許、本人又對單片機(jī)很感興趣、有從事相關(guān)工作意向的話,鼓勵(lì)大家購買。
隨便說一句,學(xué)習(xí)板功能要求太全,具有流水燈、數(shù)碼管、獨(dú)立鍵盤、矩陣鍵盤、ad或da、液晶、蜂鳴器等就差不多啦,畢竟,功能齊全的價(jià)格比較高。
仿真器對單片機(jī)初學(xué)者來說既是那么耳熟,同時(shí)又有些陌生,這主要是因?yàn)槭袌錾蟼鹘y(tǒng)的仿真器價(jià)格都在千元以上,對經(jīng)濟(jì)不是非常寬裕的人來說是不小的開支。
同時(shí)仿真器是用來提高調(diào)試程序效率的,也不是非需不可的,如果你沒有仿真器,遇到程序出錯(cuò)的時(shí)候,只好苦思冥想,反復(fù)燒寫調(diào)試。
隨便推薦一下,學(xué)林電子的51tracer仿真器,有興趣的朋友可關(guān)注一下。
有了單片機(jī)教程板以后,先看下指導(dǎo)說明書,熟悉一下學(xué)習(xí)板,開卷有益。
以后就得靠自己多練習(xí)了,將學(xué)習(xí)板與電腦連接好,先學(xué)會(huì)開發(fā)軟件的使用,然后從最簡單的流水燈實(shí)驗(yàn)做起,按照你自己的意愿控制流水燈,當(dāng)你完成時(shí),你會(huì)發(fā)現(xiàn)這是多么愜意的事情。
太好玩了,你會(huì)覺得這不是在學(xué)習(xí),而是在玩,當(dāng)你發(fā)現(xiàn),單片機(jī)能夠按照你編寫的程序工作時(shí),你會(huì)覺得非常興奮,比做什么事情都開心,這樣你會(huì)慢慢迷上單片機(jī),真的。
不少網(wǎng)站上說搞定某個(gè)實(shí)驗(yàn),就恭維的告訴你一聲”恭喜你,學(xué)會(huì)了”自己學(xué)會(huì)了單片機(jī),這有點(diǎn)可笑,這只能說明你算過關(guān)了,對單片機(jī)有了一定了解和會(huì)使用它了。
但是單片機(jī)能完成的功能太多了,尤其是對外圍器件的控制,綜合起來能設(shè)計(jì)出許多意想不到的產(chǎn)品.因此除了入門外,精通可千萬別輕易說出口。
最后,在熟練掌握和應(yīng)用后,那可以說對于單片機(jī)方面的硬件你已經(jīng)入門了,剩下的就是自己練習(xí)設(shè)計(jì)電路,不斷的積累經(jīng)驗(yàn)。
最終,自己完全設(shè)計(jì)具有個(gè)人風(fēng)格的電路,產(chǎn)品,這樣你就是單片機(jī)高手拉。
只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。
時(shí)下多家電子類的報(bào)刊雜志如:《電子制作》《無線電》《電子報(bào)》《電子世界》都開設(shè)了詳細(xì)的單片機(jī)教程專欄,對于想學(xué)習(xí)單片機(jī)的朋友來說幫助很大,可以說現(xiàn)在的單片機(jī)教程環(huán)境是最好的,有網(wǎng)絡(luò),有書籍,有報(bào)刊雜志,還有視頻教程,元件的采購方面也非常充足,相關(guān)的器材又多有便宜。
如果每天能抽出兩小時(shí)的時(shí)間去學(xué)習(xí),快的一個(gè)月,慢的三個(gè)月就入門拉。
單片機(jī)心得篇七
做了兩周的課程設(shè)計(jì),有很多的心得體會(huì),有關(guān)于單片機(jī)方面的,的是關(guān)于人與人之間關(guān)系方面的。
我們組一共有三個(gè)人,但其他兩個(gè)人是真的神龍見首不見尾,除了在最后答辯的時(shí)候他們一起坐在了我旁邊,冠冕堂皇的指著我畫了幾遍的圖說了幾嘴,我想可能他們自己都不知道自己在說怎么,雖然有的東西他們也答出來了。
我佩服他們的勇氣,羨慕他們的運(yùn)氣(我見到的很多做了10 天的人最后的成績都有不如他們的),但是鄙視他們的做法。
所幸的是,我得到了很多同學(xué)的幫助。
我想沒有他們我可能都要放棄了,因?yàn)槲冶救藢纹瑱C(jī)也并不是很熟悉,學(xué)的東西好像它是它,我是我似的,理論聯(lián)系不了實(shí)際。
以前的匯編語言沒學(xué)好,一開始的程序這塊兒就要令我抓狂了。
后來請教我們班的一個(gè)男生,每次跟他一起到試驗(yàn)室調(diào)試程序(他們組也只有他一個(gè)人動(dòng)手),看他邊做邊給我講解。
最后在開發(fā)機(jī)上做出來的時(shí)候,雖然不是我自己寫的,但看他那么高興,我也有一種分享到的成就感。
后來我們組就用了他寫的程序,他自己又抽空做了些拓展。
接下來就是做硬件方面的焊接工作了。
沒想到這項(xiàng)看起來不需要多少技術(shù)的工作卻是非常的勞心勞力。
很多次是早上起來帶瓶水帶些吃的到實(shí)訓(xùn)中心,一泡就是一天。
我看到有很多人跟我一樣,不同的是他們是三三兩兩,而我大部分時(shí)間都是一個(gè)人做。
在這個(gè)時(shí)候也有很多人幫助我,或是熱心的幫我?guī)э垼蚴窃谖掖蝽飪旱臅r(shí)候幫我做點(diǎn)焊接。
大家都鼓勵(lì)我,即使最后出不來東西,但是一定要堅(jiān)持把它做完。
當(dāng)我想放棄的時(shí)候,我也這么對自己說,即使你做出來的是次品甚至不合格品,但是你一定要拿出來一件成品。
在要驗(yàn)收前,終于做了一件成品出來,不幸的是它真的是一件不合格品。
幫我的那個(gè)男生做的已經(jīng)出來了,所以最后應(yīng)該還是我的焊接方面的'問題。
有一點(diǎn)灰心,想再重做來不及了,單是檢查線路卻也查不出來什么問題。
那么就準(zhǔn)備答辯吧。
我對著電路圖再看課本,發(fā)現(xiàn)以前很多覺得很難記的東西現(xiàn)在記起來容易多了,因?yàn)檎於荚谕鼈兇蚪坏馈?BR> 51的引腳及其功能,a/d轉(zhuǎn)換器的,驅(qū)動(dòng)器的,所有我用到的我都一再的看書了解,同時(shí)請教同學(xué)我看書過程當(dāng)中的疑惑。
在這個(gè)過程中又發(fā)現(xiàn)了以前焊接當(dāng)中出的一些問題,能改的就改,不能改的,咳,要是時(shí)間再多一些,或者我能早點(diǎn)做好,要是不只是我一個(gè)人動(dòng)手……算了吧,不要想那些如果,還是準(zhǔn)備我自己的,做好我現(xiàn)在能做的吧。
還好,驗(yàn)收還算成功,得了3分,不是很高,但是我覺得對我來說已經(jīng)很好,代表了我真實(shí)的水平,我覺得我對單片機(jī)的一些知識在這個(gè)動(dòng)手的過程中真的是從無到有增長的。
同時(shí)我也盡量不去想別人得了多少分,沒有什么不平衡的,有些人付出的是努力,有些人付出的是風(fēng)險(xiǎn)代價(jià),其實(shí)這也沒有什么不一樣,這一點(diǎn)我早就了解。
最后,我發(fā)現(xiàn)自己對單片機(jī)竟然也有了一點(diǎn)興趣,我認(rèn)為要學(xué)好單片機(jī)這門課程,不僅要認(rèn)真閱讀課本知識,更重要的是要通過上機(jī)實(shí)踐才能增強(qiáng)和鞏固我的知識,注重實(shí)踐這一環(huán)節(jié),只有這樣我們才能成為合格的社會(huì)人材。
高校實(shí)驗(yàn)室是培養(yǎng)高層次人才和開展科學(xué)研究的重要基地。
在西方發(fā)達(dá)國家,學(xué)校對培養(yǎng)學(xué)生的動(dòng)手能力是十分重視的,這一問題近年來也越來越受到我國教育界人士的廣泛重視。
為了提高學(xué)生的動(dòng)手能力,讓學(xué)生做相關(guān)實(shí)訓(xùn)并完成單片機(jī)實(shí)驗(yàn)報(bào)告,在實(shí)驗(yàn)的形式上注重培養(yǎng)學(xué)生的實(shí)驗(yàn)技能和動(dòng)手能力。
從單片機(jī)實(shí)驗(yàn)心得中學(xué)生就可以總結(jié)出大量的經(jīng)驗(yàn)以適應(yīng)當(dāng)代社會(huì)的發(fā)展。
學(xué)習(xí)單片機(jī)這門課程(教學(xué)中選用 inter公司的mcs-51),要掌握單片機(jī)指令系統(tǒng)中匯編語言各種基本語句的意義及匯編語言程序設(shè)計(jì)的基本知識和方法,以及單片機(jī)與其他設(shè)備相連接的輸入輸出中斷等接口技術(shù)。
使學(xué)生從硬件軟件的結(jié)合上理論聯(lián)系實(shí)際,提高動(dòng)手能力,從而全面掌握單片機(jī)的應(yīng)用。
實(shí)驗(yàn)教學(xué)的全過程包括認(rèn)識、基礎(chǔ)、綜合3個(gè)階段。
以往的單片機(jī)實(shí)驗(yàn)是進(jìn)行軟件的編制和調(diào)試,與實(shí)際應(yīng)用中的硬件電路相脫節(jié)。
使學(xué)生缺乏硬件設(shè)計(jì)及調(diào)試分析能力,對單片機(jī)如何構(gòu)成一個(gè)單片機(jī)最小應(yīng)用系統(tǒng),缺乏認(rèn)識。
軟件的修改也非常方便,軟件和硬件調(diào)試都通過后,把程序固化在 eprom當(dāng)中,插上8051單片機(jī)構(gòu)成一個(gè)完整的單片機(jī)應(yīng)用系統(tǒng)。
單片機(jī)實(shí)驗(yàn)板的構(gòu)成及基本功能
單片機(jī)實(shí)驗(yàn)板,它由 8031、8155,eprom2764,max232鍵盤及顯示器組成。
其中8155 片內(nèi)有256個(gè)ram單元,接6個(gè)7段碼顯示器和8個(gè)按鍵作輸入。
串行口連接max232串行口轉(zhuǎn)換芯片,p1口留出作為一些控制量的輸入輸出用以擴(kuò)展使用。
在實(shí)驗(yàn)板上可編寫鍵盤掃描程序、顯示程序、時(shí)間的設(shè)定及計(jì)時(shí)程序、從鍵盤上輸入兩個(gè)加數(shù)或減數(shù)顯示結(jié)果程序、位變量的邏輯運(yùn)算程序及串行口和上位機(jī)通訊程序等,還可和其它課程相結(jié)合,進(jìn)行實(shí)驗(yàn)。
同時(shí)可參考單片機(jī)網(wǎng)上的比較生動(dòng)的單片機(jī)學(xué)習(xí)教程,學(xué)習(xí)和試驗(yàn)一起進(jìn)行.例如,《電子測量》課程中各種頻率的測量,可通過8031單片機(jī) p1口輸入被測量,由單片機(jī)來進(jìn)行檢測和顯示,把幾門課程結(jié)合在一起學(xué)習(xí),使課程有延續(xù)性,也提高了學(xué)生學(xué)習(xí)的積極性。
由于p1口通過插座引出,也可外部擴(kuò)展a/d d/a 等其他接口芯片,以構(gòu)成新的應(yīng)用系統(tǒng)。
單片機(jī)實(shí)驗(yàn)板的衍生功能
此單片機(jī)實(shí)驗(yàn)報(bào)告中的實(shí)驗(yàn)板是一個(gè)單片機(jī)應(yīng)用系統(tǒng)的硬件電路。
有鍵盤輸入和顯示輸出,在這個(gè)基礎(chǔ)電路上通過p1口對不同檢測或控制對象還可衍生出各種應(yīng)用來。
例如:時(shí)間的設(shè)置及顯示、溫度的檢測及控制等,在此實(shí)驗(yàn)板上,編寫相應(yīng)的軟件即可,否則,只在計(jì)算機(jī)上模擬調(diào)試軟件,則無法了解單片機(jī)接口中各種控制信號的使用。
還可幫助學(xué)生學(xué)會(huì)分析問題和解決問題的能力。
這在單片機(jī)實(shí)驗(yàn)報(bào)告中都要體現(xiàn)出來。
例如:如何檢查程序存儲器和外部數(shù)據(jù)存儲器及i/o接口,執(zhí)行訪問外部程序存儲器eprom2764的0000h 單元的指令,只能讀取該單元的內(nèi)容,不能改寫,當(dāng)dptr=0000h 時(shí),執(zhí)行 movca @dptr指令,這時(shí)候74ls373應(yīng)鎖存地址信號低8位,可用示波器測量74ls373的q0-q7 ,檢驗(yàn)是否鎖存了零信號,同樣用示波器檢測p2口是否輸出了地址信號的高8位,用示波器檢測p0口和 ale控制信號。
若和原理分析有偏差,很快就可判斷出哪個(gè)管腳有問題,可順藤摸瓜,找出問題所在。
同理,執(zhí)行單條指令訪問外部接口8155的pa pb pc 口,軟件執(zhí)行時(shí)序信號和管腳測量結(jié)果相比較,看是否一致,以便檢查硬件線路是否正確。
訪問外部ram數(shù)據(jù)存儲器(8155片內(nèi))時(shí),用示波器測wr及 rd控制信號,如:讀ram時(shí),應(yīng)測到讀控制信號脈沖,而寫ram時(shí),應(yīng)測得寫控制信號脈沖。
測得的信號一定是數(shù)字信號(0或1,0.7v左右或 3.8v左右),2.5v左右的數(shù)字信號肯定有問題。
在仿真器上調(diào)試軟件時(shí),通過察看單片機(jī)網(wǎng)的相關(guān)專欄得知,可采用仿真器上的晶振,通過后,改用用戶板上的晶振,看結(jié)果是否一致,若有問題,說明用戶板上的晶振有問題,再次通過后,把程序固化在eprom2764中,拔掉仿真頭,插上8031芯片,看是否通過,此時(shí)有問題,說明用戶板上的復(fù)位信號有問題。
逐步學(xué)會(huì)硬件電路的調(diào)試。
外部可連接溫度傳感器,經(jīng)a/d轉(zhuǎn)換,檢測溫度信號,并根據(jù)鍵盤輸入的設(shè)定值范圍,進(jìn)行報(bào)警,切換繼電器工作;還可通過模擬開關(guān)對多點(diǎn)溫度進(jìn)行輪檢,構(gòu)成一臺多點(diǎn)溫度測試系統(tǒng)。
作為測量設(shè)備,要考慮精度,在硬件電路上要考慮模擬開關(guān)的選擇,因?yàn)槠鋵?dǎo)通電阻的大小對模擬輸入量有影響,應(yīng)選擇導(dǎo)通電阻小,帶過壓保護(hù)的模擬開關(guān),同樣a/d轉(zhuǎn)換芯片應(yīng)根據(jù)精度要求,選擇8位、 12位等 轉(zhuǎn)換器,或滿足精度要求的壓頻轉(zhuǎn)換器。
也可對外部多種傳感器進(jìn)行檢測,如:溫度、煙霧、水警、門警、紅外等,構(gòu)成監(jiān)控電路,被測量中既有模擬量,又有數(shù)字量,特別要加強(qiáng)抗干擾性,在線路板設(shè)計(jì)時(shí),每塊芯片電源引腳的濾波電容排放時(shí)盡量靠近芯片,模擬地和數(shù)字地先分別共地,最后,再把模擬地和數(shù)字地共地,模擬地和數(shù)字地只能出現(xiàn)一個(gè)共地點(diǎn),最好電源和地單獨(dú)布層,走線合理,提高線路板的抗干擾性,為了提高抗干擾能力,軟件設(shè)計(jì)時(shí),可連續(xù)測量幾次,去掉最大值和最小值,剩下的量取平均值,以濾去一些突變信號,提高整個(gè)系統(tǒng)的抗干擾能力。
由于單片機(jī)體積小、成本低、使用方便,所以被廣泛地應(yīng)用于儀器儀表、現(xiàn)場數(shù)據(jù)的采集和控制,但單片機(jī)存儲量有限,數(shù)據(jù)處理能力差,不利于數(shù)據(jù)信息的保存和處理,在這里利用單片機(jī)的串行口和上位pc機(jī)串口通訊,實(shí)驗(yàn)板上的max233串行轉(zhuǎn)換芯片實(shí)現(xiàn)ttl信號和rs232 信號之間的轉(zhuǎn)換,和 pc機(jī)通訊,從而實(shí)現(xiàn)遠(yuǎn)距離的監(jiān)控及信息的存儲、處理和打印清單,單片機(jī)完成現(xiàn)場數(shù)據(jù)的采集及各種信號的控制,構(gòu)成一套環(huán)境監(jiān)控單元。
幾點(diǎn)單片機(jī)實(shí)驗(yàn)心得體會(huì)
在電子技術(shù)應(yīng)用領(lǐng)域中,單片機(jī)的應(yīng)用愈來愈多地應(yīng)用到各行各業(yè)。
如:工業(yè)控制、儀器儀表、電訊技術(shù)、辦公自動(dòng)化和計(jì)算機(jī)外部設(shè)備、汽車與節(jié)能、商用產(chǎn)品、家用電器等。
目前,單片機(jī)正朝著大容量片上存儲器、多功能i/o接口、寬范圍工作電源和低功耗方向發(fā)展。
要開發(fā)單片機(jī)的應(yīng)用,不但要掌握單片機(jī)硬件和軟件方面的知識,而且還要深入了解各應(yīng)用系統(tǒng)的專業(yè)知識,只有將這兩方面的知識融會(huì)貫通和有機(jī)結(jié)合,才能設(shè)計(jì)出優(yōu)良的應(yīng)用系統(tǒng)。
一個(gè)好的工程設(shè)計(jì)師不僅要掌握單片機(jī)的工作原理,而且還要不斷了解各公司最新芯片的結(jié)構(gòu)和應(yīng)用,在實(shí)際應(yīng)用中找到最好的性能價(jià)格比。
所以還要注意培養(yǎng)學(xué)生接受新知識的自學(xué)能力,掌握芯片發(fā)展動(dòng)態(tài)。
單片機(jī)心得篇八
一直想寫一個(gè)帖子,將自己學(xué)習(xí)單片機(jī)的經(jīng)歷、經(jīng)驗(yàn)和方法一下,今天終于動(dòng)手寫了,呵呵,這是我學(xué)習(xí)單片機(jī)的經(jīng)驗(yàn)、心得、方法。希望對大家學(xué)習(xí)單片機(jī)有所幫助。
經(jīng)常在群、論壇里看到有人問:怎么學(xué)單片機(jī)?也??吹接腥苏f學(xué)了好幾個(gè)月可就是沒有什么進(jìn)展。當(dāng)然,受限于每個(gè)人受到的教育水平不同和個(gè)人理解能力的差異,學(xué)習(xí)起來會(huì)有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。一個(gè)好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機(jī)的經(jīng)歷和方法。
的時(shí)候,因?yàn)橹谱鱢m發(fā)射電路采用了bh1415的芯片,需要用到單片機(jī)控制,所以開始接觸使用單片機(jī),雖然以前讀書時(shí)作為一門功課學(xué)過,不過也快丟荒了了,基本上都忘光了,也算是從頭學(xué)起了吧。我當(dāng)時(shí)是買了一塊實(shí)驗(yàn)板,很簡單的功能,比論壇實(shí)驗(yàn)板還要少功能,還有一個(gè)仿真器,也是比較簡單的,sst芯片的。然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個(gè)程序基本上就抄人家的,翻查了一份快速入門的學(xué)習(xí)資料,()寫下第一個(gè)程序。然后,在仿真機(jī)是單步的看運(yùn)行結(jié)果,從每一步執(zhí)行,都硬件上反應(yīng)出來的效果,很快,對單片機(jī)的運(yùn)作有了一個(gè)非常感性的認(rèn)識,這跟只看書然后自己想象運(yùn)行是完全兩碼事。然后,是進(jìn)一步的其它程序?qū)W習(xí),一個(gè)月時(shí)間,基本上已經(jīng)熟悉了51的各種硬件資源。把流水燈,數(shù)碼管動(dòng)態(tài)掃描,中斷等等的學(xué)習(xí)了,然后就是寫綜合性的程序,也就是我發(fā)在論壇里的時(shí)鐘。通過這個(gè)程序的編寫,使自己的編程水平有了很大的飛躍。之后,就是逐步學(xué)習(xí)編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。在學(xué)過匯編之后,我又轉(zhuǎn)到了c語言學(xué)習(xí),因?yàn)橐郧皼]有學(xué)習(xí)過c語言,一切都很陌生,所以自己沿用了學(xué)習(xí)匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時(shí)鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實(shí)現(xiàn)了從匯編編程為主到c編程為主的轉(zhuǎn)變。然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風(fēng)格,一直到現(xiàn)在,基本上就是c語言編程,匯編已經(jīng)是作為調(diào)試程序的輔助。
下面我概括了幾點(diǎn)我的學(xué)習(xí)經(jīng)驗(yàn)和:
1、萬事開頭難、要勇敢邁出第一步。開始的時(shí)候,不要老是給自己找借口,說keil不會(huì)建項(xiàng)目啦、沒有實(shí)驗(yàn)板啦之類的。遇到困難要一件件攻克,不會(huì)建項(xiàng)目,就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個(gè)最簡單的,讓它運(yùn)行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會(huì)差多少,總得建個(gè)項(xiàng)目,再配置一下項(xiàng)目,然后建個(gè)程序,加入項(xiàng)目中,再寫代碼、編譯、生成hex,刷進(jìn)單片機(jī)中、運(yùn)行。必須熟悉這一套工序。個(gè)人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運(yùn)行一下看結(jié)果,學(xué)習(xí)效果會(huì)好很多,仿真器就看個(gè)人需要了。單片機(jī)是注重理論和實(shí)踐的,光看書不動(dòng)手,是學(xué)不會(huì)的。
2、知識點(diǎn)用到才學(xué),不用的暫時(shí)丟一邊。厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計(jì)也快忘光了,所以,最好結(jié)合實(shí)際程序,用到的時(shí)候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點(diǎn)一小點(diǎn)的啃。
3、程序不要光看不寫,一定要自己寫一次。最開始的時(shí)候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達(dá)到什么目的,運(yùn)行后有什么后果,看明白了之后,就要自己寫一次,你會(huì)發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時(shí)候卻一句也寫不出來,這就是差距……當(dāng)你自己能寫出來的時(shí)候,說明你就真的懂了。
4、必須學(xué)會(huì)掌握調(diào)試程序的方法。不少人寫程序,把代碼寫好了,然后一運(yùn)行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個(gè)帖子,把程序一貼,問:為什么我的程序不能正常運(yùn)行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會(huì)發(fā)現(xiàn)問題和學(xué)會(huì)如何解決問題。這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點(diǎn)啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運(yùn)行結(jié)果和你想象中不一樣的時(shí)候,你可以單步,也可以下斷點(diǎn),然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運(yùn)行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個(gè)過程非常重要,通過程序的排錯(cuò),你可以學(xué)到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。我們用單片機(jī)來控制周邊器件,達(dá)到我們想到的目的,這是一個(gè)題目,而如何寫出一個(gè)程序,來控制器件按你想要的結(jié)果去運(yùn)作,這個(gè)就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會(huì)找出這個(gè)解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時(shí)候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人,所以現(xiàn)在我也明白了,以前讀書時(shí)說的程序流程圖很重要,現(xiàn)在算是知道了。當(dāng)你知道一個(gè)問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。舉個(gè)例子:數(shù)碼管動(dòng)態(tài)掃描,沒寫過的初學(xué)者可能搞不清是怎么回事,其實(shí),就是分時(shí)讓每一時(shí)間段時(shí)只控制一只數(shù)碼管顯示數(shù)字,幾只數(shù)碼管輪流顯示,由于速度很快,人眼的看起來是全部數(shù)碼管都亮的。明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數(shù)碼管輪流顯示出相應(yīng)的數(shù)值。顯示數(shù)字,然后延時(shí)一下,再下一只顯示數(shù)字,延時(shí),知道是這樣,我們實(shí)際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時(shí)一下,再關(guān)閉位選,再送出段碼,再打開另一只位選僅此而已。有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動(dòng)態(tài)掃描的原理都沒懂,不知道如何做,那么這個(gè)程序是怎么也寫不出來的。
6、開動(dòng)腦筋,運(yùn)用多種方法,不斷優(yōu)化自己的程序。想想用各種不同方法來實(shí)現(xiàn)同一功能。這是一個(gè)練習(xí)和提高的過程,一個(gè)問題,你解決了,那么你再想想,能不能換種寫法,也可以實(shí)現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點(diǎn),讓程序執(zhí)行效率更高,這個(gè)過程,就是一個(gè)進(jìn)步的過程。很多知識和經(jīng)驗(yàn)的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實(shí)踐,開動(dòng)腦筋,經(jīng)驗(yàn)才能得到積累,編程水平才能有所提高。
7、看別人的代碼,學(xué)習(xí)人家的思路。這個(gè)在學(xué)習(xí)初期是很有用,通過看別人的代碼,特別是有多年編程經(jīng)驗(yàn)的人寫出的具有一定水平的代碼,可以使自己編程水平得到迅速的提高,同時(shí),也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的代碼,從中得到進(jìn)步。但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會(huì)了,這樣做只會(huì)使你退步。
8、嘗試編寫一下綜合應(yīng)用的程序。從流水燈學(xué)起,到動(dòng)態(tài)掃描,再到中斷,那么,你可以試試寫一下時(shí)鐘這種綜合性應(yīng)用的程序,不要小看時(shí)鐘,要寫好它不是一件容易的事情,它包括了單片機(jī)大部分的知識,比如有按鍵(io讀?。?dòng)態(tài)掃描(io輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨(dú)寫一個(gè)功能的時(shí)候,比如按鍵讀取,你可能感覺很容易,因?yàn)槟愕某绦蛏兑膊蛔?,只是讀按鍵。但把它和其它功能混合在一起,如何在整個(gè)程序運(yùn)行中使每一部分都正常工作,這就不是寫一個(gè)按鍵讀取這么容易的事情,功能模塊之間有可能會(huì)互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個(gè)協(xié)調(diào)過程。當(dāng)你有了這個(gè)處理協(xié)調(diào)能力,你就算是入門了。
9、著重于培養(yǎng)解決問題的能力,而不是具體看自己編寫了多少代碼或者做過什么。“學(xué)單片機(jī)重點(diǎn)在于學(xué)習(xí)解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學(xué)單片機(jī)多年來感悟出來的。經(jīng)??吹接腥苏f“你會(huì)驅(qū)動(dòng)xx芯片,真牛啊”“你搞過xx項(xiàng)目,真厲害”之類的話,其實(shí)這是非常片面的,搞過xx芯片,搞過xx項(xiàng)目,只能說明你做過這一項(xiàng)目,它只是你的業(yè)績,并不是代表能力就一定高。真正的能力應(yīng)該是:“遇到?jīng)]有解決過的問題或器件,能利用自己已學(xué)的知識,迅速找到解決問題的方法?!边@個(gè)才是能力。寫程序的過程就是一個(gè)創(chuàng)造的過程,幾乎沒有完全一樣的項(xiàng)目,每次你遇上的幾乎都不相同,所以你擁有的必須是你面對新項(xiàng)目時(shí)的創(chuàng)造能力,而不是標(biāo)榜著你以往做過多少項(xiàng)目。當(dāng)然,業(yè)績也能從另一側(cè)面反映你的經(jīng)驗(yàn)和水平。
10、如果有可能,多學(xué)習(xí)計(jì)算機(jī)專業(yè)的知識,比如數(shù)據(jù)結(jié)構(gòu)等。這些是你解決問題的基礎(chǔ)知識,你把這些知識應(yīng)用得越好,就會(huì)發(fā)現(xiàn)越容易找到解決問題的方法,這就是為什么一個(gè)學(xué)計(jì)算機(jī)專業(yè)的人編的程序和一個(gè)非計(jì)算機(jī)專業(yè)的人編的程序有差異的原因。也是一個(gè)菜鳥進(jìn)軍到高手所要配備的知識。如果我們把編程分為宏觀編程和微觀編程,那么微觀編程就是寫具體的代碼,比如控制某某器件的語句;而宏觀編程就是如何對整個(gè)程序進(jìn)行布局、安排,使功能模塊以你想要的方式去運(yùn)行,得出你想要的結(jié)果。如前所說“會(huì)控制xx器件”這些只能算是微觀編程,能做到這一步還只能算是菜鳥級別,如果面對一個(gè)新的器件,你心里沒底,沒把握去寫這個(gè)控制程序,那說明你還是一個(gè)初級的菜鳥。當(dāng)你有了一定的編程經(jīng)驗(yàn),控制過相當(dāng)數(shù)量的器件之后,你就會(huì)發(fā)現(xiàn),控制器件這些工作都是相似的、重復(fù)的工作,體現(xiàn)不出編程的水平,最多也是寫得好與不好的差別,只能算是一些小技巧的應(yīng)用。而對整個(gè)程序進(jìn)行布局、安排這些才是最頭痛的事情,能達(dá)到宏觀編程和微觀編程都做好才是真正的高手。對于規(guī)模越大的程序,越能體現(xiàn)出這一點(diǎn)。
11、面對一個(gè)新項(xiàng)目時(shí),多自己開動(dòng)腦筋,不要急于找別人的程序。有不少人面對一個(gè)新項(xiàng)目時(shí),第一步想到的就是網(wǎng)上找別人寫過的代碼,然后抄一段,自己再寫幾句,湊在一起就完成任務(wù),這雖然可能是省時(shí)間,但絕對不利你的學(xué)習(xí)。當(dāng)你接到一個(gè)新項(xiàng)目時(shí),應(yīng)該先自己構(gòu)思一下整個(gè)程序的架構(gòu),想想如何來完成,有可能的話,畫一個(gè)流程圖,簡單的可以畫在腦子里,對程序中用到的數(shù)據(jù)、變量有一個(gè)初步的安排,然后自己動(dòng)手去寫,遇到實(shí)在沒辦法解決的地方,再去請教別人,或看別人是怎么處理的,這樣首先起碼你自己動(dòng)過腦想過,自己有自己的`思路,如果你一開始就看別人的程序,你的思維就會(huì)受限在別人的思維里,自己想再創(chuàng)新就更難了,這樣你自己永遠(yuǎn)也沒辦法提高,因?yàn)槟闶亲咴趧e人的影子里。
12、多利用網(wǎng)絡(luò)的搜索,學(xué)會(huì)提問題。一般來說,學(xué)習(xí)過程中,你遇上的問題,前人們多數(shù)也有遇上的,所以如果有什么不懂,在自己解決不了的時(shí)候,最好先到網(wǎng)上搜索一下,看能不能找到答案,找不到再到論壇里發(fā)問,發(fā)問也要有目的性,盡量簡單明了的描述問題,讓幫助你的人可以用最少的時(shí)間就看懂你說什么,畢竟人家?guī)椭闶敲赓M(fèi)的,時(shí)間也是有限的。
以上就是我學(xué)習(xí)單片機(jī)的經(jīng)歷和心得體會(huì),希望對大家會(huì)有幫助,說得有不好或不對的地方歡迎大家批評指正。
時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目。其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢?,做起設(shè)計(jì)就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計(jì)算起來在實(shí)驗(yàn)室的時(shí)間只有三天,不過因?yàn)槲覀兌加凶约旱膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間一定不止三天。
硬件的設(shè)計(jì)跟焊接都要我們自己動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。()第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會(huì)就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對應(yīng)該是嚴(yán)謹(jǐn)。我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設(shè)計(jì)過程中我鍛煉了自己的思考能力和動(dòng)手能力。通過題目選擇和設(shè)計(jì)電路的過程中,加強(qiáng)了我思考問題的完整性和實(shí)際生活聯(lián)系的可行性。在方案設(shè)計(jì)選擇和芯片的選擇上,培養(yǎng)了我們綜合應(yīng)用單片機(jī)的能力,對單片機(jī)的各個(gè)管腳的功能也有了進(jìn)一步的認(rèn)識。還鍛煉我們個(gè)人的查閱技術(shù)資料的能力,動(dòng)手能力,發(fā)現(xiàn)問題,解決問題的能力。并且我們熟練掌握了有關(guān)器件的性能及測試方法。
再次感謝老師的輔導(dǎo)以及同學(xué)的幫助,是他們讓我有了一個(gè)更好的認(rèn)識,無論是學(xué)習(xí)還是生活,生活是實(shí)在的,要踏實(shí)走路。課程設(shè)計(jì)時(shí)間雖然很短,但我學(xué)習(xí)了很多的東西,使我眼界打開,感受頗深。
單片機(jī)心得篇九
我從大二起,就去實(shí)驗(yàn)室去學(xué)習(xí)。在那里與老師和一些電子設(shè)計(jì)愛好者的交流中,我學(xué)到了更多的專業(yè)知識。我從此走上了學(xué)習(xí)嵌入式的道路。這豐富了我的大學(xué)生活,是我在大學(xué)的最大收獲。
我是從學(xué)習(xí)單片機(jī)開始我的嵌入式學(xué)習(xí)的。
我接觸單片機(jī)的方式是在圖書館看書,我看了很多本書,但是大多數(shù)書寫的大同小異。書里面講解的單片機(jī)的寄存器我看了很多遍也沒有看懂。我都不明白改怎樣學(xué)習(xí)它了。慢慢的我悟出了一個(gè)道理:電子的學(xué)習(xí)實(shí)踐是最重要的,這樣,我在大二的時(shí)候就買了一塊學(xué)習(xí)板,我一邊看視頻一邊仿照視頻的程序,自己編寫程序,在很短的時(shí)間里,我的單片機(jī)有了很大的提高。那些難懂的寄存器透過編寫程序,我慢慢的弄懂了它們,此刻回頭看去,原先它還是很簡單的。
用哪種編程語言最適合我們。
我看過的單片機(jī)的書籍,大部分的程序都是匯編寫的。它是一種基于機(jī)器硬件的低級語言,對于我們這些只學(xué)習(xí)過c語言的人來說,十分難懂。我認(rèn)為剛開始學(xué)習(xí)單片機(jī)沒有必要必須要從學(xué)習(xí)匯編編程開始。我學(xué)習(xí)單片機(jī)就是用c語言編程的,我并不會(huì)匯編語言,也沒有妨礙我把單片機(jī)學(xué)好。
很多人說,學(xué)單片機(jī)最好先學(xué)匯編語言,以我的經(jīng)驗(yàn)告訴大家,絕對沒有這個(gè)必要,初學(xué)者一開始就直接用c語言為單片機(jī)編程,既省時(shí)間,學(xué)起來又容易,進(jìn)步速度會(huì)很快。在剛開始學(xué)單片機(jī)的時(shí)候,千萬不要為了解單片機(jī)內(nèi)部結(jié)構(gòu)而浪費(fèi)時(shí)間,這樣只能打擊你的信心,當(dāng)你學(xué)會(huì)編程后,自然一步步就掌握其內(nèi)部結(jié)構(gòu)了。
單片機(jī)提高重在實(shí)踐,想要學(xué)好單片機(jī),軟件編程必不可少。但是熟悉硬件對于學(xué)好單片機(jī)的也是十分重要的。如何學(xué)習(xí)好硬件,動(dòng)手實(shí)踐是必不可少的。我們能夠透過自己動(dòng)手做一個(gè)自己的電子制作,透過完成它,以提高我的對一些芯片的了解和熟練運(yùn)用它。這樣我們就能夠多一些了解芯片的結(jié)構(gòu)。我相信,你完成了一個(gè)屬于自己的電子制作,你的單片機(jī)水平就會(huì)有一個(gè)質(zhì)的提高。
這就是我學(xué)習(xí)單片機(jī)的心得體會(huì),期望給單片機(jī)的愛好者學(xué)好單片機(jī)有所幫忙。
熟悉單片機(jī)的人都明白,要學(xué)好單片機(jī)可不是一件容易的事,倒不是因?yàn)閱纹瑱C(jī)很難學(xué),而是很難找到一本專為單片機(jī)入門者而編寫的教材。翻一下身邊的單片機(jī)教材,都好像是為已經(jīng)懂單片機(jī)的人而寫的,一般先介紹單片機(jī)的硬件結(jié)構(gòu)和指令系統(tǒng),再是系統(tǒng)擴(kuò)展和外圍器件,順便講一些應(yīng)用設(shè)計(jì)(隨便說一下,很多書中的電路設(shè)計(jì)已經(jīng)過時(shí),并且有些程序還是錯(cuò)誤的)。如果按照此種學(xué)習(xí)方法,想進(jìn)行產(chǎn)品開發(fā),就務(wù)必先把所有的知識全部掌握了才能夠進(jìn)行實(shí)際應(yīng)用。學(xué)習(xí)使用單片機(jī)只能靠循序漸進(jìn)的積累,下面就本人學(xué)習(xí)單片機(jī)的過程和經(jīng)驗(yàn)做簡要介紹。
首先,學(xué)習(xí)單片機(jī)要有必須的基礎(chǔ):電子技術(shù)方面要有數(shù)字電路和模擬電路等方面的理論基礎(chǔ),個(gè)性是數(shù)字電路;編程語言要求匯編語言或c語言。要想成為單片機(jī)高手,推薦初學(xué)者首先學(xué)習(xí)匯編語言,學(xué)的差不多的時(shí)候,轉(zhuǎn)入c語言學(xué)習(xí)。盡管匯編語言屬于低級語言,編程效率低,但是較c語言具有目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快等優(yōu)點(diǎn),更重要的是能使初學(xué)者盡快熟悉單片機(jī)的內(nèi)部結(jié)構(gòu),并能對其進(jìn)行精確的控制。匯編語言在單片機(jī)教材里面都會(huì)涉及,不需要單獨(dú)購買教材和學(xué)習(xí)。c語言是一門學(xué)問,有很多專業(yè)書籍來講解,并且對我們今后的編程生涯有絕對的好處,因此要深入學(xué)習(xí),千萬不要自以為看了某某的視頻教程就以為掌握了c語言,那只是c語言的一部分。在那里給大家推薦一本單片機(jī)c語言程序設(shè)計(jì)參考書,馬忠梅等著,北京航空航天大學(xué)出版社出版的《單片機(jī)的c語言應(yīng)用程序設(shè)計(jì)》,要求c語言基礎(chǔ)。如果沒學(xué)過c語言,推薦學(xué)習(xí)清華大學(xué)譚浩強(qiáng)編寫的c語言程序設(shè)計(jì),這本書寫的不錯(cuò),通俗易懂。
其次,是單片機(jī)教材選取。單片機(jī)是一門十分重視實(shí)踐的技術(shù),不能總是看書,但要學(xué)習(xí)它首先應(yīng)看書,對單片機(jī)引腳、內(nèi)部結(jié)構(gòu)、寄存器和原理有必須地了解和感官認(rèn)識,它的是怎樣工作的,能干些什么?剛開始時(shí),也許你看不明白,但這并不要緊,因?yàn)槟氵€缺乏實(shí)踐經(jīng)驗(yàn)。此刻單片機(jī)應(yīng)用廣泛,因此各個(gè)廠家分別推出了自己的單片機(jī),按內(nèi)部結(jié)構(gòu)體系派系分:51系列、pic系列、avr系列、摩托羅拉等等……我們沒必要每樣都學(xué)!因?yàn)樗麄兊木幊谭椒ê驼{(diào)試過程以及內(nèi)部指令結(jié)構(gòu)有必須的相似,只要學(xué)精通一款就ok了!尤其是用c語言編程,就幾乎不用分什么派系,但是我們要選取一款有代表性的知識范圍廣,并且入門容易,書籍多。一般來說,mcs-51系列單片機(jī)已經(jīng)得到廣泛的普及和應(yīng)用,市場上它的資料也比較多,用的人也很多。給大家推薦一些參考書,學(xué)習(xí)時(shí)只需要一本就足夠拉。書名:《新編mcs-51單片機(jī)應(yīng)用設(shè)計(jì)》,哈爾濱工業(yè)大學(xué)出版,作者:張毅剛;書名:《單片機(jī)原理及應(yīng)用》,高等教育出版社,作者:張毅剛等;書名:《單片機(jī)高級教程:應(yīng)用與設(shè)計(jì)》,北京航空航天大學(xué)出版社,作者:何立民。相關(guān)教材還有很多,在這不一一列舉。
定某個(gè)實(shí)驗(yàn),就恭維的告訴你一聲”恭喜你,學(xué)會(huì)了”自己學(xué)會(huì)了單片機(jī),這有點(diǎn)可笑,這只能說明你算過關(guān)了,對單片機(jī)有了必須了解和會(huì)使用它了。但是單片機(jī)能完成的功能太多了,尤其是對外圍器件的控制,綜合起來能設(shè)計(jì)出許多意想不到的產(chǎn)品.因此除了入門外,精通可千萬別輕易說出口。
最后,在熟練掌握和應(yīng)用后,那能夠說對于單片機(jī)方面的硬件你已經(jīng)入門了,剩下的就是自己練習(xí)設(shè)計(jì)電路,不斷的積累經(jīng)驗(yàn)。最終,自己完全設(shè)計(jì)具有個(gè)人風(fēng)格的電路,產(chǎn)品,這樣你就是單片機(jī)高手拉。只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。時(shí)下多家電子類的報(bào)刊雜志如:《電子制作》《無線電》《電子報(bào)》《電子世界》都開設(shè)了詳細(xì)的單片機(jī)教程專欄,對于想學(xué)習(xí)單片機(jī)的朋友來說幫忙很大,能夠說此刻的單片機(jī)教程環(huán)境是最好的,有網(wǎng)絡(luò),有書籍,有報(bào)刊雜志,還有視頻教程,元件的采購方面也十分充足,相關(guān)的器材又多有便宜。如果每一天能抽出兩小時(shí)的時(shí)間去學(xué)習(xí),快的一個(gè)月,慢的三個(gè)月就入門拉。
以下是一些經(jīng)驗(yàn):
(1)學(xué)習(xí)單片機(jī)沒有捷徑,別指望兩三天就學(xué)會(huì),要堅(jiān)持不懈,重在積累。
(2)別崇拜高手,別相信天才,大部分人都不是天才(相信你也不是)!
(3)單片機(jī)是一門應(yīng)用性和實(shí)踐性很強(qiáng)的學(xué)科,要多動(dòng)手,多做實(shí)驗(yàn)。
(4)要學(xué)會(huì)參考別人的程序,減少自己琢磨的時(shí)間,迅速提高自己的編程潛力。
(5)碰到問題能夠借助網(wǎng)絡(luò)來搜尋答案和對自己有幫忙的問題,能夠大大減少你的開發(fā)時(shí)間。
(6)要多交一些朋友,多交流。技術(shù)是靠不斷的積累和交流才會(huì)進(jìn)步的,封閉自守只會(huì)更加落后。
期望大家多上網(wǎng)看看前輩的經(jīng)驗(yàn),能夠少走很多彎路。最后,祝愿大家早日成為單片機(jī)高手。
學(xué)了一年多的單片機(jī),對單片機(jī)也有了一個(gè)基礎(chǔ)的了解。在這一年里,我學(xué)了ds18b20、128*64大液晶、數(shù)碼管顯示等。從最初的跑馬燈,到整體融合,經(jīng)歷了一段時(shí)間。單片機(jī)只有p0,p1,p2,p3,如果想把很多功能合在一齊的話,就得復(fù)用,或著用到擴(kuò)展,但是那個(gè)擴(kuò)展模塊不好用,寫起程序來會(huì)比較麻煩,其實(shí)復(fù)用好的話,基本io口都夠用!
學(xué)習(xí)的時(shí)候總是難免碰到一些問題!但是我的總結(jié)是:沒關(guān)系,邊做邊想!或著講瞎搞!不搞肯定不明白,搞了才會(huì)懂!過去的一些問題在此刻看來都是小case,什么定時(shí)器賦值啊,定時(shí)器的使用類型(模式0,模式1,模式2),當(dāng)時(shí)就自己在那里看書理解,一大堆的文字在那里,看了很久也不懂!但是之后我懂得了上網(wǎng)找視頻教程!剛開始的時(shí)候也總是想為什么這么做,為什么這么做,為什么這么做,一堆的為什么。此刻懂了,做多了,就覺得要這樣做,要這樣做,就是這么做的,沒錯(cuò)!不會(huì)的時(shí)候想著,反正會(huì)弄懂的,多試試!
要相信熟能生巧,想想學(xué)習(xí)的時(shí)候,和此刻的程度,不是在一個(gè)檔次的!熟悉了操作,一些疑惑也會(huì)雖之解開!
我最初開始學(xué)單片機(jī)是因?yàn)槲蚁矚g編程,我覺得編程是一件樂趣的事!或著說享受技術(shù)帶來的快樂!我此刻懂得了有各門各樣的語言,c語言是其中一種,還有更底程的匯編語言,java之類的高級語言,這些我都很喜歡!它們各有各自的好處和用處!而且我不想只會(huì)一門語言,所以我要慢慢地學(xué)習(xí)各種自己喜歡的語言!
在學(xué)習(xí)的過程中遇到麻煩或著問題,已經(jīng)習(xí)以為長了!遇到問題也不會(huì)焦慮,想的是該怎樣解決!水平也是在不斷解決問題中提高的,有這一點(diǎn)體會(huì)!其實(shí)初學(xué)單片機(jī),碰到問題總是新的知識而已,因?yàn)閱纹瑱C(jī)很簡單,也不用很懂電路原理,明白什么時(shí)候給0,什么時(shí)候給1,其它的就交給硬件去處理。
我也不單單只想有關(guān)單片機(jī)的程序單片機(jī)功能簡單,一向?qū)憜纹瑱C(jī)也會(huì)變得呆板的(這期間就一向?qū)憜纹瑱C(jī)的程序,不寫其它思考性的編程),至少我是這么覺得.因?yàn)閷憜纹瑱C(jī)的程序一段時(shí)間后,我發(fā)現(xiàn)我的思路有點(diǎn)僵在單片機(jī)的思路上,自己想寫一寫其它的程序,不是單片機(jī)的,是c語言的一些有關(guān)數(shù)學(xué)計(jì)算(類似應(yīng)用題的那種),寫的時(shí)候卻想的寫單片機(jī)的感覺,有點(diǎn)難以集中到此刻要解決的問題!
在學(xué)校學(xué)習(xí)期間我有幸的參加了學(xué)校的單片機(jī)學(xué)習(xí)小組,在小組里我了解了什么是單片機(jī),單片機(jī)有哪些用途,利用單片機(jī)能夠?qū)崿F(xiàn)哪些功能來方便人們的生活如交通燈,時(shí)鐘,還有手機(jī)中,電子玩具等等,它們里面都有單片機(jī)的存在來實(shí)現(xiàn)某種功能。透過在單片機(jī)小組里的學(xué)習(xí)我簡單總結(jié)了幾點(diǎn)心得和體會(huì):
第一:萬事開頭難,要勇敢的邁出第一步,不要總找借口說沒有學(xué)習(xí)過就總推脫。凡事都有第一步能夠先可簡單的來,然后能夠逐步的向深層次學(xué)習(xí)。能夠從建項(xiàng)目開始,然后能夠找一個(gè)簡單的小程序先把它敲進(jìn)單片機(jī)內(nèi)然他運(yùn)行起來,感覺一下單片機(jī)的運(yùn)行,讓自己了解單片機(jī)整個(gè)運(yùn)行。
第二:對于知識點(diǎn),學(xué)過的要掌握牢固,對于沒有學(xué)的和暫時(shí)用不到的先不用學(xué)習(xí)。比如:小燈得點(diǎn)亮就沒有用到中斷能夠先不用看。這樣能夠避免知識過多記不住的麻煩。對于程序那里的知識點(diǎn)不能只停留在理論層次上,必須要結(jié)合著程序進(jìn)行學(xué)習(xí)這樣才能掌握的很牢靠,當(dāng)用到哪里的知識點(diǎn)不記得了能夠去看書,對于用不到的能夠不去看。
第三:程序不要只是看別人得,必須要自己寫過才是自己的。開始不懂能夠參考別人的,看看每一句代表著什么意思,能夠?qū)崿F(xiàn)什么現(xiàn)象。明白之后自己再重新寫一遍,你會(huì)發(fā)現(xiàn)看別人的能懂到自己寫的時(shí)候很困難。當(dāng)你自己能寫出來的時(shí)候說明你真懂了。
第四:必須要學(xué)會(huì)程序調(diào)試的方法。有時(shí)候把程序?qū)懲炅巳缓筮\(yùn)行時(shí)不能實(shí)現(xiàn)理想的現(xiàn)象。這時(shí)有人就暈了不知該怎樣辦,然后就去問別人。當(dāng)別人找出問題出在哪里時(shí)就會(huì)恍然大悟。其實(shí)當(dāng)遇到問題必須要自己嘗試著解決,不能遇到問題就去問別人。自己必須要掌握解決問的方法和思路。
第五:在學(xué)習(xí)初期看別人的代碼,學(xué)習(xí)別人的思路這個(gè)很有用。透過看別人的代碼個(gè)性是有多年編程經(jīng)驗(yàn)的人的程序,能夠迅速提高自己的編程水平。也能夠結(jié)合著別人的手法,與自己的想法結(jié)合在一齊寫出更好的程序。但是切記將學(xué)習(xí)變成抄襲,不能認(rèn)為抄襲別人的你就學(xué)會(huì)了,這樣只能使你退步。第六:應(yīng)對一個(gè)新項(xiàng)目時(shí),自己必須要多想想,不要急著去看別人是怎樣寫的。有的人看到新項(xiàng)目時(shí)就去找別人的然后抄一小段,自己在寫幾句,放在一齊完成任務(wù),雖然省時(shí)間但不利你的學(xué)習(xí)。當(dāng)你遇到一新項(xiàng)目時(shí)你就應(yīng)先想一下程序的構(gòu)架,想想如何來完成。然后自己動(dòng)手去寫,當(dāng)你遇到實(shí)在是沒辦法解決的問題時(shí)再去請教別人,看他是怎樣處理的,學(xué)習(xí)他的方法。這樣起碼你自己想過了,有自己的思路不會(huì)受到別人的影響,這樣更容易提高自己。
在單片機(jī)的學(xué)習(xí)開始時(shí)感覺很吃力,在不斷的學(xué)習(xí)過程中慢慢的對單片機(jī)產(chǎn)生了些好感,而且在編寫程序過程中吃力的感覺慢慢的淡了。在這其中基礎(chǔ)知識掌握牢固是十分重要的,然后在學(xué)習(xí)過程中要學(xué)會(huì)提問題和自己解決問題,慢慢的對于學(xué)習(xí)單片機(jī)你也會(huì)產(chǎn)興趣。雖然在開始學(xué)習(xí)單片機(jī)時(shí)感覺很青澀,但只要堅(jiān)定自己的學(xué)習(xí)信心,在付出持之以恒的努力,我相信自己能進(jìn)一步加深對單片機(jī)的了解,在單片機(jī)的學(xué)習(xí)道路上走得更遠(yuǎn)!
這是我第一次做單片機(jī)實(shí)驗(yàn),說起來有一些緊張和新奇。在此之前我并沒有接觸過單片機(jī),我本以為與之前的光學(xué)實(shí)驗(yàn)及其它實(shí)驗(yàn)差不多,可我進(jìn)到實(shí)驗(yàn)室之后,我就改變了這個(gè)看法。
單片機(jī)實(shí)驗(yàn)要求的是一種思維的創(chuàng)新,而不是簡單的重復(fù)老師所說的實(shí)驗(yàn)步驟。因此第一次實(shí)驗(yàn),實(shí)驗(yàn)老師向我們講解了cvavr編譯器的大體狀況及使用方法和技巧,并簡單的向我們示例——如何在cvavr中編寫一段程序。編完程序之后,明白我們?nèi)绾问褂胊vrstudio到達(dá)將編好的程序輸入到單片機(jī)中來使其運(yùn)行。
之后老師讓我們以組為單位合作編寫一段程序,并使其運(yùn)行。我們組想要編寫一個(gè)跑馬燈的程序。在第一次運(yùn)行cvavr時(shí),我們組就遇到了一個(gè)麻煩,我們在建立一個(gè)新project文件那里出現(xiàn)了錯(cuò)誤。在保存這個(gè)新project文件的時(shí)候,我們單擊了save,而不是generate,saveandexit.因此它彈不出我們我們所需要的源程序。之后我們透過詢問其他人解決了這個(gè)問題。在編程中,我們開始做的是兩盞燈的交替閃爍,間隔時(shí)間是1000ms。在運(yùn)用avrstudio的時(shí)候,我們又犯了一個(gè)錯(cuò)誤。在我們打開編譯好的工程文件時(shí),開始調(diào)試,在最后一步點(diǎn)擊finish時(shí),彈出一對話框,問我們是否更新,然后我們單擊了yes。這導(dǎo)致了仿真器無法下次使用。這是由于實(shí)驗(yàn)室中的仿真器是盜版的,無法進(jìn)行更新。
經(jīng)過我們的不斷努力,我們最后實(shí)現(xiàn)了簡單的跑馬燈的運(yùn)行,便是兩個(gè)燈地交替閃爍。我們感到興奮極了。但是我們并沒有滿足于當(dāng)前,我們又編寫了三個(gè)燈地交替閃爍,四個(gè)及多個(gè)。當(dāng)我們一步步實(shí)現(xiàn)我們的目的時(shí),我得到莫大成就感和自信。
在這次實(shí)驗(yàn)中,我體會(huì)到了合作的重要性。一個(gè)人也可能實(shí)現(xiàn)這一系列的過程,但是要花費(fèi)很多精力和時(shí)間。群策群力,分工明確,能夠使我們更好、更快地完成我們的工作。在此期間,你能夠更好明白自己的不足和缺陷,來得到改正。還能夠明白自己的優(yōu)勢所在,把握好自己的優(yōu)勢。
以上便是我做這次實(shí)驗(yàn)的心得體會(huì)。
因?yàn)闇?zhǔn)備參加全國大學(xué)生電子設(shè)計(jì)大賽,所以自學(xué)了一下51單片機(jī),把所有零零散散的時(shí)間加起來,學(xué)了有十天左右吧,此刻能夠解決一些問題了,學(xué)了這么一段時(shí)間,覺得單純的應(yīng)用51單片機(jī),還是很簡單的,但是這要建立在必須的c語言編程潛力的基礎(chǔ)之上的(我用的是c語言編程,不是匯編),最重要的是要先弄清楚單片機(jī)的中斷,定時(shí)器的原理以及一些常用的模塊,像4*4矩陣鍵盤,12864圖形液晶的顯示,ad/da等這些模塊的應(yīng)用,一般的問題是能夠解決的,還有一點(diǎn)就是要先能夠讀懂別人寫的程序,然后自己再去寫一些程序,自己動(dòng)手寫程序是很重要的,在寫的過程中你才能夠發(fā)現(xiàn)自己的問題,主要是細(xì)節(jié)的問題,比如說timer定時(shí)器的初始化過程,圖形液晶的忙檢測和初始化過程,這些都是很模塊化的過程。只有自己寫一下才會(huì)有一個(gè)深入的理解。
另外,在單片機(jī)的應(yīng)用中,必須要先弄清楚電路的原理,然后再此基礎(chǔ)上來設(shè)計(jì)程序,優(yōu)化程序,最終實(shí)現(xiàn)功能。
我學(xué)習(xí)單片機(jī)的思路是:
一、學(xué)好c語言。
三、看懂別人的程序。
四、自己動(dòng)手實(shí)踐,哪怕只是仿真。
時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目。其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢?,做起設(shè)計(jì)就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計(jì)算起來在實(shí)驗(yàn)室的時(shí)間只有三天,但是因?yàn)槲覀兌加凶约旱膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間必須不止三天。
硬件的設(shè)計(jì)跟焊接都要我們自己動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會(huì)就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對就應(yīng)是嚴(yán)謹(jǐn)。我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設(shè)計(jì)過程中我鍛煉了自己的思考潛力和動(dòng)手潛力。透過題目選取和設(shè)計(jì)電路的過程中,加強(qiáng)了我思考問題的完整性和實(shí)際生活聯(lián)系的可行性。在。
方案。
設(shè)計(jì)選取和芯片的選取上,培養(yǎng)了我們綜合應(yīng)用單片機(jī)的潛力,對單片機(jī)的各個(gè)管腳的功能也有了進(jìn)一步的認(rèn)識。還鍛煉我們個(gè)人的查閱技術(shù)資料的潛力,動(dòng)手潛力,發(fā)現(xiàn)問題,解決問題的潛力。并且我們熟練掌握了有關(guān)器件的性能及測試方法。
再次感謝老師的輔導(dǎo)以及同學(xué)的幫忙,是他們讓我有了一個(gè)更好的認(rèn)識,無論是學(xué)習(xí)還是生活,生活是實(shí)在的,要踏實(shí)走路。課程設(shè)計(jì)時(shí)間雖然很短,但我學(xué)習(xí)了很多的東西,使我眼界打開,感受頗深。
我來說說我學(xué)單片機(jī)的一些收獲吧,也給想學(xué)的人帶給點(diǎn)意見,我的入門課程是學(xué)習(xí)了郭天祥的視頻,《十天交你學(xué)會(huì)單片機(jī)》,的確還是不錯(cuò)的,大家能夠在電驢上下載,當(dāng)然十天的學(xué)習(xí)只是個(gè)入門,如果有開發(fā)板的話就跟著他的視頻學(xué)習(xí),沒有的話能夠用仿真實(shí)現(xiàn)一些功能,我用的是proteus。因?yàn)楫?dāng)時(shí)我的寢室中有已經(jīng)學(xué)了兩年的哥們,他給我講了一下開發(fā)板的原理圖,使我看那些連線不至于很亂,自己也就覺得清晰多了。還有一個(gè)學(xué)長,也是我的老鄉(xiāng),他給我后期的學(xué)習(xí)帶給了很大的幫忙,他當(dāng)時(shí)給我們上課,而我已經(jīng)有了必須的基礎(chǔ)了,所以就感覺個(gè)性順。之后他把我?guī)нM(jìn)了實(shí)驗(yàn)室,讓我有了一個(gè)很好的學(xué)習(xí)環(huán)境,所以很快就掌握了單片機(jī)的基礎(chǔ)知識。在那里我感謝他們給我的幫忙。
其實(shí)我覺得單片機(jī)入門是挺簡單的,有必須的數(shù)電和模電知識后,再借一本講單片機(jī)原理的書就很快上手了,在開始的時(shí)候,最好自己動(dòng)手編程序,或者看著別人的程序,看懂之后再寫一遍,尤其一些很簡單的,流水燈,數(shù)碼管,按鍵檢測,中斷應(yīng)用等,當(dāng)自己覺得這些都掌握的差不多時(shí),就主要看別人的程序,給大家推薦一本好書,單片機(jī)c語言程序設(shè)計(jì)100例,個(gè)人感覺不錯(cuò),里面有很多程序,程序能夠在網(wǎng)上搜到。
此刻就能夠做些東西了,開始學(xué)習(xí)能夠焊單片機(jī)最小系統(tǒng),在加上簡單的流水燈,數(shù)碼管,就是熟悉一下,之后就能夠?qū)W習(xí)一下autiumdisigner,自己設(shè)計(jì)東西,再做出來就ok了!
時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目。其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢?,做起設(shè)計(jì)就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計(jì)算起來在實(shí)驗(yàn)室的時(shí)間只有三天,但是因?yàn)槲覀兌加凶约旱膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間必須不止三天。
硬件的設(shè)計(jì)跟焊接都要我們自己動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會(huì)就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對就應(yīng)是嚴(yán)謹(jǐn)。我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設(shè)計(jì)過程中我鍛煉了自己的思考潛力和動(dòng)手潛力。透過題目選取和設(shè)計(jì)電路的過程中,加強(qiáng)了我思考問題的完整性和實(shí)際生活聯(lián)系的可行性。在。
方案。
設(shè)計(jì)選取和芯片的選取上,培養(yǎng)了我們綜合應(yīng)用單片機(jī)的潛力,對單片機(jī)的各個(gè)管腳的功能也有了進(jìn)一步的認(rèn)識。還鍛煉我們個(gè)人的查閱技術(shù)資料的潛力,動(dòng)手潛力,發(fā)現(xiàn)問題,解決問題的潛力。并且我們熟練掌握了有關(guān)器件的性能及測試方法。
再次感謝老師的輔導(dǎo)以及同學(xué)的幫忙,是他們讓我有了一個(gè)更好的認(rèn)識,無論是學(xué)習(xí)還是生活,生活是實(shí)在的,要踏實(shí)走路。課程設(shè)計(jì)時(shí)間雖然很短,但我學(xué)習(xí)了很多的東西,使我眼界打開,感受頗深。
最近自己對單片機(jī)個(gè)性的感興趣,因?yàn)榭吹剿芸刂齐姍C(jī)的轉(zhuǎn)動(dòng),自己覺得很神奇,
心得體會(huì)。
就想弄清楚它到底是怎樣做到的?
我看到書上講:單片機(jī)能夠用兩種語言編寫,一種是c語言,另外一種是匯編語言。匯編語言是一種機(jī)器語言,且代碼繁瑣,不易記憶。需要掌握單片機(jī)的內(nèi)部結(jié)構(gòu)和邏輯結(jié)構(gòu),透過看了幾本書讓我了解認(rèn)識到匯編確實(shí)太繁瑣,但是我學(xué)習(xí)過c語言,也參加了全國計(jì)算機(jī)二級考試,覺得自己在一方面具有優(yōu)勢,能很快學(xué)好它。
但是在學(xué)習(xí)中,我才發(fā)現(xiàn)學(xué)習(xí)單片機(jī)不僅僅僅需要軟件的知識,還需要硬件的知識。我買了一個(gè)單片機(jī)在實(shí)踐中就是一個(gè)活生生的例子,沒有相應(yīng)的硬件知識,我連單片機(jī)怎樣和電腦相連都不明白,我為我當(dāng)初的想法感到羞愧。單片機(jī)是一門很好的學(xué)問,需要我去鉆研它。
時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目,其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢?,做起設(shè)計(jì)就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計(jì)算起來在實(shí)驗(yàn)室的時(shí)間只有三天,但是因?yàn)槲覀兌加凶约旱膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間必須不止三天。
硬件的設(shè)計(jì)跟焊接都要我們自己動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大。
心得體會(huì)。
就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對就應(yīng)是嚴(yán)謹(jǐn)。我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
單片機(jī)心得篇十
通過為期一周的單片機(jī)實(shí)訓(xùn),是我們對這門課有了許多新的了解,彌補(bǔ)了在課堂上學(xué)習(xí)的不足。相信這對我們以后的學(xué)習(xí)和工作都會(huì)有很大的幫助。我們一定要在最短的時(shí)間里對這些不足加以改正!
首先,在這次試訓(xùn)中我被單片機(jī)強(qiáng)大的功能所震撼,以前在課堂上完全沒有能理解可編程單片機(jī)的優(yōu)越性。這次通過實(shí)體仿真軟件等輔助軟件的共同效果,是這次試訓(xùn)有了鮮明的活力。換是我們認(rèn)識到這次試訓(xùn)不僅僅是一個(gè)軟件的應(yīng)用,更多的是使我們認(rèn)識到學(xué)習(xí)到很多在課堂上無法得到的東西。特別是protues軟件的功能是我們了解了當(dāng)今開發(fā)系統(tǒng)的新方向,簡直太不可思議啦!
單片機(jī)作為一種最簡單的軟件,與我們的日常生活息息相關(guān),了解一些單片機(jī)程序的簡單錄入是費(fèi)城必要的。如:led顯示器、鍵盤和顯示器的應(yīng)用和原理。
在被刺實(shí)訓(xùn)中我們每個(gè)人通過一個(gè)八位流水燈的制作,使我們深深地體會(huì)到了單片機(jī)在現(xiàn)實(shí)生活中的小小應(yīng)用,既增強(qiáng)了我們的好奇心,又鞏固了我們的理論知識。更讓我們體會(huì)到了單片機(jī)手動(dòng)的開始平臺的完善與成熟。只要你有想法,單片機(jī)就有可能讓他成為現(xiàn)實(shí)。這里我學(xué)習(xí)完protues軟件后的第一感覺是,雖然這軟件工作不穩(wěn)定,但是會(huì)有相當(dāng)不錯(cuò)的效果出來。這對我以后的工作一定會(huì)有幫助的。在這次試訓(xùn)中不僅只對單片機(jī)編程有了新的認(rèn)識,還對整個(gè)單片機(jī)的開發(fā)平臺都有了一廳的了解,這是一筆不錯(cuò)的收獲。
通過這幾天的試訓(xùn),使我的感觸很深,真實(shí)“條條大路通羅馬”,要達(dá)到目的,不同的人就有不同的方法。只要你的方法不錯(cuò)!五花八門都可以,而且是各有特色。走出來的結(jié)果都有各自的獨(dú)到之處。在編程中“簡”字貫穿于整個(gè)程序設(shè)計(jì)中,越簡單越好,畢竟單片機(jī)留給用戶的資源是有限的,所以我們要充分利用這些資源,達(dá)到更好的效果,這些是我們在以后的學(xué)習(xí)生活中應(yīng)值得注意的地方。
在試訓(xùn)中有苦有甜,當(dāng)我們?yōu)橐粋€(gè)很難攻破的程序找出路時(shí),心情煩躁,感覺自己很不可理喻,當(dāng)程序一點(diǎn)一點(diǎn)編好后,自己從心底感覺到一點(diǎn)小小的安慰,看著自己的成果。感覺很欣慰,有一絲絲的甜意,幾天的實(shí)訓(xùn)使自己的思維邏輯也有了小小的進(jìn)步。
單片機(jī)心得篇十一
說這次實(shí)習(xí),我認(rèn)為最重要的就是做好程序調(diào)試,認(rèn)真的研究教師給的題目。其次,教師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)閮H有都明白了,做起產(chǎn)品就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去做,到頭來一點(diǎn)收獲也沒有。最終,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的實(shí)習(xí)算起來在實(shí)驗(yàn)室的時(shí)間僅有幾天,可是因?yàn)槲覀兌加凶晕业膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間必須不止三天。硬件的設(shè)計(jì)跟焊接都要我們自我動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會(huì)就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對應(yīng)當(dāng)是嚴(yán)謹(jǐn)。我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
經(jīng)過這次單片機(jī)實(shí)習(xí),我不僅僅加深了對單片機(jī)理論的理解,將理論很好地應(yīng)用到實(shí)際當(dāng)中去,并且我還學(xué)會(huì)了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自我,超越自我。創(chuàng)新能夠是在原有的基礎(chǔ)上進(jìn)行改善,使之功能不斷完善,成為真己的東西。
這個(gè)設(shè)計(jì)過程中,我們經(jīng)過在原有的計(jì)數(shù)器系統(tǒng)進(jìn)行了改善,使之增添了暫停、計(jì)數(shù)、清零等的三個(gè)控制功能,使之成為一個(gè)更加適用,功能更加完備的屬于自我的一個(gè)系統(tǒng)。設(shè)計(jì)結(jié)果能夠貼合題意,成功完成了此次實(shí)習(xí)要求,我們不只在乎這一結(jié)果,更加在乎的,是這個(gè)過程。這個(gè)過程中,我們花費(fèi)了很多的時(shí)間和精力,更重要的是,我們在學(xué)會(huì)創(chuàng)新的基礎(chǔ)上,同時(shí)還懂得合作精神的重要性,學(xué)會(huì)了與他人合作。作為一名自動(dòng)化專業(yè)的快大三學(xué)生,我覺得做單片機(jī)實(shí)習(xí)是十分必要的。在已度過的大學(xué)時(shí)間里,我們大多數(shù)接觸的是專業(yè)課。我們在課堂上掌握的僅僅是專業(yè)課的理論知識,如何去鍛煉我們的實(shí)踐本事?如何把我們所學(xué)的專業(yè)基礎(chǔ)課理論知識運(yùn)用到實(shí)踐中去呢?我想做類似實(shí)習(xí)就為我們供給了良好的實(shí)踐平臺。
首先在做本次實(shí)習(xí)的過程中,我感觸最深的當(dāng)屬查閱很多的設(shè)計(jì)資料了。為了讓自我的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的,同時(shí)也是必不可少的。我們是在做單片機(jī)實(shí)習(xí),但我們不是藝術(shù)家,他們能夠拋開實(shí)際盡情在幻想的世界里翱翔,而我們一切都要有據(jù)可依,有理可尋,不切實(shí)際的構(gòu)想永遠(yuǎn)只能是構(gòu)想,永遠(yuǎn)無法升級為設(shè)計(jì)。
其次,在這次課程設(shè)計(jì)中,我們運(yùn)用到了以前所學(xué)的專業(yè)課知識,如:c語言、模擬和數(shù)字電路知識等。雖然過去從未獨(dú)立應(yīng)用過它們,但在學(xué)習(xí)的過程中帶著問題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計(jì)的又一收獲。
最終,在實(shí)習(xí)之前,我們要對所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,明白該單片機(jī)內(nèi)有哪些資源;要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改善是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)當(dāng)讓人一看就能明白你的思路,這樣也為資料的保存和交流供給了方便;在實(shí)習(xí)過程中遇到問題是很正常的,但我們應(yīng)當(dāng)將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。
單片機(jī)心得篇十二
你知道什么是單片機(jī)嗎?如果不知道的話,不妨來看看以下這篇關(guān)于學(xué)習(xí)單片機(jī)的心得體會(huì)來學(xué)習(xí)一下吧。
時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。
說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目。
其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢?,做起設(shè)計(jì)就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。
最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計(jì)算起來在實(shí)驗(yàn)室的時(shí)間只有三天,不過因?yàn)槲覀兌加凶约旱膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間一定不止三天。
硬件的設(shè)計(jì)跟焊接都要我們自己動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。
第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。
對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會(huì)就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對應(yīng)該是嚴(yán)謹(jǐn)。
我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。
第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設(shè)計(jì)過程中我鍛煉了自己的思考能力和動(dòng)手能力。
通過題目選擇和設(shè)計(jì)電路的過程中,加強(qiáng)了我思考問題的完整性和實(shí)際生活聯(lián)系的可行性。
在方案設(shè)計(jì)選擇和芯片的選擇上,培養(yǎng)了我們綜合應(yīng)用單片機(jī)的能力,對單片機(jī)的`各個(gè)管腳的功能也有了進(jìn)一步的認(rèn)識。
還鍛煉我們個(gè)人的查閱技術(shù)資料的能力,動(dòng)手能力,發(fā)現(xiàn)問題,解決問題的能力。
并且我們熟練掌握了有關(guān)器件的性能及測試方法。
再次感謝老師的輔導(dǎo)以及同學(xué)的幫助,是他們讓我有了一個(gè)更好的認(rèn)識,無論是學(xué)習(xí)還是生活,生活是實(shí)在的,要踏實(shí)走路。
課程設(shè)計(jì)時(shí)間雖然很短,但我學(xué)習(xí)了很多的東西,使我眼界打開,感受頗深。
熟悉單片機(jī)的人都知道,要學(xué)好單片機(jī)可不是一件容易的事,倒不是因?yàn)閱纹瑱C(jī)很難學(xué),而是很難找到一本專為單片機(jī)入門者而編寫的教材。
翻一下身邊的單片機(jī)教材,都好像是為已經(jīng)懂單片機(jī)的人而寫的,一般先介紹單片機(jī)的硬件結(jié)構(gòu)和指令系統(tǒng),再是系統(tǒng)擴(kuò)展和外圍器件,順便講一些應(yīng)用設(shè)計(jì)(隨便說一下,很多書中的電路設(shè)計(jì)已經(jīng)過時(shí),并且有些程序還是錯(cuò)誤的)。
如果按照此種學(xué)習(xí)方法,想進(jìn)行產(chǎn)品開發(fā),就必須先把所有的知識全部掌握了才可以進(jìn)行實(shí)際應(yīng)用。
學(xué)習(xí)使用單片機(jī)只能靠循序漸進(jìn)的積累,下面就本人學(xué)習(xí)單片機(jī)的過程和經(jīng)驗(yàn)做簡要介紹。
首先,學(xué)習(xí)單片機(jī)要有一定的基礎(chǔ):電子技術(shù)方面要有數(shù)字電路和模擬電路等方面的理論基礎(chǔ),特別是數(shù)字電路;編程語言要求匯編語言或c語言。
要想成為單片機(jī)高手,建議初學(xué)者首先學(xué)習(xí)匯編語言,學(xué)的差不多的時(shí)候,轉(zhuǎn)入c語言學(xué)習(xí)。
盡管匯編語言屬于低級語言,編程效率低,但是較c語言具有目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快等優(yōu)點(diǎn),更重要的是能使初學(xué)者盡快熟悉單片機(jī)的內(nèi)部結(jié)構(gòu),并能對其進(jìn)行精確的控制。
匯編語言在單片機(jī)教材里面都會(huì)涉及,不需要單獨(dú)購買教材和學(xué)習(xí)。
c語言是一門學(xué)問,有很多專業(yè)書籍來講解,并且對我們今后的編程生涯有絕對的好處,因此要深入學(xué)習(xí),千萬不要自以為看了某某的視頻教程就以為掌握了c語言,那只是c語言的一部分。
在這里給大家推薦一本單片機(jī)c語言程序設(shè)計(jì)參考書,馬忠梅等著,北京航空航天大學(xué)出版社出版的《單片機(jī)的c語言應(yīng)用程序設(shè)計(jì)》,要求c語言基礎(chǔ)。
如果沒學(xué)過c語言,建議學(xué)習(xí)清華大學(xué)譚浩強(qiáng)編寫的c語言程序設(shè)計(jì),這本書寫的不錯(cuò),通俗易懂。
其次,是單片機(jī)教材選擇。
單片機(jī)是一門非常重視實(shí)踐的技術(shù),不能總是看書,但要學(xué)習(xí)它首先應(yīng)看書,對單片機(jī)引腳、內(nèi)部結(jié)構(gòu)、寄存器和原理有一定地了解和感官認(rèn)識,它的是怎樣工作的,能干些什么?剛開始時(shí),也許你看不明白,但這并不要緊,因?yàn)槟氵€缺乏實(shí)踐經(jīng)驗(yàn)。
現(xiàn)在單片機(jī)應(yīng)用廣泛,因此各個(gè)廠家分別推出了自己的單片機(jī),按內(nèi)部結(jié)構(gòu)體系派系分:51系列、pic系列、avr系列、摩托羅拉等等……我們沒必要每樣都學(xué)!因?yàn)樗麄兊木幊谭椒ê驼{(diào)試過程以及內(nèi)部指令結(jié)構(gòu)有一定的相似,只要學(xué)精通一款就ok了!尤其是用c語言編程,就幾乎不用分什么派系,但是我們要選擇一款有代表性的知識范圍廣,并且入門容易,書籍多。
一般來說,mcs-51系列單片機(jī)已經(jīng)得到廣泛的普及和應(yīng)用,市場上它的資料也比較多,用的人也很多。
給大家推薦一些參考書,學(xué)習(xí)時(shí)只需要一本就足夠拉。
書名:《新編mcs-51單片機(jī)應(yīng)用設(shè)計(jì)》,哈爾濱工業(yè)大學(xué)出版,作者:張毅剛;書名:《單片機(jī)原理及應(yīng)用》,高等教育出版社,作者:張毅剛等;書名:《單片機(jī)高級教程:應(yīng)用與設(shè)計(jì)》,北京航空航天大學(xué)出版社,作者:何立民。
相關(guān)教材還有很多,在這不一一列舉。
然后,是開發(fā)工具和開發(fā)環(huán)境的選擇。
選擇一塊合適的學(xué)習(xí)板,對于初學(xué)者來說一般無力接受,如果經(jīng)濟(jì)條件允許、本人又對單片機(jī)很感興趣、有從事相關(guān)工作意向的話,鼓勵(lì)大家購買。
隨便說一句,學(xué)習(xí)板功能要求太全,具有流水燈、數(shù)碼管、獨(dú)立鍵盤、矩陣鍵盤、ad或da、液晶、蜂鳴器等就差不多啦,畢竟,功能齊全的價(jià)格比較高。
仿真器對單片機(jī)初學(xué)者來說既是那么耳熟,同時(shí)又有些陌生,這主要是因?yàn)槭袌錾蟼鹘y(tǒng)的仿真器價(jià)格都在千元以上,對經(jīng)濟(jì)不是非常寬裕的人來說是不小的開支。
同時(shí)仿真器是用來提高調(diào)試程序效率的,也不是非需不可的,如果你沒有仿真器,遇到程序出錯(cuò)的時(shí)候,只好苦思冥想,反復(fù)燒寫調(diào)試。
隨便推薦一下,學(xué)林電子的51tracer仿真器,有興趣的朋友可關(guān)注一下。
有了單片機(jī)教程板以后,先看下指導(dǎo)說明書,熟悉一下學(xué)習(xí)板,開卷有益。
以后就得靠自己多練習(xí)了,將學(xué)習(xí)板與電腦連接好,先學(xué)會(huì)開發(fā)軟件的使用,然后從最簡單的流水燈實(shí)驗(yàn)做起,按照你自己的意愿控制流水燈,當(dāng)你完成時(shí),你會(huì)發(fā)現(xiàn)這是多么愜意的事情。
太好玩了,你會(huì)覺得這不是在學(xué)習(xí),而是在玩,當(dāng)你發(fā)現(xiàn),單片機(jī)能夠按照你編寫的程序工作時(shí),你會(huì)覺得非常興奮,比做什么事情都開心,這樣你會(huì)慢慢迷上單片機(jī),真的。
不少網(wǎng)站上說搞定某個(gè)實(shí)驗(yàn),就恭維的告訴你一聲”恭喜你,學(xué)會(huì)了”自己學(xué)會(huì)了單片機(jī),這有點(diǎn)可笑,這只能說明你算過關(guān)了,對單片機(jī)有了一定了解和會(huì)使用它了。
但是單片機(jī)能完成的功能太多了,尤其是對外圍器件的控制,綜合起來能設(shè)計(jì)出許多意想不到的產(chǎn)品.因此除了入門外,精通可千萬別輕易說出口。
最后,在熟練掌握和應(yīng)用后,那可以說對于單片機(jī)方面的硬件你已經(jīng)入門了,剩下的就是自己練習(xí)設(shè)計(jì)電路,不斷的積累經(jīng)驗(yàn)。
最終,自己完全設(shè)計(jì)具有個(gè)人風(fēng)格的電路,產(chǎn)品,這樣你就是單片機(jī)高手拉。
只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。
時(shí)下多家電子類的報(bào)刊雜志如:《電子制作》《無線電》《電子報(bào)》《電子世界》都開設(shè)了詳細(xì)的單片機(jī)教程專欄,對于想學(xué)習(xí)單片機(jī)的朋友來說幫助很大,可以說現(xiàn)在的單片機(jī)教程環(huán)境是最好的,有網(wǎng)絡(luò),有書籍,有報(bào)刊雜志,還有視頻教程,元件的采購方面也非常充足,相關(guān)的器材又多有便宜。
如果每天能抽出兩小時(shí)的時(shí)間去學(xué)習(xí),快的一個(gè)月,慢的三個(gè)月就入門拉。
以下是一些經(jīng)驗(yàn):
(1)學(xué)習(xí)單片機(jī)沒有捷徑,別指望兩三天就學(xué)會(huì),要堅(jiān)持不懈,重在積累。
(2)別崇拜高手,別相信天才,大部分人都不是天才(相信你也不是)!
(3)單片機(jī)是一門應(yīng)用性和實(shí)踐性很強(qiáng)的學(xué)科,要多動(dòng)手,多做實(shí)驗(yàn)。
(4)要學(xué)會(huì)參考別人的程序,減少自己琢磨的時(shí)間,迅速提高自己的編程能力。
(5)碰到問題可以借助網(wǎng)絡(luò)來搜尋答案和對自己有幫助的問題,可以大大減少你的開發(fā)時(shí)間。
(6)要多交一些朋友,多交流。
技術(shù)是靠不斷的積累和交流才會(huì)進(jìn)步的,封閉自守只會(huì)更加落后。
希望大家多上網(wǎng)看看前輩的經(jīng)驗(yàn),可以少走很多彎路。
最后,祝愿大家早日成為單片機(jī)高手。
單片機(jī)心得篇十三
做了兩周的單片機(jī)課程設(shè)計(jì),我有了很多的體會(huì)和感想。
我們的課程設(shè)計(jì)有兩個(gè)主要內(nèi)容:一個(gè)是出租車計(jì)費(fèi)器系統(tǒng)(還包括255計(jì)數(shù)和50000計(jì)數(shù));另一個(gè)就是溫度報(bào)警系統(tǒng)。實(shí)習(xí)可以在實(shí)驗(yàn)室里做,也可以在寢室里自己做,我大部分時(shí)間還是在寢室里做的。
出租車計(jì)費(fèi)器的設(shè)計(jì)是第一周的內(nèi)容,由于有了老師的設(shè)計(jì)圖和程序,只需要改一下自己所要求的變量就好。單片機(jī)的編程用的主要是匯編語言,說實(shí)話,我對匯編語言談不上掌握,充其量只是了解。學(xué)校安排的課程真的太少了,關(guān)于語言部分的學(xué)習(xí)只學(xué)了幾節(jié)課的內(nèi)容,整本單片機(jī)書的內(nèi)容也是學(xué)了三分之一多一點(diǎn)。
第二周的內(nèi)容就是溫度報(bào)警系統(tǒng)的設(shè)計(jì)。這個(gè)內(nèi)容沒有現(xiàn)成的程序和設(shè)計(jì)圖,需要我們真正親手去編,最郁悶的莫過于畫設(shè)計(jì)圖。按照實(shí)驗(yàn)要求上的圖畫了出來,加載程序以后卻不能正常運(yùn)行,改了好多次都沒有成功。同學(xué)們電腦上軟件的版本差異也影響了交流。有些元件的型號不同,但在選用時(shí)圖形確很相似,致使選錯(cuò)了元件,影響了結(jié)果。
這兩周的實(shí)習(xí)真的有點(diǎn)郁悶,程序里面的好多內(nèi)容不懂,自我感覺是單片機(jī)我們所學(xué)的內(nèi)容還不足以編出這兩個(gè)程序,但是只好硬著頭皮去看去理解。但在學(xué)習(xí)過程中也充滿了樂趣,當(dāng)看懂了程序的一些語句,畫出了要求的設(shè)計(jì)圖,那我喜悅那種成就感油然而生。
這次實(shí)習(xí)讓我受益匪淺,無論從知識上還是其他的各個(gè)方面。上課的時(shí)候的學(xué)習(xí)從來沒有見過真正的單片機(jī),只是從理論的角度去理解枯燥乏味。但在實(shí)習(xí)中見過甚至使用了單片機(jī)及其系統(tǒng),能夠理論聯(lián)系實(shí)際的學(xué)習(xí),開闊了眼界,提高了單片機(jī)知識的理解和水平。在這次課程設(shè)計(jì)中又讓我體會(huì)到了合作與團(tuán)結(jié)的力量,當(dāng)遇到不會(huì)或是設(shè)計(jì)不出來的地方,我們就會(huì)在qq群里討論或者是同學(xué)之間相互幫助。團(tuán)結(jié)就是力量,無論在現(xiàn)在的學(xué)習(xí)中還是在以后的工作中,團(tuán)結(jié)都是至關(guān)重要的,有了團(tuán)結(jié)會(huì)有更多的理念、更多的思維、更多的情感。
單片機(jī)是很重要的一門課程,老師和一些工作的朋友都曾說過,如果學(xué)好一門單片機(jī),就憑這個(gè)技術(shù)這門手藝找一個(gè)好工作也不成問題。盡管我們在課堂學(xué)到的內(nèi)容很有限,但在以后的學(xué)習(xí)中單片機(jī)還需要好好的深入研究和學(xué)習(xí),學(xué)好了單片機(jī)也就多了一項(xiàng)生存的本錢。最后感謝老師對我們的精心指導(dǎo)和幫助,感謝同學(xué)們對我的幫助。
單片機(jī)心得篇十四
經(jīng)常在群、論壇里看到有人問:怎么學(xué)單片機(jī)?也??吹接腥苏f學(xué)了好幾個(gè)月可就是沒有什么進(jìn)展。當(dāng)然,受限于每個(gè)人受到的教育水平不同和個(gè)人理解能力的差異,學(xué)習(xí)起來會(huì)有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。一個(gè)好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機(jī)的經(jīng)歷和方法。
05年的時(shí)候,因?yàn)橹谱鱢m發(fā)射電路采用了bh1415的芯片,需要用到單片機(jī)控制,所以開始接觸使用單片機(jī),雖然以前讀書時(shí)作為一門功課學(xué)過,不過也快丟荒了10年了,基本上都忘光了,也算是從頭學(xué)起了吧。我當(dāng)時(shí)是買了一塊實(shí)驗(yàn)板,很簡單的功能,比論壇實(shí)驗(yàn)板還要少功能,還有一個(gè)仿真器,也是比較簡單的,sst芯片的。然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個(gè)程序基本上就抄人家的,翻查了一份快速入門的學(xué)習(xí)資料,寫下第一個(gè)程序。然后,在仿真機(jī)是單步的看運(yùn)行結(jié)果,從每一步執(zhí)行,都硬件上反應(yīng)出來的效果,很快,對單片機(jī)的運(yùn)作有了一個(gè)非常感性的認(rèn)識,這跟只看書然后自己想象運(yùn)行是完全兩碼事。然后,是進(jìn)一步的其它程序?qū)W習(xí),一個(gè)月時(shí)間,基本上已經(jīng)熟悉了51的各種硬件資源。把流水燈,數(shù)碼管動(dòng)態(tài)掃描,中斷等等的學(xué)習(xí)了,然后就是寫綜合性的程序,也就是我發(fā)在論壇里的時(shí)鐘。通過這個(gè)程序的編寫,使自己的編程水平有了很大的飛躍。之后,就是逐步學(xué)習(xí)編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。在學(xué)過匯編之后,我又轉(zhuǎn)到了c語言學(xué)習(xí),因?yàn)橐郧皼]有學(xué)習(xí)過c語言,一切都很陌生,所以自己沿用了學(xué)習(xí)匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時(shí)鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實(shí)現(xiàn)了從匯編編程為主到c編程為主的轉(zhuǎn)變。然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風(fēng)格,一直到現(xiàn)在,基本上就是c語言編程,匯編已經(jīng)是作為調(diào)試程序的'輔助。
下面我概括了幾點(diǎn)我的學(xué)習(xí)經(jīng)驗(yàn)和心得體會(huì):
1、萬事開頭難、要勇敢邁出第一步。開始的時(shí)候,不要老是給自己找借口,說keil不會(huì)建項(xiàng)目啦、沒有實(shí)驗(yàn)板啦之類的。遇到困難要一件件攻克,不會(huì)建項(xiàng)目,就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個(gè)最簡單的,讓它運(yùn)行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會(huì)差多少,總得建個(gè)項(xiàng)目,再配置一下項(xiàng)目,然后建個(gè)程序,加入項(xiàng)目中,再寫代碼、編譯、生成hex,刷進(jìn)單片機(jī)中、運(yùn)行。必須熟悉這一套工序。個(gè)人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運(yùn)行一下看結(jié)果,學(xué)習(xí)效果會(huì)好很多,仿真器就看個(gè)人需要了。單片機(jī)是注重理論和實(shí)踐的,光看書不動(dòng)手,是學(xué)不會(huì)的。
2、知識點(diǎn)用到才學(xué),不用的暫時(shí)丟一邊。厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計(jì)也快忘光了,所以,最好結(jié)合實(shí)際程序,用到的時(shí)候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點(diǎn)一小點(diǎn)的啃。
3、程序不要光看不寫,一定要自己寫一次。最開始的時(shí)候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達(dá)到什么目的,運(yùn)行后有什么后果,看明白了之后,就要自己寫一次,你會(huì)發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時(shí)候卻一句也寫不出來,這就是差距……當(dāng)你自己能寫出來的時(shí)候,說明你就真的懂了。
4、必須學(xué)會(huì)掌握調(diào)試程序的方法。不少人寫程序,把代碼寫好了,然后一運(yùn)行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個(gè)帖子,把程序一貼,問:為什么我的程序不能正常運(yùn)行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會(huì)發(fā)現(xiàn)問題和學(xué)會(huì)如何解決問題。這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點(diǎn)啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運(yùn)行結(jié)果和你想象中不一樣的時(shí)候,你可以單步,也可以下斷點(diǎn),然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運(yùn)行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個(gè)過程非常重要,通過程序的排錯(cuò),你可以學(xué)到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。我們用單片機(jī)來控制周邊器件,達(dá)到我們想到的目的,這是一個(gè)題目,而如何寫出一個(gè)程序,來控制器件按你想要的結(jié)果去運(yùn)作,這個(gè)就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會(huì)找出這個(gè)解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時(shí)候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人,所以現(xiàn)在我也明白了,以前讀書時(shí)說的程序流程圖很重要,現(xiàn)在算是知道了。當(dāng)你知道一個(gè)問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。舉個(gè)例子:數(shù)碼管動(dòng)態(tài)掃描,沒寫過的初學(xué)者可能搞不清是怎么回事,其實(shí),就是分時(shí)讓每一時(shí)間段時(shí)只控制一只數(shù)碼管顯示數(shù)字,幾只數(shù)碼管輪流顯示,由于速度很快,人眼的看起來是全部數(shù)碼管都亮的。明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數(shù)碼管輪流顯示出相應(yīng)的數(shù)值。顯示數(shù)字,然后延時(shí)一下,再下一只顯示數(shù)字,延時(shí),知道是這樣,我們實(shí)際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時(shí)一下,再關(guān)閉位選,再送出段碼,再打開另一只位選僅此而已。有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動(dòng)態(tài)掃描的原理都沒懂,不知道如何做,那么這個(gè)程序是怎么也寫不出來的。
6、開動(dòng)腦筋,運(yùn)用多種方法,不斷優(yōu)化自己的程序。想想用各種不同方法來實(shí)現(xiàn)同一功能。這是一個(gè)練習(xí)和提高的過程,一個(gè)問題,你解決了,那么你再想想,能不能換種寫法,也可以實(shí)現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點(diǎn),讓程序執(zhí)行效率更高,這個(gè)過程,就是一個(gè)進(jìn)步的過程。很多知識和經(jīng)驗(yàn)的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實(shí)踐,開動(dòng)腦筋,經(jīng)驗(yàn)才能得到積累,編程水平才能有所提高。
7、看別人的代碼,學(xué)習(xí)人家的思路。這個(gè)在學(xué)習(xí)初期是很有用,通過看別人的代碼,特別是有多年編程經(jīng)驗(yàn)的人寫出的具有一定水平的代碼,可以使自己編程水平得到迅速的提高,同時(shí),也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的代碼,從中得到進(jìn)步。但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會(huì)了,這樣做只會(huì)使你退步。
8、嘗試編寫一下綜合應(yīng)用的程序。從流水燈學(xué)起,到動(dòng)態(tài)掃描,再到中斷,那么,你可以試試寫一下時(shí)鐘這種綜合性應(yīng)用的程序,不要小看時(shí)鐘,要寫好它不是一件容易的事情,它包括了單片機(jī)大部分的知識,比如有按鍵(io讀取)、動(dòng)態(tài)掃描(io輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨(dú)寫一個(gè)功能的時(shí)候,比如按鍵讀取,你可能感覺很容易,因?yàn)槟愕某绦蛏兑膊蛔?,只是讀按鍵。但把它和其它功能混合在一起,如何在整個(gè)程序運(yùn)行中使每一部分都正常工作,這就不是寫一個(gè)按鍵讀取這么容易的事情,功能模塊之間有可能會(huì)互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個(gè)協(xié)調(diào)過程。當(dāng)你有了這個(gè)處理協(xié)調(diào)能力,你就算是入門了。
9、著重于培養(yǎng)解決問題的能力,而不是具體看自己編寫了多少代碼或者做過什么?!皩W(xué)單片機(jī)重點(diǎn)在于學(xué)習(xí)解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學(xué)單片機(jī)多年來感悟出來的。經(jīng)??吹接腥苏f“你會(huì)驅(qū)動(dòng)xx芯片,真牛啊”“你搞過xx項(xiàng)目,真厲害”之類的話,其實(shí)這是非常片面的,搞過xx芯片,搞過xx項(xiàng)目,只能說明你做過這一項(xiàng)目,它只是你的業(yè)績,并不是代表能力就一定高。真正的能力應(yīng)該是:“遇到?jīng)]有解決過的問題或器件,能利用自己已學(xué)的知識,迅速找到解決問題的方法?!边@個(gè)才是能力。寫程序的過程就是一個(gè)創(chuàng)造的過程,幾乎沒有完全一樣的項(xiàng)目,每次你遇上的幾乎都不相同,所以你擁有的必須是你面對新項(xiàng)目時(shí)的創(chuàng)造能力,而不是標(biāo)榜著你以往做過多少項(xiàng)目。當(dāng)然,業(yè)績也能從另一側(cè)面反映你的經(jīng)驗(yàn)和水平。
10、如果有可能,多學(xué)習(xí)計(jì)算機(jī)專業(yè)的知識,比如數(shù)據(jù)結(jié)構(gòu)等。這些是你解決問題的基礎(chǔ)知識,你把這些知識應(yīng)用得越好,就會(huì)發(fā)現(xiàn)越容易找到解決問題的方法,這就是為什么一個(gè)學(xué)計(jì)算機(jī)專業(yè)的人編的程序和一個(gè)非計(jì)算機(jī)專業(yè)的人編的程序有差異的原因。也是一個(gè)菜鳥進(jìn)軍到高手所要配備的知識。如果我們把編程分為宏觀編程和微觀編程,那么微觀編程就是寫具體的代碼,比如控制某某器件的語句;而宏觀編程就是如何對整個(gè)程序進(jìn)行布局、安排,使功能模塊以你想要的方式去運(yùn)行,得出你想要的結(jié)果。如前所說“會(huì)控制xx器件”這些只能算是微觀編程,能做到這一步還只能算是菜鳥級別,如果面對一個(gè)新的器件,你心里沒底,沒把握去寫這個(gè)控制程序,那說明你還是一個(gè)初級的菜鳥。當(dāng)你有了一定的編程經(jīng)驗(yàn),控制過相當(dāng)數(shù)量的器件之后,你就會(huì)發(fā)現(xiàn),控制器件這些工作都是相似的、重復(fù)的工作,體現(xiàn)不出編程的水平,最多也是寫得好與不好的差別,只能算是一些小技巧的應(yīng)用。而對整個(gè)程序進(jìn)行布局、安排這些才是最頭痛的事情,能達(dá)到宏觀編程和微觀編程都做好才是真正的高手。對于規(guī)模越大的程序,越能體現(xiàn)出這一點(diǎn)。
11、面對一個(gè)新項(xiàng)目時(shí),多自己開動(dòng)腦筋,不要急于找別人的程序。有不少人面對一個(gè)新項(xiàng)目時(shí),第一步想到的就是網(wǎng)上找別人寫過的代碼,然后抄一段,自己再寫幾句,湊在一起就完成任務(wù),這雖然可能是省時(shí)間,但絕對不利你的學(xué)習(xí)。當(dāng)你接到一個(gè)新項(xiàng)目時(shí),應(yīng)該先自己構(gòu)思一下整個(gè)程序的架構(gòu),想想如何來完成,有可能的話,畫一個(gè)流程圖,簡單的可以畫在腦子里,對程序中用到的數(shù)據(jù)、變量有一個(gè)初步的安排,然后自己動(dòng)手去寫,遇到實(shí)在沒辦法解決的地方,再去請教別人,或看別人是怎么處理的,這樣首先起碼你自己動(dòng)過腦想過,自己有自己的思路,如果你一開始就看別人的程序,你的思維就會(huì)受限在別人的思維里,自己想再創(chuàng)新就更難了,這樣你自己永遠(yuǎn)也沒辦法提高,因?yàn)槟闶亲咴趧e人的影子里。
12、多利用網(wǎng)絡(luò)的搜索,學(xué)會(huì)提問題。一般來說,學(xué)習(xí)過程中,你遇上的問題,前人們多數(shù)也有遇上的,所以如果有什么不懂,在自己解決不了的時(shí)候,最好先到網(wǎng)上搜索一下,看能不能找到答案,找不到再到論壇里發(fā)問,發(fā)問也要有目的性,盡量簡單明了的描述問題,讓幫助你的人可以用最少的時(shí)間就看懂你說什么,畢竟人家?guī)椭闶敲赓M(fèi)的,時(shí)間也是有限的。
單片機(jī)心得篇十五
兩周的單片機(jī)課程設(shè)計(jì)終于順利完成了,其中包含著快樂,也有辛酸。我們選的設(shè)計(jì)題目是“數(shù)字溫度計(jì)”,大家都覺得這個(gè)題目是比較簡單的。其實(shí)不然,做了之后,發(fā)現(xiàn)設(shè)計(jì)電路雖然簡單,但我們認(rèn)為它真正困難的地方是程序設(shè)計(jì),不過在我們同心努力下最終完成了。
我們剛選該題目時(shí),真的是一頭霧水,硬件電路不知如何下手,更何談解決程序那塊,因?yàn)槲覀兯鶎W(xué)的都是單片機(jī)方面的理論知識,應(yīng)用到實(shí)踐中去還比較少。不過,我們?nèi)艘矝]偷下懶,迅速分工去查閱和收集資料。我們?nèi)チ藞D書館借一些參考書,上網(wǎng)找一些相關(guān)資料,并且請教指導(dǎo)老師。通過不斷努力,終于把數(shù)字溫度計(jì)的思路和模型定了下來并開始分一個(gè)人去焊接硬件電路,剩下的去整理和修改程序。
通過一番整理和修改后,在電腦上進(jìn)行仿真,仿真成功后準(zhǔn)備焊接電路板。在焊接電路板中,我們首先對硬件電路進(jìn)行布局,然后確認(rèn)無誤后,在電路板上進(jìn)行焊接,這個(gè)過程我們覺得是做得比較快的,以至于后面出現(xiàn)了虛焊的錯(cuò)誤。
焊接電路板完工,細(xì)心檢查后,進(jìn)行通電測試。結(jié)果液晶lcd沒有顯示,通過檢查,原來是lcd壞了,在換了塊新的后,能顯示顯示值。但還有個(gè)問題是,當(dāng)報(bào)警電路不會(huì)報(bào)警,在請教老師后,發(fā)現(xiàn)走動(dòng)蜂鳴器的電壓太低了,是因?yàn)榇恿艘粋€(gè)太大的電阻。然后,我們換了一個(gè)小電阻,但這時(shí)蜂鳴器卻一直在叫,停不下來,不過,在我們?nèi)说牡募?xì)心檢查下,原來是在放大電路的一端虛焊了,這說明我們焊接電路的技術(shù)還不夠好。在重新焊接那端后,數(shù)字溫度電路終于成功實(shí)現(xiàn)功能,當(dāng)時(shí)我們的心情都是無比興奮和快樂的,因?yàn)槲覀儍芍艿男量鄾]有白費(fèi)。
在完成單片機(jī)課程設(shè)計(jì)后,我們發(fā)現(xiàn)我們還有許多不足,所學(xué)到的知識還遠(yuǎn)遠(yuǎn)不夠,以至于還有一些功能不能被動(dòng)完成。但通過學(xué)習(xí)這一次實(shí)踐,增強(qiáng)了我們的動(dòng)手能力,提高和鞏固了單片機(jī)方面的知識,特別是軟件方面。從中增強(qiáng)了我們的團(tuán)隊(duì)合作精神,并讓我們認(rèn)識到把理論應(yīng)用到實(shí)踐中去是多么重要。
單片機(jī)心得篇十六
本人還是學(xué)生,此刻大三,接觸單片機(jī)一年多以來,從最基礎(chǔ)的51開始,到更高級點(diǎn)的msp430,一向到此刻剛開始上手的stm32,編過的程序不算多,但加起來怎樣也有上百個(gè)了,做過的東西仔細(xì)數(shù)數(shù),能拿出手來算算的上是個(gè)樣的也不下十個(gè),算是小有所成吧。
但今日,我卻發(fā)現(xiàn),這一年我一向在走一條歪路。
先說一下情景吧,是這樣的,最近同學(xué)幾個(gè)合伙做個(gè)小項(xiàng)目,不算復(fù)雜,跟市面上的工程項(xiàng)目完全沒法比,用難再需要使用的一個(gè)芯片是教師給的,從沒用過,沒有歷程,至于一份電子版的數(shù)據(jù)手冊,一切的一切都只能是從頭開始,從底層開始,我們幾個(gè)斌開始從最底層的邏輯時(shí)序、寄存器操作開始,但經(jīng)過幾天的研究,確實(shí)毫無效果可言。
為此,我們幾個(gè)郁悶了好長時(shí)間,開始瘋狂的上網(wǎng)搜資料,拷代碼,卻終究是不得而返,還讓教師罵了一頓,因?yàn)檫@個(gè)項(xiàng)目是我們主動(dòng)要求教師放給我們的,結(jié)果卻耽誤了工期。
我次我們幾個(gè)人很受打擊,最終決定大家一齊靜下心來分析分析,到底我們敗在了什么地方。
最終總經(jīng)過兩天的思考、討論、總結(jié)、檢討···,我們發(fā)現(xiàn)了問題的所在,想來想去,這估計(jì)是很大一部分初學(xué)者正在面臨的一個(gè)“瓶頸問題”,所以,由我凈這個(gè)討論的結(jié)果發(fā)布出來,期望與更多的人交流、分享、提高、共勉。
下頭先總結(jié)一下我們失敗的幾點(diǎn)原因:
1、“都是開發(fā)板惹的禍”,能夠說從開始學(xué)習(xí)單片機(jī),哪怕是最基礎(chǔ)的51、以致之后的msp430、arm,我沒從未離開過開發(fā)板,并且這長達(dá)一年多的時(shí)間,養(yǎng)成了我們對開發(fā)板極大的依靠,盡管自我焊過51最小系統(tǒng)、繪制過430最小系統(tǒng)板,但都是參考的別人已有的電路圖,連最基本的電路基本都沒分析過,為什么要在這幾個(gè)電阻,該加個(gè)多大的,不加會(huì)怎樣樣,太大了太小了會(huì)有什么后果,等等此類問題,我們從未分析過,全是copy、copy、再copy,以致自我做過的東西不少,本事卻未曾提高。
2、“全是例程誤導(dǎo)我”,我們買來的開發(fā)板,往往都會(huì)帶有豐富的例程,通常這也是賣家吹噓、比拼的地方,但就是這些附帶的歷程,讓我們與底層的開發(fā)絕緣了,有了例程,我們不用再一個(gè)代碼一個(gè)代碼地敲鍵盤,不用再去研究那些器件的數(shù)據(jù)手冊、通信接口、寄存器、內(nèi)部原理、以及很多商家沒給我們加進(jìn)去的功能,哪怕是將這些程序改到別的地方,我們也可是是在宏定義里改兩個(gè)引腳配置而已,從未嘗試過從底層寫驅(qū)動(dòng)、敲代碼、寫函數(shù),從未嘗試過快平臺移植代碼,開發(fā)呢些沒用過的功能等等。
3、“現(xiàn)實(shí)環(huán)境太無奈”,這跟上頭兩個(gè)說的是不一樣的方面,我們都是大學(xué)生,大學(xué)里此刻吵得火熱的“大學(xué)生就業(yè)難”、“你是考研還是就業(yè)”、“你報(bào)xxx培訓(xùn)班了嗎”“你考四六級證了嗎”等等,好像上大學(xué)就是為了干這些,似乎沒有這些,你就會(huì)陷入“畢業(yè)即失業(yè)”的困境。應(yīng)對這些外來的干擾,越來越多的學(xué)生坐不住了,我們這些人也一樣,盡管一向在學(xué)習(xí)自我的愛好,但當(dāng)被人問得多了的時(shí)候,心里也難免會(huì)發(fā)毛、會(huì)害怕,從而導(dǎo)致一年來真正靜下心來學(xué)這些東西的時(shí)間越來越少。
大體也就總結(jié)怎樣多吧,經(jīng)過這次失敗,也算是教訓(xùn)深刻吧,此刻才大三,到大四畢業(yè),還有近兩年的時(shí)間,還不算太晚,再說將來的路還長,此刻發(fā)現(xiàn)這些,應(yīng)當(dāng)不算晚吧。
對我們來說,革命尚未成功,同志仍需努力啊!
開這貼,一為總結(jié)這次失敗、而為自我立志改變、三為警示之后的同學(xué)、四為大家齊言獻(xiàn)計(jì)。
大家有遇到同樣問題的、要類似迷茫的、要好的提議意見的,歡迎回帖交流,大家一齊共勉。
單片機(jī)心得篇十七
先說說單片機(jī),一般我們此刻用的比較多的的mcs—51的單片機(jī),它的資料比較多,用的人也很多,市場也很大。就我個(gè)人的體會(huì)怎樣樣才能更快的學(xué)會(huì)單片機(jī)這門課。單片機(jī)這門課是一項(xiàng)十分重視動(dòng)手實(shí)踐的科目,不能總是看書,可是學(xué)習(xí)它首先必須得看書,因?yàn)閺臅心阈枰蟾帕私庖幌?,單片機(jī)的各個(gè)功能寄存器,而說明白點(diǎn),我們使用單片機(jī)就是用軟件去控制單片機(jī)的各個(gè)功能寄存器,再說明白點(diǎn),就是控制單片機(jī)那些管腳的電平什么時(shí)候輸出高,什么時(shí)候輸出低。由這些高低電平的變化來控制你的系統(tǒng)板,實(shí)現(xiàn)我們需要的各個(gè)功能。至于看書,只需大概了解單片機(jī)各管腳都是干什么的能實(shí)現(xiàn)什么樣的功能第一次,第二次你可能看不明白,但這不要緊,因?yàn)檫€缺少實(shí)際的感觀認(rèn)識。所以我總是說,學(xué)單片機(jī)看書看兩三天的就夠了,看小說你一天能看五六本,看單片機(jī)你兩三天看兩三遍就夠了,能夠不用仔細(xì)的看。
推薦一本書,就這一本就足夠,書名是《新編mcs—51單片機(jī)應(yīng)用設(shè)計(jì)》,是哈爾濱工業(yè)大學(xué)出版社出的的,作者是張毅剛。大概了解一下書上的資料,然后實(shí)踐,這是十分關(guān)鍵的,如果說學(xué)單片機(jī)你不實(shí)踐那是不可能學(xué)會(huì)的,關(guān)于實(shí)踐有兩種方法你能夠選擇,一種方法:你自我花錢買一塊單片機(jī)的學(xué)習(xí)板,不要求功能太全的,對于初學(xué)者來說你買功能十分多的那種板子,上頭有很多東西你這輩子都用不著,我提議有流水燈、數(shù)碼管、獨(dú)立鍵盤、矩陣鍵盤、ad或da(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上頭我提到的這些,你能熟練應(yīng)用,那能夠說對于單片機(jī)方面的硬件你已經(jīng)入門了,剩下的就是自我練習(xí)設(shè)計(jì)電路,不斷的積累經(jīng)驗(yàn)。只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。方法二:你身邊如果有單片機(jī)方面的高手,向他求助,讓他幫你搭個(gè)簡單的最小系統(tǒng)板。對于高手來說,做個(gè)單片機(jī)的最小系統(tǒng)板只需要一分鐘的時(shí)間,而對于初學(xué)者可就難多了,因?yàn)閮H有對硬件了解了,才能熟練運(yùn)用。而如果你身邊沒有這樣的高手,又找不到能夠幫忙你的人,那我勸你最好是自我買上一塊,畢竟自我有一塊要方便的多,以后做單片機(jī)類的小實(shí)驗(yàn)時(shí)都能用得上,還省事。
有了單片機(jī)學(xué)習(xí)板之后你就要多練習(xí),最好是自我有臺電腦,一天少看電影,少打游戲,把學(xué)習(xí)板和電腦連好,打開調(diào)試軟件坐在電腦前,先學(xué)會(huì)怎樣用調(diào)試軟件,然后從最簡單的流水燈實(shí)驗(yàn)做起,等你能讓那八個(gè)流水燈按照你的意愿隨意流動(dòng)時(shí)你已經(jīng)入門了,你會(huì)發(fā)現(xiàn)單片機(jī)是多么迷人的東西啊,太好玩了,這不是在學(xué)習(xí)知識,而是在玩,當(dāng)你編寫的程序按你的意愿實(shí)現(xiàn)時(shí)你比做什么事都開心,你會(huì)上癮的,真的。做電子類的人真的會(huì)上癮。然后讓數(shù)碼管亮起來,這兩項(xiàng)會(huì)了后,你已經(jīng)不能自拔了,你已經(jīng)開始研究你這輩子要走哪一行了。就是要這樣練習(xí),在寫程序的時(shí)候你肯定會(huì)遇到很多問題,而這時(shí)你再去翻書找,或是問別人,當(dāng)?shù)玫浇獯鸷竽銜?huì)記住一輩子的,知識必須用于現(xiàn)實(shí)生活中,解決實(shí)際問題,這樣才能發(fā)揮它的作用,你自我好好想想,上了這么多年大學(xué),天天上課,你在課堂上學(xué)到了什么是不是為了期末考試而忙碌呢考完得了90分,哈哈哈好高興啊,下學(xué)期開學(xué)回來忘的一干二凈,是不是你學(xué)到什么了可是我告訴你單片機(jī)一旦學(xué)會(huì),永遠(yuǎn)不會(huì)忘了。另外我再說說用匯編和c語言編程的問題。
很多同學(xué)大一二就開設(shè)了c語言的課,我也上過,我明白那時(shí)天天就是幾乘幾,幾加幾啊,求個(gè)階乘啊。學(xué)完了有什么用讓你用c語言編單片機(jī)的程序你是不是就傻了書上的東西我們必須要會(huì)運(yùn)用。單片機(jī)編程用c語言或匯編語言都能夠,可是我提議用c語言比較好,如果原先有c語言的基礎(chǔ)那學(xué)起來會(huì)更好,如果沒有,也能夠邊學(xué)單片機(jī)邊學(xué)c語言,c語言也挺簡單,只是一門工具而已,我勸你最好學(xué)會(huì),將來肯定用得著,要不你以后也得學(xué),你一點(diǎn)匯編都不會(huì)根本無所謂,但你一點(diǎn)c語言都不會(huì)那你將來會(huì)吃苦頭。匯編寫程序代碼效率高,但相對難度較大,并且很羅嗦,尤其是遇到算法方面的問題時(shí),根本是麻煩的不得了,此刻單片機(jī)的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因?yàn)橛懈哳l率的時(shí)鐘,單片機(jī)的rom也在不斷的提高,足夠裝得下你用c語言寫的任何代碼,c語言的資料又多又好找,將來可移植性十分好,只需要變一個(gè)io口寫個(gè)溫度傳感器的程序在哪里都能用,所以我勸大家用c語言。
總結(jié)上頭,只要你有信心,做事能堅(jiān)持到底,有不成功不放棄的強(qiáng)烈意志,那學(xué)個(gè)單片機(jī)來說就是件十分容易的事。
步驟:
1、找本書大概了解一下單片機(jī)結(jié)構(gòu),大概了解就行。不用都看懂,又不讓你出書的。(三天)。
2、找學(xué)習(xí)板練習(xí)編寫程序,學(xué)單片機(jī)就是練編程序,遇到不會(huì)的再問人或查書。(二十天)。
3、自我網(wǎng)上找些小電路類的資料練習(xí)設(shè)計(jì)外圍電路。焊好后自我調(diào)試,熟悉過程。(十天)。
4、自我完全設(shè)計(jì)具有個(gè)人風(fēng)格的電路,產(chǎn)品,你已經(jīng)是高手了......
看到了嗎下功夫一個(gè)多月你就能成為高手,我就講這么多了,學(xué)不學(xué)得會(huì),下不下得了功夫就看你的了。
單片機(jī)心得篇一
課設(shè)的選題,方案的設(shè)計(jì)與確定,元器件的選擇,硬件的焊接,這一系列的課設(shè)準(zhǔn)備工作早在課設(shè)開始之前,老師就向我們做了相關(guān)的介紹和明確的說明,同時(shí)非常友好的提示我們早點(diǎn)著手準(zhǔn)備自己的課設(shè)項(xiàng)目。但是如此語重心長的話語在當(dāng)時(shí)似乎沒有引起所有人的注意,只到有同學(xué)拿出已成型的作品時(shí),只到課程設(shè)計(jì)進(jìn)入第二周時(shí),只到看到有同學(xué)拿著作品去驗(yàn)收時(shí),只到發(fā)現(xiàn)自己在規(guī)定的時(shí)間里無法完成擴(kuò)展功能是,我們開始醒悟,開始想起老師之前的友情提示,開始意識到課設(shè)的準(zhǔn)備工作沒做好,開始產(chǎn)生恐懼。這樣的情形并不只是出現(xiàn)在的課程設(shè)計(jì)過程中,而是經(jīng)常出現(xiàn)在我們的生活中。整個(gè)課程設(shè)計(jì)的過程中都顯得有些盲目,有些匆忙。
像這樣的實(shí)訓(xùn)課程,對我們學(xué)習(xí)自動(dòng)化的學(xué)生來說意義非常重大,它不僅是對單片機(jī)這一門課程的理解與運(yùn)用,同時(shí)也涉及到數(shù)字電路和模擬電路的領(lǐng)域;這也是一次鍛煉我們動(dòng)手動(dòng)腦的絕佳機(jī)會(huì),能讓我們切實(shí)感受理論與實(shí)際相結(jié)合的過程。
設(shè)計(jì)的過程是枯燥的,程序的調(diào)試過程是讓人感到乏味的、無奈的、頭疼的,但是看到完工的作品卻是激動(dòng)高興的。對于硬件的焊接,這可能是很多同學(xué)都喜歡做的一個(gè)環(huán)節(jié)。但是這次的硬件焊接與上一次實(shí)訓(xùn)時(shí)的不一樣,這次你需要自己設(shè)計(jì)電路,自己學(xué)習(xí)理解某些芯片的引腳功能。芯片引腳的接線是我們?nèi)菀壮鲥e(cuò)的地方,如果接線圖或者焊接有問題,這將對對芯片有很大的危害。硬件完工后,是軟件的調(diào)試。我認(rèn)為程序的調(diào)試是課設(shè)全過程中最難得部分,原因是我這塊的功底非常薄弱。很坦誠的講,以自己現(xiàn)有的能力,沒法寫出設(shè)計(jì)中的程序,我和同學(xué)只能借鑒高手的程序,努力地去修改源程序,使其能夠?qū)崿F(xiàn)想要的功能。軟件的調(diào)試不像硬件焊接那么容易,調(diào)試過程中,我們必須考慮硬件與程序相匹配。在比如在這個(gè)環(huán)節(jié)中,很感謝我的同學(xué),因?yàn)樗軌蚍浅D托牡臑槲抑v解c語言中一些語句的用法和功能。
這次實(shí)訓(xùn)還有一重大收獲是學(xué)會(huì)寫一份正式的科技論文。報(bào)告的書寫與軟硬件同等重要,我們應(yīng)遵守論文的格式要求,這也是對思維嚴(yán)謹(jǐn)性的一種鍛煉。
完成一個(gè)出色的作品,單靠一個(gè)人的力量是不行的,小組成員之間必須相互配合,相互支持,相互團(tuán)結(jié),所以這也是一次鍛煉我們團(tuán)隊(duì)合作精神的機(jī)會(huì)。
雖然本次實(shí)訓(xùn)結(jié)束了,但是實(shí)訓(xùn)留給我們思考的地方還很多,需要我們學(xué)習(xí)的地方還很多。無論在現(xiàn)在的學(xué)習(xí)中還是在以后的工作中,我們都應(yīng)養(yǎng)成多學(xué)習(xí),理解、多思考、多合作,多實(shí)踐的好習(xí)慣,重視理論與實(shí)踐相結(jié)合。
單片機(jī)心得篇二
時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。
說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目。
其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢?,做起設(shè)計(jì)就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。
最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計(jì)算起來在實(shí)驗(yàn)室的時(shí)間只有三天,不過因?yàn)槲覀兌加凶约旱膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間一定不止三天。
硬件的設(shè)計(jì)跟焊接都要我們自己動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。
第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。
對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會(huì)就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對應(yīng)該是嚴(yán)謹(jǐn)。
我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。
第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設(shè)計(jì)過程中我鍛煉了自己的思考能力和動(dòng)手能力。
通過題目選擇和設(shè)計(jì)電路的過程中,加強(qiáng)了我思考問題的完整性和實(shí)際生活聯(lián)系的可行性。
在方案設(shè)計(jì)選擇和芯片的選擇上,培養(yǎng)了我們綜合應(yīng)用單片機(jī)的能力,對單片機(jī)的各個(gè)管腳的功能也有了進(jìn)一步的認(rèn)識。
還鍛煉我們個(gè)人的查閱技術(shù)資料的能力,動(dòng)手能力,發(fā)現(xiàn)問題,解決問題的能力。
并且我們熟練掌握了有關(guān)器件的性能及測試方法。
再次感謝老師的輔導(dǎo)以及同學(xué)的幫助,是他們讓我有了一個(gè)更好的認(rèn)識,無論是學(xué)習(xí)還是生活,生活是實(shí)在的,要踏實(shí)走路。
課程設(shè)計(jì)時(shí)間雖然很短,但我學(xué)習(xí)了很多的東西,使我眼界打開,感受頗深。
這學(xué)期開始接觸單片機(jī),老師就開始要求我們焊接單片機(jī)下載器,以此來提高我們對單片機(jī)的`理解與熟悉程度,這也能最大程度的提高我們隊(duì)單片機(jī)的興趣和最快讓我們?nèi)谌雴纹瑱C(jī)的海洋中。
單片機(jī)下載器是學(xué)習(xí)單片機(jī)的必要器件,其主要零件都由很小的貼片元件組成,配以幾個(gè)大的插件,因此通過焊接單片機(jī)下載器的學(xué)習(xí),我大致掌握了小的貼片電容、電阻和插件元件的焊接,但貼片芯片的焊接仍需多練習(xí)。
話說貼片真心小啊,我瞪大了眼睛才能看清,而且在焊的過程中,掉了好幾次原件,費(fèi)了好大的功夫找到。
這讓我深切體會(huì)到焊貼片真是一個(gè)細(xì)心活啊,特別是對于理工男,那真是鍛煉耐心和細(xì)心地大好機(jī)會(huì)啊。
對于芯片,真是暴走來了。
引腳那叫一個(gè)纖細(xì),密密麻麻,一上場亮瞎了我有木有啊。
對于視頻教程上的松香法,我只能說,這是一個(gè)傳說。
我怎么吸都吸不掉啊,坑爹啊。
我又買了一塊芯片,覺得還是老老實(shí)實(shí)一個(gè)一個(gè)點(diǎn)焊比較實(shí)際。
有了第一次的經(jīng)驗(yàn),加上我無比耐心,終于弄好了。
激動(dòng)啊,奔走相告啊,差點(diǎn)買煙花慶祝了。
這次焊接單片機(jī)下載器,真的是苦盡甘來啊,讓我對單片機(jī)產(chǎn)生了濃郁的興趣,我也深刻體會(huì)到,自己學(xué)的還不夠,一定要多買些電板來焊 一 焊 , 提 高 自 己 的 動(dòng) 手 能 力 。
在上個(gè)學(xué)期學(xué)校舉辦電子設(shè)計(jì)競賽,在比賽過程看過一些郭天祥的單片機(jī)教程,然后在這個(gè)學(xué)期真正的理論。
通過上課理論與實(shí)踐相互結(jié)合,使我對單片機(jī)的認(rèn)識有了更深刻的理解。
系統(tǒng)以51單片機(jī)為核心部件,利用匯編軟件編程,通過鍵盤控制和數(shù)碼管顯示實(shí)現(xiàn)了基本時(shí)鐘顯示功能、時(shí)間調(diào)節(jié)功能,能實(shí)現(xiàn)本設(shè)計(jì)題目的基本要求和發(fā)揮部分。
在平時(shí)上課中由于時(shí)間有限和本身知識水平的限制,有時(shí)做某些作業(yè)時(shí),花上很多時(shí)間才能完成!但是在完成后,成功的喜悅充斥著。
在課上,我認(rèn)識到計(jì)算機(jī)有運(yùn)算器,計(jì)算器,控制器,輸入輸出設(shè)備組成。
之前都是利用開發(fā)板,進(jìn)行程序的仿真。
現(xiàn)在不斷利用軟件仿真,但兩者的作用是一樣。
在仿真過程中,總是會(huì)碰到程序出錯(cuò)的時(shí)候,只好苦思冥想,反復(fù)比對程序,在不斷修改后,總會(huì)成功。
在第一次是點(diǎn)亮led燈來熟悉,keil軟件的使用和試驗(yàn)箱上器材。
第一次實(shí)驗(yàn)體現(xiàn)了一個(gè)人對新事物的接受能力和敏感度。
雖然之前做過許多種實(shí)驗(yàn)。
但依舊發(fā)現(xiàn)自己存在一個(gè)很大的問題,對已懂的東西沒耐心聽下去,容易開小差;在聽老師講解軟件使用時(shí),思路容易停滯,然后就跟不上老師的步驟了,結(jié)果需要?jiǎng)e人再次指導(dǎo);對軟件的功能沒有太大的熱情去研究探索,把一個(gè)個(gè)圖標(biāo)點(diǎn)開,進(jìn)去看看。
在做實(shí)驗(yàn)中,由于沒有課前準(zhǔn)備的意識,每每都是到了實(shí)驗(yàn)室才開始編程,完成作業(yè),導(dǎo)致每次時(shí)間都有些倉促。
在與同學(xué)討論,換種思路,換種方法,把問題給吃透。
發(fā)現(xiàn)、提出、分析、解決問題和實(shí)踐能力是作為我們這個(gè)專業(yè)的基本素質(zhì)。
依賴性很大,剛開始編程序時(shí)喜歡套用書上的語句,卻對語句的理解不夠。
于是當(dāng)程序出現(xiàn)問題時(shí),不知道如何修改,眼前的程序都是一塊一塊的被拼湊整合起來的,沒法知道哪里錯(cuò)了。
但是編程是一件很嚴(yán)肅的事情,容不得半點(diǎn)錯(cuò)誤。
在錯(cuò)誤中不斷摸索中前行。
單片機(jī)心得篇三
一直想寫一個(gè)帖子,將自己學(xué)習(xí)單片機(jī)的經(jīng)歷、經(jīng)驗(yàn)和方法總結(jié)一下,今天終于動(dòng)手寫了,呵呵,這是我學(xué)習(xí)單片機(jī)的經(jīng)驗(yàn)、心得、方法。希望對大家學(xué)習(xí)單片機(jī)有所幫助。
經(jīng)常在群、論壇里看到有人問:怎么學(xué)單片機(jī)?也??吹接腥苏f學(xué)了好幾個(gè)月可就是沒有什么進(jìn)展。當(dāng)然,受限于每個(gè)人受到的教育水平不同和個(gè)人理解能力的差異,學(xué)習(xí)起來會(huì)有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。一個(gè)好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機(jī)的經(jīng)歷和方法。
05年的時(shí)候,因?yàn)橹谱鱢m發(fā)射電路采用了bh1415的芯片,需要用到單片機(jī)控制,所以開始接觸使用單片機(jī),雖然以前讀書時(shí)作為一門功課學(xué)過,不過也快丟荒了10年了,基本上都忘光了,也算是從頭學(xué)起了吧。我當(dāng)時(shí)是買了一塊實(shí)驗(yàn)板,很簡單的功能,比論壇實(shí)驗(yàn)板還要少功能,還有一個(gè)仿真器,也是比較簡單的,sst芯片的。然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個(gè)程序基本上就抄人家的,翻查了一份快速入門的學(xué)習(xí)資料,寫下第一個(gè)程序。然后,在仿真機(jī)是單步的看運(yùn)行結(jié)果,從每一步執(zhí)行,都硬件上反應(yīng)出來的效果,很快,對單片機(jī)的運(yùn)作有了一個(gè)非常感性的認(rèn)識,這跟只看書然后自己想象運(yùn)行是完全兩碼事。然后,是進(jìn)一步的其它程序?qū)W習(xí),一個(gè)月時(shí)間,基本上已經(jīng)熟悉了51的各種硬件資源。把流水燈,數(shù)碼管動(dòng)態(tài)掃描,中斷等等的學(xué)習(xí)了,然后就是寫綜合性的程序,也就是我發(fā)在論壇里的時(shí)鐘。通過這個(gè)程序的編寫,使自己的編程水平有了很大的飛躍。之后,就是逐步學(xué)習(xí)編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。在學(xué)過匯編之后,我又轉(zhuǎn)到了c語言學(xué)習(xí),因?yàn)橐郧皼]有學(xué)習(xí)過c語言,一切都很陌生,所以自己沿用了學(xué)習(xí)匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時(shí)鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實(shí)現(xiàn)了從匯編編程為主到c編程為主的轉(zhuǎn)變。然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風(fēng)格,一直到現(xiàn)在,基本上就是c語言編程,匯編已經(jīng)是作為調(diào)試程序的輔助。
下面我概括了幾點(diǎn)我的學(xué)習(xí)經(jīng)驗(yàn)和心得體會(huì):
1、萬事開頭難、要勇敢邁出第一步。開始的時(shí)候,不要老是給自己找借口,說keil不會(huì)建項(xiàng)目啦、沒有實(shí)驗(yàn)板啦之類的。遇到困難要一件件攻克,不會(huì)建項(xiàng)目,就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個(gè)最簡單的,讓它運(yùn)行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會(huì)差多少,總得建個(gè)項(xiàng)目,再配置一下項(xiàng)目,然后建個(gè)程序,加入項(xiàng)目中,再寫代碼、編譯、生成hex,刷進(jìn)單片機(jī)中、運(yùn)行。必須熟悉這一套工序。個(gè)人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運(yùn)行一下看結(jié)果,學(xué)習(xí)效果會(huì)好很多,仿真器就看個(gè)人需要了。單片機(jī)是注重理論和實(shí)踐的,光看書不動(dòng)手,是學(xué)不會(huì)的。
2、知識點(diǎn)用到才學(xué),不用的暫時(shí)丟一邊。厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計(jì)也快忘光了,所以,最好結(jié)合實(shí)際程序,用到的時(shí)候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點(diǎn)一小點(diǎn)的啃。
3、程序不要光看不寫,一定要自己寫一次。最開始的時(shí)候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達(dá)到什么目的,運(yùn)行后有什么后果,看明白了之后,就要自己寫一次,你會(huì)發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時(shí)候卻一句也寫不出來,這就是差距……當(dāng)你自己能寫出來的時(shí)候,說明你就真的懂了。
4、必須學(xué)會(huì)掌握調(diào)試程序的方法。不少人寫程序,把代碼寫好了,然后一運(yùn)行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個(gè)帖子,把程序一貼,問:為什么我的程序不能正常運(yùn)行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會(huì)發(fā)現(xiàn)問題和學(xué)會(huì)如何解決問題。這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點(diǎn)啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運(yùn)行結(jié)果和你想象中不一樣的時(shí)候,你可以單步,也可以下斷點(diǎn),然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運(yùn)行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個(gè)過程非常重要,通過程序的排錯(cuò),你可以學(xué)到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。我們用單片機(jī)來控制周邊器件,達(dá)到我們想到的目的,這是一個(gè)題目,而如何寫出一個(gè)程序,來控制器件按你想要的結(jié)果去運(yùn)作,這個(gè)就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會(huì)找出這個(gè)解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時(shí)候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人,所以現(xiàn)在我也明白了,以前讀書時(shí)說的程序流程圖很重要,現(xiàn)在算是知道了。當(dāng)你知道一個(gè)問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。舉個(gè)例子:數(shù)碼管動(dòng)態(tài)掃描,沒寫過的初學(xué)者可能搞不清是怎么回事,其實(shí),就是分時(shí)讓每一時(shí)間段時(shí)只控制一只數(shù)碼管顯示數(shù)字,幾只數(shù)碼管輪流顯示,由于速度很快,人眼的看起來是全部數(shù)碼管都亮的。明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數(shù)碼管輪流顯示出相應(yīng)的數(shù)值。顯示數(shù)字,然后延時(shí)一下,再下一只顯示數(shù)字,延時(shí),知道是這樣,我們實(shí)際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時(shí)一下,再關(guān)閉位選,再送出段碼,再打開另一只位選僅此而已。有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動(dòng)態(tài)掃描的原理都沒懂,不知道如何做,那么這個(gè)程序是怎么也寫不出來的。
6、開動(dòng)腦筋,運(yùn)用多種方法,不斷優(yōu)化自己的程序。想想用各種不同方法來實(shí)現(xiàn)同一功能。這是一個(gè)練習(xí)和提高的過程,一個(gè)問題,你解決了,那么你再想想,能不能換種寫法,也可以實(shí)現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點(diǎn),讓程序執(zhí)行效率更高,這個(gè)過程,就是一個(gè)進(jìn)步的過程。很多知識和經(jīng)驗(yàn)的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實(shí)踐,開動(dòng)腦筋,經(jīng)驗(yàn)才能得到積累,編程水平才能有所提高。
覺,先建個(gè)項(xiàng)目,再配置一下項(xiàng)目,然后建個(gè)程序,加入項(xiàng)目中,再寫代碼、編譯、生成hex,刷進(jìn)單片機(jī)中、運(yùn)行。其實(shí)當(dāng)遇到問題一定要自己嘗試著解決,不能遇到問題就去問別人,自己一定要掌握解決問的方法和思路。對一個(gè)新項(xiàng)目時(shí),自己一定要多想想,不要急著去看別人是怎么寫的。應(yīng)該先想一下程序的構(gòu)架,想想如何來完成。然后自己動(dòng)手去寫,理清自己的思路這樣更容易提高自己。
熟悉單片機(jī)的人都知道,要學(xué)好單片機(jī)可不是一件容易的事,倒不是因?yàn)閱纹瑱C(jī)很難學(xué),而是很難找到一本專為單片機(jī)入門者而編寫的教材。翻一下身邊的單片機(jī)教材,都好像是為已經(jīng)懂單片機(jī)的人而寫的,一般先介紹單片機(jī)的硬件結(jié)構(gòu)和指令系統(tǒng),再是系統(tǒng)擴(kuò)展和外圍器件,順便講一些應(yīng)用設(shè)計(jì)(隨便說一下,很多書中的電路設(shè)計(jì)已經(jīng)過時(shí),并且有些程序還是錯(cuò)誤的)。如果按照此種學(xué)習(xí)方法,想進(jìn)行產(chǎn)品開發(fā),就必須先把所有的知識全部掌握了才可以進(jìn)行實(shí)際應(yīng)用。學(xué)習(xí)使用單片機(jī)只能靠循序漸進(jìn)的積累,雖然單片機(jī)的課程只上了幾節(jié)就去上班了,但在學(xué)習(xí)的過程中有了一定的了解。下面就本人學(xué)習(xí)單片機(jī)的過程和經(jīng)驗(yàn)做簡要介紹。
首先,學(xué)習(xí)單片機(jī)要有一定的基礎(chǔ):電子技術(shù)方面要有數(shù)字電路和模擬電路等方面的理論基礎(chǔ),特別是數(shù)字電路;編程語言要求匯編語言或c語言。要想成為單片機(jī)高手,建議初學(xué)者首先學(xué)習(xí)匯編語言,學(xué)的差不多的時(shí)候,轉(zhuǎn)入c語言學(xué)習(xí)。盡管匯編語言屬于低級語言,編程效率低,但是較c語言具有目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快等優(yōu)點(diǎn),更重要的是能使初學(xué)者盡快熟悉單片機(jī)的內(nèi)部結(jié)構(gòu),并能對其進(jìn)行精確的控制。匯編語言在單片機(jī)教材里面都會(huì)涉及,不需要單獨(dú)購買教材和學(xué)習(xí)。c語言是一門學(xué)問,有很多專業(yè)書籍來講解,并且對我們今后的編程生涯有絕對的好處,因此要深入學(xué)習(xí),千萬不要自以為看了某某的視頻教程就以為掌握了c語言,那只是c語言的一部分。在這里給大家推薦一本單片機(jī)c語言程序設(shè)計(jì)參考書,馬忠梅等著,北京航空航天大學(xué)出版社出版的《單片機(jī)的c語言應(yīng)用程序設(shè)計(jì)》,要求c語言基礎(chǔ)。如果沒學(xué)過c語言,建議學(xué)習(xí)清華大學(xué)譚浩強(qiáng)編寫的c語言程序設(shè)計(jì),這本書寫的不錯(cuò),通俗易懂。
但這并不要緊,因?yàn)槟氵€缺乏實(shí)踐經(jīng)驗(yàn)。現(xiàn)在單片機(jī)應(yīng)用廣泛,因此各個(gè)廠家分別推出了自己的單片機(jī),我們沒必要每樣都學(xué)!因?yàn)樗麄兊木幊谭椒ê驼{(diào)試過程以及內(nèi)部指令結(jié)構(gòu)有一定的相似,只要學(xué)精通一款就ok了!尤其是用c語言編程,就幾乎不用分什么派系,但是我們要選擇一款有代表性的知識范圍廣,并且入門容易,書籍多。一般來說,mcs-51系列單片機(jī)已經(jīng)得到廣泛的普及和應(yīng)用,市場上它的資料也比較多,用的人也很多。給大家推薦一些參考書,學(xué)習(xí)時(shí)只需要一本就足夠拉。書名:《新編mcs-51單片機(jī)應(yīng)用設(shè)計(jì)》,哈爾濱工業(yè)大學(xué)出版,作者:張毅剛;書名:《單片機(jī)原理及應(yīng)用》,高等教育出版社,作者:張毅剛等;書名:《單片機(jī)高級教程:應(yīng)用與設(shè)計(jì)》,北京航空航天大學(xué)出版社,作者:何立民。相關(guān)教材還有很多,在這不一一列舉。
然后,是開發(fā)工具和開發(fā)環(huán)境的選擇。選擇一塊合適的學(xué)習(xí)板,對于初學(xué)者來說一般無力接受,如果經(jīng)濟(jì)條件允許、本人又對單片機(jī)很感興趣、有從事相關(guān)工作意向的話,鼓勵(lì)大家購買。隨便說一句,學(xué)習(xí)板功能要求太全,具有流水燈、數(shù)碼管、獨(dú)立鍵盤、矩陣鍵盤、ad或da、液晶、蜂鳴器等就差不多啦,畢竟,功能齊全的價(jià)格比較高。仿真器對單片機(jī)初學(xué)者來說既是那么耳熟,同時(shí)又有些陌生,這主要是因?yàn)槭袌錾蟼鹘y(tǒng)的仿真器價(jià)格都在千元以上,對經(jīng)濟(jì)不是非常寬裕的人來說是不小的開支。同時(shí)仿真器是用來提高調(diào)試程序效率的,也不是非需不可的,如果你沒有仿真器,遇到程序出錯(cuò)的時(shí)候,只好苦思冥想,反復(fù)燒寫調(diào)試。隨便推薦一下,學(xué)林電子的51tracer仿真器,有興趣的朋友可關(guān)注一下。有了單片機(jī)教程板以后,先看下指導(dǎo)說明書,熟悉一下學(xué)習(xí)板,開卷有益。以后就得靠自己多練習(xí)了,將學(xué)習(xí)板與電腦連接好,先學(xué)會(huì)開發(fā)軟件的使用,然后從最簡單的流水燈實(shí)驗(yàn)做起,按照你自己的意愿控制流水燈,當(dāng)你完成時(shí),你會(huì)發(fā)現(xiàn)這是多么愜意的事情。太好玩了,你會(huì)覺得這不是在學(xué)習(xí),而是在玩,當(dāng)你發(fā)現(xiàn),單片機(jī)能夠按照你編寫的程序工作時(shí),你會(huì)覺得非常興奮,比做什么事情都開心,這樣你會(huì)慢慢迷上單片機(jī),真的。不少網(wǎng)站上說搞定某個(gè)實(shí)驗(yàn),就恭維的告訴你一聲”恭喜你,學(xué)會(huì)了”自己學(xué)會(huì)了單片機(jī),這有點(diǎn)可笑,這只能說明你算過關(guān)了,對單片機(jī)有了一定了解和會(huì)使用它了。但是單片機(jī)能完成的功能太多了,尤其是對外圍器件的控制,綜合起來能設(shè)計(jì)出許多意想不到的產(chǎn)品.因此除了入門外,精通可千萬別輕易說出口。
最后,在熟練掌握和應(yīng)用后,那可以說對于單片機(jī)方面的硬件你已經(jīng)入門了,剩下的就是自己練習(xí)設(shè)計(jì)開發(fā)各種課題,不斷的積累經(jīng)驗(yàn)。最終,自己完全設(shè)計(jì)具有個(gè)人風(fēng)格的課題,產(chǎn)品,這樣你就是單片機(jī)高手拉。只要過了第一關(guān),后面的路就好走多了,萬事開頭難,這大家可能都聽過。
有時(shí)候單片機(jī)的學(xué)習(xí)很單調(diào),有些知識學(xué)起來很抽象,不容易理解,只能慢慢適應(yīng),一邊學(xué)習(xí)理論知識,一邊編寫程序,將程序刷入單片機(jī)進(jìn)行調(diào)試,通過這種方式才能更快速的學(xué)習(xí)單片機(jī)。要堅(jiān)定自己的學(xué)習(xí)信心,在付出持之以恒的努力,我相信自己能進(jìn)一步加深對單片機(jī)的了解,在單片機(jī)的學(xué)習(xí)道路上走得更遠(yuǎn)!
單片機(jī)心得篇四
這學(xué)期開始接觸單片機(jī),老師就開始要求我們焊接單片機(jī)下載器,以此來提高我們對單片機(jī)的理解與熟悉程度,這也能最大程度的提高我們隊(duì)單片機(jī)的興趣和最快讓我們?nèi)谌雴纹瑱C(jī)的海洋中。
單片機(jī)下載器是學(xué)習(xí)單片機(jī)的必要器件,其主要零件都由很小的貼片元件組成,配以幾個(gè)大的插件,因此通過焊接單片機(jī)下載器的學(xué)習(xí),我大致掌握了小的貼片電容、電阻和插件元件的焊接,但貼片芯片的焊接仍需多練習(xí)。
話說貼片真心小啊,我瞪大了眼睛才能看清,而且在焊的過程中,掉了好幾次原件,費(fèi)了好大的功夫找到。
這讓我深切體會(huì)到焊貼片真是一個(gè)細(xì)心活啊,特別是對于理工男,那真是鍛煉耐心和細(xì)心地大好機(jī)會(huì)啊。
對于芯片,真是暴走來了。
引腳那叫一個(gè)纖細(xì),密密麻麻,一上場亮瞎了我有木有啊。
對于視頻教程上的松香法,我只能說,這是一個(gè)傳說。
我怎么吸都吸不掉啊,坑爹啊。
我又買了一塊芯片,覺得還是老老實(shí)實(shí)一個(gè)一個(gè)點(diǎn)焊比較實(shí)際。
有了第一次的經(jīng)驗(yàn),加上我無比耐心,終于弄好了。
激動(dòng)啊,奔走相告啊,差點(diǎn)買煙花慶祝了。
這次焊接單片機(jī)下載器,真的是苦盡甘來啊,讓我對單片機(jī)產(chǎn)生了濃郁的興趣,我也深刻體會(huì)到,自己學(xué)的還不夠,一定要多買些電板來焊一焊,提高自己的動(dòng)手能力。
單片機(jī)心得篇五
經(jīng)常在群、論壇里看到有人問:怎么學(xué)單片機(jī)?也??吹接腥苏f學(xué)了好幾個(gè)月可就是沒有什么進(jìn)展。
當(dāng)然,受限于每個(gè)人受到的教育水平不同和個(gè)人理解能力的差異,學(xué)習(xí)起來會(huì)有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。
一個(gè)好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機(jī)的經(jīng)歷和方法。
20xx年的時(shí)候,因?yàn)橹谱鱢m發(fā)射電路采用了bh1415的芯片,需要用到單片機(jī)控制,所以開始接觸使用單片機(jī),雖然以前讀書時(shí)作為一門功課學(xué)過,不過也快丟荒了20xx年了,基本上都忘光了,也算是從頭學(xué)起了吧。
我當(dāng)時(shí)是買了一塊實(shí)驗(yàn)板,很簡單的功能,比論壇實(shí)驗(yàn)板還要少功能,還有一個(gè)仿真器,也是比較簡單的,sst芯片的。
然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個(gè)程序基本上就抄人家的,翻查了一份快速入門的學(xué)習(xí)資料,寫下第一個(gè)程序。
然后,在仿真機(jī)是單步的看運(yùn)行結(jié)果,從每一步執(zhí)行,都硬件上反應(yīng)出來的效果,很快,對單片機(jī)的運(yùn)作有了一個(gè)非常感性的認(rèn)識,這跟只看書然后自己想象運(yùn)行是完全兩碼事。
然后,是進(jìn)一步的其它程序?qū)W習(xí),一個(gè)月時(shí)間,基本上已經(jīng)熟悉了51的各種硬件資源。
把流水燈,數(shù)碼管動(dòng)態(tài)掃描,中斷等等的學(xué)習(xí)了,然后就是寫綜合性的程序,也就是我發(fā)在論壇里的時(shí)鐘。
通過這個(gè)程序的編寫,使自己的編程水平有了很大的飛躍。
之后,就是逐步學(xué)習(xí)編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。
在學(xué)過匯編之后,我又轉(zhuǎn)到了c語言學(xué)習(xí),因?yàn)橐郧皼]有學(xué)習(xí)過c語言,一切都很陌生,所以自己沿用了學(xué)習(xí)匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時(shí)鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實(shí)現(xiàn)了從匯編編程為主到c編程為主的轉(zhuǎn)變。
然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風(fēng)格,一直到現(xiàn)在,基本上就是c語言編程,匯編已經(jīng)是作為調(diào)試程序的輔助。
下面我概括了幾點(diǎn)我的學(xué)習(xí)經(jīng)驗(yàn)和心得體會(huì):
1、萬事開頭難、要勇敢邁出第一步。
開始的時(shí)候,不要老是給自己找借口,說keil不會(huì)建項(xiàng)目啦、沒有實(shí)驗(yàn)板啦之類的。
遇到困難要一件件攻克,不會(huì)建項(xiàng)目,就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。
然后可以參考別的人程序,抄過來也無所謂,寫一個(gè)最簡單的,讓它運(yùn)行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會(huì)差多少,總得建個(gè)項(xiàng)目,再配置一下項(xiàng)目,然后建個(gè)程序,加入項(xiàng)目中,再寫代碼、編譯、生成hex,刷進(jìn)單片機(jī)中、運(yùn)行。
必須熟悉這一套工序。
個(gè)人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運(yùn)行一下看結(jié)果,學(xué)習(xí)效果會(huì)好很多,仿真器就看個(gè)人需要了。
單片機(jī)是注重理論和實(shí)踐的,光看書不動(dòng)手,是學(xué)不會(huì)的。
2、知識點(diǎn)用到才學(xué),不用的暫時(shí)丟一邊。
厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計(jì)也快忘光了,所以,最好結(jié)合實(shí)際程序,用到的時(shí)候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。
比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點(diǎn)一小點(diǎn)的啃。
3、程序不要光看不寫,一定要自己寫一次。
最開始的時(shí)候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達(dá)到什么目的,運(yùn)行后有什么后果,看明白了之后,就要自己寫一次,你會(huì)發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時(shí)候卻一句也寫不出來,這就是差距。
當(dāng)你自己能寫出來的時(shí)候,說明你就真的懂了。
4、必須學(xué)會(huì)掌握調(diào)試程序的方法。
不少人寫程序,把代碼寫好了,然后一運(yùn)行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個(gè)帖子,把程序一貼,問:為什么我的程序不能正常運(yùn)行?然后就等別人來給自己分析。
這是一種很不好的行為,應(yīng)該自己學(xué)會(huì)發(fā)現(xiàn)問題和學(xué)會(huì)如何解決問題。
這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點(diǎn)啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運(yùn)行結(jié)果和你想象中不一樣的時(shí)候,你可以單步,也可以下斷點(diǎn),然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運(yùn)行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。
這一個(gè)過程非常重要,通過程序的排錯(cuò),你可以學(xué)到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。
我們用單片機(jī)來控制周邊器件,達(dá)到我們想到的目的,這是一個(gè)題目,而如何寫出一個(gè)程序,來控制器件按你想要的結(jié)果去運(yùn)作,這個(gè)就是解題的思路。
要寫程序,就得先找到解決問題的思路,你學(xué)會(huì)找出這個(gè)解題思路,比你找到代碼更為重要。
不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。
我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時(shí)候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人,所以現(xiàn)在我也明白了,以前讀書時(shí)說的程序流程圖很重要,現(xiàn)在算是知道了。
當(dāng)你知道一個(gè)問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。
舉個(gè)例子:數(shù)碼管動(dòng)態(tài)掃描,沒寫過的初學(xué)者可能搞不清是怎么回事,其實(shí),就是分時(shí)讓每一時(shí)間段時(shí)只控制一只數(shù)碼管顯示數(shù)字,幾只數(shù)碼管輪流顯示,由于速度很快,人眼的看起來是全部數(shù)碼管都亮的。
明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數(shù)碼管輪流顯示出相應(yīng)的數(shù)值。
顯示數(shù)字,然后延時(shí)一下,再下一只顯示數(shù)字,延時(shí),知道是這樣,我們實(shí)際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時(shí)一下,再關(guān)閉位選,再送出段碼,再打開另一只位選..僅此而已。
有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動(dòng)態(tài)掃描的原理都沒懂,不知道如何做,那么這個(gè)程序是怎么也寫不出來的。
6、開動(dòng)腦筋,運(yùn)用多種方法,不斷優(yōu)化自己的程序。
想想用各種不同方法來實(shí)現(xiàn)同一功能。
這是一個(gè)練習(xí)和提高的過程,一個(gè)問題,你解決了,那么你再想想,能不能換種寫法,也可以實(shí)現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點(diǎn),讓程序執(zhí)行效率更高,這個(gè)過程,就是一個(gè)進(jìn)步的過程。
很多知識和經(jīng)驗(yàn)的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實(shí)踐,開動(dòng)腦筋,經(jīng)驗(yàn)才能得到積累,編程水平才能有所提高。
7、看別人的代碼,學(xué)習(xí)人家的思路。
這個(gè)在學(xué)習(xí)初期是很有用,通過看別人的代碼,特別是有多年編程經(jīng)驗(yàn)的人寫出的具有一定水平的代碼,可以使自己編程水平得到迅速的提高,同時(shí),也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的代碼,從中得到進(jìn)步。
但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會(huì)了,這樣做只會(huì)使你退步。
8、嘗試編寫一下綜合應(yīng)用的程序。
從流水燈學(xué)起,到動(dòng)態(tài)掃描,再到中斷,那么,你可以試試寫一下時(shí)鐘這種綜合性應(yīng)用的程序,不要小看時(shí)鐘,要寫好它不是一件容易的事情,它包括了單片機(jī)大部分的知識,比如有按鍵(io讀取)、動(dòng)態(tài)掃描(io輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨(dú)寫一個(gè)功能的時(shí)候,比如按鍵讀取,你可能感覺很容易,因?yàn)槟愕某绦蛏兑膊蛔觯皇亲x按鍵。
但把它和其它功能混合在一起,如何在整個(gè)程序運(yùn)行中使每一部分都正常工作,這就不是寫一個(gè)按鍵讀取這么容易的事情,功能模塊之間有可能會(huì)互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個(gè)協(xié)調(diào)過程。
當(dāng)你有了這個(gè)處理協(xié)調(diào)能力,你就算是入門了。
9、著重于培養(yǎng)解決問題的能力,而不是具體看自己編寫了多少代碼或者做過什么。
“學(xué)單片機(jī)重點(diǎn)在于學(xué)習(xí)解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學(xué)單片機(jī)多年來感悟出來的。
經(jīng)??吹接腥苏f“你會(huì)驅(qū)動(dòng)芯片,真牛啊”“你搞過xx項(xiàng)目,真厲害”之類的話,其實(shí)這是非常片面的,搞過芯片,搞過xx項(xiàng)目,只能說明你做過這一項(xiàng)目,它只是你的業(yè)績,并不是代表能力就一定高。
真正的能力應(yīng)該是:“遇到?jīng)]有解決過的問題或器件,能利用自己已學(xué)的知識,迅速找到解決問題的方法?!?BR> 這個(gè)才是能力。
寫程序的過程就是一個(gè)創(chuàng)造的過程,幾乎沒有完全一樣的項(xiàng)目,每次你遇上的幾乎都不相同,所以你擁有的必須是你面對新項(xiàng)目時(shí)的創(chuàng)造能力,而不是標(biāo)榜著你以往做過多少項(xiàng)目。
當(dāng)然,業(yè)績也能從另一側(cè)面反映你的經(jīng)驗(yàn)和水平。
10、如果有可能,多學(xué)習(xí)計(jì)算機(jī)專業(yè)的知識,比如數(shù)據(jù)結(jié)構(gòu)等。
這些是你解決問題的基礎(chǔ)知識,你把這些知識應(yīng)用得越好,就會(huì)發(fā)現(xiàn)越容易找到解決問題的方法,這就是為什么一個(gè)學(xué)計(jì)算機(jī)專業(yè)的人編的程序和一個(gè)非計(jì)算機(jī)專業(yè)的人編的程序有差異的原因。
也是一個(gè)菜鳥進(jìn)軍到高手所要配備的知識。
如果我們把編程分為宏觀編程和微觀編程,那么微觀編程就是寫具體的代碼,比如控制某某器件的語句;而宏觀編程就是如何對整個(gè)程序進(jìn)行布局、安排,使功能模塊以你想要的方式去運(yùn)行,得出你想要的結(jié)果。
如前所說“會(huì)控制器件”這些只能算是微觀編程,能做到這一步還只能算是菜鳥級別,如果面對一個(gè)新的器件,你心里沒底,沒把握去寫這個(gè)控制程序,那說明你還是一個(gè)初級的菜鳥。
當(dāng)你有了一定的編程經(jīng)驗(yàn),控制過相當(dāng)數(shù)量的器件之后,你就會(huì)發(fā)現(xiàn),控制器件這些工作都是相似的、重復(fù)的工作,體現(xiàn)不出編程的水平,最多也是寫得好與不好的差別,只能算是一些小技巧的應(yīng)用。
而對整個(gè)程序進(jìn)行布局、安排這些才是最頭痛的事情,能達(dá)到宏觀編程和微觀編程都做好才是真正的高手。
對于規(guī)模越大的程序,越能體現(xiàn)出這一點(diǎn)。
11、面對一個(gè)新項(xiàng)目時(shí),多自己開動(dòng)腦筋,不要急于找別人的程序。
有不少人面對一個(gè)新項(xiàng)目時(shí),第一步想到的就是網(wǎng)上找別人寫過的代碼,然后抄一段,自己再寫幾句,湊在一起就完成任務(wù),這雖然可能是省時(shí)間,但絕對不利你的學(xué)習(xí)。
當(dāng)你接到一個(gè)新項(xiàng)目時(shí),應(yīng)該先自己構(gòu)思一下整個(gè)程序的架構(gòu),想想如何來完成,有可能的話,畫一個(gè)流程圖,簡單的可以畫在腦子里,對程序中用到的數(shù)據(jù)、變量有一個(gè)初步的安排,然后自己動(dòng)手去寫,遇到實(shí)在沒辦法解決的地方,再去請教別人,或看別人是怎么處理的,這樣首先起碼你自己動(dòng)過腦想過,自己有自己的思路,如果你一開始就看別人的程序,你的思維就會(huì)受限在別人的思維里,自己想再創(chuàng)新就更難了,這樣你自己永遠(yuǎn)也沒辦法提高,因?yàn)槟闶亲咴趧e人的影子里。
12、多利用網(wǎng)絡(luò)的搜索,學(xué)會(huì)提問題。
一般來說,學(xué)習(xí)過程中,你遇上的問題,前人們多數(shù)也有遇上的,所以如果有什么不懂,在自己解決不了的時(shí)候,最好先到網(wǎng)上搜索一下,看能不能找到答案,找不到再到論壇里發(fā)問,發(fā)問也要有目的性,盡量簡單明了的描述問題,讓幫助你的人可以用最少的時(shí)間就看懂你說什么,畢竟人家?guī)椭闶敲赓M(fèi)的,時(shí)間也是有限的。
以上就是我學(xué)習(xí)單片機(jī)的經(jīng)歷和心得體會(huì),希望對大家會(huì)有幫助,說得有不好或不對的地方歡迎大家批評指正。
單片機(jī)心得篇六
這個(gè)學(xué)期的單片機(jī)課已經(jīng)早早的上完了,但是理論純屬理論,沒有與實(shí)踐的結(jié)合總讓我們學(xué)的不踏實(shí),感覺沒有達(dá)到學(xué)以致用的效果。
所慶幸的是在課程介紹考試完之后,老師給我們安排了這次單片機(jī)課程設(shè)計(jì),給了我們學(xué)以致用的做好的實(shí)踐。
關(guān)于這次課程設(shè)計(jì),我們花費(fèi)了比較多的心思,既是對課程理論內(nèi)容的一次復(fù)習(xí)和鞏固,還讓我們豐富了更多與該專業(yè)相關(guān)的其他知識,比如軟件應(yīng)用等,在摸索中學(xué)習(xí),在摸索中成長,在學(xué)習(xí)的過程中帶著問題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計(jì)的又一收獲,在真正設(shè)計(jì)之前我們做了相當(dāng)豐富的準(zhǔn)備,首先鞏固一下課程理論,再一遍熟悉課程知識的構(gòu)架,然后結(jié)合加以理論分析、總結(jié),有了一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖之后才著手設(shè)計(jì)。
在設(shè)計(jì)程序時(shí),我們不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;養(yǎng)成注釋程序的好習(xí)慣是非常必要的,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也能為資料的保存和交流提供了方便;我覺得在設(shè)計(jì)課程過程中遇到問題是很正常,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題的課程設(shè)計(jì)又出錯(cuò)了。
除了對此次設(shè)計(jì)的準(zhǔn)備工作之外,我們還學(xué)到了很多平時(shí)難得的東西,首先是團(tuán)隊(duì)協(xié)作,在這次設(shè)計(jì)當(dāng)中,難免和同學(xué)產(chǎn)生觀點(diǎn)和意見的分歧,以及分工明細(xì)、時(shí)間安排等不合理,通過這次設(shè)計(jì),我們體會(huì)到了團(tuán)結(jié)合作的重要性及力量之強(qiáng)大,還有讓我們處理事情更加有條理,思路更加清晰明了了,發(fā)現(xiàn)、提出、分析、解決問題和實(shí)踐能力的提高都將受益于我在以后的學(xué)習(xí)、工作和生活中。
此次的設(shè)計(jì),其實(shí)也是我們所學(xué)知識的一次綜合運(yùn)用,讓我深深的認(rèn)識到了學(xué)習(xí)單片機(jī)要有一定的基礎(chǔ),要有電子技術(shù)方面的數(shù)字電路和模擬電路等方面的理論基礎(chǔ),特別是數(shù)字電路;也要有編程語言的匯編語言或c語言。
要想成為單片機(jī)高手,我們首先要學(xué)好匯編語言,然后轉(zhuǎn)入c語言學(xué)習(xí),所以我們不能學(xué)到后面就忘了前面的知識,更應(yīng)該將所學(xué)的知識緊緊的結(jié)合在一起,綜合運(yùn)用,所謂設(shè)計(jì),就是要求創(chuàng)新,只有將知識綜合運(yùn)用起來才能真正的設(shè)計(jì)好。
經(jīng)過本次微機(jī)課題的設(shè)計(jì)與研究,我們深入的學(xué)習(xí)了除課本以外的很多微機(jī)附件的內(nèi)容,掌握了很多實(shí)驗(yàn)室操作技能。
我們在實(shí)際設(shè)計(jì)中遇到很多問題,但結(jié)合所學(xué)知識以及參考資料的幫助,不斷地嘗試,設(shè)計(jì)了一種能夠解決實(shí)際問題的系統(tǒng)。
同時(shí)也加深了我們對于現(xiàn)實(shí)生活中,實(shí)際的嵌入式操作系統(tǒng)的原理的理解。
單片機(jī)在日常生活中應(yīng)用廣泛,結(jié)合這學(xué)期在學(xué)的嵌入式系統(tǒng)原理,我們更多的了解了單片機(jī)的發(fā)展現(xiàn)狀和發(fā)展趨勢,以及在生活中的廣泛應(yīng)用,其實(shí)80c51只是我們所接觸的一種簡單的單片機(jī),在實(shí)際應(yīng)用中,有各個(gè)公司生產(chǎn)的不同型號的、針對不同功能設(shè)計(jì)的、以及根據(jù)用戶的需要和發(fā)展自主研發(fā)設(shè)計(jì)的單片機(jī)還有很多,由此設(shè)計(jì)出來的嵌入式系統(tǒng)更是數(shù)不勝數(shù)。
能夠親身的進(jìn)行自我實(shí)踐,并進(jìn)行實(shí)際的應(yīng)用,其實(shí)使我們對現(xiàn)行單片機(jī)的一次深入的了解,并能夠提升我們將來在學(xué)習(xí)工作遇到的單片機(jī)設(shè)計(jì)問題。
在實(shí)際設(shè)計(jì)過程中,我們遇到了諸多設(shè)計(jì)的問題。
例如接口不夠,這一問題主要是因?yàn)槲覀兯O(shè)計(jì)的功能諸多,剛開始對于這一接口的規(guī)劃不是非常的合理,后來通過使用中斷,兩個(gè)中斷合理的設(shè)計(jì)便解決了所有的按鍵和現(xiàn)實(shí)問題。
考慮到目前空調(diào)系統(tǒng)也并不是使用我們所用到的80c51單片機(jī),中斷也有可能通過擴(kuò)展有所增加,考慮到硬件設(shè)計(jì)的難度,使用兩中斷解決這一問題則是最佳的選擇。
在程序設(shè)計(jì)中,我們更加深入了解了中斷的使用與本質(zhì),合理利用這些,會(huì)使程序簡化而不會(huì)出錯(cuò)。
比如開始我們把主程序?qū)懺谥袛嗬锩?,?dǎo)致程序運(yùn)行混亂,而后來發(fā)現(xiàn),只在中斷中做少量工作,比如改一下某一個(gè)標(biāo)志,這樣比較好。
對于傳感器芯片的使用,我們查找了它的datasheet,并查閱了各種關(guān)于其硬件連接和軟件設(shè)計(jì)的資料,同時(shí)發(fā)現(xiàn)了理論資料與實(shí)踐上的區(qū)別,通過多次嘗試,成功完成了硬件和軟件的設(shè)計(jì)。
在這次課題設(shè)計(jì)過程中,我們合理的分工,適宜的規(guī)劃進(jìn)度的進(jìn)展,不僅僅暗示完成了預(yù)先設(shè)計(jì)的內(nèi)容。
在這一過程中,我們充分發(fā)揮我們的主觀能動(dòng)性,想象創(chuàng)造性,攻克了很多之前都沒有想過的難關(guān),真的受益匪淺。
這次設(shè)計(jì)不僅僅耗時(shí)耗力,而且自己也親自跑了電子市場去進(jìn)行實(shí)際考察,對我們理論和實(shí)驗(yàn)都有很大的提升,我想這些對于我們今后的學(xué)習(xí)生活都有很重要的意義,這將是我們在程序設(shè)計(jì)以及大學(xué)學(xué)習(xí)過程中的寶貴經(jīng)驗(yàn)和財(cái)富。
-------------------------
單片機(jī)是一門應(yīng)用性和實(shí)踐性很強(qiáng)的學(xué)科,很多人都想學(xué)習(xí)單片機(jī),并且想知道如何學(xué)習(xí)單片機(jī),基于本人學(xué)習(xí)單片機(jī)的過程和愉快經(jīng)歷,特寫此篇文章和廣大的單片機(jī)初學(xué)者一起分享,希望您能從中受益。
熟悉單片機(jī)的人都知道,要學(xué)好單片機(jī)可不是一件容易的事,倒不是因?yàn)閱纹瑱C(jī)很難學(xué),而是很難找到一本專為單片機(jī)入門者而編寫的教材。
翻一下身邊的單片機(jī)教材,都好像是為已經(jīng)懂單片機(jī)的人而寫的,一般先介紹單片機(jī)的硬件結(jié)構(gòu)和指令系統(tǒng),再是系統(tǒng)擴(kuò)展和外圍器件,順便講一些應(yīng)用設(shè)計(jì)(隨便說一下,很多書中的電路設(shè)計(jì)已經(jīng)過時(shí),并且有些程序還是錯(cuò)誤的)。
如果按照此種學(xué)習(xí)方法,想進(jìn)行產(chǎn)品開發(fā),就必須先把所有的知識全部掌握了才可以進(jìn)行實(shí)際應(yīng)用。
學(xué)習(xí)使用單片機(jī)只能靠循序漸進(jìn)的積累,下面就本人學(xué)習(xí)單片機(jī)的過程和經(jīng)驗(yàn)做簡要介紹。
首先,學(xué)習(xí)單片機(jī)要有一定的基礎(chǔ):電子技術(shù)方面要有數(shù)字電路和模擬電路等方面的'理論基礎(chǔ),特別是數(shù)字電路;編程語言要求匯編語言或c語言。
要想成為單片機(jī)高手,建議初學(xué)者首先學(xué)習(xí)匯編語言,學(xué)的差不多的時(shí)候,轉(zhuǎn)入c語言學(xué)習(xí)。
盡管匯編語言屬于低級語言,編程效率低,但是較c語言具有目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快等優(yōu)點(diǎn),更重要的是能使初學(xué)者盡快熟悉單片機(jī)的內(nèi)部結(jié)構(gòu),并能對其進(jìn)行精確的控制。
匯編語言在單片機(jī)教材里面都會(huì)涉及,不需要單獨(dú)購買教材和學(xué)習(xí)。
c語言是一門學(xué)問,有很多專業(yè)書籍來講解,并且對我們今后的編程生涯有絕對的好處,因此要深入學(xué)習(xí),千萬不要自以為看了某某的視頻教程就以為掌握了c語言,那只是c語言的一部分。
在這里給大家推薦一本單片機(jī)c語言程序設(shè)計(jì)參考書,馬忠梅等著,北京航空航天大學(xué)出版社出版的《單片機(jī)的c語言應(yīng)用程序設(shè)計(jì)》,要求c語言基礎(chǔ)。
如果沒學(xué)過c語言,建議學(xué)習(xí)清華大學(xué)譚浩強(qiáng)編寫的c語言程序設(shè)計(jì),這本書寫的不錯(cuò),通俗易懂。
其次,是單片機(jī)教材選擇。
單片機(jī)是一門非常重視實(shí)踐的技術(shù),不能總是看書,但要學(xué)習(xí)它首先應(yīng)看書,對單片機(jī)引腳、內(nèi)部結(jié)構(gòu)、寄存器和原理有一定地了解和感官認(rèn)識,它的是怎樣工作的,能干些什么?剛開始時(shí),也許你看不明白,但這并不要緊,因?yàn)槟氵€缺乏實(shí)踐經(jīng)驗(yàn)。
現(xiàn)在單片機(jī)應(yīng)用廣泛,因此各個(gè)廠家分別推出了自己的單片機(jī),按內(nèi)部結(jié)構(gòu)體系派系分:51系列、pic系列、avr系列、摩托羅拉等等……我們沒必要每樣都學(xué)!因?yàn)樗麄兊木幊谭椒ê驼{(diào)試過程以及內(nèi)部指令結(jié)構(gòu)有一定的相似,只要學(xué)精通一款就ok了!尤其是用c語言編程,就幾乎不用分什么派系,但是我們要選擇一款有代表性的知識范圍廣,并且入門容易,書籍多。
一般來說,mcs-51系列單片機(jī)已經(jīng)得到廣泛的普及和應(yīng)用,市場上它的資料也比較多,用的人也很多。
給大家推薦一些參考書,學(xué)習(xí)時(shí)只需要一本就足夠拉。
書名:《新編mcs-51單片機(jī)應(yīng)用設(shè)計(jì)》,哈爾濱工業(yè)大學(xué)出版,作者:張毅剛;書名:《單片機(jī)原理及應(yīng)用》,高等教育出版社,作者:張毅剛等;書名:《單片機(jī)高級教程:應(yīng)用與設(shè)計(jì)》,北京航空航天大學(xué)出版社,作者:何立民。
相關(guān)教材還有很多,在這不一一列舉。
然后,是開發(fā)工具和開發(fā)環(huán)境的選擇。
選擇一塊合適的學(xué)習(xí)板,對于初學(xué)者來說一般無力接受,如果經(jīng)濟(jì)條件允許、本人又對單片機(jī)很感興趣、有從事相關(guān)工作意向的話,鼓勵(lì)大家購買。
隨便說一句,學(xué)習(xí)板功能要求太全,具有流水燈、數(shù)碼管、獨(dú)立鍵盤、矩陣鍵盤、ad或da、液晶、蜂鳴器等就差不多啦,畢竟,功能齊全的價(jià)格比較高。
仿真器對單片機(jī)初學(xué)者來說既是那么耳熟,同時(shí)又有些陌生,這主要是因?yàn)槭袌錾蟼鹘y(tǒng)的仿真器價(jià)格都在千元以上,對經(jīng)濟(jì)不是非常寬裕的人來說是不小的開支。
同時(shí)仿真器是用來提高調(diào)試程序效率的,也不是非需不可的,如果你沒有仿真器,遇到程序出錯(cuò)的時(shí)候,只好苦思冥想,反復(fù)燒寫調(diào)試。
隨便推薦一下,學(xué)林電子的51tracer仿真器,有興趣的朋友可關(guān)注一下。
有了單片機(jī)教程板以后,先看下指導(dǎo)說明書,熟悉一下學(xué)習(xí)板,開卷有益。
以后就得靠自己多練習(xí)了,將學(xué)習(xí)板與電腦連接好,先學(xué)會(huì)開發(fā)軟件的使用,然后從最簡單的流水燈實(shí)驗(yàn)做起,按照你自己的意愿控制流水燈,當(dāng)你完成時(shí),你會(huì)發(fā)現(xiàn)這是多么愜意的事情。
太好玩了,你會(huì)覺得這不是在學(xué)習(xí),而是在玩,當(dāng)你發(fā)現(xiàn),單片機(jī)能夠按照你編寫的程序工作時(shí),你會(huì)覺得非常興奮,比做什么事情都開心,這樣你會(huì)慢慢迷上單片機(jī),真的。
不少網(wǎng)站上說搞定某個(gè)實(shí)驗(yàn),就恭維的告訴你一聲”恭喜你,學(xué)會(huì)了”自己學(xué)會(huì)了單片機(jī),這有點(diǎn)可笑,這只能說明你算過關(guān)了,對單片機(jī)有了一定了解和會(huì)使用它了。
但是單片機(jī)能完成的功能太多了,尤其是對外圍器件的控制,綜合起來能設(shè)計(jì)出許多意想不到的產(chǎn)品.因此除了入門外,精通可千萬別輕易說出口。
最后,在熟練掌握和應(yīng)用后,那可以說對于單片機(jī)方面的硬件你已經(jīng)入門了,剩下的就是自己練習(xí)設(shè)計(jì)電路,不斷的積累經(jīng)驗(yàn)。
最終,自己完全設(shè)計(jì)具有個(gè)人風(fēng)格的電路,產(chǎn)品,這樣你就是單片機(jī)高手拉。
只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。
時(shí)下多家電子類的報(bào)刊雜志如:《電子制作》《無線電》《電子報(bào)》《電子世界》都開設(shè)了詳細(xì)的單片機(jī)教程專欄,對于想學(xué)習(xí)單片機(jī)的朋友來說幫助很大,可以說現(xiàn)在的單片機(jī)教程環(huán)境是最好的,有網(wǎng)絡(luò),有書籍,有報(bào)刊雜志,還有視頻教程,元件的采購方面也非常充足,相關(guān)的器材又多有便宜。
如果每天能抽出兩小時(shí)的時(shí)間去學(xué)習(xí),快的一個(gè)月,慢的三個(gè)月就入門拉。
單片機(jī)心得篇七
做了兩周的課程設(shè)計(jì),有很多的心得體會(huì),有關(guān)于單片機(jī)方面的,的是關(guān)于人與人之間關(guān)系方面的。
我們組一共有三個(gè)人,但其他兩個(gè)人是真的神龍見首不見尾,除了在最后答辯的時(shí)候他們一起坐在了我旁邊,冠冕堂皇的指著我畫了幾遍的圖說了幾嘴,我想可能他們自己都不知道自己在說怎么,雖然有的東西他們也答出來了。
我佩服他們的勇氣,羨慕他們的運(yùn)氣(我見到的很多做了10 天的人最后的成績都有不如他們的),但是鄙視他們的做法。
所幸的是,我得到了很多同學(xué)的幫助。
我想沒有他們我可能都要放棄了,因?yàn)槲冶救藢纹瑱C(jī)也并不是很熟悉,學(xué)的東西好像它是它,我是我似的,理論聯(lián)系不了實(shí)際。
以前的匯編語言沒學(xué)好,一開始的程序這塊兒就要令我抓狂了。
后來請教我們班的一個(gè)男生,每次跟他一起到試驗(yàn)室調(diào)試程序(他們組也只有他一個(gè)人動(dòng)手),看他邊做邊給我講解。
最后在開發(fā)機(jī)上做出來的時(shí)候,雖然不是我自己寫的,但看他那么高興,我也有一種分享到的成就感。
后來我們組就用了他寫的程序,他自己又抽空做了些拓展。
接下來就是做硬件方面的焊接工作了。
沒想到這項(xiàng)看起來不需要多少技術(shù)的工作卻是非常的勞心勞力。
很多次是早上起來帶瓶水帶些吃的到實(shí)訓(xùn)中心,一泡就是一天。
我看到有很多人跟我一樣,不同的是他們是三三兩兩,而我大部分時(shí)間都是一個(gè)人做。
在這個(gè)時(shí)候也有很多人幫助我,或是熱心的幫我?guī)э垼蚴窃谖掖蝽飪旱臅r(shí)候幫我做點(diǎn)焊接。
大家都鼓勵(lì)我,即使最后出不來東西,但是一定要堅(jiān)持把它做完。
當(dāng)我想放棄的時(shí)候,我也這么對自己說,即使你做出來的是次品甚至不合格品,但是你一定要拿出來一件成品。
在要驗(yàn)收前,終于做了一件成品出來,不幸的是它真的是一件不合格品。
幫我的那個(gè)男生做的已經(jīng)出來了,所以最后應(yīng)該還是我的焊接方面的'問題。
有一點(diǎn)灰心,想再重做來不及了,單是檢查線路卻也查不出來什么問題。
那么就準(zhǔn)備答辯吧。
我對著電路圖再看課本,發(fā)現(xiàn)以前很多覺得很難記的東西現(xiàn)在記起來容易多了,因?yàn)檎於荚谕鼈兇蚪坏馈?BR> 51的引腳及其功能,a/d轉(zhuǎn)換器的,驅(qū)動(dòng)器的,所有我用到的我都一再的看書了解,同時(shí)請教同學(xué)我看書過程當(dāng)中的疑惑。
在這個(gè)過程中又發(fā)現(xiàn)了以前焊接當(dāng)中出的一些問題,能改的就改,不能改的,咳,要是時(shí)間再多一些,或者我能早點(diǎn)做好,要是不只是我一個(gè)人動(dòng)手……算了吧,不要想那些如果,還是準(zhǔn)備我自己的,做好我現(xiàn)在能做的吧。
還好,驗(yàn)收還算成功,得了3分,不是很高,但是我覺得對我來說已經(jīng)很好,代表了我真實(shí)的水平,我覺得我對單片機(jī)的一些知識在這個(gè)動(dòng)手的過程中真的是從無到有增長的。
同時(shí)我也盡量不去想別人得了多少分,沒有什么不平衡的,有些人付出的是努力,有些人付出的是風(fēng)險(xiǎn)代價(jià),其實(shí)這也沒有什么不一樣,這一點(diǎn)我早就了解。
最后,我發(fā)現(xiàn)自己對單片機(jī)竟然也有了一點(diǎn)興趣,我認(rèn)為要學(xué)好單片機(jī)這門課程,不僅要認(rèn)真閱讀課本知識,更重要的是要通過上機(jī)實(shí)踐才能增強(qiáng)和鞏固我的知識,注重實(shí)踐這一環(huán)節(jié),只有這樣我們才能成為合格的社會(huì)人材。
高校實(shí)驗(yàn)室是培養(yǎng)高層次人才和開展科學(xué)研究的重要基地。
在西方發(fā)達(dá)國家,學(xué)校對培養(yǎng)學(xué)生的動(dòng)手能力是十分重視的,這一問題近年來也越來越受到我國教育界人士的廣泛重視。
為了提高學(xué)生的動(dòng)手能力,讓學(xué)生做相關(guān)實(shí)訓(xùn)并完成單片機(jī)實(shí)驗(yàn)報(bào)告,在實(shí)驗(yàn)的形式上注重培養(yǎng)學(xué)生的實(shí)驗(yàn)技能和動(dòng)手能力。
從單片機(jī)實(shí)驗(yàn)心得中學(xué)生就可以總結(jié)出大量的經(jīng)驗(yàn)以適應(yīng)當(dāng)代社會(huì)的發(fā)展。
學(xué)習(xí)單片機(jī)這門課程(教學(xué)中選用 inter公司的mcs-51),要掌握單片機(jī)指令系統(tǒng)中匯編語言各種基本語句的意義及匯編語言程序設(shè)計(jì)的基本知識和方法,以及單片機(jī)與其他設(shè)備相連接的輸入輸出中斷等接口技術(shù)。
使學(xué)生從硬件軟件的結(jié)合上理論聯(lián)系實(shí)際,提高動(dòng)手能力,從而全面掌握單片機(jī)的應(yīng)用。
實(shí)驗(yàn)教學(xué)的全過程包括認(rèn)識、基礎(chǔ)、綜合3個(gè)階段。
以往的單片機(jī)實(shí)驗(yàn)是進(jìn)行軟件的編制和調(diào)試,與實(shí)際應(yīng)用中的硬件電路相脫節(jié)。
使學(xué)生缺乏硬件設(shè)計(jì)及調(diào)試分析能力,對單片機(jī)如何構(gòu)成一個(gè)單片機(jī)最小應(yīng)用系統(tǒng),缺乏認(rèn)識。
軟件的修改也非常方便,軟件和硬件調(diào)試都通過后,把程序固化在 eprom當(dāng)中,插上8051單片機(jī)構(gòu)成一個(gè)完整的單片機(jī)應(yīng)用系統(tǒng)。
單片機(jī)實(shí)驗(yàn)板的構(gòu)成及基本功能
單片機(jī)實(shí)驗(yàn)板,它由 8031、8155,eprom2764,max232鍵盤及顯示器組成。
其中8155 片內(nèi)有256個(gè)ram單元,接6個(gè)7段碼顯示器和8個(gè)按鍵作輸入。
串行口連接max232串行口轉(zhuǎn)換芯片,p1口留出作為一些控制量的輸入輸出用以擴(kuò)展使用。
在實(shí)驗(yàn)板上可編寫鍵盤掃描程序、顯示程序、時(shí)間的設(shè)定及計(jì)時(shí)程序、從鍵盤上輸入兩個(gè)加數(shù)或減數(shù)顯示結(jié)果程序、位變量的邏輯運(yùn)算程序及串行口和上位機(jī)通訊程序等,還可和其它課程相結(jié)合,進(jìn)行實(shí)驗(yàn)。
同時(shí)可參考單片機(jī)網(wǎng)上的比較生動(dòng)的單片機(jī)學(xué)習(xí)教程,學(xué)習(xí)和試驗(yàn)一起進(jìn)行.例如,《電子測量》課程中各種頻率的測量,可通過8031單片機(jī) p1口輸入被測量,由單片機(jī)來進(jìn)行檢測和顯示,把幾門課程結(jié)合在一起學(xué)習(xí),使課程有延續(xù)性,也提高了學(xué)生學(xué)習(xí)的積極性。
由于p1口通過插座引出,也可外部擴(kuò)展a/d d/a 等其他接口芯片,以構(gòu)成新的應(yīng)用系統(tǒng)。
單片機(jī)實(shí)驗(yàn)板的衍生功能
此單片機(jī)實(shí)驗(yàn)報(bào)告中的實(shí)驗(yàn)板是一個(gè)單片機(jī)應(yīng)用系統(tǒng)的硬件電路。
有鍵盤輸入和顯示輸出,在這個(gè)基礎(chǔ)電路上通過p1口對不同檢測或控制對象還可衍生出各種應(yīng)用來。
例如:時(shí)間的設(shè)置及顯示、溫度的檢測及控制等,在此實(shí)驗(yàn)板上,編寫相應(yīng)的軟件即可,否則,只在計(jì)算機(jī)上模擬調(diào)試軟件,則無法了解單片機(jī)接口中各種控制信號的使用。
還可幫助學(xué)生學(xué)會(huì)分析問題和解決問題的能力。
這在單片機(jī)實(shí)驗(yàn)報(bào)告中都要體現(xiàn)出來。
例如:如何檢查程序存儲器和外部數(shù)據(jù)存儲器及i/o接口,執(zhí)行訪問外部程序存儲器eprom2764的0000h 單元的指令,只能讀取該單元的內(nèi)容,不能改寫,當(dāng)dptr=0000h 時(shí),執(zhí)行 movca @dptr指令,這時(shí)候74ls373應(yīng)鎖存地址信號低8位,可用示波器測量74ls373的q0-q7 ,檢驗(yàn)是否鎖存了零信號,同樣用示波器檢測p2口是否輸出了地址信號的高8位,用示波器檢測p0口和 ale控制信號。
若和原理分析有偏差,很快就可判斷出哪個(gè)管腳有問題,可順藤摸瓜,找出問題所在。
同理,執(zhí)行單條指令訪問外部接口8155的pa pb pc 口,軟件執(zhí)行時(shí)序信號和管腳測量結(jié)果相比較,看是否一致,以便檢查硬件線路是否正確。
訪問外部ram數(shù)據(jù)存儲器(8155片內(nèi))時(shí),用示波器測wr及 rd控制信號,如:讀ram時(shí),應(yīng)測到讀控制信號脈沖,而寫ram時(shí),應(yīng)測得寫控制信號脈沖。
測得的信號一定是數(shù)字信號(0或1,0.7v左右或 3.8v左右),2.5v左右的數(shù)字信號肯定有問題。
在仿真器上調(diào)試軟件時(shí),通過察看單片機(jī)網(wǎng)的相關(guān)專欄得知,可采用仿真器上的晶振,通過后,改用用戶板上的晶振,看結(jié)果是否一致,若有問題,說明用戶板上的晶振有問題,再次通過后,把程序固化在eprom2764中,拔掉仿真頭,插上8031芯片,看是否通過,此時(shí)有問題,說明用戶板上的復(fù)位信號有問題。
逐步學(xué)會(huì)硬件電路的調(diào)試。
外部可連接溫度傳感器,經(jīng)a/d轉(zhuǎn)換,檢測溫度信號,并根據(jù)鍵盤輸入的設(shè)定值范圍,進(jìn)行報(bào)警,切換繼電器工作;還可通過模擬開關(guān)對多點(diǎn)溫度進(jìn)行輪檢,構(gòu)成一臺多點(diǎn)溫度測試系統(tǒng)。
作為測量設(shè)備,要考慮精度,在硬件電路上要考慮模擬開關(guān)的選擇,因?yàn)槠鋵?dǎo)通電阻的大小對模擬輸入量有影響,應(yīng)選擇導(dǎo)通電阻小,帶過壓保護(hù)的模擬開關(guān),同樣a/d轉(zhuǎn)換芯片應(yīng)根據(jù)精度要求,選擇8位、 12位等 轉(zhuǎn)換器,或滿足精度要求的壓頻轉(zhuǎn)換器。
也可對外部多種傳感器進(jìn)行檢測,如:溫度、煙霧、水警、門警、紅外等,構(gòu)成監(jiān)控電路,被測量中既有模擬量,又有數(shù)字量,特別要加強(qiáng)抗干擾性,在線路板設(shè)計(jì)時(shí),每塊芯片電源引腳的濾波電容排放時(shí)盡量靠近芯片,模擬地和數(shù)字地先分別共地,最后,再把模擬地和數(shù)字地共地,模擬地和數(shù)字地只能出現(xiàn)一個(gè)共地點(diǎn),最好電源和地單獨(dú)布層,走線合理,提高線路板的抗干擾性,為了提高抗干擾能力,軟件設(shè)計(jì)時(shí),可連續(xù)測量幾次,去掉最大值和最小值,剩下的量取平均值,以濾去一些突變信號,提高整個(gè)系統(tǒng)的抗干擾能力。
由于單片機(jī)體積小、成本低、使用方便,所以被廣泛地應(yīng)用于儀器儀表、現(xiàn)場數(shù)據(jù)的采集和控制,但單片機(jī)存儲量有限,數(shù)據(jù)處理能力差,不利于數(shù)據(jù)信息的保存和處理,在這里利用單片機(jī)的串行口和上位pc機(jī)串口通訊,實(shí)驗(yàn)板上的max233串行轉(zhuǎn)換芯片實(shí)現(xiàn)ttl信號和rs232 信號之間的轉(zhuǎn)換,和 pc機(jī)通訊,從而實(shí)現(xiàn)遠(yuǎn)距離的監(jiān)控及信息的存儲、處理和打印清單,單片機(jī)完成現(xiàn)場數(shù)據(jù)的采集及各種信號的控制,構(gòu)成一套環(huán)境監(jiān)控單元。
幾點(diǎn)單片機(jī)實(shí)驗(yàn)心得體會(huì)
在電子技術(shù)應(yīng)用領(lǐng)域中,單片機(jī)的應(yīng)用愈來愈多地應(yīng)用到各行各業(yè)。
如:工業(yè)控制、儀器儀表、電訊技術(shù)、辦公自動(dòng)化和計(jì)算機(jī)外部設(shè)備、汽車與節(jié)能、商用產(chǎn)品、家用電器等。
目前,單片機(jī)正朝著大容量片上存儲器、多功能i/o接口、寬范圍工作電源和低功耗方向發(fā)展。
要開發(fā)單片機(jī)的應(yīng)用,不但要掌握單片機(jī)硬件和軟件方面的知識,而且還要深入了解各應(yīng)用系統(tǒng)的專業(yè)知識,只有將這兩方面的知識融會(huì)貫通和有機(jī)結(jié)合,才能設(shè)計(jì)出優(yōu)良的應(yīng)用系統(tǒng)。
一個(gè)好的工程設(shè)計(jì)師不僅要掌握單片機(jī)的工作原理,而且還要不斷了解各公司最新芯片的結(jié)構(gòu)和應(yīng)用,在實(shí)際應(yīng)用中找到最好的性能價(jià)格比。
所以還要注意培養(yǎng)學(xué)生接受新知識的自學(xué)能力,掌握芯片發(fā)展動(dòng)態(tài)。
單片機(jī)心得篇八
一直想寫一個(gè)帖子,將自己學(xué)習(xí)單片機(jī)的經(jīng)歷、經(jīng)驗(yàn)和方法一下,今天終于動(dòng)手寫了,呵呵,這是我學(xué)習(xí)單片機(jī)的經(jīng)驗(yàn)、心得、方法。希望對大家學(xué)習(xí)單片機(jī)有所幫助。
經(jīng)常在群、論壇里看到有人問:怎么學(xué)單片機(jī)?也??吹接腥苏f學(xué)了好幾個(gè)月可就是沒有什么進(jìn)展。當(dāng)然,受限于每個(gè)人受到的教育水平不同和個(gè)人理解能力的差異,學(xué)習(xí)起來會(huì)有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。一個(gè)好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機(jī)的經(jīng)歷和方法。
的時(shí)候,因?yàn)橹谱鱢m發(fā)射電路采用了bh1415的芯片,需要用到單片機(jī)控制,所以開始接觸使用單片機(jī),雖然以前讀書時(shí)作為一門功課學(xué)過,不過也快丟荒了了,基本上都忘光了,也算是從頭學(xué)起了吧。我當(dāng)時(shí)是買了一塊實(shí)驗(yàn)板,很簡單的功能,比論壇實(shí)驗(yàn)板還要少功能,還有一個(gè)仿真器,也是比較簡單的,sst芯片的。然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個(gè)程序基本上就抄人家的,翻查了一份快速入門的學(xué)習(xí)資料,()寫下第一個(gè)程序。然后,在仿真機(jī)是單步的看運(yùn)行結(jié)果,從每一步執(zhí)行,都硬件上反應(yīng)出來的效果,很快,對單片機(jī)的運(yùn)作有了一個(gè)非常感性的認(rèn)識,這跟只看書然后自己想象運(yùn)行是完全兩碼事。然后,是進(jìn)一步的其它程序?qū)W習(xí),一個(gè)月時(shí)間,基本上已經(jīng)熟悉了51的各種硬件資源。把流水燈,數(shù)碼管動(dòng)態(tài)掃描,中斷等等的學(xué)習(xí)了,然后就是寫綜合性的程序,也就是我發(fā)在論壇里的時(shí)鐘。通過這個(gè)程序的編寫,使自己的編程水平有了很大的飛躍。之后,就是逐步學(xué)習(xí)編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。在學(xué)過匯編之后,我又轉(zhuǎn)到了c語言學(xué)習(xí),因?yàn)橐郧皼]有學(xué)習(xí)過c語言,一切都很陌生,所以自己沿用了學(xué)習(xí)匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時(shí)鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實(shí)現(xiàn)了從匯編編程為主到c編程為主的轉(zhuǎn)變。然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風(fēng)格,一直到現(xiàn)在,基本上就是c語言編程,匯編已經(jīng)是作為調(diào)試程序的輔助。
下面我概括了幾點(diǎn)我的學(xué)習(xí)經(jīng)驗(yàn)和:
1、萬事開頭難、要勇敢邁出第一步。開始的時(shí)候,不要老是給自己找借口,說keil不會(huì)建項(xiàng)目啦、沒有實(shí)驗(yàn)板啦之類的。遇到困難要一件件攻克,不會(huì)建項(xiàng)目,就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個(gè)最簡單的,讓它運(yùn)行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會(huì)差多少,總得建個(gè)項(xiàng)目,再配置一下項(xiàng)目,然后建個(gè)程序,加入項(xiàng)目中,再寫代碼、編譯、生成hex,刷進(jìn)單片機(jī)中、運(yùn)行。必須熟悉這一套工序。個(gè)人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運(yùn)行一下看結(jié)果,學(xué)習(xí)效果會(huì)好很多,仿真器就看個(gè)人需要了。單片機(jī)是注重理論和實(shí)踐的,光看書不動(dòng)手,是學(xué)不會(huì)的。
2、知識點(diǎn)用到才學(xué),不用的暫時(shí)丟一邊。厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計(jì)也快忘光了,所以,最好結(jié)合實(shí)際程序,用到的時(shí)候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點(diǎn)一小點(diǎn)的啃。
3、程序不要光看不寫,一定要自己寫一次。最開始的時(shí)候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達(dá)到什么目的,運(yùn)行后有什么后果,看明白了之后,就要自己寫一次,你會(huì)發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時(shí)候卻一句也寫不出來,這就是差距……當(dāng)你自己能寫出來的時(shí)候,說明你就真的懂了。
4、必須學(xué)會(huì)掌握調(diào)試程序的方法。不少人寫程序,把代碼寫好了,然后一運(yùn)行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個(gè)帖子,把程序一貼,問:為什么我的程序不能正常運(yùn)行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會(huì)發(fā)現(xiàn)問題和學(xué)會(huì)如何解決問題。這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點(diǎn)啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運(yùn)行結(jié)果和你想象中不一樣的時(shí)候,你可以單步,也可以下斷點(diǎn),然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運(yùn)行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個(gè)過程非常重要,通過程序的排錯(cuò),你可以學(xué)到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。我們用單片機(jī)來控制周邊器件,達(dá)到我們想到的目的,這是一個(gè)題目,而如何寫出一個(gè)程序,來控制器件按你想要的結(jié)果去運(yùn)作,這個(gè)就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會(huì)找出這個(gè)解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時(shí)候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人,所以現(xiàn)在我也明白了,以前讀書時(shí)說的程序流程圖很重要,現(xiàn)在算是知道了。當(dāng)你知道一個(gè)問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。舉個(gè)例子:數(shù)碼管動(dòng)態(tài)掃描,沒寫過的初學(xué)者可能搞不清是怎么回事,其實(shí),就是分時(shí)讓每一時(shí)間段時(shí)只控制一只數(shù)碼管顯示數(shù)字,幾只數(shù)碼管輪流顯示,由于速度很快,人眼的看起來是全部數(shù)碼管都亮的。明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數(shù)碼管輪流顯示出相應(yīng)的數(shù)值。顯示數(shù)字,然后延時(shí)一下,再下一只顯示數(shù)字,延時(shí),知道是這樣,我們實(shí)際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時(shí)一下,再關(guān)閉位選,再送出段碼,再打開另一只位選僅此而已。有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動(dòng)態(tài)掃描的原理都沒懂,不知道如何做,那么這個(gè)程序是怎么也寫不出來的。
6、開動(dòng)腦筋,運(yùn)用多種方法,不斷優(yōu)化自己的程序。想想用各種不同方法來實(shí)現(xiàn)同一功能。這是一個(gè)練習(xí)和提高的過程,一個(gè)問題,你解決了,那么你再想想,能不能換種寫法,也可以實(shí)現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點(diǎn),讓程序執(zhí)行效率更高,這個(gè)過程,就是一個(gè)進(jìn)步的過程。很多知識和經(jīng)驗(yàn)的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實(shí)踐,開動(dòng)腦筋,經(jīng)驗(yàn)才能得到積累,編程水平才能有所提高。
7、看別人的代碼,學(xué)習(xí)人家的思路。這個(gè)在學(xué)習(xí)初期是很有用,通過看別人的代碼,特別是有多年編程經(jīng)驗(yàn)的人寫出的具有一定水平的代碼,可以使自己編程水平得到迅速的提高,同時(shí),也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的代碼,從中得到進(jìn)步。但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會(huì)了,這樣做只會(huì)使你退步。
8、嘗試編寫一下綜合應(yīng)用的程序。從流水燈學(xué)起,到動(dòng)態(tài)掃描,再到中斷,那么,你可以試試寫一下時(shí)鐘這種綜合性應(yīng)用的程序,不要小看時(shí)鐘,要寫好它不是一件容易的事情,它包括了單片機(jī)大部分的知識,比如有按鍵(io讀?。?dòng)態(tài)掃描(io輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨(dú)寫一個(gè)功能的時(shí)候,比如按鍵讀取,你可能感覺很容易,因?yàn)槟愕某绦蛏兑膊蛔?,只是讀按鍵。但把它和其它功能混合在一起,如何在整個(gè)程序運(yùn)行中使每一部分都正常工作,這就不是寫一個(gè)按鍵讀取這么容易的事情,功能模塊之間有可能會(huì)互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個(gè)協(xié)調(diào)過程。當(dāng)你有了這個(gè)處理協(xié)調(diào)能力,你就算是入門了。
9、著重于培養(yǎng)解決問題的能力,而不是具體看自己編寫了多少代碼或者做過什么。“學(xué)單片機(jī)重點(diǎn)在于學(xué)習(xí)解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學(xué)單片機(jī)多年來感悟出來的。經(jīng)??吹接腥苏f“你會(huì)驅(qū)動(dòng)xx芯片,真牛啊”“你搞過xx項(xiàng)目,真厲害”之類的話,其實(shí)這是非常片面的,搞過xx芯片,搞過xx項(xiàng)目,只能說明你做過這一項(xiàng)目,它只是你的業(yè)績,并不是代表能力就一定高。真正的能力應(yīng)該是:“遇到?jīng)]有解決過的問題或器件,能利用自己已學(xué)的知識,迅速找到解決問題的方法?!边@個(gè)才是能力。寫程序的過程就是一個(gè)創(chuàng)造的過程,幾乎沒有完全一樣的項(xiàng)目,每次你遇上的幾乎都不相同,所以你擁有的必須是你面對新項(xiàng)目時(shí)的創(chuàng)造能力,而不是標(biāo)榜著你以往做過多少項(xiàng)目。當(dāng)然,業(yè)績也能從另一側(cè)面反映你的經(jīng)驗(yàn)和水平。
10、如果有可能,多學(xué)習(xí)計(jì)算機(jī)專業(yè)的知識,比如數(shù)據(jù)結(jié)構(gòu)等。這些是你解決問題的基礎(chǔ)知識,你把這些知識應(yīng)用得越好,就會(huì)發(fā)現(xiàn)越容易找到解決問題的方法,這就是為什么一個(gè)學(xué)計(jì)算機(jī)專業(yè)的人編的程序和一個(gè)非計(jì)算機(jī)專業(yè)的人編的程序有差異的原因。也是一個(gè)菜鳥進(jìn)軍到高手所要配備的知識。如果我們把編程分為宏觀編程和微觀編程,那么微觀編程就是寫具體的代碼,比如控制某某器件的語句;而宏觀編程就是如何對整個(gè)程序進(jìn)行布局、安排,使功能模塊以你想要的方式去運(yùn)行,得出你想要的結(jié)果。如前所說“會(huì)控制xx器件”這些只能算是微觀編程,能做到這一步還只能算是菜鳥級別,如果面對一個(gè)新的器件,你心里沒底,沒把握去寫這個(gè)控制程序,那說明你還是一個(gè)初級的菜鳥。當(dāng)你有了一定的編程經(jīng)驗(yàn),控制過相當(dāng)數(shù)量的器件之后,你就會(huì)發(fā)現(xiàn),控制器件這些工作都是相似的、重復(fù)的工作,體現(xiàn)不出編程的水平,最多也是寫得好與不好的差別,只能算是一些小技巧的應(yīng)用。而對整個(gè)程序進(jìn)行布局、安排這些才是最頭痛的事情,能達(dá)到宏觀編程和微觀編程都做好才是真正的高手。對于規(guī)模越大的程序,越能體現(xiàn)出這一點(diǎn)。
11、面對一個(gè)新項(xiàng)目時(shí),多自己開動(dòng)腦筋,不要急于找別人的程序。有不少人面對一個(gè)新項(xiàng)目時(shí),第一步想到的就是網(wǎng)上找別人寫過的代碼,然后抄一段,自己再寫幾句,湊在一起就完成任務(wù),這雖然可能是省時(shí)間,但絕對不利你的學(xué)習(xí)。當(dāng)你接到一個(gè)新項(xiàng)目時(shí),應(yīng)該先自己構(gòu)思一下整個(gè)程序的架構(gòu),想想如何來完成,有可能的話,畫一個(gè)流程圖,簡單的可以畫在腦子里,對程序中用到的數(shù)據(jù)、變量有一個(gè)初步的安排,然后自己動(dòng)手去寫,遇到實(shí)在沒辦法解決的地方,再去請教別人,或看別人是怎么處理的,這樣首先起碼你自己動(dòng)過腦想過,自己有自己的`思路,如果你一開始就看別人的程序,你的思維就會(huì)受限在別人的思維里,自己想再創(chuàng)新就更難了,這樣你自己永遠(yuǎn)也沒辦法提高,因?yàn)槟闶亲咴趧e人的影子里。
12、多利用網(wǎng)絡(luò)的搜索,學(xué)會(huì)提問題。一般來說,學(xué)習(xí)過程中,你遇上的問題,前人們多數(shù)也有遇上的,所以如果有什么不懂,在自己解決不了的時(shí)候,最好先到網(wǎng)上搜索一下,看能不能找到答案,找不到再到論壇里發(fā)問,發(fā)問也要有目的性,盡量簡單明了的描述問題,讓幫助你的人可以用最少的時(shí)間就看懂你說什么,畢竟人家?guī)椭闶敲赓M(fèi)的,時(shí)間也是有限的。
以上就是我學(xué)習(xí)單片機(jī)的經(jīng)歷和心得體會(huì),希望對大家會(huì)有幫助,說得有不好或不對的地方歡迎大家批評指正。
時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目。其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢?,做起設(shè)計(jì)就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計(jì)算起來在實(shí)驗(yàn)室的時(shí)間只有三天,不過因?yàn)槲覀兌加凶约旱膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間一定不止三天。
硬件的設(shè)計(jì)跟焊接都要我們自己動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。()第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會(huì)就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對應(yīng)該是嚴(yán)謹(jǐn)。我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設(shè)計(jì)過程中我鍛煉了自己的思考能力和動(dòng)手能力。通過題目選擇和設(shè)計(jì)電路的過程中,加強(qiáng)了我思考問題的完整性和實(shí)際生活聯(lián)系的可行性。在方案設(shè)計(jì)選擇和芯片的選擇上,培養(yǎng)了我們綜合應(yīng)用單片機(jī)的能力,對單片機(jī)的各個(gè)管腳的功能也有了進(jìn)一步的認(rèn)識。還鍛煉我們個(gè)人的查閱技術(shù)資料的能力,動(dòng)手能力,發(fā)現(xiàn)問題,解決問題的能力。并且我們熟練掌握了有關(guān)器件的性能及測試方法。
再次感謝老師的輔導(dǎo)以及同學(xué)的幫助,是他們讓我有了一個(gè)更好的認(rèn)識,無論是學(xué)習(xí)還是生活,生活是實(shí)在的,要踏實(shí)走路。課程設(shè)計(jì)時(shí)間雖然很短,但我學(xué)習(xí)了很多的東西,使我眼界打開,感受頗深。
單片機(jī)心得篇九
我從大二起,就去實(shí)驗(yàn)室去學(xué)習(xí)。在那里與老師和一些電子設(shè)計(jì)愛好者的交流中,我學(xué)到了更多的專業(yè)知識。我從此走上了學(xué)習(xí)嵌入式的道路。這豐富了我的大學(xué)生活,是我在大學(xué)的最大收獲。
我是從學(xué)習(xí)單片機(jī)開始我的嵌入式學(xué)習(xí)的。
我接觸單片機(jī)的方式是在圖書館看書,我看了很多本書,但是大多數(shù)書寫的大同小異。書里面講解的單片機(jī)的寄存器我看了很多遍也沒有看懂。我都不明白改怎樣學(xué)習(xí)它了。慢慢的我悟出了一個(gè)道理:電子的學(xué)習(xí)實(shí)踐是最重要的,這樣,我在大二的時(shí)候就買了一塊學(xué)習(xí)板,我一邊看視頻一邊仿照視頻的程序,自己編寫程序,在很短的時(shí)間里,我的單片機(jī)有了很大的提高。那些難懂的寄存器透過編寫程序,我慢慢的弄懂了它們,此刻回頭看去,原先它還是很簡單的。
用哪種編程語言最適合我們。
我看過的單片機(jī)的書籍,大部分的程序都是匯編寫的。它是一種基于機(jī)器硬件的低級語言,對于我們這些只學(xué)習(xí)過c語言的人來說,十分難懂。我認(rèn)為剛開始學(xué)習(xí)單片機(jī)沒有必要必須要從學(xué)習(xí)匯編編程開始。我學(xué)習(xí)單片機(jī)就是用c語言編程的,我并不會(huì)匯編語言,也沒有妨礙我把單片機(jī)學(xué)好。
很多人說,學(xué)單片機(jī)最好先學(xué)匯編語言,以我的經(jīng)驗(yàn)告訴大家,絕對沒有這個(gè)必要,初學(xué)者一開始就直接用c語言為單片機(jī)編程,既省時(shí)間,學(xué)起來又容易,進(jìn)步速度會(huì)很快。在剛開始學(xué)單片機(jī)的時(shí)候,千萬不要為了解單片機(jī)內(nèi)部結(jié)構(gòu)而浪費(fèi)時(shí)間,這樣只能打擊你的信心,當(dāng)你學(xué)會(huì)編程后,自然一步步就掌握其內(nèi)部結(jié)構(gòu)了。
單片機(jī)提高重在實(shí)踐,想要學(xué)好單片機(jī),軟件編程必不可少。但是熟悉硬件對于學(xué)好單片機(jī)的也是十分重要的。如何學(xué)習(xí)好硬件,動(dòng)手實(shí)踐是必不可少的。我們能夠透過自己動(dòng)手做一個(gè)自己的電子制作,透過完成它,以提高我的對一些芯片的了解和熟練運(yùn)用它。這樣我們就能夠多一些了解芯片的結(jié)構(gòu)。我相信,你完成了一個(gè)屬于自己的電子制作,你的單片機(jī)水平就會(huì)有一個(gè)質(zhì)的提高。
這就是我學(xué)習(xí)單片機(jī)的心得體會(huì),期望給單片機(jī)的愛好者學(xué)好單片機(jī)有所幫忙。
熟悉單片機(jī)的人都明白,要學(xué)好單片機(jī)可不是一件容易的事,倒不是因?yàn)閱纹瑱C(jī)很難學(xué),而是很難找到一本專為單片機(jī)入門者而編寫的教材。翻一下身邊的單片機(jī)教材,都好像是為已經(jīng)懂單片機(jī)的人而寫的,一般先介紹單片機(jī)的硬件結(jié)構(gòu)和指令系統(tǒng),再是系統(tǒng)擴(kuò)展和外圍器件,順便講一些應(yīng)用設(shè)計(jì)(隨便說一下,很多書中的電路設(shè)計(jì)已經(jīng)過時(shí),并且有些程序還是錯(cuò)誤的)。如果按照此種學(xué)習(xí)方法,想進(jìn)行產(chǎn)品開發(fā),就務(wù)必先把所有的知識全部掌握了才能夠進(jìn)行實(shí)際應(yīng)用。學(xué)習(xí)使用單片機(jī)只能靠循序漸進(jìn)的積累,下面就本人學(xué)習(xí)單片機(jī)的過程和經(jīng)驗(yàn)做簡要介紹。
首先,學(xué)習(xí)單片機(jī)要有必須的基礎(chǔ):電子技術(shù)方面要有數(shù)字電路和模擬電路等方面的理論基礎(chǔ),個(gè)性是數(shù)字電路;編程語言要求匯編語言或c語言。要想成為單片機(jī)高手,推薦初學(xué)者首先學(xué)習(xí)匯編語言,學(xué)的差不多的時(shí)候,轉(zhuǎn)入c語言學(xué)習(xí)。盡管匯編語言屬于低級語言,編程效率低,但是較c語言具有目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快等優(yōu)點(diǎn),更重要的是能使初學(xué)者盡快熟悉單片機(jī)的內(nèi)部結(jié)構(gòu),并能對其進(jìn)行精確的控制。匯編語言在單片機(jī)教材里面都會(huì)涉及,不需要單獨(dú)購買教材和學(xué)習(xí)。c語言是一門學(xué)問,有很多專業(yè)書籍來講解,并且對我們今后的編程生涯有絕對的好處,因此要深入學(xué)習(xí),千萬不要自以為看了某某的視頻教程就以為掌握了c語言,那只是c語言的一部分。在那里給大家推薦一本單片機(jī)c語言程序設(shè)計(jì)參考書,馬忠梅等著,北京航空航天大學(xué)出版社出版的《單片機(jī)的c語言應(yīng)用程序設(shè)計(jì)》,要求c語言基礎(chǔ)。如果沒學(xué)過c語言,推薦學(xué)習(xí)清華大學(xué)譚浩強(qiáng)編寫的c語言程序設(shè)計(jì),這本書寫的不錯(cuò),通俗易懂。
其次,是單片機(jī)教材選取。單片機(jī)是一門十分重視實(shí)踐的技術(shù),不能總是看書,但要學(xué)習(xí)它首先應(yīng)看書,對單片機(jī)引腳、內(nèi)部結(jié)構(gòu)、寄存器和原理有必須地了解和感官認(rèn)識,它的是怎樣工作的,能干些什么?剛開始時(shí),也許你看不明白,但這并不要緊,因?yàn)槟氵€缺乏實(shí)踐經(jīng)驗(yàn)。此刻單片機(jī)應(yīng)用廣泛,因此各個(gè)廠家分別推出了自己的單片機(jī),按內(nèi)部結(jié)構(gòu)體系派系分:51系列、pic系列、avr系列、摩托羅拉等等……我們沒必要每樣都學(xué)!因?yàn)樗麄兊木幊谭椒ê驼{(diào)試過程以及內(nèi)部指令結(jié)構(gòu)有必須的相似,只要學(xué)精通一款就ok了!尤其是用c語言編程,就幾乎不用分什么派系,但是我們要選取一款有代表性的知識范圍廣,并且入門容易,書籍多。一般來說,mcs-51系列單片機(jī)已經(jīng)得到廣泛的普及和應(yīng)用,市場上它的資料也比較多,用的人也很多。給大家推薦一些參考書,學(xué)習(xí)時(shí)只需要一本就足夠拉。書名:《新編mcs-51單片機(jī)應(yīng)用設(shè)計(jì)》,哈爾濱工業(yè)大學(xué)出版,作者:張毅剛;書名:《單片機(jī)原理及應(yīng)用》,高等教育出版社,作者:張毅剛等;書名:《單片機(jī)高級教程:應(yīng)用與設(shè)計(jì)》,北京航空航天大學(xué)出版社,作者:何立民。相關(guān)教材還有很多,在這不一一列舉。
定某個(gè)實(shí)驗(yàn),就恭維的告訴你一聲”恭喜你,學(xué)會(huì)了”自己學(xué)會(huì)了單片機(jī),這有點(diǎn)可笑,這只能說明你算過關(guān)了,對單片機(jī)有了必須了解和會(huì)使用它了。但是單片機(jī)能完成的功能太多了,尤其是對外圍器件的控制,綜合起來能設(shè)計(jì)出許多意想不到的產(chǎn)品.因此除了入門外,精通可千萬別輕易說出口。
最后,在熟練掌握和應(yīng)用后,那能夠說對于單片機(jī)方面的硬件你已經(jīng)入門了,剩下的就是自己練習(xí)設(shè)計(jì)電路,不斷的積累經(jīng)驗(yàn)。最終,自己完全設(shè)計(jì)具有個(gè)人風(fēng)格的電路,產(chǎn)品,這樣你就是單片機(jī)高手拉。只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。時(shí)下多家電子類的報(bào)刊雜志如:《電子制作》《無線電》《電子報(bào)》《電子世界》都開設(shè)了詳細(xì)的單片機(jī)教程專欄,對于想學(xué)習(xí)單片機(jī)的朋友來說幫忙很大,能夠說此刻的單片機(jī)教程環(huán)境是最好的,有網(wǎng)絡(luò),有書籍,有報(bào)刊雜志,還有視頻教程,元件的采購方面也十分充足,相關(guān)的器材又多有便宜。如果每一天能抽出兩小時(shí)的時(shí)間去學(xué)習(xí),快的一個(gè)月,慢的三個(gè)月就入門拉。
以下是一些經(jīng)驗(yàn):
(1)學(xué)習(xí)單片機(jī)沒有捷徑,別指望兩三天就學(xué)會(huì),要堅(jiān)持不懈,重在積累。
(2)別崇拜高手,別相信天才,大部分人都不是天才(相信你也不是)!
(3)單片機(jī)是一門應(yīng)用性和實(shí)踐性很強(qiáng)的學(xué)科,要多動(dòng)手,多做實(shí)驗(yàn)。
(4)要學(xué)會(huì)參考別人的程序,減少自己琢磨的時(shí)間,迅速提高自己的編程潛力。
(5)碰到問題能夠借助網(wǎng)絡(luò)來搜尋答案和對自己有幫忙的問題,能夠大大減少你的開發(fā)時(shí)間。
(6)要多交一些朋友,多交流。技術(shù)是靠不斷的積累和交流才會(huì)進(jìn)步的,封閉自守只會(huì)更加落后。
期望大家多上網(wǎng)看看前輩的經(jīng)驗(yàn),能夠少走很多彎路。最后,祝愿大家早日成為單片機(jī)高手。
學(xué)了一年多的單片機(jī),對單片機(jī)也有了一個(gè)基礎(chǔ)的了解。在這一年里,我學(xué)了ds18b20、128*64大液晶、數(shù)碼管顯示等。從最初的跑馬燈,到整體融合,經(jīng)歷了一段時(shí)間。單片機(jī)只有p0,p1,p2,p3,如果想把很多功能合在一齊的話,就得復(fù)用,或著用到擴(kuò)展,但是那個(gè)擴(kuò)展模塊不好用,寫起程序來會(huì)比較麻煩,其實(shí)復(fù)用好的話,基本io口都夠用!
學(xué)習(xí)的時(shí)候總是難免碰到一些問題!但是我的總結(jié)是:沒關(guān)系,邊做邊想!或著講瞎搞!不搞肯定不明白,搞了才會(huì)懂!過去的一些問題在此刻看來都是小case,什么定時(shí)器賦值啊,定時(shí)器的使用類型(模式0,模式1,模式2),當(dāng)時(shí)就自己在那里看書理解,一大堆的文字在那里,看了很久也不懂!但是之后我懂得了上網(wǎng)找視頻教程!剛開始的時(shí)候也總是想為什么這么做,為什么這么做,為什么這么做,一堆的為什么。此刻懂了,做多了,就覺得要這樣做,要這樣做,就是這么做的,沒錯(cuò)!不會(huì)的時(shí)候想著,反正會(huì)弄懂的,多試試!
要相信熟能生巧,想想學(xué)習(xí)的時(shí)候,和此刻的程度,不是在一個(gè)檔次的!熟悉了操作,一些疑惑也會(huì)雖之解開!
我最初開始學(xué)單片機(jī)是因?yàn)槲蚁矚g編程,我覺得編程是一件樂趣的事!或著說享受技術(shù)帶來的快樂!我此刻懂得了有各門各樣的語言,c語言是其中一種,還有更底程的匯編語言,java之類的高級語言,這些我都很喜歡!它們各有各自的好處和用處!而且我不想只會(huì)一門語言,所以我要慢慢地學(xué)習(xí)各種自己喜歡的語言!
在學(xué)習(xí)的過程中遇到麻煩或著問題,已經(jīng)習(xí)以為長了!遇到問題也不會(huì)焦慮,想的是該怎樣解決!水平也是在不斷解決問題中提高的,有這一點(diǎn)體會(huì)!其實(shí)初學(xué)單片機(jī),碰到問題總是新的知識而已,因?yàn)閱纹瑱C(jī)很簡單,也不用很懂電路原理,明白什么時(shí)候給0,什么時(shí)候給1,其它的就交給硬件去處理。
我也不單單只想有關(guān)單片機(jī)的程序單片機(jī)功能簡單,一向?qū)憜纹瑱C(jī)也會(huì)變得呆板的(這期間就一向?qū)憜纹瑱C(jī)的程序,不寫其它思考性的編程),至少我是這么覺得.因?yàn)閷憜纹瑱C(jī)的程序一段時(shí)間后,我發(fā)現(xiàn)我的思路有點(diǎn)僵在單片機(jī)的思路上,自己想寫一寫其它的程序,不是單片機(jī)的,是c語言的一些有關(guān)數(shù)學(xué)計(jì)算(類似應(yīng)用題的那種),寫的時(shí)候卻想的寫單片機(jī)的感覺,有點(diǎn)難以集中到此刻要解決的問題!
在學(xué)校學(xué)習(xí)期間我有幸的參加了學(xué)校的單片機(jī)學(xué)習(xí)小組,在小組里我了解了什么是單片機(jī),單片機(jī)有哪些用途,利用單片機(jī)能夠?qū)崿F(xiàn)哪些功能來方便人們的生活如交通燈,時(shí)鐘,還有手機(jī)中,電子玩具等等,它們里面都有單片機(jī)的存在來實(shí)現(xiàn)某種功能。透過在單片機(jī)小組里的學(xué)習(xí)我簡單總結(jié)了幾點(diǎn)心得和體會(huì):
第一:萬事開頭難,要勇敢的邁出第一步,不要總找借口說沒有學(xué)習(xí)過就總推脫。凡事都有第一步能夠先可簡單的來,然后能夠逐步的向深層次學(xué)習(xí)。能夠從建項(xiàng)目開始,然后能夠找一個(gè)簡單的小程序先把它敲進(jìn)單片機(jī)內(nèi)然他運(yùn)行起來,感覺一下單片機(jī)的運(yùn)行,讓自己了解單片機(jī)整個(gè)運(yùn)行。
第二:對于知識點(diǎn),學(xué)過的要掌握牢固,對于沒有學(xué)的和暫時(shí)用不到的先不用學(xué)習(xí)。比如:小燈得點(diǎn)亮就沒有用到中斷能夠先不用看。這樣能夠避免知識過多記不住的麻煩。對于程序那里的知識點(diǎn)不能只停留在理論層次上,必須要結(jié)合著程序進(jìn)行學(xué)習(xí)這樣才能掌握的很牢靠,當(dāng)用到哪里的知識點(diǎn)不記得了能夠去看書,對于用不到的能夠不去看。
第三:程序不要只是看別人得,必須要自己寫過才是自己的。開始不懂能夠參考別人的,看看每一句代表著什么意思,能夠?qū)崿F(xiàn)什么現(xiàn)象。明白之后自己再重新寫一遍,你會(huì)發(fā)現(xiàn)看別人的能懂到自己寫的時(shí)候很困難。當(dāng)你自己能寫出來的時(shí)候說明你真懂了。
第四:必須要學(xué)會(huì)程序調(diào)試的方法。有時(shí)候把程序?qū)懲炅巳缓筮\(yùn)行時(shí)不能實(shí)現(xiàn)理想的現(xiàn)象。這時(shí)有人就暈了不知該怎樣辦,然后就去問別人。當(dāng)別人找出問題出在哪里時(shí)就會(huì)恍然大悟。其實(shí)當(dāng)遇到問題必須要自己嘗試著解決,不能遇到問題就去問別人。自己必須要掌握解決問的方法和思路。
第五:在學(xué)習(xí)初期看別人的代碼,學(xué)習(xí)別人的思路這個(gè)很有用。透過看別人的代碼個(gè)性是有多年編程經(jīng)驗(yàn)的人的程序,能夠迅速提高自己的編程水平。也能夠結(jié)合著別人的手法,與自己的想法結(jié)合在一齊寫出更好的程序。但是切記將學(xué)習(xí)變成抄襲,不能認(rèn)為抄襲別人的你就學(xué)會(huì)了,這樣只能使你退步。第六:應(yīng)對一個(gè)新項(xiàng)目時(shí),自己必須要多想想,不要急著去看別人是怎樣寫的。有的人看到新項(xiàng)目時(shí)就去找別人的然后抄一小段,自己在寫幾句,放在一齊完成任務(wù),雖然省時(shí)間但不利你的學(xué)習(xí)。當(dāng)你遇到一新項(xiàng)目時(shí)你就應(yīng)先想一下程序的構(gòu)架,想想如何來完成。然后自己動(dòng)手去寫,當(dāng)你遇到實(shí)在是沒辦法解決的問題時(shí)再去請教別人,看他是怎樣處理的,學(xué)習(xí)他的方法。這樣起碼你自己想過了,有自己的思路不會(huì)受到別人的影響,這樣更容易提高自己。
在單片機(jī)的學(xué)習(xí)開始時(shí)感覺很吃力,在不斷的學(xué)習(xí)過程中慢慢的對單片機(jī)產(chǎn)生了些好感,而且在編寫程序過程中吃力的感覺慢慢的淡了。在這其中基礎(chǔ)知識掌握牢固是十分重要的,然后在學(xué)習(xí)過程中要學(xué)會(huì)提問題和自己解決問題,慢慢的對于學(xué)習(xí)單片機(jī)你也會(huì)產(chǎn)興趣。雖然在開始學(xué)習(xí)單片機(jī)時(shí)感覺很青澀,但只要堅(jiān)定自己的學(xué)習(xí)信心,在付出持之以恒的努力,我相信自己能進(jìn)一步加深對單片機(jī)的了解,在單片機(jī)的學(xué)習(xí)道路上走得更遠(yuǎn)!
這是我第一次做單片機(jī)實(shí)驗(yàn),說起來有一些緊張和新奇。在此之前我并沒有接觸過單片機(jī),我本以為與之前的光學(xué)實(shí)驗(yàn)及其它實(shí)驗(yàn)差不多,可我進(jìn)到實(shí)驗(yàn)室之后,我就改變了這個(gè)看法。
單片機(jī)實(shí)驗(yàn)要求的是一種思維的創(chuàng)新,而不是簡單的重復(fù)老師所說的實(shí)驗(yàn)步驟。因此第一次實(shí)驗(yàn),實(shí)驗(yàn)老師向我們講解了cvavr編譯器的大體狀況及使用方法和技巧,并簡單的向我們示例——如何在cvavr中編寫一段程序。編完程序之后,明白我們?nèi)绾问褂胊vrstudio到達(dá)將編好的程序輸入到單片機(jī)中來使其運(yùn)行。
之后老師讓我們以組為單位合作編寫一段程序,并使其運(yùn)行。我們組想要編寫一個(gè)跑馬燈的程序。在第一次運(yùn)行cvavr時(shí),我們組就遇到了一個(gè)麻煩,我們在建立一個(gè)新project文件那里出現(xiàn)了錯(cuò)誤。在保存這個(gè)新project文件的時(shí)候,我們單擊了save,而不是generate,saveandexit.因此它彈不出我們我們所需要的源程序。之后我們透過詢問其他人解決了這個(gè)問題。在編程中,我們開始做的是兩盞燈的交替閃爍,間隔時(shí)間是1000ms。在運(yùn)用avrstudio的時(shí)候,我們又犯了一個(gè)錯(cuò)誤。在我們打開編譯好的工程文件時(shí),開始調(diào)試,在最后一步點(diǎn)擊finish時(shí),彈出一對話框,問我們是否更新,然后我們單擊了yes。這導(dǎo)致了仿真器無法下次使用。這是由于實(shí)驗(yàn)室中的仿真器是盜版的,無法進(jìn)行更新。
經(jīng)過我們的不斷努力,我們最后實(shí)現(xiàn)了簡單的跑馬燈的運(yùn)行,便是兩個(gè)燈地交替閃爍。我們感到興奮極了。但是我們并沒有滿足于當(dāng)前,我們又編寫了三個(gè)燈地交替閃爍,四個(gè)及多個(gè)。當(dāng)我們一步步實(shí)現(xiàn)我們的目的時(shí),我得到莫大成就感和自信。
在這次實(shí)驗(yàn)中,我體會(huì)到了合作的重要性。一個(gè)人也可能實(shí)現(xiàn)這一系列的過程,但是要花費(fèi)很多精力和時(shí)間。群策群力,分工明確,能夠使我們更好、更快地完成我們的工作。在此期間,你能夠更好明白自己的不足和缺陷,來得到改正。還能夠明白自己的優(yōu)勢所在,把握好自己的優(yōu)勢。
以上便是我做這次實(shí)驗(yàn)的心得體會(huì)。
因?yàn)闇?zhǔn)備參加全國大學(xué)生電子設(shè)計(jì)大賽,所以自學(xué)了一下51單片機(jī),把所有零零散散的時(shí)間加起來,學(xué)了有十天左右吧,此刻能夠解決一些問題了,學(xué)了這么一段時(shí)間,覺得單純的應(yīng)用51單片機(jī),還是很簡單的,但是這要建立在必須的c語言編程潛力的基礎(chǔ)之上的(我用的是c語言編程,不是匯編),最重要的是要先弄清楚單片機(jī)的中斷,定時(shí)器的原理以及一些常用的模塊,像4*4矩陣鍵盤,12864圖形液晶的顯示,ad/da等這些模塊的應(yīng)用,一般的問題是能夠解決的,還有一點(diǎn)就是要先能夠讀懂別人寫的程序,然后自己再去寫一些程序,自己動(dòng)手寫程序是很重要的,在寫的過程中你才能夠發(fā)現(xiàn)自己的問題,主要是細(xì)節(jié)的問題,比如說timer定時(shí)器的初始化過程,圖形液晶的忙檢測和初始化過程,這些都是很模塊化的過程。只有自己寫一下才會(huì)有一個(gè)深入的理解。
另外,在單片機(jī)的應(yīng)用中,必須要先弄清楚電路的原理,然后再此基礎(chǔ)上來設(shè)計(jì)程序,優(yōu)化程序,最終實(shí)現(xiàn)功能。
我學(xué)習(xí)單片機(jī)的思路是:
一、學(xué)好c語言。
三、看懂別人的程序。
四、自己動(dòng)手實(shí)踐,哪怕只是仿真。
時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目。其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢?,做起設(shè)計(jì)就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計(jì)算起來在實(shí)驗(yàn)室的時(shí)間只有三天,但是因?yàn)槲覀兌加凶约旱膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間必須不止三天。
硬件的設(shè)計(jì)跟焊接都要我們自己動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會(huì)就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對就應(yīng)是嚴(yán)謹(jǐn)。我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設(shè)計(jì)過程中我鍛煉了自己的思考潛力和動(dòng)手潛力。透過題目選取和設(shè)計(jì)電路的過程中,加強(qiáng)了我思考問題的完整性和實(shí)際生活聯(lián)系的可行性。在。
方案。
設(shè)計(jì)選取和芯片的選取上,培養(yǎng)了我們綜合應(yīng)用單片機(jī)的潛力,對單片機(jī)的各個(gè)管腳的功能也有了進(jìn)一步的認(rèn)識。還鍛煉我們個(gè)人的查閱技術(shù)資料的潛力,動(dòng)手潛力,發(fā)現(xiàn)問題,解決問題的潛力。并且我們熟練掌握了有關(guān)器件的性能及測試方法。
再次感謝老師的輔導(dǎo)以及同學(xué)的幫忙,是他們讓我有了一個(gè)更好的認(rèn)識,無論是學(xué)習(xí)還是生活,生活是實(shí)在的,要踏實(shí)走路。課程設(shè)計(jì)時(shí)間雖然很短,但我學(xué)習(xí)了很多的東西,使我眼界打開,感受頗深。
我來說說我學(xué)單片機(jī)的一些收獲吧,也給想學(xué)的人帶給點(diǎn)意見,我的入門課程是學(xué)習(xí)了郭天祥的視頻,《十天交你學(xué)會(huì)單片機(jī)》,的確還是不錯(cuò)的,大家能夠在電驢上下載,當(dāng)然十天的學(xué)習(xí)只是個(gè)入門,如果有開發(fā)板的話就跟著他的視頻學(xué)習(xí),沒有的話能夠用仿真實(shí)現(xiàn)一些功能,我用的是proteus。因?yàn)楫?dāng)時(shí)我的寢室中有已經(jīng)學(xué)了兩年的哥們,他給我講了一下開發(fā)板的原理圖,使我看那些連線不至于很亂,自己也就覺得清晰多了。還有一個(gè)學(xué)長,也是我的老鄉(xiāng),他給我后期的學(xué)習(xí)帶給了很大的幫忙,他當(dāng)時(shí)給我們上課,而我已經(jīng)有了必須的基礎(chǔ)了,所以就感覺個(gè)性順。之后他把我?guī)нM(jìn)了實(shí)驗(yàn)室,讓我有了一個(gè)很好的學(xué)習(xí)環(huán)境,所以很快就掌握了單片機(jī)的基礎(chǔ)知識。在那里我感謝他們給我的幫忙。
其實(shí)我覺得單片機(jī)入門是挺簡單的,有必須的數(shù)電和模電知識后,再借一本講單片機(jī)原理的書就很快上手了,在開始的時(shí)候,最好自己動(dòng)手編程序,或者看著別人的程序,看懂之后再寫一遍,尤其一些很簡單的,流水燈,數(shù)碼管,按鍵檢測,中斷應(yīng)用等,當(dāng)自己覺得這些都掌握的差不多時(shí),就主要看別人的程序,給大家推薦一本好書,單片機(jī)c語言程序設(shè)計(jì)100例,個(gè)人感覺不錯(cuò),里面有很多程序,程序能夠在網(wǎng)上搜到。
此刻就能夠做些東西了,開始學(xué)習(xí)能夠焊單片機(jī)最小系統(tǒng),在加上簡單的流水燈,數(shù)碼管,就是熟悉一下,之后就能夠?qū)W習(xí)一下autiumdisigner,自己設(shè)計(jì)東西,再做出來就ok了!
時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目。其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢?,做起設(shè)計(jì)就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計(jì)算起來在實(shí)驗(yàn)室的時(shí)間只有三天,但是因?yàn)槲覀兌加凶约旱膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間必須不止三天。
硬件的設(shè)計(jì)跟焊接都要我們自己動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會(huì)就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對就應(yīng)是嚴(yán)謹(jǐn)。我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設(shè)計(jì)過程中我鍛煉了自己的思考潛力和動(dòng)手潛力。透過題目選取和設(shè)計(jì)電路的過程中,加強(qiáng)了我思考問題的完整性和實(shí)際生活聯(lián)系的可行性。在。
方案。
設(shè)計(jì)選取和芯片的選取上,培養(yǎng)了我們綜合應(yīng)用單片機(jī)的潛力,對單片機(jī)的各個(gè)管腳的功能也有了進(jìn)一步的認(rèn)識。還鍛煉我們個(gè)人的查閱技術(shù)資料的潛力,動(dòng)手潛力,發(fā)現(xiàn)問題,解決問題的潛力。并且我們熟練掌握了有關(guān)器件的性能及測試方法。
再次感謝老師的輔導(dǎo)以及同學(xué)的幫忙,是他們讓我有了一個(gè)更好的認(rèn)識,無論是學(xué)習(xí)還是生活,生活是實(shí)在的,要踏實(shí)走路。課程設(shè)計(jì)時(shí)間雖然很短,但我學(xué)習(xí)了很多的東西,使我眼界打開,感受頗深。
最近自己對單片機(jī)個(gè)性的感興趣,因?yàn)榭吹剿芸刂齐姍C(jī)的轉(zhuǎn)動(dòng),自己覺得很神奇,
心得體會(huì)。
就想弄清楚它到底是怎樣做到的?
我看到書上講:單片機(jī)能夠用兩種語言編寫,一種是c語言,另外一種是匯編語言。匯編語言是一種機(jī)器語言,且代碼繁瑣,不易記憶。需要掌握單片機(jī)的內(nèi)部結(jié)構(gòu)和邏輯結(jié)構(gòu),透過看了幾本書讓我了解認(rèn)識到匯編確實(shí)太繁瑣,但是我學(xué)習(xí)過c語言,也參加了全國計(jì)算機(jī)二級考試,覺得自己在一方面具有優(yōu)勢,能很快學(xué)好它。
但是在學(xué)習(xí)中,我才發(fā)現(xiàn)學(xué)習(xí)單片機(jī)不僅僅僅需要軟件的知識,還需要硬件的知識。我買了一個(gè)單片機(jī)在實(shí)踐中就是一個(gè)活生生的例子,沒有相應(yīng)的硬件知識,我連單片機(jī)怎樣和電腦相連都不明白,我為我當(dāng)初的想法感到羞愧。單片機(jī)是一門很好的學(xué)問,需要我去鉆研它。
時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目,其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢?,做起設(shè)計(jì)就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計(jì)算起來在實(shí)驗(yàn)室的時(shí)間只有三天,但是因?yàn)槲覀兌加凶约旱膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間必須不止三天。
硬件的設(shè)計(jì)跟焊接都要我們自己動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大。
心得體會(huì)。
就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對就應(yīng)是嚴(yán)謹(jǐn)。我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
單片機(jī)心得篇十
通過為期一周的單片機(jī)實(shí)訓(xùn),是我們對這門課有了許多新的了解,彌補(bǔ)了在課堂上學(xué)習(xí)的不足。相信這對我們以后的學(xué)習(xí)和工作都會(huì)有很大的幫助。我們一定要在最短的時(shí)間里對這些不足加以改正!
首先,在這次試訓(xùn)中我被單片機(jī)強(qiáng)大的功能所震撼,以前在課堂上完全沒有能理解可編程單片機(jī)的優(yōu)越性。這次通過實(shí)體仿真軟件等輔助軟件的共同效果,是這次試訓(xùn)有了鮮明的活力。換是我們認(rèn)識到這次試訓(xùn)不僅僅是一個(gè)軟件的應(yīng)用,更多的是使我們認(rèn)識到學(xué)習(xí)到很多在課堂上無法得到的東西。特別是protues軟件的功能是我們了解了當(dāng)今開發(fā)系統(tǒng)的新方向,簡直太不可思議啦!
單片機(jī)作為一種最簡單的軟件,與我們的日常生活息息相關(guān),了解一些單片機(jī)程序的簡單錄入是費(fèi)城必要的。如:led顯示器、鍵盤和顯示器的應(yīng)用和原理。
在被刺實(shí)訓(xùn)中我們每個(gè)人通過一個(gè)八位流水燈的制作,使我們深深地體會(huì)到了單片機(jī)在現(xiàn)實(shí)生活中的小小應(yīng)用,既增強(qiáng)了我們的好奇心,又鞏固了我們的理論知識。更讓我們體會(huì)到了單片機(jī)手動(dòng)的開始平臺的完善與成熟。只要你有想法,單片機(jī)就有可能讓他成為現(xiàn)實(shí)。這里我學(xué)習(xí)完protues軟件后的第一感覺是,雖然這軟件工作不穩(wěn)定,但是會(huì)有相當(dāng)不錯(cuò)的效果出來。這對我以后的工作一定會(huì)有幫助的。在這次試訓(xùn)中不僅只對單片機(jī)編程有了新的認(rèn)識,還對整個(gè)單片機(jī)的開發(fā)平臺都有了一廳的了解,這是一筆不錯(cuò)的收獲。
通過這幾天的試訓(xùn),使我的感觸很深,真實(shí)“條條大路通羅馬”,要達(dá)到目的,不同的人就有不同的方法。只要你的方法不錯(cuò)!五花八門都可以,而且是各有特色。走出來的結(jié)果都有各自的獨(dú)到之處。在編程中“簡”字貫穿于整個(gè)程序設(shè)計(jì)中,越簡單越好,畢竟單片機(jī)留給用戶的資源是有限的,所以我們要充分利用這些資源,達(dá)到更好的效果,這些是我們在以后的學(xué)習(xí)生活中應(yīng)值得注意的地方。
在試訓(xùn)中有苦有甜,當(dāng)我們?yōu)橐粋€(gè)很難攻破的程序找出路時(shí),心情煩躁,感覺自己很不可理喻,當(dāng)程序一點(diǎn)一點(diǎn)編好后,自己從心底感覺到一點(diǎn)小小的安慰,看著自己的成果。感覺很欣慰,有一絲絲的甜意,幾天的實(shí)訓(xùn)使自己的思維邏輯也有了小小的進(jìn)步。
單片機(jī)心得篇十一
說這次實(shí)習(xí),我認(rèn)為最重要的就是做好程序調(diào)試,認(rèn)真的研究教師給的題目。其次,教師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)閮H有都明白了,做起產(chǎn)品就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去做,到頭來一點(diǎn)收獲也沒有。最終,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的實(shí)習(xí)算起來在實(shí)驗(yàn)室的時(shí)間僅有幾天,可是因?yàn)槲覀兌加凶晕业膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間必須不止三天。硬件的設(shè)計(jì)跟焊接都要我們自我動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會(huì)就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對應(yīng)當(dāng)是嚴(yán)謹(jǐn)。我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
經(jīng)過這次單片機(jī)實(shí)習(xí),我不僅僅加深了對單片機(jī)理論的理解,將理論很好地應(yīng)用到實(shí)際當(dāng)中去,并且我還學(xué)會(huì)了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自我,超越自我。創(chuàng)新能夠是在原有的基礎(chǔ)上進(jìn)行改善,使之功能不斷完善,成為真己的東西。
這個(gè)設(shè)計(jì)過程中,我們經(jīng)過在原有的計(jì)數(shù)器系統(tǒng)進(jìn)行了改善,使之增添了暫停、計(jì)數(shù)、清零等的三個(gè)控制功能,使之成為一個(gè)更加適用,功能更加完備的屬于自我的一個(gè)系統(tǒng)。設(shè)計(jì)結(jié)果能夠貼合題意,成功完成了此次實(shí)習(xí)要求,我們不只在乎這一結(jié)果,更加在乎的,是這個(gè)過程。這個(gè)過程中,我們花費(fèi)了很多的時(shí)間和精力,更重要的是,我們在學(xué)會(huì)創(chuàng)新的基礎(chǔ)上,同時(shí)還懂得合作精神的重要性,學(xué)會(huì)了與他人合作。作為一名自動(dòng)化專業(yè)的快大三學(xué)生,我覺得做單片機(jī)實(shí)習(xí)是十分必要的。在已度過的大學(xué)時(shí)間里,我們大多數(shù)接觸的是專業(yè)課。我們在課堂上掌握的僅僅是專業(yè)課的理論知識,如何去鍛煉我們的實(shí)踐本事?如何把我們所學(xué)的專業(yè)基礎(chǔ)課理論知識運(yùn)用到實(shí)踐中去呢?我想做類似實(shí)習(xí)就為我們供給了良好的實(shí)踐平臺。
首先在做本次實(shí)習(xí)的過程中,我感觸最深的當(dāng)屬查閱很多的設(shè)計(jì)資料了。為了讓自我的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的,同時(shí)也是必不可少的。我們是在做單片機(jī)實(shí)習(xí),但我們不是藝術(shù)家,他們能夠拋開實(shí)際盡情在幻想的世界里翱翔,而我們一切都要有據(jù)可依,有理可尋,不切實(shí)際的構(gòu)想永遠(yuǎn)只能是構(gòu)想,永遠(yuǎn)無法升級為設(shè)計(jì)。
其次,在這次課程設(shè)計(jì)中,我們運(yùn)用到了以前所學(xué)的專業(yè)課知識,如:c語言、模擬和數(shù)字電路知識等。雖然過去從未獨(dú)立應(yīng)用過它們,但在學(xué)習(xí)的過程中帶著問題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計(jì)的又一收獲。
最終,在實(shí)習(xí)之前,我們要對所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,明白該單片機(jī)內(nèi)有哪些資源;要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改善是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)當(dāng)讓人一看就能明白你的思路,這樣也為資料的保存和交流供給了方便;在實(shí)習(xí)過程中遇到問題是很正常的,但我們應(yīng)當(dāng)將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。
單片機(jī)心得篇十二
你知道什么是單片機(jī)嗎?如果不知道的話,不妨來看看以下這篇關(guān)于學(xué)習(xí)單片機(jī)的心得體會(huì)來學(xué)習(xí)一下吧。
時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周內(nèi)完成了。
俗話說“好的開始是成功的一半”。
說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目。
其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢?,做起設(shè)計(jì)就會(huì)事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。
最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
雖然這次的課程設(shè)計(jì)算起來在實(shí)驗(yàn)室的時(shí)間只有三天,不過因?yàn)槲覀兌加凶约旱膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間一定不止三天。
硬件的設(shè)計(jì)跟焊接都要我們自己動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。
當(dāng)然,這其中也有很多問題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。
第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。
對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會(huì)就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對應(yīng)該是嚴(yán)謹(jǐn)。
我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。
第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設(shè)計(jì)過程中我鍛煉了自己的思考能力和動(dòng)手能力。
通過題目選擇和設(shè)計(jì)電路的過程中,加強(qiáng)了我思考問題的完整性和實(shí)際生活聯(lián)系的可行性。
在方案設(shè)計(jì)選擇和芯片的選擇上,培養(yǎng)了我們綜合應(yīng)用單片機(jī)的能力,對單片機(jī)的`各個(gè)管腳的功能也有了進(jìn)一步的認(rèn)識。
還鍛煉我們個(gè)人的查閱技術(shù)資料的能力,動(dòng)手能力,發(fā)現(xiàn)問題,解決問題的能力。
并且我們熟練掌握了有關(guān)器件的性能及測試方法。
再次感謝老師的輔導(dǎo)以及同學(xué)的幫助,是他們讓我有了一個(gè)更好的認(rèn)識,無論是學(xué)習(xí)還是生活,生活是實(shí)在的,要踏實(shí)走路。
課程設(shè)計(jì)時(shí)間雖然很短,但我學(xué)習(xí)了很多的東西,使我眼界打開,感受頗深。
熟悉單片機(jī)的人都知道,要學(xué)好單片機(jī)可不是一件容易的事,倒不是因?yàn)閱纹瑱C(jī)很難學(xué),而是很難找到一本專為單片機(jī)入門者而編寫的教材。
翻一下身邊的單片機(jī)教材,都好像是為已經(jīng)懂單片機(jī)的人而寫的,一般先介紹單片機(jī)的硬件結(jié)構(gòu)和指令系統(tǒng),再是系統(tǒng)擴(kuò)展和外圍器件,順便講一些應(yīng)用設(shè)計(jì)(隨便說一下,很多書中的電路設(shè)計(jì)已經(jīng)過時(shí),并且有些程序還是錯(cuò)誤的)。
如果按照此種學(xué)習(xí)方法,想進(jìn)行產(chǎn)品開發(fā),就必須先把所有的知識全部掌握了才可以進(jìn)行實(shí)際應(yīng)用。
學(xué)習(xí)使用單片機(jī)只能靠循序漸進(jìn)的積累,下面就本人學(xué)習(xí)單片機(jī)的過程和經(jīng)驗(yàn)做簡要介紹。
首先,學(xué)習(xí)單片機(jī)要有一定的基礎(chǔ):電子技術(shù)方面要有數(shù)字電路和模擬電路等方面的理論基礎(chǔ),特別是數(shù)字電路;編程語言要求匯編語言或c語言。
要想成為單片機(jī)高手,建議初學(xué)者首先學(xué)習(xí)匯編語言,學(xué)的差不多的時(shí)候,轉(zhuǎn)入c語言學(xué)習(xí)。
盡管匯編語言屬于低級語言,編程效率低,但是較c語言具有目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快等優(yōu)點(diǎn),更重要的是能使初學(xué)者盡快熟悉單片機(jī)的內(nèi)部結(jié)構(gòu),并能對其進(jìn)行精確的控制。
匯編語言在單片機(jī)教材里面都會(huì)涉及,不需要單獨(dú)購買教材和學(xué)習(xí)。
c語言是一門學(xué)問,有很多專業(yè)書籍來講解,并且對我們今后的編程生涯有絕對的好處,因此要深入學(xué)習(xí),千萬不要自以為看了某某的視頻教程就以為掌握了c語言,那只是c語言的一部分。
在這里給大家推薦一本單片機(jī)c語言程序設(shè)計(jì)參考書,馬忠梅等著,北京航空航天大學(xué)出版社出版的《單片機(jī)的c語言應(yīng)用程序設(shè)計(jì)》,要求c語言基礎(chǔ)。
如果沒學(xué)過c語言,建議學(xué)習(xí)清華大學(xué)譚浩強(qiáng)編寫的c語言程序設(shè)計(jì),這本書寫的不錯(cuò),通俗易懂。
其次,是單片機(jī)教材選擇。
單片機(jī)是一門非常重視實(shí)踐的技術(shù),不能總是看書,但要學(xué)習(xí)它首先應(yīng)看書,對單片機(jī)引腳、內(nèi)部結(jié)構(gòu)、寄存器和原理有一定地了解和感官認(rèn)識,它的是怎樣工作的,能干些什么?剛開始時(shí),也許你看不明白,但這并不要緊,因?yàn)槟氵€缺乏實(shí)踐經(jīng)驗(yàn)。
現(xiàn)在單片機(jī)應(yīng)用廣泛,因此各個(gè)廠家分別推出了自己的單片機(jī),按內(nèi)部結(jié)構(gòu)體系派系分:51系列、pic系列、avr系列、摩托羅拉等等……我們沒必要每樣都學(xué)!因?yàn)樗麄兊木幊谭椒ê驼{(diào)試過程以及內(nèi)部指令結(jié)構(gòu)有一定的相似,只要學(xué)精通一款就ok了!尤其是用c語言編程,就幾乎不用分什么派系,但是我們要選擇一款有代表性的知識范圍廣,并且入門容易,書籍多。
一般來說,mcs-51系列單片機(jī)已經(jīng)得到廣泛的普及和應(yīng)用,市場上它的資料也比較多,用的人也很多。
給大家推薦一些參考書,學(xué)習(xí)時(shí)只需要一本就足夠拉。
書名:《新編mcs-51單片機(jī)應(yīng)用設(shè)計(jì)》,哈爾濱工業(yè)大學(xué)出版,作者:張毅剛;書名:《單片機(jī)原理及應(yīng)用》,高等教育出版社,作者:張毅剛等;書名:《單片機(jī)高級教程:應(yīng)用與設(shè)計(jì)》,北京航空航天大學(xué)出版社,作者:何立民。
相關(guān)教材還有很多,在這不一一列舉。
然后,是開發(fā)工具和開發(fā)環(huán)境的選擇。
選擇一塊合適的學(xué)習(xí)板,對于初學(xué)者來說一般無力接受,如果經(jīng)濟(jì)條件允許、本人又對單片機(jī)很感興趣、有從事相關(guān)工作意向的話,鼓勵(lì)大家購買。
隨便說一句,學(xué)習(xí)板功能要求太全,具有流水燈、數(shù)碼管、獨(dú)立鍵盤、矩陣鍵盤、ad或da、液晶、蜂鳴器等就差不多啦,畢竟,功能齊全的價(jià)格比較高。
仿真器對單片機(jī)初學(xué)者來說既是那么耳熟,同時(shí)又有些陌生,這主要是因?yàn)槭袌錾蟼鹘y(tǒng)的仿真器價(jià)格都在千元以上,對經(jīng)濟(jì)不是非常寬裕的人來說是不小的開支。
同時(shí)仿真器是用來提高調(diào)試程序效率的,也不是非需不可的,如果你沒有仿真器,遇到程序出錯(cuò)的時(shí)候,只好苦思冥想,反復(fù)燒寫調(diào)試。
隨便推薦一下,學(xué)林電子的51tracer仿真器,有興趣的朋友可關(guān)注一下。
有了單片機(jī)教程板以后,先看下指導(dǎo)說明書,熟悉一下學(xué)習(xí)板,開卷有益。
以后就得靠自己多練習(xí)了,將學(xué)習(xí)板與電腦連接好,先學(xué)會(huì)開發(fā)軟件的使用,然后從最簡單的流水燈實(shí)驗(yàn)做起,按照你自己的意愿控制流水燈,當(dāng)你完成時(shí),你會(huì)發(fā)現(xiàn)這是多么愜意的事情。
太好玩了,你會(huì)覺得這不是在學(xué)習(xí),而是在玩,當(dāng)你發(fā)現(xiàn),單片機(jī)能夠按照你編寫的程序工作時(shí),你會(huì)覺得非常興奮,比做什么事情都開心,這樣你會(huì)慢慢迷上單片機(jī),真的。
不少網(wǎng)站上說搞定某個(gè)實(shí)驗(yàn),就恭維的告訴你一聲”恭喜你,學(xué)會(huì)了”自己學(xué)會(huì)了單片機(jī),這有點(diǎn)可笑,這只能說明你算過關(guān)了,對單片機(jī)有了一定了解和會(huì)使用它了。
但是單片機(jī)能完成的功能太多了,尤其是對外圍器件的控制,綜合起來能設(shè)計(jì)出許多意想不到的產(chǎn)品.因此除了入門外,精通可千萬別輕易說出口。
最后,在熟練掌握和應(yīng)用后,那可以說對于單片機(jī)方面的硬件你已經(jīng)入門了,剩下的就是自己練習(xí)設(shè)計(jì)電路,不斷的積累經(jīng)驗(yàn)。
最終,自己完全設(shè)計(jì)具有個(gè)人風(fēng)格的電路,產(chǎn)品,這樣你就是單片機(jī)高手拉。
只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。
時(shí)下多家電子類的報(bào)刊雜志如:《電子制作》《無線電》《電子報(bào)》《電子世界》都開設(shè)了詳細(xì)的單片機(jī)教程專欄,對于想學(xué)習(xí)單片機(jī)的朋友來說幫助很大,可以說現(xiàn)在的單片機(jī)教程環(huán)境是最好的,有網(wǎng)絡(luò),有書籍,有報(bào)刊雜志,還有視頻教程,元件的采購方面也非常充足,相關(guān)的器材又多有便宜。
如果每天能抽出兩小時(shí)的時(shí)間去學(xué)習(xí),快的一個(gè)月,慢的三個(gè)月就入門拉。
以下是一些經(jīng)驗(yàn):
(1)學(xué)習(xí)單片機(jī)沒有捷徑,別指望兩三天就學(xué)會(huì),要堅(jiān)持不懈,重在積累。
(2)別崇拜高手,別相信天才,大部分人都不是天才(相信你也不是)!
(3)單片機(jī)是一門應(yīng)用性和實(shí)踐性很強(qiáng)的學(xué)科,要多動(dòng)手,多做實(shí)驗(yàn)。
(4)要學(xué)會(huì)參考別人的程序,減少自己琢磨的時(shí)間,迅速提高自己的編程能力。
(5)碰到問題可以借助網(wǎng)絡(luò)來搜尋答案和對自己有幫助的問題,可以大大減少你的開發(fā)時(shí)間。
(6)要多交一些朋友,多交流。
技術(shù)是靠不斷的積累和交流才會(huì)進(jìn)步的,封閉自守只會(huì)更加落后。
希望大家多上網(wǎng)看看前輩的經(jīng)驗(yàn),可以少走很多彎路。
最后,祝愿大家早日成為單片機(jī)高手。
單片機(jī)心得篇十三
做了兩周的單片機(jī)課程設(shè)計(jì),我有了很多的體會(huì)和感想。
我們的課程設(shè)計(jì)有兩個(gè)主要內(nèi)容:一個(gè)是出租車計(jì)費(fèi)器系統(tǒng)(還包括255計(jì)數(shù)和50000計(jì)數(shù));另一個(gè)就是溫度報(bào)警系統(tǒng)。實(shí)習(xí)可以在實(shí)驗(yàn)室里做,也可以在寢室里自己做,我大部分時(shí)間還是在寢室里做的。
出租車計(jì)費(fèi)器的設(shè)計(jì)是第一周的內(nèi)容,由于有了老師的設(shè)計(jì)圖和程序,只需要改一下自己所要求的變量就好。單片機(jī)的編程用的主要是匯編語言,說實(shí)話,我對匯編語言談不上掌握,充其量只是了解。學(xué)校安排的課程真的太少了,關(guān)于語言部分的學(xué)習(xí)只學(xué)了幾節(jié)課的內(nèi)容,整本單片機(jī)書的內(nèi)容也是學(xué)了三分之一多一點(diǎn)。
第二周的內(nèi)容就是溫度報(bào)警系統(tǒng)的設(shè)計(jì)。這個(gè)內(nèi)容沒有現(xiàn)成的程序和設(shè)計(jì)圖,需要我們真正親手去編,最郁悶的莫過于畫設(shè)計(jì)圖。按照實(shí)驗(yàn)要求上的圖畫了出來,加載程序以后卻不能正常運(yùn)行,改了好多次都沒有成功。同學(xué)們電腦上軟件的版本差異也影響了交流。有些元件的型號不同,但在選用時(shí)圖形確很相似,致使選錯(cuò)了元件,影響了結(jié)果。
這兩周的實(shí)習(xí)真的有點(diǎn)郁悶,程序里面的好多內(nèi)容不懂,自我感覺是單片機(jī)我們所學(xué)的內(nèi)容還不足以編出這兩個(gè)程序,但是只好硬著頭皮去看去理解。但在學(xué)習(xí)過程中也充滿了樂趣,當(dāng)看懂了程序的一些語句,畫出了要求的設(shè)計(jì)圖,那我喜悅那種成就感油然而生。
這次實(shí)習(xí)讓我受益匪淺,無論從知識上還是其他的各個(gè)方面。上課的時(shí)候的學(xué)習(xí)從來沒有見過真正的單片機(jī),只是從理論的角度去理解枯燥乏味。但在實(shí)習(xí)中見過甚至使用了單片機(jī)及其系統(tǒng),能夠理論聯(lián)系實(shí)際的學(xué)習(xí),開闊了眼界,提高了單片機(jī)知識的理解和水平。在這次課程設(shè)計(jì)中又讓我體會(huì)到了合作與團(tuán)結(jié)的力量,當(dāng)遇到不會(huì)或是設(shè)計(jì)不出來的地方,我們就會(huì)在qq群里討論或者是同學(xué)之間相互幫助。團(tuán)結(jié)就是力量,無論在現(xiàn)在的學(xué)習(xí)中還是在以后的工作中,團(tuán)結(jié)都是至關(guān)重要的,有了團(tuán)結(jié)會(huì)有更多的理念、更多的思維、更多的情感。
單片機(jī)是很重要的一門課程,老師和一些工作的朋友都曾說過,如果學(xué)好一門單片機(jī),就憑這個(gè)技術(shù)這門手藝找一個(gè)好工作也不成問題。盡管我們在課堂學(xué)到的內(nèi)容很有限,但在以后的學(xué)習(xí)中單片機(jī)還需要好好的深入研究和學(xué)習(xí),學(xué)好了單片機(jī)也就多了一項(xiàng)生存的本錢。最后感謝老師對我們的精心指導(dǎo)和幫助,感謝同學(xué)們對我的幫助。
單片機(jī)心得篇十四
經(jīng)常在群、論壇里看到有人問:怎么學(xué)單片機(jī)?也??吹接腥苏f學(xué)了好幾個(gè)月可就是沒有什么進(jìn)展。當(dāng)然,受限于每個(gè)人受到的教育水平不同和個(gè)人理解能力的差異,學(xué)習(xí)起來會(huì)有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。一個(gè)好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機(jī)的經(jīng)歷和方法。
05年的時(shí)候,因?yàn)橹谱鱢m發(fā)射電路采用了bh1415的芯片,需要用到單片機(jī)控制,所以開始接觸使用單片機(jī),雖然以前讀書時(shí)作為一門功課學(xué)過,不過也快丟荒了10年了,基本上都忘光了,也算是從頭學(xué)起了吧。我當(dāng)時(shí)是買了一塊實(shí)驗(yàn)板,很簡單的功能,比論壇實(shí)驗(yàn)板還要少功能,還有一個(gè)仿真器,也是比較簡單的,sst芯片的。然后開始從大家都知道的流水燈寫起,萬事開頭難,第一個(gè)程序基本上就抄人家的,翻查了一份快速入門的學(xué)習(xí)資料,寫下第一個(gè)程序。然后,在仿真機(jī)是單步的看運(yùn)行結(jié)果,從每一步執(zhí)行,都硬件上反應(yīng)出來的效果,很快,對單片機(jī)的運(yùn)作有了一個(gè)非常感性的認(rèn)識,這跟只看書然后自己想象運(yùn)行是完全兩碼事。然后,是進(jìn)一步的其它程序?qū)W習(xí),一個(gè)月時(shí)間,基本上已經(jīng)熟悉了51的各種硬件資源。把流水燈,數(shù)碼管動(dòng)態(tài)掃描,中斷等等的學(xué)習(xí)了,然后就是寫綜合性的程序,也就是我發(fā)在論壇里的時(shí)鐘。通過這個(gè)程序的編寫,使自己的編程水平有了很大的飛躍。之后,就是逐步學(xué)習(xí)編寫更多的程序,各種外圍器件的控制等等,通過編寫程序使自己不斷的提高。在學(xué)過匯編之后,我又轉(zhuǎn)到了c語言學(xué)習(xí),因?yàn)橐郧皼]有學(xué)習(xí)過c語言,一切都很陌生,所以自己沿用了學(xué)習(xí)匯編的方法,大約花了3天功夫基本就對c語言有了初步的了解,然后就是嘗試寫上面所說的時(shí)鐘,以匯編程序的思路作為參考,以c語言來編寫,花了幾天功夫完成了這一程序,也實(shí)現(xiàn)了從匯編編程為主到c編程為主的轉(zhuǎn)變。然后,就是以c語言編寫外圍器件的控制程序,以此來熟悉c的編程風(fēng)格,一直到現(xiàn)在,基本上就是c語言編程,匯編已經(jīng)是作為調(diào)試程序的'輔助。
下面我概括了幾點(diǎn)我的學(xué)習(xí)經(jīng)驗(yàn)和心得體會(huì):
1、萬事開頭難、要勇敢邁出第一步。開始的時(shí)候,不要老是給自己找借口,說keil不會(huì)建項(xiàng)目啦、沒有實(shí)驗(yàn)板啦之類的。遇到困難要一件件攻克,不會(huì)建項(xiàng)目,就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個(gè)最簡單的,讓它運(yùn)行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會(huì)差多少,總得建個(gè)項(xiàng)目,再配置一下項(xiàng)目,然后建個(gè)程序,加入項(xiàng)目中,再寫代碼、編譯、生成hex,刷進(jìn)單片機(jī)中、運(yùn)行。必須熟悉這一套工序。個(gè)人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運(yùn)行一下看結(jié)果,學(xué)習(xí)效果會(huì)好很多,仿真器就看個(gè)人需要了。單片機(jī)是注重理論和實(shí)踐的,光看書不動(dòng)手,是學(xué)不會(huì)的。
2、知識點(diǎn)用到才學(xué),不用的暫時(shí)丟一邊。厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計(jì)也快忘光了,所以,最好結(jié)合實(shí)際程序,用到的時(shí)候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點(diǎn)一小點(diǎn)的啃。
3、程序不要光看不寫,一定要自己寫一次。最開始的時(shí)候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達(dá)到什么目的,運(yùn)行后有什么后果,看明白了之后,就要自己寫一次,你會(huì)發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時(shí)候卻一句也寫不出來,這就是差距……當(dāng)你自己能寫出來的時(shí)候,說明你就真的懂了。
4、必須學(xué)會(huì)掌握調(diào)試程序的方法。不少人寫程序,把代碼寫好了,然后一運(yùn)行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個(gè)帖子,把程序一貼,問:為什么我的程序不能正常運(yùn)行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會(huì)發(fā)現(xiàn)問題和學(xué)會(huì)如何解決問題。這就需要學(xué)習(xí)調(diào)試程序的方法,比如keil里,可以下斷點(diǎn)啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運(yùn)行結(jié)果和你想象中不一樣的時(shí)候,你可以單步,也可以下斷點(diǎn),然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運(yùn)行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個(gè)過程非常重要,通過程序的排錯(cuò),你可以學(xué)到的知識是書上得不到的。
5、找到解決問題思路比找到代碼更重要。我們用單片機(jī)來控制周邊器件,達(dá)到我們想到的目的,這是一個(gè)題目,而如何寫出一個(gè)程序,來控制器件按你想要的結(jié)果去運(yùn)作,這個(gè)就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會(huì)找出這個(gè)解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時(shí)候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人,所以現(xiàn)在我也明白了,以前讀書時(shí)說的程序流程圖很重要,現(xiàn)在算是知道了。當(dāng)你知道一個(gè)問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。舉個(gè)例子:數(shù)碼管動(dòng)態(tài)掃描,沒寫過的初學(xué)者可能搞不清是怎么回事,其實(shí),就是分時(shí)讓每一時(shí)間段時(shí)只控制一只數(shù)碼管顯示數(shù)字,幾只數(shù)碼管輪流顯示,由于速度很快,人眼的看起來是全部數(shù)碼管都亮的。明白是這么一回事,事情就好辦了,剩下的事情,無非是你安排讓一只只數(shù)碼管輪流顯示出相應(yīng)的數(shù)值。顯示數(shù)字,然后延時(shí)一下,再下一只顯示數(shù)字,延時(shí),知道是這樣,我們實(shí)際程序上只要做到這樣就可以:往段口送段碼,然后打開位選顯示一只,延時(shí)一下,再關(guān)閉位選,再送出段碼,再打開另一只位選僅此而已。有了解決問題的思路,我們就能問題拆分開來,然后逐一的解決,如果動(dòng)態(tài)掃描的原理都沒懂,不知道如何做,那么這個(gè)程序是怎么也寫不出來的。
6、開動(dòng)腦筋,運(yùn)用多種方法,不斷優(yōu)化自己的程序。想想用各種不同方法來實(shí)現(xiàn)同一功能。這是一個(gè)練習(xí)和提高的過程,一個(gè)問題,你解決了,那么你再想想,能不能換種寫法,也可以實(shí)現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點(diǎn),讓程序執(zhí)行效率更高,這個(gè)過程,就是一個(gè)進(jìn)步的過程。很多知識和經(jīng)驗(yàn)的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實(shí)踐,開動(dòng)腦筋,經(jīng)驗(yàn)才能得到積累,編程水平才能有所提高。
7、看別人的代碼,學(xué)習(xí)人家的思路。這個(gè)在學(xué)習(xí)初期是很有用,通過看別人的代碼,特別是有多年編程經(jīng)驗(yàn)的人寫出的具有一定水平的代碼,可以使自己編程水平得到迅速的提高,同時(shí),也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的代碼,從中得到進(jìn)步。但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會(huì)了,這樣做只會(huì)使你退步。
8、嘗試編寫一下綜合應(yīng)用的程序。從流水燈學(xué)起,到動(dòng)態(tài)掃描,再到中斷,那么,你可以試試寫一下時(shí)鐘這種綜合性應(yīng)用的程序,不要小看時(shí)鐘,要寫好它不是一件容易的事情,它包括了單片機(jī)大部分的知識,比如有按鍵(io讀取)、動(dòng)態(tài)掃描(io輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨(dú)寫一個(gè)功能的時(shí)候,比如按鍵讀取,你可能感覺很容易,因?yàn)槟愕某绦蛏兑膊蛔?,只是讀按鍵。但把它和其它功能混合在一起,如何在整個(gè)程序運(yùn)行中使每一部分都正常工作,這就不是寫一個(gè)按鍵讀取這么容易的事情,功能模塊之間有可能會(huì)互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個(gè)協(xié)調(diào)過程。當(dāng)你有了這個(gè)處理協(xié)調(diào)能力,你就算是入門了。
9、著重于培養(yǎng)解決問題的能力,而不是具體看自己編寫了多少代碼或者做過什么?!皩W(xué)單片機(jī)重點(diǎn)在于學(xué)習(xí)解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學(xué)單片機(jī)多年來感悟出來的。經(jīng)??吹接腥苏f“你會(huì)驅(qū)動(dòng)xx芯片,真牛啊”“你搞過xx項(xiàng)目,真厲害”之類的話,其實(shí)這是非常片面的,搞過xx芯片,搞過xx項(xiàng)目,只能說明你做過這一項(xiàng)目,它只是你的業(yè)績,并不是代表能力就一定高。真正的能力應(yīng)該是:“遇到?jīng)]有解決過的問題或器件,能利用自己已學(xué)的知識,迅速找到解決問題的方法?!边@個(gè)才是能力。寫程序的過程就是一個(gè)創(chuàng)造的過程,幾乎沒有完全一樣的項(xiàng)目,每次你遇上的幾乎都不相同,所以你擁有的必須是你面對新項(xiàng)目時(shí)的創(chuàng)造能力,而不是標(biāo)榜著你以往做過多少項(xiàng)目。當(dāng)然,業(yè)績也能從另一側(cè)面反映你的經(jīng)驗(yàn)和水平。
10、如果有可能,多學(xué)習(xí)計(jì)算機(jī)專業(yè)的知識,比如數(shù)據(jù)結(jié)構(gòu)等。這些是你解決問題的基礎(chǔ)知識,你把這些知識應(yīng)用得越好,就會(huì)發(fā)現(xiàn)越容易找到解決問題的方法,這就是為什么一個(gè)學(xué)計(jì)算機(jī)專業(yè)的人編的程序和一個(gè)非計(jì)算機(jī)專業(yè)的人編的程序有差異的原因。也是一個(gè)菜鳥進(jìn)軍到高手所要配備的知識。如果我們把編程分為宏觀編程和微觀編程,那么微觀編程就是寫具體的代碼,比如控制某某器件的語句;而宏觀編程就是如何對整個(gè)程序進(jìn)行布局、安排,使功能模塊以你想要的方式去運(yùn)行,得出你想要的結(jié)果。如前所說“會(huì)控制xx器件”這些只能算是微觀編程,能做到這一步還只能算是菜鳥級別,如果面對一個(gè)新的器件,你心里沒底,沒把握去寫這個(gè)控制程序,那說明你還是一個(gè)初級的菜鳥。當(dāng)你有了一定的編程經(jīng)驗(yàn),控制過相當(dāng)數(shù)量的器件之后,你就會(huì)發(fā)現(xiàn),控制器件這些工作都是相似的、重復(fù)的工作,體現(xiàn)不出編程的水平,最多也是寫得好與不好的差別,只能算是一些小技巧的應(yīng)用。而對整個(gè)程序進(jìn)行布局、安排這些才是最頭痛的事情,能達(dá)到宏觀編程和微觀編程都做好才是真正的高手。對于規(guī)模越大的程序,越能體現(xiàn)出這一點(diǎn)。
11、面對一個(gè)新項(xiàng)目時(shí),多自己開動(dòng)腦筋,不要急于找別人的程序。有不少人面對一個(gè)新項(xiàng)目時(shí),第一步想到的就是網(wǎng)上找別人寫過的代碼,然后抄一段,自己再寫幾句,湊在一起就完成任務(wù),這雖然可能是省時(shí)間,但絕對不利你的學(xué)習(xí)。當(dāng)你接到一個(gè)新項(xiàng)目時(shí),應(yīng)該先自己構(gòu)思一下整個(gè)程序的架構(gòu),想想如何來完成,有可能的話,畫一個(gè)流程圖,簡單的可以畫在腦子里,對程序中用到的數(shù)據(jù)、變量有一個(gè)初步的安排,然后自己動(dòng)手去寫,遇到實(shí)在沒辦法解決的地方,再去請教別人,或看別人是怎么處理的,這樣首先起碼你自己動(dòng)過腦想過,自己有自己的思路,如果你一開始就看別人的程序,你的思維就會(huì)受限在別人的思維里,自己想再創(chuàng)新就更難了,這樣你自己永遠(yuǎn)也沒辦法提高,因?yàn)槟闶亲咴趧e人的影子里。
12、多利用網(wǎng)絡(luò)的搜索,學(xué)會(huì)提問題。一般來說,學(xué)習(xí)過程中,你遇上的問題,前人們多數(shù)也有遇上的,所以如果有什么不懂,在自己解決不了的時(shí)候,最好先到網(wǎng)上搜索一下,看能不能找到答案,找不到再到論壇里發(fā)問,發(fā)問也要有目的性,盡量簡單明了的描述問題,讓幫助你的人可以用最少的時(shí)間就看懂你說什么,畢竟人家?guī)椭闶敲赓M(fèi)的,時(shí)間也是有限的。
單片機(jī)心得篇十五
兩周的單片機(jī)課程設(shè)計(jì)終于順利完成了,其中包含著快樂,也有辛酸。我們選的設(shè)計(jì)題目是“數(shù)字溫度計(jì)”,大家都覺得這個(gè)題目是比較簡單的。其實(shí)不然,做了之后,發(fā)現(xiàn)設(shè)計(jì)電路雖然簡單,但我們認(rèn)為它真正困難的地方是程序設(shè)計(jì),不過在我們同心努力下最終完成了。
我們剛選該題目時(shí),真的是一頭霧水,硬件電路不知如何下手,更何談解決程序那塊,因?yàn)槲覀兯鶎W(xué)的都是單片機(jī)方面的理論知識,應(yīng)用到實(shí)踐中去還比較少。不過,我們?nèi)艘矝]偷下懶,迅速分工去查閱和收集資料。我們?nèi)チ藞D書館借一些參考書,上網(wǎng)找一些相關(guān)資料,并且請教指導(dǎo)老師。通過不斷努力,終于把數(shù)字溫度計(jì)的思路和模型定了下來并開始分一個(gè)人去焊接硬件電路,剩下的去整理和修改程序。
通過一番整理和修改后,在電腦上進(jìn)行仿真,仿真成功后準(zhǔn)備焊接電路板。在焊接電路板中,我們首先對硬件電路進(jìn)行布局,然后確認(rèn)無誤后,在電路板上進(jìn)行焊接,這個(gè)過程我們覺得是做得比較快的,以至于后面出現(xiàn)了虛焊的錯(cuò)誤。
焊接電路板完工,細(xì)心檢查后,進(jìn)行通電測試。結(jié)果液晶lcd沒有顯示,通過檢查,原來是lcd壞了,在換了塊新的后,能顯示顯示值。但還有個(gè)問題是,當(dāng)報(bào)警電路不會(huì)報(bào)警,在請教老師后,發(fā)現(xiàn)走動(dòng)蜂鳴器的電壓太低了,是因?yàn)榇恿艘粋€(gè)太大的電阻。然后,我們換了一個(gè)小電阻,但這時(shí)蜂鳴器卻一直在叫,停不下來,不過,在我們?nèi)说牡募?xì)心檢查下,原來是在放大電路的一端虛焊了,這說明我們焊接電路的技術(shù)還不夠好。在重新焊接那端后,數(shù)字溫度電路終于成功實(shí)現(xiàn)功能,當(dāng)時(shí)我們的心情都是無比興奮和快樂的,因?yàn)槲覀儍芍艿男量鄾]有白費(fèi)。
在完成單片機(jī)課程設(shè)計(jì)后,我們發(fā)現(xiàn)我們還有許多不足,所學(xué)到的知識還遠(yuǎn)遠(yuǎn)不夠,以至于還有一些功能不能被動(dòng)完成。但通過學(xué)習(xí)這一次實(shí)踐,增強(qiáng)了我們的動(dòng)手能力,提高和鞏固了單片機(jī)方面的知識,特別是軟件方面。從中增強(qiáng)了我們的團(tuán)隊(duì)合作精神,并讓我們認(rèn)識到把理論應(yīng)用到實(shí)踐中去是多么重要。
單片機(jī)心得篇十六
本人還是學(xué)生,此刻大三,接觸單片機(jī)一年多以來,從最基礎(chǔ)的51開始,到更高級點(diǎn)的msp430,一向到此刻剛開始上手的stm32,編過的程序不算多,但加起來怎樣也有上百個(gè)了,做過的東西仔細(xì)數(shù)數(shù),能拿出手來算算的上是個(gè)樣的也不下十個(gè),算是小有所成吧。
但今日,我卻發(fā)現(xiàn),這一年我一向在走一條歪路。
先說一下情景吧,是這樣的,最近同學(xué)幾個(gè)合伙做個(gè)小項(xiàng)目,不算復(fù)雜,跟市面上的工程項(xiàng)目完全沒法比,用難再需要使用的一個(gè)芯片是教師給的,從沒用過,沒有歷程,至于一份電子版的數(shù)據(jù)手冊,一切的一切都只能是從頭開始,從底層開始,我們幾個(gè)斌開始從最底層的邏輯時(shí)序、寄存器操作開始,但經(jīng)過幾天的研究,確實(shí)毫無效果可言。
為此,我們幾個(gè)郁悶了好長時(shí)間,開始瘋狂的上網(wǎng)搜資料,拷代碼,卻終究是不得而返,還讓教師罵了一頓,因?yàn)檫@個(gè)項(xiàng)目是我們主動(dòng)要求教師放給我們的,結(jié)果卻耽誤了工期。
我次我們幾個(gè)人很受打擊,最終決定大家一齊靜下心來分析分析,到底我們敗在了什么地方。
最終總經(jīng)過兩天的思考、討論、總結(jié)、檢討···,我們發(fā)現(xiàn)了問題的所在,想來想去,這估計(jì)是很大一部分初學(xué)者正在面臨的一個(gè)“瓶頸問題”,所以,由我凈這個(gè)討論的結(jié)果發(fā)布出來,期望與更多的人交流、分享、提高、共勉。
下頭先總結(jié)一下我們失敗的幾點(diǎn)原因:
1、“都是開發(fā)板惹的禍”,能夠說從開始學(xué)習(xí)單片機(jī),哪怕是最基礎(chǔ)的51、以致之后的msp430、arm,我沒從未離開過開發(fā)板,并且這長達(dá)一年多的時(shí)間,養(yǎng)成了我們對開發(fā)板極大的依靠,盡管自我焊過51最小系統(tǒng)、繪制過430最小系統(tǒng)板,但都是參考的別人已有的電路圖,連最基本的電路基本都沒分析過,為什么要在這幾個(gè)電阻,該加個(gè)多大的,不加會(huì)怎樣樣,太大了太小了會(huì)有什么后果,等等此類問題,我們從未分析過,全是copy、copy、再copy,以致自我做過的東西不少,本事卻未曾提高。
2、“全是例程誤導(dǎo)我”,我們買來的開發(fā)板,往往都會(huì)帶有豐富的例程,通常這也是賣家吹噓、比拼的地方,但就是這些附帶的歷程,讓我們與底層的開發(fā)絕緣了,有了例程,我們不用再一個(gè)代碼一個(gè)代碼地敲鍵盤,不用再去研究那些器件的數(shù)據(jù)手冊、通信接口、寄存器、內(nèi)部原理、以及很多商家沒給我們加進(jìn)去的功能,哪怕是將這些程序改到別的地方,我們也可是是在宏定義里改兩個(gè)引腳配置而已,從未嘗試過從底層寫驅(qū)動(dòng)、敲代碼、寫函數(shù),從未嘗試過快平臺移植代碼,開發(fā)呢些沒用過的功能等等。
3、“現(xiàn)實(shí)環(huán)境太無奈”,這跟上頭兩個(gè)說的是不一樣的方面,我們都是大學(xué)生,大學(xué)里此刻吵得火熱的“大學(xué)生就業(yè)難”、“你是考研還是就業(yè)”、“你報(bào)xxx培訓(xùn)班了嗎”“你考四六級證了嗎”等等,好像上大學(xué)就是為了干這些,似乎沒有這些,你就會(huì)陷入“畢業(yè)即失業(yè)”的困境。應(yīng)對這些外來的干擾,越來越多的學(xué)生坐不住了,我們這些人也一樣,盡管一向在學(xué)習(xí)自我的愛好,但當(dāng)被人問得多了的時(shí)候,心里也難免會(huì)發(fā)毛、會(huì)害怕,從而導(dǎo)致一年來真正靜下心來學(xué)這些東西的時(shí)間越來越少。
大體也就總結(jié)怎樣多吧,經(jīng)過這次失敗,也算是教訓(xùn)深刻吧,此刻才大三,到大四畢業(yè),還有近兩年的時(shí)間,還不算太晚,再說將來的路還長,此刻發(fā)現(xiàn)這些,應(yīng)當(dāng)不算晚吧。
對我們來說,革命尚未成功,同志仍需努力啊!
開這貼,一為總結(jié)這次失敗、而為自我立志改變、三為警示之后的同學(xué)、四為大家齊言獻(xiàn)計(jì)。
大家有遇到同樣問題的、要類似迷茫的、要好的提議意見的,歡迎回帖交流,大家一齊共勉。
單片機(jī)心得篇十七
先說說單片機(jī),一般我們此刻用的比較多的的mcs—51的單片機(jī),它的資料比較多,用的人也很多,市場也很大。就我個(gè)人的體會(huì)怎樣樣才能更快的學(xué)會(huì)單片機(jī)這門課。單片機(jī)這門課是一項(xiàng)十分重視動(dòng)手實(shí)踐的科目,不能總是看書,可是學(xué)習(xí)它首先必須得看書,因?yàn)閺臅心阈枰蟾帕私庖幌?,單片機(jī)的各個(gè)功能寄存器,而說明白點(diǎn),我們使用單片機(jī)就是用軟件去控制單片機(jī)的各個(gè)功能寄存器,再說明白點(diǎn),就是控制單片機(jī)那些管腳的電平什么時(shí)候輸出高,什么時(shí)候輸出低。由這些高低電平的變化來控制你的系統(tǒng)板,實(shí)現(xiàn)我們需要的各個(gè)功能。至于看書,只需大概了解單片機(jī)各管腳都是干什么的能實(shí)現(xiàn)什么樣的功能第一次,第二次你可能看不明白,但這不要緊,因?yàn)檫€缺少實(shí)際的感觀認(rèn)識。所以我總是說,學(xué)單片機(jī)看書看兩三天的就夠了,看小說你一天能看五六本,看單片機(jī)你兩三天看兩三遍就夠了,能夠不用仔細(xì)的看。
推薦一本書,就這一本就足夠,書名是《新編mcs—51單片機(jī)應(yīng)用設(shè)計(jì)》,是哈爾濱工業(yè)大學(xué)出版社出的的,作者是張毅剛。大概了解一下書上的資料,然后實(shí)踐,這是十分關(guān)鍵的,如果說學(xué)單片機(jī)你不實(shí)踐那是不可能學(xué)會(huì)的,關(guān)于實(shí)踐有兩種方法你能夠選擇,一種方法:你自我花錢買一塊單片機(jī)的學(xué)習(xí)板,不要求功能太全的,對于初學(xué)者來說你買功能十分多的那種板子,上頭有很多東西你這輩子都用不著,我提議有流水燈、數(shù)碼管、獨(dú)立鍵盤、矩陣鍵盤、ad或da(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上頭我提到的這些,你能熟練應(yīng)用,那能夠說對于單片機(jī)方面的硬件你已經(jīng)入門了,剩下的就是自我練習(xí)設(shè)計(jì)電路,不斷的積累經(jīng)驗(yàn)。只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。方法二:你身邊如果有單片機(jī)方面的高手,向他求助,讓他幫你搭個(gè)簡單的最小系統(tǒng)板。對于高手來說,做個(gè)單片機(jī)的最小系統(tǒng)板只需要一分鐘的時(shí)間,而對于初學(xué)者可就難多了,因?yàn)閮H有對硬件了解了,才能熟練運(yùn)用。而如果你身邊沒有這樣的高手,又找不到能夠幫忙你的人,那我勸你最好是自我買上一塊,畢竟自我有一塊要方便的多,以后做單片機(jī)類的小實(shí)驗(yàn)時(shí)都能用得上,還省事。
有了單片機(jī)學(xué)習(xí)板之后你就要多練習(xí),最好是自我有臺電腦,一天少看電影,少打游戲,把學(xué)習(xí)板和電腦連好,打開調(diào)試軟件坐在電腦前,先學(xué)會(huì)怎樣用調(diào)試軟件,然后從最簡單的流水燈實(shí)驗(yàn)做起,等你能讓那八個(gè)流水燈按照你的意愿隨意流動(dòng)時(shí)你已經(jīng)入門了,你會(huì)發(fā)現(xiàn)單片機(jī)是多么迷人的東西啊,太好玩了,這不是在學(xué)習(xí)知識,而是在玩,當(dāng)你編寫的程序按你的意愿實(shí)現(xiàn)時(shí)你比做什么事都開心,你會(huì)上癮的,真的。做電子類的人真的會(huì)上癮。然后讓數(shù)碼管亮起來,這兩項(xiàng)會(huì)了后,你已經(jīng)不能自拔了,你已經(jīng)開始研究你這輩子要走哪一行了。就是要這樣練習(xí),在寫程序的時(shí)候你肯定會(huì)遇到很多問題,而這時(shí)你再去翻書找,或是問別人,當(dāng)?shù)玫浇獯鸷竽銜?huì)記住一輩子的,知識必須用于現(xiàn)實(shí)生活中,解決實(shí)際問題,這樣才能發(fā)揮它的作用,你自我好好想想,上了這么多年大學(xué),天天上課,你在課堂上學(xué)到了什么是不是為了期末考試而忙碌呢考完得了90分,哈哈哈好高興啊,下學(xué)期開學(xué)回來忘的一干二凈,是不是你學(xué)到什么了可是我告訴你單片機(jī)一旦學(xué)會(huì),永遠(yuǎn)不會(huì)忘了。另外我再說說用匯編和c語言編程的問題。
很多同學(xué)大一二就開設(shè)了c語言的課,我也上過,我明白那時(shí)天天就是幾乘幾,幾加幾啊,求個(gè)階乘啊。學(xué)完了有什么用讓你用c語言編單片機(jī)的程序你是不是就傻了書上的東西我們必須要會(huì)運(yùn)用。單片機(jī)編程用c語言或匯編語言都能夠,可是我提議用c語言比較好,如果原先有c語言的基礎(chǔ)那學(xué)起來會(huì)更好,如果沒有,也能夠邊學(xué)單片機(jī)邊學(xué)c語言,c語言也挺簡單,只是一門工具而已,我勸你最好學(xué)會(huì),將來肯定用得著,要不你以后也得學(xué),你一點(diǎn)匯編都不會(huì)根本無所謂,但你一點(diǎn)c語言都不會(huì)那你將來會(huì)吃苦頭。匯編寫程序代碼效率高,但相對難度較大,并且很羅嗦,尤其是遇到算法方面的問題時(shí),根本是麻煩的不得了,此刻單片機(jī)的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因?yàn)橛懈哳l率的時(shí)鐘,單片機(jī)的rom也在不斷的提高,足夠裝得下你用c語言寫的任何代碼,c語言的資料又多又好找,將來可移植性十分好,只需要變一個(gè)io口寫個(gè)溫度傳感器的程序在哪里都能用,所以我勸大家用c語言。
總結(jié)上頭,只要你有信心,做事能堅(jiān)持到底,有不成功不放棄的強(qiáng)烈意志,那學(xué)個(gè)單片機(jī)來說就是件十分容易的事。
步驟:
1、找本書大概了解一下單片機(jī)結(jié)構(gòu),大概了解就行。不用都看懂,又不讓你出書的。(三天)。
2、找學(xué)習(xí)板練習(xí)編寫程序,學(xué)單片機(jī)就是練編程序,遇到不會(huì)的再問人或查書。(二十天)。
3、自我網(wǎng)上找些小電路類的資料練習(xí)設(shè)計(jì)外圍電路。焊好后自我調(diào)試,熟悉過程。(十天)。
4、自我完全設(shè)計(jì)具有個(gè)人風(fēng)格的電路,產(chǎn)品,你已經(jīng)是高手了......
看到了嗎下功夫一個(gè)多月你就能成為高手,我就講這么多了,學(xué)不學(xué)得會(huì),下不下得了功夫就看你的了。