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