在剛接觸單片機的初期,有許多人認為單片機非常難學(xué),有太多的指令,太多的語法,還要會硬件,其實這些都不是問題,下面和大家聊聊,學(xué)習(xí)單片機,有哪些誤區(qū)?如何走出這些誤區(qū)?
誤區(qū)1:51單片機入門簡單
51單片機入門簡單?我對于這個觀點持保留意見。想要入門51單片機,我不僅熟悉該款單片機外設(shè),而且還要充分了解寄存器的某位的意義。對于時鐘,定時器的配置必須了如指掌。這樣無疑會增大我的學(xué)習(xí)難度與熟悉的周期。如果我們使用32位單片機的庫函數(shù)模式,我們只需要具備C語言的知識,了解API函數(shù),直接看已經(jīng)注釋過的寄存器意思即可,不需要了解其底層的硬件實現(xiàn),更不需要了解某個寄存器某個指定位的意義了。這樣,減少了我的工作量,從而降低了開發(fā)難度。你說是51單片機入門簡單,還是32位Cortex內(nèi)核微處理器簡單?
誤區(qū)2:51單片機的成本低
我是一個務(wù)實的人,正做過一個產(chǎn)品就知道,成本核算也要站很大一塊。舉個例子我之前做了一個多軸數(shù)控設(shè)備,先不談算法的事如果你用樹莓派去做,同樣的功能一個樹莓派的板子可能要200元,如果用stm32做自己畫板子30塊就能搞定,要是你做產(chǎn)品你會選哪種方式呢。
成本都是左右應(yīng)用的主要因素。項目的立項主要考慮成本,銷售的定價主要成本。低成本的方案才會在市場里占有優(yōu)勢。可是,51單片機真就是最低成本了嗎?非也。現(xiàn)在按照功能劃分,部分Cortex-m0系列的32位單片機的成本也能做3元人民幣。其性能已經(jīng)是51單片機的好幾倍了,而且更容易開發(fā)與維護。
還有另外一個成本:開發(fā)難度成本。51單片機不支持在線調(diào)試,有一些問題在編程初期沒有發(fā)現(xiàn),只有與硬件連接后才會顯現(xiàn)出現(xiàn)來,例如控制操作中經(jīng)常用到的延時。這時在線調(diào)試的巨大優(yōu)勢就體現(xiàn)出來了,它可以極其方便的查看微處理器當(dāng)時的狀態(tài),使得問題的分析變得簡單而透明。從而,有效降低開發(fā)的難度,縮短開發(fā)周期,節(jié)約開發(fā)資金。
誤區(qū)3:51單片機可以學(xué)習(xí)寄存器的操作
寄存器不用死記硬背,有著10年老鳥經(jīng)驗的我,連一個寄存器都記不住。需要配置寄存器的時候,直接在網(wǎng)上或者書本上參考別人現(xiàn)成的配置程序是上策,查找芯片數(shù)據(jù)手冊是中策,死記硬背寄存器是最最下策。
51單片機可以學(xué)習(xí)寄存器的操作,這一點兒是不容置疑的。我們分析一下其更深層的原因。在MSC-51單片機的編程環(huán)境中,最初是以匯編語言為主要編程語言。要知道匯編語言就是直接操作寄存器的,匯編語言是無法做到C語言的函數(shù)調(diào)用與封裝的。如果說51單片機是以操作寄存器為優(yōu)點,我覺得更應(yīng)該說51單片機操作寄存器是一種無奈,是只有一個選項的選擇題。
筆者在這里也想舉一個示例來說明寄存器操作的步驟,但是操作寄存器實在是太復(fù)雜了,筆者不想去浪費時間去整理了。
誤區(qū)4:c語言需要學(xué)完。
通俗易懂的C語言,方便移植的C語言與硬件平臺相對應(yīng)的編譯器聯(lián)合,就能完成硬件的操作。有了簡單、方便的方式,我們?yōu)槭裁催€要考慮繁瑣,復(fù)雜的匯編語言與寄存器操作呢?
你不用學(xué)指針,你不用學(xué)帶形參的函數(shù),你不用學(xué)結(jié)構(gòu)體,你不用學(xué)宏定義,你不用學(xué)文件操作,你也不用死記繁瑣的數(shù)據(jù)類型。你只要會:
5條指令語句switch語句,if else語句,while語句,for語句,=賦值語句。
7個運算符+,-,*,/,|,&,!。
4個邏輯關(guān)系符||,&&,!=,==。
3個數(shù)據(jù)類型unsigned char, unsigned int, unsigned long。
3個進制相互轉(zhuǎn)化,二進制,十六進制,十進制。
1個void函數(shù)。
1個一維數(shù)組code(或const) unsigned char array[]。
那么世界上任何一種邏輯功能的單片機軟件你都能做出來。
單片機的學(xué)習(xí)是非常枯燥而又有挑戰(zhàn)性的事情。由干與實際的硬件直接連接,不僅要考慮編寫的正確性,而且還要考慮硬件的可靠性。這時,簡單、高效的軟件編寫就變向的降低我們開發(fā)難度與風(fēng)險。51單片機已經(jīng)是明日黃花向前看才是發(fā)展。也許是時候向51單片機說再見了!
審核編輯 :李倩
-
51單片機
+關(guān)注
關(guān)注
277文章
5708瀏覽量
126485 -
定時器
+關(guān)注
關(guān)注
23文章
3287瀏覽量
117140 -
編程語言
+關(guān)注
關(guān)注
10文章
1955瀏覽量
36037
原文標(biāo)題:單片機新手學(xué)習(xí)的4個誤區(qū)
文章出處:【微信號:電子技術(shù)控,微信公眾號:電子技術(shù)控】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
單片機科普總結(jié),建議收藏!

單片機學(xué)習(xí)—C51源代碼和Proteus仿真文件
單片機Debug工具性能對比 單片機調(diào)試常用命令
如何優(yōu)化單片機項目的功耗
單片機怎么寫入程序
單片機的中斷機制
單片機出現(xiàn)故障怎么維修
十天學(xué)會單片機可能嗎?單片機入門需要多久?

單片機引腳懸空是什么電平
新手如何學(xué)單片機

藍牙模塊如何實現(xiàn)單片機和手機端數(shù)據(jù)互傳

從菜鳥到大牛!嵌入式完整學(xué)習(xí)路線:STM32單片機-RTOS-Linux

評論