學(xué)習(xí)51單片機(jī)的四個誤區(qū)

發(fā)布時間:2024-02-13
51單片機(jī)指mcs-51系列單片機(jī),cics指令集。由intel公司開發(fā),其結(jié)構(gòu)增加了如乘(mul)、除(div)、減(subb)、比較(cmp)、16位數(shù)據(jù)指針、布爾代數(shù)運(yùn)算等指令,以及串行通信能力和5個中斷源,內(nèi)有128個ram單元及4k的rom。其代表型號是atmel公司的at89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。目前國內(nèi)的51單片機(jī)市場主要為國產(chǎn)宏晶的產(chǎn)品stc系列其號稱低功耗,穩(wěn)定與廉價的特點(diǎn)。
誤區(qū)1:51單片機(jī)是學(xué)習(xí)的基礎(chǔ)
“51單片機(jī)是學(xué)習(xí)的基礎(chǔ)”這句話本身并沒有錯。在筆者讀本科的時候,當(dāng)時它無疑是學(xué)習(xí)的基礎(chǔ)——畢竟那時沒有更高級的單片機(jī)可以供使用,國內(nèi)更沒有更高級的教材供參考,老師的水平也是參差不齊,而51單片機(jī)正符合這樣的需求,不僅有大量的成型的教材,廣泛的示例,當(dāng)時工作的實(shí)際項(xiàng)目也是51單片機(jī)為主,于是51單片機(jī)理所當(dāng)然的成為當(dāng)時的學(xué)習(xí)基礎(chǔ)。要知道筆者讀本科的時候是2004年,即10年前的東西。按照莫爾定律,電子行業(yè)每18個月更新?lián)Q代,10年前的技術(shù)現(xiàn)在已經(jīng)更新了6代了——事實(shí)也確實(shí)如此。
目前32位crtex-m系列單片機(jī)的各種教程已經(jīng)普及,其學(xué)習(xí)的難度不斷降低。以意法半導(dǎo)體公司的stm32f系列單片機(jī)來說,意法半導(dǎo)體在推廣產(chǎn)品初期大量贈送了核心板。免費(fèi)贈送的核心板不僅有流行的32位cortex-m系列微處理器,更在板上集成在線調(diào)試器。隨機(jī)附贈的光盤或者鏈接更是提供了大量的示例源代碼。我們只需要安裝開發(fā)環(huán)境即可直接編譯與下載調(diào)試。這時,如果再說51單片機(jī)是學(xué)習(xí)嵌入式的基礎(chǔ)肯定是不合時宜了。
誤區(qū)2:51單片機(jī)可以學(xué)習(xí)寄存器的操作
51單片機(jī)可以學(xué)習(xí)寄存器的操作,這一點(diǎn)兒是不容置疑的。我們分析一下其更深層的原因。在msc-51單片機(jī)的編程環(huán)境中,最初是以匯編語言為主要編程語言。要知道匯編語言就是直接操作寄存器的,匯編語言是無法做到c語言的函數(shù)調(diào)用與封裝的。如果說51單片機(jī)是以操作寄存器為優(yōu)點(diǎn),筆者覺得更應(yīng)該說51單片機(jī)操作寄存器是一種無奈,是只有一個選項(xiàng)的選擇題。
我們現(xiàn)在的cortex-m系列單片機(jī)就無法學(xué)習(xí)寄存器了嗎?顯然不是。在硬件設(shè)計(jì)中,硬件的操作方式就是寄存器的操作,但是其實(shí)現(xiàn)卻是可以不同。各微處理器提供的c語言庫函數(shù)包其實(shí)質(zhì)就是將操作寄存器的指令進(jìn)行了c語言環(huán)境下的封裝。我們這里用st官方庫函數(shù)舉一個示例:
void usart_init (usart1, *usart_initstruct);//實(shí)現(xiàn)串口1的初始化,簡單明了,無需注釋
筆者在這里也想舉一個示例來說明寄存器操作的步驟,但是操作寄存器實(shí)在是太復(fù)雜了,筆者不想去浪費(fèi)時間去整理了。
通俗易懂的c語言,方便移植的c語言與硬件平臺相對應(yīng)的編譯器聯(lián)合,就能完成硬件的操作。有了簡單、方便的方式,我們?yōu)槭裁催€要考慮繁瑣,復(fù)雜的匯編語言與寄存器操作呢?
誤區(qū)3:51單片機(jī)的成本低
成本都是左右應(yīng)用的主要因素。項(xiàng)目的立項(xiàng)主要考慮成本,銷售的定價主要成本。低成本的方案才會在市場里占有優(yōu)勢??墒?,51單片機(jī)真就是最低成本了嗎?非也?,F(xiàn)在按照功能劃分,部分cortex-m0系列的32位單片機(jī)的成本也能做3元人民幣。其性能已經(jīng)是51單片機(jī)的好幾倍了,而且更容易開發(fā)與維護(hù)。
還有另外一個成本:開發(fā)難度成本。51單片機(jī)不支持在線調(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ū)4:51單片機(jī)入門簡單
51單片機(jī)入門簡單?筆者對于這個觀點(diǎn)持保留意見。想要入門51單片機(jī),不僅熟悉該款單片機(jī)外設(shè),而且還要充分了解寄存器的某位的意義。對于時鐘,定時器的配置必須了如指掌。這樣無疑會增大學(xué)習(xí)難度與熟悉的周期。如果我們使用32位單片機(jī)的庫函數(shù)模式,我們只需要具備c語言的知識,了解api函數(shù),直接看已經(jīng)注釋過的寄存器意思即可,不需要了解其底層的硬件實(shí)現(xiàn),更不需要了解某個寄存器某個指定位的意義了。這樣,減少了工作量,從而降低了開發(fā)難度。你說是51單片機(jī)入門簡單,還是32位cortex內(nèi)核微處理器簡單?
上一個:網(wǎng)站空間去哪里買
下一個:合同沒有約定期限合同生效嗎

影響茶葉存放的四個問題
肌膚也按色相挑茶喝
煤炭化驗(yàn)儀器設(shè)備廠家談?wù)劽禾咳绾稳伎?/a>
養(yǎng)生茶怎么選擇?不同的人喝不同的茶
發(fā)財(cái)樹介紹及管理
電梯安全回路改進(jìn)設(shè)想
你知道什么是刺兒茶嗎?
為什么要做溫濕度振動試驗(yàn)?zāi)兀?/a>
縱容黑社會性質(zhì)組織罪需要哪些構(gòu)成要件?
綠茶名品賞析(三)
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos