技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 單片機要這么學(xué)?八條謹(jǐn)記!

單片機要這么學(xué)?八條謹(jǐn)記!

時間:2019-03-01 14:03:58來源:網(wǎng)絡(luò)

導(dǎo)語:?怎么學(xué)單片機?也??吹接腥苏f學(xué)了好幾個月可就是沒有什么進(jìn)展。當(dāng)然,受限于每個人受到的教育水平不同和個人理解能力的差異,學(xué)習(xí)起來會有快慢之分,但筆者感覺最重的就是學(xué)習(xí)方法。一個好的學(xué)習(xí)方法,能讓你事半功倍,這里說說筆者自己學(xué)習(xí)單片機的方法。

怎么學(xué)單片機?也??吹接腥苏f學(xué)了好幾個月可就是沒有什么進(jìn)展。當(dāng)然,受限于每個人受到的教育水平不同和個人理解能力的差異,學(xué)習(xí)起來會有快慢之分,但筆者感覺最重的就是學(xué)習(xí)方法。一個好的學(xué)習(xí)方法,能讓你事半功倍,這里說說筆者自己學(xué)習(xí)單片機的方法。

01

萬事開頭難

要勇敢邁出第一步

開始的時候,不要老是給自己找借口,說KEIL不會建項目啦、沒有實驗板啦之類的。遇到困難要一件件攻克,不會建項目,就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。

然后可以參考別的人程序,抄過來也無所謂,寫一個最簡單的,讓它運行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會差多少,總得建個項目,再配置一下項目,然后建個程序,加入項目中,再寫代碼、編譯、生成HEX,刷進(jìn)單片機中、運行。

必須熟悉這一套工序。個人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運行一下看結(jié)果,學(xué)習(xí)效會好很多,仿真器就看個人需要了。單片機是注重理論和實踐的,光看書不動手,是學(xué)不會的。

02

知識點用到才學(xué)

不用的暫時丟一邊

厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計也快忘光了,所以,最好結(jié)合實際程序,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點一小點的啃。

03

程序不要光看不寫

一定要自己寫一次

最開始的時候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達(dá)到什么目的,運行后有什么后果,看明白了之后,就要自己寫一次,你會發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時候卻一句也寫不出來,這就是差距。當(dāng)你自己能寫出來的時候,說明你就真的懂了。

04

學(xué)會掌握

調(diào)試程序的方法

不少人寫程序,把代碼寫好了,然后一運行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個帖子,把程序一貼,問:為什么我的程序不能正常運行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會發(fā)現(xiàn)問題和學(xué)會如何解決問題。

這就需要學(xué)習(xí)調(diào)試程序的方法,比如KEIL里,可以下斷點啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運行結(jié)果和你想象中不一樣的時候,你可以單步,也可以下斷點,然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個過程非常重要,通過程序的排錯,你可以學(xué)到的知識是書上得不到的。

05

找到解決問題思路

比找到代碼更重要

我們用單片機來控制周邊器件,達(dá)到我們想到的目的,這是一個題目,而如何寫出一個程序,來控制器件按你想要的結(jié)果去運作,這個就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會找出這個解題思路,比你找到代碼更為重要。

不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。

筆者幾乎不怎么看人家的代碼,多數(shù)時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以,要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人,所以現(xiàn)在我也明白了,以前讀書時說的程序流程圖很重要。當(dāng)你知道一個問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。

06

開動腦筋

運用多種方法優(yōu)化程序

想想用各種不同方法來實現(xiàn)同一功能。這是一個練習(xí)和提高的過程,一個問題,你解決了,那么你再想想,能不能換種寫法,也可以實現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點,讓程序執(zhí)行效率更高,這個過程,就是一個進(jìn)步的過程。很多知識和經(jīng)驗的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經(jīng)驗才能得到積累,編程水平才能有所提高。

07

看別人的代碼

學(xué)習(xí)人家的思路

這個在學(xué)習(xí)初期是很有用,通過看別人的代碼,特別是有多年編程經(jīng)驗的人寫出的具有一定水平的代碼,可以使自己編程水平得到迅速的提高,同時,也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的代碼,從中得到進(jìn)步。但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會了,這樣做只會使你退步。

08

嘗試編寫

綜合應(yīng)用的程序

從流水燈學(xué)起,到動態(tài)掃描,再到中斷,那么,你可以試試寫一下時鐘這種綜合性應(yīng)用的程序,不要小看時鐘,要寫好它不是一件容易的事情,它包括了單片機大部分的知識,比如有按鍵(IO讀取)、動態(tài)掃描(IO輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨寫一個功能的時候,比如按鍵讀取,你可能感覺很容易。

因為你的程序啥也不做,只是讀按鍵。但把它和其它功能混合在一起,如何在整個程序運行中使每一部分都正常工作,這就不是寫一個按鍵讀取這么容易的事情,功能模塊之間有可能會互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個協(xié)調(diào)過程。當(dāng)你有了這個處理協(xié)調(diào)能力,你就算是入門了。

聲明:本文為轉(zhuǎn)載類文章,如涉及版權(quán)問題,請及時聯(lián)系我們刪除(QQ: 2737591964,不便之處,敬請諒解!

標(biāo)簽:

點贊

分享到:

上一篇:PLC控制柜基礎(chǔ)知識詳解

下一篇:為DC-DC升壓轉(zhuǎn)換器選擇電感值

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號