學(xué)單片機(jī)有什么用?單片機(jī)怎么學(xué)最有效率?怎樣學(xué)好單片機(jī)
“單片機(jī)”有啥用?如果你是個(gè)學(xué)電子的學(xué)自動(dòng)化的理工生的大三以上狗說(shuō)不上四五條,那你叫學(xué)校死遠(yuǎn)吧。但也要考慮自身責(zé)任。
如果你學(xué)的不是跟這相關(guān)的專業(yè),覺(jué)得很新奇嗎,離我們生活很遠(yuǎn)嗎?那這抱歉了,你真想多了,說(shuō)新奇啊--單片機(jī)誕生于1971年,比咱們年齡都大吧。說(shuō)離我們遠(yuǎn)啊--你每天都會(huì)遇到好多次,賣早餐到刷卡機(jī)刷飯卡,電梯送你上樓去上課,圖書(shū)館的門禁攔住你又放你進(jìn)去,上廁所方便后自動(dòng)沖水,這些其實(shí)都是單片機(jī)君們?cè)谀墓ぷ鳌?/p>
單片機(jī)從1971年發(fā)展至今,各方面都得到了發(fā)展,種類上更豐富,集成度更高,價(jià)格更便宜,功能上更強(qiáng)大。
一般的書(shū)籍和網(wǎng)上的資料都會(huì)說(shuō)單片機(jī)在儀器儀表、工業(yè)控制、家用電器、醫(yī)用設(shè)備、航空航天等方面有廣泛的應(yīng)用。
工業(yè)控制主要是因?yàn)閱纹瑱C(jī)工作的穩(wěn)定程度是最高最穩(wěn)定的,如工業(yè)機(jī)器人的控制啊、流水線啊都需要穩(wěn)定的重復(fù)工作,所以就專門嵌入一個(gè)微控制器到這個(gè)系統(tǒng)里去執(zhí)行已經(jīng)編輯好的程序。嵌入式系統(tǒng)的穩(wěn)定度是最高的,極少出現(xiàn)死機(jī)、程序跑飛的現(xiàn)象,所以啊,電梯、游樂(lè)場(chǎng)里過(guò)山車啊飛輪啊都由單片機(jī)控制。
家用電器很多啊,比如自動(dòng)洗衣機(jī),你輸入個(gè)數(shù)它就知道要洗多久,洗完之后它又自動(dòng)用清水洗,又甩干。都是單片機(jī)在按照已經(jīng)編好的程序在干活。而且智能家居現(xiàn)在是一個(gè)很熱門的話題,讓你整個(gè)家都是智能的,包括地板和窗戶。
這里的例子真的很多,大家到百度上一百度都能百度出一大堆,我就不再累述。因?yàn)閱纹瑱C(jī)體積小、控制功能強(qiáng)、功耗低、環(huán)境適應(yīng)能力強(qiáng)、擴(kuò)展靈活和使用方便,導(dǎo)航、控制、測(cè)控、通信等各個(gè)領(lǐng)域都要依仗于它。
其實(shí)沒(méi)必要說(shuō)要學(xué),沒(méi)人要你學(xué),學(xué)這件事要是自己想學(xué)然后才能學(xué)好才能堅(jiān)持下來(lái),這里只是跟你說(shuō)這東西挺好的,學(xué)不學(xué)你自己決定。而不能說(shuō)學(xué)了之后對(duì)你好,我覺(jué)得這叫勾引,很卑鄙。
不知道大家什么感受,其實(shí)我覺(jué)得大學(xué)里最后留在心里的都是自己喜歡的自己自學(xué)的東西。老師教的有時(shí)應(yīng)付考試的真的沒(méi)留下啥痕跡。
其實(shí)這也不奇怪,就比如說(shuō)接觸了單片機(jī),一學(xué)一看還挺有意思,自己就喜歡了,又自己查書(shū)查資料,又自己開(kāi)始動(dòng)手干活,自己賣元件,自己請(qǐng)教別人,自己制造出了作品,自己發(fā)現(xiàn)問(wèn)題和解決,其實(shí)這個(gè)學(xué)習(xí)的過(guò)程是多維度的,不但收獲了知識(shí)還增強(qiáng)了綜合解決問(wèn)題的能力,比課堂上老師直接灌輸?shù)囊痪S學(xué)習(xí)方式要強(qiáng)太多了。況且在課堂上,大多數(shù)時(shí)候還是我們?cè)诜亲栽浮⑹芡评T的情況下迎合應(yīng)試教育。
學(xué)校有時(shí)會(huì)說(shuō)一句話“我們的學(xué)生基礎(chǔ)知識(shí)扎實(shí),工作之后上手快”。明顯胡說(shuō)八道,上手快靠什么,靠能力?荚、知識(shí)和能力是三碼事,不能因?yàn)槎寂θ〉昧撕玫目荚嚦煽?jī)就說(shuō)掌握了知識(shí),更不能說(shuō)這知識(shí)又都轉(zhuǎn)化成了能力,而在現(xiàn)實(shí)生活中,直接使用的是能力。那你告訴告訴我要看多少本書(shū)才能學(xué)會(huì)包餃子?
我覺(jué)得大學(xué)校園里的主題詞不是青春、也不是奮斗,而是迷茫,大家不知道為了什么要伺候好每個(gè)科目的成績(jī),不知道為了什么要考研、出國(guó),不知道自己想干什么能干什么,大概都是為了別人說(shuō)的一句好,甚至是以后會(huì)好。
一個(gè)東西如果自己覺(jué)得不感興趣覺(jué)沒(méi)意義,最好真的不學(xué)。如果真的感興趣,如果可以,通過(guò)這樣的一次學(xué)習(xí)經(jīng)歷把學(xué)習(xí)的主動(dòng)性積極性從大學(xué)那僵尸一大波一大波的教室里解放出來(lái)。不奢求老師家長(zhǎng)社會(huì)的扯淡美好未來(lái)的色誘,不屈服應(yīng)試教育的掛科懲罰的迫害,只是簡(jiǎn)簡(jiǎn)單單的學(xué)點(diǎn)東西,不管有沒(méi)有用,只是自己愿意沒(méi)有為什么。
單片機(jī)學(xué)習(xí)是很難的,不能速成,你必須承認(rèn)這一點(diǎn),有些號(hào)稱能幫你從入門到精通,那些大多都是牛皮膏藥,基本上講的都是些入門的東西,市面上的講單片機(jī)的書(shū)本內(nèi)容基本上八九成是一樣的。學(xué)習(xí)單片機(jī)的視頻,八九成一樣,不同的人講的,主講人的水平高低不同。
而正真高深的單片機(jī)程序處理,你在網(wǎng)上基本上找不到,偶爾能有那么一兩個(gè)高手把自己的一點(diǎn)點(diǎn)心得分享出來(lái),也許你半天都不能領(lǐng)悟其真諦。
正真的高手是這么煉成的?唯有自己日積月累,不斷堅(jiān)持、思考讀成熟的程序,加上自己對(duì)程序的悟性,等到2到3年方可有所造詣。
1、首先我們來(lái)談?wù)凜 基礎(chǔ),單片機(jī)程序開(kāi)發(fā),基本上用的是C 語(yǔ)言,你的 語(yǔ)言學(xué)的怎么樣了,對(duì)于關(guān)鍵詞的使用是否已經(jīng)融會(huì)貫通了,對(duì)于語(yǔ)法規(guī)則是否已經(jīng)掌握。這是一門實(shí)踐行的知識(shí),沒(méi)有實(shí)踐你的C 語(yǔ)言等于0,他的功能可不是書(shū)上那些例子,輸個(gè)數(shù)做個(gè)加減乘除把結(jié)果輸出。利用他的關(guān)鍵字及語(yǔ)法規(guī)則,勾畫(huà)出無(wú)限的生產(chǎn)力。對(duì)于C 語(yǔ)言的基礎(chǔ)知識(shí)你要達(dá)到那種水平了,當(dāng)你的想法出現(xiàn)的時(shí)候,功能要求已有,你能立刻用C 語(yǔ)言描繪出來(lái)。C 語(yǔ)言只是工具,實(shí)現(xiàn)我們的想法的工具,對(duì)于工具的使用要信手拈來(lái),例如:把一個(gè)字節(jié)數(shù)據(jù)高底位一一兌換、把脈沖數(shù)轉(zhuǎn)換為時(shí)間及檢測(cè)出按鍵的連續(xù)兩次按下等等,看到問(wèn)題的時(shí)候具體的實(shí)現(xiàn)代碼在老海呈現(xiàn)了沒(méi)。
2、工具用熟了以后,我們?cè)搶W(xué)習(xí)什么了了?對(duì)語(yǔ)法熟練以后就應(yīng)該重點(diǎn)學(xué)習(xí)程序設(shè)計(jì)的方法,請(qǐng)大家分清兩個(gè)概念,C 語(yǔ)言只是工具,會(huì)C 語(yǔ)言并代表你會(huì)設(shè)計(jì)程序,程序設(shè)計(jì)能力可分為,首先是能將復(fù)雜的功能要求拆分為若干個(gè)細(xì)小功能,用C 語(yǔ)言描述實(shí)現(xiàn),再將這些小功能用你的C 語(yǔ)言工具串起來(lái)組成我們所需要的復(fù)雜功能。整個(gè)過(guò)程下來(lái)C 語(yǔ)言都只是實(shí)現(xiàn)你想法的工具?吹竭@里你是否還敢用“玩”、“精通”來(lái)形容單片機(jī)嗎,當(dāng)真正進(jìn)入單片機(jī)殿堂的時(shí)候你會(huì)感覺(jué)這是一個(gè)浩瀚無(wú)邊的宇宙,你會(huì)越發(fā)感覺(jué)自己的渺小,只有更好,沒(méi)有最好。
總結(jié)幾點(diǎn)個(gè)人的學(xué)習(xí)的經(jīng)驗(yàn):
C語(yǔ)言與程序設(shè)計(jì)的學(xué)習(xí)是相輔相成的,他們共同進(jìn)步,就如同你的兩只腳,誰(shuí)都不能超過(guò)誰(shuí)很遠(yuǎn)。學(xué)習(xí)單片機(jī)之前請(qǐng)先學(xué)習(xí)C 語(yǔ)言,請(qǐng)不要相信什么零基礎(chǔ)也能學(xué)好,至少20天,要把基礎(chǔ)知識(shí)掌握,在進(jìn)入單片機(jī)學(xué)習(xí),視頻網(wǎng)上一大把,學(xué)會(huì)操作基礎(chǔ)模塊,在這個(gè)階段你可以在網(wǎng)上尋找知識(shí)學(xué)習(xí),將你開(kāi)發(fā)板的模塊程序都練一遍。
當(dāng)你開(kāi)發(fā)板學(xué)完了, 這個(gè)時(shí)候該這么辦了,這就是我今天重點(diǎn)要的。
如果你就是淺嘗輒止,那么你可以說(shuō)自己入門了,如果你想有所造詣那么你還遠(yuǎn)著了,對(duì)于走過(guò)了這個(gè)階段以后,我對(duì)我的學(xué)生的要求就是“背程序”,就如同別人學(xué)習(xí)英語(yǔ)背文章增強(qiáng)語(yǔ)感。我說(shuō)所的“背程序”,并非死記硬背,屬于一種重復(fù)強(qiáng)化訓(xùn)練,圍繞幾個(gè)主題,①、按鍵讀。虎、數(shù)碼管顯示(重復(fù)計(jì)算顯示代碼) ;③、LCD1602液晶顯示;④、AT24C02讀寫(xiě);⑤、DS1302讀寫(xiě);⑥、D S18B20讀寫(xiě)。每個(gè)項(xiàng)目從建工程到下載成功在20分鐘以內(nèi),最好練到在10分鐘左右。對(duì)于代碼需要精簡(jiǎn)而又有內(nèi)涵,當(dāng)你做好以后能增強(qiáng)你的語(yǔ)感及常規(guī)程序設(shè)計(jì)能力。最后以同樣的方式訓(xùn)練一個(gè)綜合項(xiàng)目——多功能數(shù)字鐘,這個(gè)項(xiàng)目可能需要一個(gè)上午才能做好。這個(gè)過(guò)程的目的很簡(jiǎn)單,增強(qiáng)C 語(yǔ)言工具的使用能力,在單片機(jī)編程這塊,對(duì)于基礎(chǔ)模塊的程序設(shè)計(jì)能力,完成從感覺(jué)自己什么都懂,可要寫(xiě)點(diǎn)什么東西時(shí)又不知如何下手到實(shí)現(xiàn)一些簡(jiǎn)單功能程序能迅速寫(xiě)出來(lái)的轉(zhuǎn)變。這個(gè)方式枯燥乏味但是效果還可以,可以借鑒借鑒。
完成了上述工作,緊接著多練習(xí)綜合項(xiàng)目,這個(gè)時(shí)候這能靠自己,學(xué)程序沒(méi)有別的,只能多練,多想。用你的開(kāi)發(fā)板編寫(xiě):計(jì)算器、電子日歷、電子密碼等各類能把你開(kāi)發(fā)板上的資源綜合起來(lái)用的程序。假想就是在做項(xiàng)目,要對(duì)自己提出苛刻的功能要求,切記不多說(shuō)差不多了,要做到完美。
再往下走,完美要回過(guò)頭學(xué)習(xí)單片機(jī)原理,去學(xué)習(xí)匯編,學(xué)習(xí)單片機(jī)的運(yùn)行原理對(duì)你編程有極大的幫助,再把你的C 語(yǔ)言書(shū)拿出來(lái),細(xì)細(xì)的看前幾章節(jié),是時(shí)候該去看看指針了。在程序中簡(jiǎn)單的使用指針。
就這樣往下練吧,估計(jì)至少得年吧時(shí)間。
再往下走,你應(yīng)該去研究指針了,將指針應(yīng)用到你的程序當(dāng)中,它可以給你解決以往你所遇到的很棘手的問(wèn)題。
講到指針,該想到結(jié)構(gòu)體了,我們應(yīng)該去學(xué)習(xí)鏈表了,我們要將簡(jiǎn)單數(shù)據(jù)結(jié)構(gòu)應(yīng)用到單片機(jī)了。這個(gè)期間你如果能去學(xué)習(xí)在操作系統(tǒng)上的編程是很有必要的。如在VC 上做簡(jiǎn)單功能界面,Linux 系統(tǒng)編程。這可以讓你看看別人優(yōu)秀代碼,從中吸取經(jīng)驗(yàn),就算看不到源代碼,也可以從別人的函數(shù)所具備的功能上思考的自己的函數(shù)設(shè)計(jì),改善自己的函數(shù),我的很多函數(shù)功能設(shè)計(jì)方式就是這么來(lái)的。
差不多又是一年時(shí)間過(guò)去了。真心希望你堅(jiān)持下來(lái)了,到這個(gè)時(shí)候你基本上已經(jīng)能獨(dú)立解決很多問(wèn)題了。
這個(gè)時(shí)候我們?cè)撊W(xué)習(xí)什么了了,該去學(xué)習(xí)“易經(jīng)經(jīng)”——C 語(yǔ)言描述數(shù)據(jù)結(jié)構(gòu)與算法分析。在程序的世界里,它就是最高的內(nèi)功心法,能在里面學(xué)的一招半式,就可以行走江湖了。這本書(shū)目前我也只是研究過(guò)幾個(gè)章節(jié),在這里面你會(huì)看到操作系統(tǒng)的具體實(shí)現(xiàn),文件系統(tǒng)的設(shè)計(jì)思想等等,各類大型程序設(shè)計(jì)設(shè)計(jì)思想。
關(guān)于單片機(jī)學(xué)習(xí),內(nèi)容遠(yuǎn)不止這些,上述只講了單片機(jī)的程序設(shè)計(jì)方面,依據(jù)單片機(jī)的特片還硬件這一塊極為重要,不理解硬件也設(shè)計(jì)不好程序。
編輯:admin 最后修改時(shí)間:2019-09-06