單片機(jī)怎么學(xué)好
單片機(jī)怎么學(xué)好
單片機(jī)在流行之處曾經(jīng)風(fēng)靡一時(shí),大街小巷的mp3,mp4,游戲機(jī)都是單片機(jī)芯,目前大街上還是有很多單片機(jī)的產(chǎn)品。下面學(xué)習(xí)啦小編收集了一些關(guān)于單片機(jī)學(xué)習(xí)的方法,希望對(duì)你有幫助
單片機(jī)學(xué)習(xí)方法
1.首先學(xué)好C語言或者匯編,這和單片機(jī)本身的開發(fā)環(huán)境有關(guān),單片機(jī)通過直接控制芯片的寄存器的指針地址完成直接操控。這也是為什么大家都覺得C語言神奇的地方直接控制單片機(jī)上面顯示燈的亮或者滅。因?yàn)橹灰懒藘?nèi)存地址空間的具體范圍就可以直接通過指針直接控制。C語言最神奇的之處就是指針了。匯編學(xué)起來就比較頭大了,這個(gè)真需要興趣,和對(duì)計(jì)算機(jī)強(qiáng)大的求知欲。C語言學(xué)習(xí)的過程中,建議使用c primer plus教材,同時(shí)在學(xué)習(xí)的過程中,要把書上的代碼在電腦上面都有所體現(xiàn)。沒有實(shí)踐不算編程。
2.有一定的硬件基礎(chǔ)知識(shí),因?yàn)樽鰡纹瑱C(jī)基本上對(duì)電路圖不陌生,甚至直接動(dòng)手做電路圖,這些都需要有一定的硬件基礎(chǔ)。其實(shí)一般的大學(xué)計(jì)算機(jī)課程里面都會(huì)涉及兩門課程數(shù)字電路和模擬電路,這兩門學(xué)個(gè)大概基本就差不多了。打基礎(chǔ)階段總是痛苦的,真到用的時(shí)候就會(huì)覺得如魚得水。記得當(dāng)初帶我那哥們,看到電路板就對(duì)電路板的設(shè)計(jì)樣式指點(diǎn)一番江山,脫口而出想當(dāng)年自己設(shè)計(jì)的樣式如何,有夸大的成分但是硬件基礎(chǔ)的確過硬確也是事實(shí)
3.對(duì)單片機(jī)有學(xué)習(xí)存在很大的興趣,都說興趣是第一老師,沒了興趣遇到困難就會(huì)覺得好難,有了興趣或者干勁可能只會(huì)覺得這只是路上一個(gè)小石頭用力一腳踢開就可以了。心態(tài)不一樣狀態(tài)也不一樣。常常對(duì)一些想入門的小伙伴說,想學(xué)編程毅力和興趣必須具備一樣,否則真的只會(huì)半途而廢。
學(xué)習(xí)單片機(jī)的步驟
1、熟悉單片機(jī)的原理,結(jié)構(gòu);
2、學(xué)好數(shù)電,模電,為設(shè)計(jì)電路打好基礎(chǔ);
3、熟練使用C語言,多學(xué)習(xí)別人的程序;
4、對(duì)操作系統(tǒng)原理有一定的了解;
5、Protel至少要有點(diǎn)基礎(chǔ);
6、要實(shí)際動(dòng)手調(diào)試電路的能力。
新手學(xué)習(xí)一款單片機(jī)方法
第一階段:自己偶然了解或者被別人推薦從而得知單片機(jī)可以通過編程來實(shí)現(xiàn)自動(dòng)控制的一些功能。而且聽到了很多“專業(yè)名詞”,例如51、STM32、定時(shí)器、嵌入式等等。但是直限于對(duì)這次名詞有一個(gè)感性的認(rèn)識(shí)。
第二階段:知道了51單片機(jī)是8位低端機(jī)、MSP430是16位低功耗單片機(jī)、STM32是資料比較齊全,市場(chǎng)普及率比較高的32位高性價(jià)比單片機(jī),從而在使用哪一款單片機(jī)入門這個(gè)問題上糾結(jié)了很久,一部分人給的建議是從51入手,先把51學(xué)通了,再去學(xué)習(xí)32或者其他的,會(huì)很快上手。而又有另外一部分人告訴他,51已經(jīng)過時(shí)了,同樣的價(jià)格,可以直接拿到STM32的片子,而且stm32的性價(jià)比要比51高太多了,資源也比51豐富很多。當(dāng)然還有人建議學(xué)習(xí)MSP430,因?yàn)?30畢竟是出身豪門,有著Ti這個(gè)大牌老爹,再加上自己的低功耗的賣點(diǎn),自然不會(huì)比其他的差。所以新手往往會(huì)在這個(gè)環(huán)節(jié)卡一段時(shí)間。不知道自己選擇什么。
第三階段:大部分人經(jīng)過之前兩個(gè)環(huán)節(jié)的猶豫,然后自己去圖書館、網(wǎng)上查找相關(guān)的帖子、資料等等,最后決定學(xué)習(xí)STM32。因?yàn)镾TM32有以下優(yōu)點(diǎn):1、STM32的資料非常多,而且好多都是中文資料,這對(duì)于英文學(xué)習(xí)不好的同學(xué)就是一個(gè)福音,隨便在網(wǎng)上一搜就可以搜到一大堆資料,或者加一個(gè)STM32的學(xué)習(xí)群,就可以找到一堆資料。2、網(wǎng)上有很多前輩發(fā)表的STM32學(xué)習(xí)過程心得體會(huì)的帖子,自己有不會(huì)的就可以隨時(shí)在網(wǎng)上查資料學(xué)習(xí)。3、淘寶上STM32的開發(fā)板比較便宜。從二十塊得最小系統(tǒng)板到上千的功能完善的開發(fā)板都有,這些貴點(diǎn)的板子還提供了完善的學(xué)習(xí)資料和視頻教程而且還有對(duì)應(yīng)的學(xué)習(xí)群供大家交流討論。4、STM32本身資源比較豐富,可以滿足自己做絕大多數(shù)項(xiàng)目。好了,經(jīng)過這么多時(shí)間的猶豫、對(duì)比,總是確定了要學(xué)習(xí)STM32了??墒且獙W(xué)習(xí),首先就得有一個(gè)開發(fā)板,上淘寶一搜,各種開發(fā)板琳瑯滿目,簡(jiǎn)直看花了眼,想來想去,反正這次學(xué)習(xí),學(xué)會(huì)了以后用處很多,找工作什么的也不用發(fā)愁了,所以多花點(diǎn)錢搞個(gè)好點(diǎn)的吧,于是乎花個(gè)六七百大洋,買一套開發(fā)板。一般還非要配一個(gè)大尺寸的觸摸屏,畢竟淘寶上的開發(fā)板,例程做的都不錯(cuò),看著顯示屏上那么高端大氣的圖標(biāo),覺得反正放在一起買比較便宜,索性就一次把錢花了,買一個(gè)長(zhǎng)期用,大不了吃幾個(gè)月泡面,給自己投資總是值得的。
第四階段:開發(fā)板付款后,板子還沒到,就趕緊安裝開發(fā)環(huán)境等。然后是焦急的等了幾天,總算收到了,然后迫不及待的拍照、開箱、觀摩、上電,顯示屏亮了,里面燒寫的默認(rèn)例程開始跑了,心里感覺很爽。然后開始給自己制定計(jì)劃,一天學(xué)習(xí)一個(gè)外設(shè),或者一周學(xué)習(xí)一個(gè)外設(shè)。
第五階段:開始學(xué)習(xí)GPIO,花了好幾天時(shí)間,按照例程上講的東西,總算把一個(gè)LED燈點(diǎn)亮了,感覺自己像是學(xué)到什么了,又興奮的把板子上其他LED也點(diǎn)亮了,然后還搞個(gè)LED流水燈。覺得STM32庫(kù)函數(shù)真好用,然后就開始學(xué)習(xí)按鍵什么的,按照賣家給的教程,貌似確實(shí)進(jìn)展很快。
第六階段:GPIO學(xué)完了,按鍵學(xué)完了,接下來開始學(xué)習(xí)ADC、DMA、TIMER了,然而這時(shí)候發(fā)現(xiàn)并沒有那么簡(jiǎn)單了,《STM32參考手冊(cè)》看了幾遍也不是很懂?!禨TM32庫(kù)函數(shù)手冊(cè)》看了之后也是迷迷糊糊,翻開《Cortex-M3權(quán)威指南》看看更是一頭霧水,賣家的視頻看著看著就想睡覺了。這時(shí)候感覺對(duì)SMT32的興趣瞬間就降為0,逼著自己把賣家的例程燒寫進(jìn)去,看看實(shí)驗(yàn)現(xiàn)象,然后再看看代碼,勉強(qiáng)算是自己學(xué)完了這一章。然后就把板子收起來了。這一收可能就再也不會(huì)拿出來學(xué)習(xí)了。
猜你感興趣:
3.初學(xué)者如何學(xué)習(xí)單片機(jī)