欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9569|回復: 19
收起左側

徐工帶你向51單片機說再見--經驗貼

  [復制鏈接]
ID:44111 發表于 2014-12-18 12:01 | 顯示全部樓層 |閱讀模式
最近在訪問論壇時看到好多人在討論51單片機,有人說51單片機應該學習,它是基礎;也有人說51單片機是過時的產品,現在產品應用已經不再選用了,也就失去了學習的必要性。從最初的51單片機學起,工作多年后現在基本應用32位MCU做項目,筆者覺得是時候向51單片機說再見了。

51單片機的輝煌過去

51單片機指MCS-51系列單片機,CICS指令集。由Intel公司開發,其結構增加了如乘(MUL)、除(DIV)、減(SUBB)、比較(CMP)、16位數據指針、布爾代數運算等指令,以及串行通信能力和5個中斷源,內有128個RAM單元及4K的ROM。其代表型號是ATMEL公司的AT89系列,它廣泛應用于工業測控系統之中。目前國內的51單片機市場主要為國產宏晶的產品STC系列其號稱低功耗,穩定與廉價的特點。

學習51單片機的誤區

誤區1:51單片機是學習的基礎

“51單片機是學習的基礎”這句話本身并沒有錯。在我讀本科的時候,當時它無疑是學習的基礎——畢竟那時沒有更高級的單片機可以供使用,國內更沒有更高級的教材供參考,老師的水平也是參差不齊,而51單片機正符合這樣的需求,不僅有大量的成型的教材,廣泛的示例,當時工作的實際項目也是51單片機為主,于是51單片機理所當然的成為當時的學習基礎。要知道筆者讀本科的時候是2004年,即10年前的東西。按照莫爾定律,電子行業每18個月更新換代,10年前的技術現在已經更新了6代了——事實也確實如此。

目前32位Crtex-M系列單片機的各種教程已經普及,其學習的難度不斷降低。以意法半導體公司的STM32F系列單片機來說,意法半導體在推廣產品初期大量贈送了核心板。免費贈送的核心板不僅有流行的32位Cortex-M系列微處理器,更在板上集成在線調試器。隨機附贈的光盤或者鏈接更是提供了大量的示例源代碼。我們只需要安裝開發環境即可直接編譯與下載調試。這時,如果再說51單片機是學習嵌入式的基礎肯定是不合時宜了。

誤區2:51單片機可以學習寄存器的操作

51單片機可以學習寄存器的操作,這一點兒是不容置疑的。我們分析一下其更深層的原因。在MSC-51單片機的編程環境中,最初是以匯編語言為主要編程語言。要知道匯編語言就是直接操作寄存器的,匯編語言是無法做到C語言的函數調用與封裝的。如果說51單片機是以操作寄存器為優點,我覺得更應該說51單片機操作寄存器是一種無奈,是只有一個選項的選擇題。

我們現在的Cortex-M系列單片機就無法學習寄存器了嗎?顯然不是。在硬件設計中,硬件的操作方式就是寄存器的操作,但是其實現卻是可以不同。各微處理器提供的C語言庫函數包其實質就是將操作寄存器的指令進行了C語言環境下的封裝。我們這里用ST官方庫函數舉一個示例:

void USART_Init (USART1, *USART_InitStruct);//實現串口1的初始化,簡單明了,無需注釋

筆者在這里也想舉一個示例來說明寄存器操作的步驟,但是操作寄存器實在是太復雜了,筆者不想去浪費時間去整理了。

通俗易懂的C語言,方便移植的C語言與硬件平臺相對應的編譯器聯合,就能完成硬件的操作。有了簡單、方便的方式,我們為什么還要考慮繁瑣,復雜的匯編語言與寄存器操作呢?

誤區3:51單片機的成本低

成本都是左右應用的主要因素。項目的立項主要考慮成本,銷售的定價主要成本。低成本的方案才會在市場里占有優勢。可是,51單片機真就是最低成本了嗎?非也。現在按照功能劃分,部分Cortex-m0系列的32位單片機的成本也能做3元人民幣。其性能已經是51單片機的好幾倍了,而且更容易開發與維護。

還有另外一個成本:開發難度成本。51單片機不支持在線調試,有一些問題在編程初期沒有發現,只有與硬件連接后才會顯現出現來,例如控制操作中經常用到的延時。這時在線調試的巨大優勢就體現出來了,它可以極其方便的查看微處理器當時的狀態,使得問題的分析變得簡單而透明。從而,有效降低開發的難度,縮短開發周期,節約開發資金。

誤區4:51單片機入門簡單

