人的一生是一個不斷學習、不斷成長的過程。轉(zhuǎn)眼間,研究生的學習生涯結(jié)束了,走上新的工作崗位?;仡^看看,發(fā)現(xiàn)自己不知不覺已經(jīng)走過了五年的單片機學習之旅。
在2003年最初接觸單片機的時候,在我心中覺得51就是單片機,單片機就是51,根本不知道還有其他單片機的存在。那時候老師只教會了我們匯編語言,根本不知道用C語言也可以進行單片機開發(fā)。幸運的是,我加入了單片機興趣小組,在老師的指導下,做了一系列實驗,有“基于DS18B20的溫度采集系統(tǒng)”、“有基于164的移位寄存器的燈光控制系統(tǒng)”、“有步進電機和直流電機的控制系統(tǒng)”。這時候我才發(fā)現(xiàn),這是學習單片機的一個最好途徑——在實踐中領悟理論,用理論指導實踐。在上課的整整一個學期中,雖然老師講得很詳細,但是大部分概念都是到了實際動手做東西的時候才弄明白的。而且在經(jīng)歷了迷惑之后再搞清楚,印象就特別深刻。直到現(xiàn)在我對那些概念和接口都非常清晰。其實我也很慶幸學習和使用了兩年多的匯編語言。由于有這些鍛煉,我對單片機底層結(jié)構和接口時序就弄得很清楚。在使用C語言開發(fā)的時候,優(yōu)化代碼和處理中斷也就不會太費勁。我覺得,雖然現(xiàn)在絕大部分單片機開發(fā)都使用C語言,甚至有些公司還推出了圖形化編程的工具,這樣對于項目的開展從時間上快了很多,在管理上也規(guī)范了不少,但是從學習和想深入掌握單片機精髓的角度來說,還是需要熟練掌握匯編語言的使用。
機會總是青睞于有準備的人。也許有了前面一段時間的理論和實踐的積累,我才慢慢得到了一些參加科技競賽和參與科研項目的機會。在參加第一屆浙江省機械設計競賽的時候,我們設計的由多單片機系統(tǒng)協(xié)調(diào)控制的“月球車”機器人奪得了唯一的一個特等獎。這個競賽給我最大的收獲是我對單片機的認識改變了,它不再僅僅是一門學科了,它是一個可以讓你的創(chuàng)意得到充分發(fā)揮的平臺。后來參與了“基于視頻分劃技術的鋼卷尺自動切零位機”、“電能表渦杠渦輪嚙合深度檢測系統(tǒng)”、“基于公共電話網(wǎng)的水表集抄數(shù)據(jù)路由器”、“高精度電感微位移測量系統(tǒng)”等一些實際的項目。在這些過程中,我發(fā)現(xiàn)只是精通單片機技術還不能很好的解決問題。體會最深的是,單片機只有融合到各種應用領域中,才能展現(xiàn)它的最大活力。然而單片機僅僅是一個工具而已,要做好單片機系統(tǒng)還需要各種應用領域的專業(yè)知識的支持。例如,在“基于視頻分劃技術的鋼卷尺自動切零位機”中,就需要搞清楚全電視信號的時序,弄明白鋼卷尺切零位機的工作原理,懂得怎么利用疊加在視頻信號中的橫豎線來進行刻度的瞄準等。沒有這些專業(yè)知識,就算單片機技術再厲害也不可能做好這個項目。脫離應用背景的單片機開發(fā),就像一個沒有靈魂的軀體一樣。
隨著ARM的出現(xiàn),我曾經(jīng)認為,8位單片機可能在32位單片機的沖擊下就此走進歷史,可是很快就認識到我是錯誤的。隨著技術的革新和時間的推移,各大單片機公司紛紛將單片機朝著片上系統(tǒng)這個方向發(fā)展,集成了現(xiàn)在各種流行的技術和常用的模塊。我相信,在當前國內(nèi)和國外的這個市場中, 8位單片機應用的市場仍然是充滿生機,活力無限。在市場的不斷變化和技術的不斷更新過程中,8位單片機也會順應潮流不斷革新。
從我五年走過的路來看,單片機學習的過程應該是一個循序漸進、不斷學習、不斷積累的過程,可以分為三個階段。
第一階段:掌握開發(fā)單片機的必備基礎知識。首先是熟練掌握單片機的基本原理,其實各家各門的單片機其基本結(jié)構和原理都差不多,特別是共有的知識需要好好理解和掌握。例如,內(nèi)核結(jié)構、內(nèi)存分配、中斷處理、定時計數(shù)、串行通信、端口復用等一些最基本的概念和原理。除此之外,我們還需要具備模擬電子、數(shù)字電子、C語言程序開發(fā)知識以及原理圖和PCB設計等一些技能。在進行系統(tǒng)開發(fā)的時候,進行原理設計、PCB布板、程序編寫、系統(tǒng)聯(lián)調(diào)這些工作都是在所難免的。
第二階段:在掌握好一款單片機原理和應用的基礎上,開始學習其他各家單片機的獨有技術,學不了那么多也要多了解了解。同時盡可能多地掌握單片機的一些外圍器件和常用電路,以備不時之需。有時候客戶要求低成本,那我們只好選用合鈦、義隆、華邦等這類臺灣芯片;如果客戶要求工業(yè)級的性能,那么我們就得從PIC、NEC、飛思卡爾、NXP等這些歐美和日式單片機中選擇;若要進行功耗的開發(fā),選用MSP430系列應該有一定優(yōu)勢;在進行測量儀器設計的時候,C8051和AduC842這類數(shù)模混合芯片就顯得比較方便。所以說最好每個類型的單片機都會一兩款,在實際項目選型中可以更加靈活。另外,要注意平時的技術積累。比如,在項目開發(fā)過程中將一些常用的接口程序和控制算法整理成模塊或者函數(shù),在其他的項目開發(fā)中,有同樣或者接近的需求時馬上就可以使用,又快又好。
第三階段:在實際的項目開發(fā)過程中,不斷深化單片機應用技術,不斷積累應用行業(yè)的專業(yè)知識。例如,我完成了“高精度電感微位移測量系統(tǒng)”,就會對電感傳感器的測量機理和信號特性、測量電路的設計、電磁兼容處理、誤差修正和非線性處理等測控方面的專業(yè)技術有很深的認識。以后碰到類似的項目時,很多東西就可以直接利用了。有了扎實的單片機應用相關的基礎知識,并且熟悉掌握了幾款不同類型單片機的開發(fā)方法,再結(jié)合實際的應用背景,那么就可以隨心所欲,設計出性能最優(yōu)、結(jié)構最合理的單片機應用系統(tǒng)。這是我最大的奮斗目標,我覺得這也應該是單片機應用的最高境界吧。
在這五年的學習中,有感慨、有遺憾、有憧憬、有希望,更重要的是我對單片機應用這個領域充滿熱情。由于才疏學淺、涉世未深,希望能與行業(yè)里的各位老師多多交流,不斷學習,不斷成長。
本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie于1972年推出,1978年后,C語言已先后被移植到大、中、小及微型機上,它可以作為工作系統(tǒng)設計語言...
關鍵字:
C語言
匯編語言
背景寫這篇文章的初衷要從最近帶我一個朋友入坑學習單片機的經(jīng)歷開始講起;我要用梁靜茹給我的勇氣寫寫如何入坑單片機;我的一個朋友以前是汽車電子技術專業(yè),畢業(yè)之后去做了和汽車相關的工作,修了一年車;其實干一行愛一行,三百六十行...
關鍵字:
單片機開發(fā)
▼點擊下方名片,關注公眾號▼歡迎關注【玩轉(zhuǎn)單片機與嵌入式】公眾號,回復關鍵字獲取更多免費資料?;貜汀維TM32】,獲取STM32相關設計和視頻教程回復【PCB】,獲取PCB設計相關的資料回復【硬件知識】、【硬件設計】,獲...
關鍵字:
單片機開發(fā)
單片機應用系統(tǒng)的設計包括功能性設計、可靠性設計和產(chǎn)品化設計。其中,功能性是基礎,可靠性是保障,產(chǎn)品化是前途。因此,從事單片機應用系統(tǒng)開發(fā)工作的設計人員必須掌握可靠性設計。
關鍵字:
應用系統(tǒng)
單片機應用
功耗,在電池供電的儀器儀表中是一個重要的考慮因素。PIC16C××系列單片機本身的功耗較低(在5V,4MHz振蕩頻率時工作電流小于2mA)。
關鍵字:
PIC
單片機開發(fā)
功耗
在匯編語言程序設計中,經(jīng)常使用各種符號代替地址、變量和常量等,以增加程序的可讀性。盡管符號的命名由編程者決定,但并不是任意的.
關鍵字:
ARM
匯編語言
符號
感覺自己看過好多五花八門的關于單片機的開發(fā)經(jīng)驗了,但是不一定那些就是適合你的,“書讀百遍其義自見”,在追求學問的路上我們永無止境。 單片機開發(fā)初探 做AT89C5X(51,52,55等等)的時間最長,知道的可能多些,主要...
關鍵字:
單片機開發(fā)
學習編程其實就是學高級語言,即那些為人類設計的計算機語言。 但是,計算機不理解高級語言,必須通過編譯器轉(zhuǎn)成二進制代碼,才能運行。
關鍵字:
匯編語言
作為一名電子技術從業(yè)人員,你學過單片機嗎?你會運用單片機嗎?我想你一定學過,但不一定會運用。因為學習單片機比學習其他學科需要付出更多的努力和代價,不僅要學習理論知識還要練習實際操作,而且主要是在實際操作中才能真正學到單片...
關鍵字:
單片機學習
我們學習單片機的目的就是為了進行嵌入式系統(tǒng)的開發(fā),學好單片機首先要有一個整體認識,下面將簡要介紹一下單片機應用系統(tǒng)的開發(fā)流程,如圖所示。 圖 單片機系統(tǒng)開發(fā)流程 (1)明確任務 分析和了解項目的總體要求,并綜合考慮系統(tǒng)使...
關鍵字:
單片機開發(fā)
看到這篇文章的朋友,想必大家對pic單片機均具備一定興趣,或?qū)ic單片機具備一定使用需求。前文中,小編曾對pic單片機匯編語言進行過部分講解。本文中,將對pic單片機的清零等指令加以講解,以幫助大家更好掌握pic單片機...
關鍵字:
pic單片機
指令
匯編語言
pic單片機為最常用單片機之一,許多程序均基于pic單片機進行開發(fā)。因此,熟練pic單片機編程尤為重要。為保證大家能準確、熟練掌握pic單片機的使用,本文特帶來pic單片機的各種匯編語言指令的講解上篇,下篇將在后期文章中...
關鍵字:
pic單片機
單片機
匯編語言
學好單片機并不是我們的主要目的,我們最終想要的是用好單片機,可以利用單片機實現(xiàn)各種你想實現(xiàn)的功能。除了對各種你程序語言,指令的了解與熟悉,對硬件的了解也是不可或缺的。
關鍵字:
單片機學習
硬件
軟件
隨著 2019 華為開發(fā)者大會的臨近,華為消費者業(yè)務 CEO 余承東此前在 P30 國內(nèi)發(fā)布會上宣布的 “能夠?qū)崿F(xiàn) Android 性能革命” 的方舟編譯器也即將進入到開源階段。雖然此前在 4 月份華
關鍵字:
Android
華為
方舟編譯器
匯編語言
看到一個要求輸出“楊輝三角形”的題目:循著給出的鏈接,找到了百度文庫,看了一篇又一篇文章、程序,感覺好像是一個賽著一個的羅嗦。楊輝三角形,大家都知道,排列形狀如下:1?11?2?11?3?3?11?4
關鍵字:
匯編語言
第4章?處理器體系結(jié)構·四關鍵詞:處理器體系結(jié)構,匯編語言,指令集,硬件控制語言,寄存器和存儲器
一個處理器支持的指令和指令的字節(jié)級編碼成為它的ISA(instruction-set archite
關鍵字:
匯編語言
處理器體系結(jié)構
做了一單片機設計,要用C語言與匯編語言同時實現(xiàn),現(xiàn)將這次設計的感受和收獲,還有遇到的問題寫下,歡迎感興趣的朋友交流想法,提出建議。
關鍵字:
C語言
單片機中
匯編語言
當前開發(fā)單片機應用系統(tǒng)程序主要應用匯編語言和C51語言,采用匯編語言編寫可直接操縱系統(tǒng)的硬件資源,能編寫出高效運行的程序代碼,程序運行速度快。而采用C51語言編寫可改善程序的可讀性和可移植性,利于產(chǎn)品的更新?lián)Q代,大大加快...
關鍵字:
C51
匯編語言
跑馬燈