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