51單片機入門簡單?我對于這個觀點持保留意見。想要入門51單片機,我不僅熟悉該款單片機外設,而且還要充分了解寄存器的某位的意義。對于時鐘,定時器的配置必須了如指掌。這樣無疑會增大我的學習難度與熟悉的周期。如果我們使用32位單片機的庫函數模式,我們只需要具備C語言的知識,了解API函數,直接看已經注釋過的寄存器意思即可,不需要了解其底層的硬件實現,更不需要了解某個寄存器某個指定位的意義了。這樣,減少了我的工作量,從而降低了開發難度。你說是51單片機入門簡單,還是32位Cortex內核微處理器簡單?

嵌入式系統的學習是非常枯燥而又有挑戰性的事情。由于與實際的硬件直接連接,不僅要考慮編寫的正確性,而且還要考慮硬件的可靠性。這時,簡單、高效的軟件編寫就變向的降低我們開發難度與風險。51單片機已經是明日黃花,向前看才是發展。是時候向51單片機說再見了!



回復

使用道具 舉報

ID:70104 發表于 2014-12-19 15:35 | 顯示全部樓層
說什么啊~~~寫這么長,看著就煩
回復

使用道具 舉報

ID:69311 發表于 2014-12-19 18:34 | 顯示全部樓層
不要打擊我,我才剛開始~
回復

使用道具 舉報

ID:71630 發表于 2015-1-5 09:01 來自觸屏版 | 顯示全部樓層
有一定道理
回復

使用道具 舉報

ID:69240 發表于 2015-1-5 11:24 | 顯示全部樓層
有一定的道理,但也還沒到讓我放棄的地步,有參考價值
回復

使用道具 舉報

ID:71607 發表于 2015-1-6 10:43 | 顯示全部樓層
有一定道理
回復

使用道具 舉報

ID:11942 發表于 2015-1-7 09:54 | 顯示全部樓層
沒道理哦,萬丈高樓平地起,沒有基礎怎么行?
回復

使用道具 舉報

ID:73293 發表于 2015-2-5 15:35 來自觸屏版 | 顯示全部樓層
別誤導人了,能發揮最大作用才是王道。
回復

使用道具 舉報

ID:74651 發表于 2015-3-15 10:15 | 顯示全部樓層
對于不會C的我來說只能玩51了
回復

使用道具 舉報

ID:73949 發表于 2015-3-15 12:19 | 顯示全部樓層
不管哪一種單片機只要能發揮它的使用潛能就是最好的。
回復

使用道具 舉報

11#
無效樓層,該帖已經被刪除
ID:70769 發表于 2015-3-21 22:48 | 顯示全部樓層
VERY  GOOD!!!
回復

使用道具 舉報

ID:73463 發表于 2015-3-23 08:02 | 顯示全部樓層
芯片更新的越高級,對于我們的要求會變低,我們更不容易了解底層驅動硬件。
回復

使用道具 舉報

ID:73463 發表于 2015-3-23 08:05 | 顯示全部樓層
我們就是做點小電路玩玩,肯定沒你搞開發的專業。你說的也不一定是真的,也不一定能代表市場的選擇
回復

使用道具 舉報

ID:73463 發表于 2015-3-23 08:08 | 顯示全部樓層
你要是真有誠意,也可以曬曬你產品,弄個32位Crtex-M系列單片機最小系統做個產品、弄個教程讓大家都開開眼
回復

使用道具 舉報

ID:75077 發表于 2015-3-23 09:57 | 顯示全部樓層
其實,我想說學習一種東西還是要掌握其主要思想。51也罷,stm也罷,當你扎實學習一個東西之后,在學習與其類似的東西,就會大大簡化。各種東西莫不如此。這就要求你在學習期間,頭腦中要有其基本框架。
回復

使用道具 舉報

ID:75077 發表于 2015-3-23 09:59 | 顯示全部樓層
zlgmo 發表于 2014-12-19 18:34
不要打擊我,我才剛開始~


其實,我想說學習一種東西還是要掌握其主要思想。51也罷,stm也罷,當你扎實學習一個東西之后,在學習與其類似的東西,就會大大簡化。各種東西莫不如此。這就要求你在學習期間,頭腦中要有其基本框架。當你認真學習之后,你可以驕傲的說,這種東西不過兩類,51和其他。。。但愿你學習順利。。。
回復

使用道具 舉報

ID:44111 發表于 2015-6-8 14:45 | 顯示全部樓層
技術學習就是需要一個過程的,
回復

使用道具 舉報

ID:46830 發表于 2015-6-29 11:42 | 顯示全部樓層
各有所長,你不能說有大學生了,農民就要失業。這是成本核算的問題
回復

使用道具 舉報

ID:61876 發表于 2015-6-29 13:37 | 顯示全部樓層
有點做廣告的嫌疑。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表