日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

先學(xué)51還是先學(xué)STM32?STM32和51單片機(jī)的區(qū)別

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時間:2022-11-15

之前無際在網(wǎng)上看了一些老工程師給初學(xué)者的一些建議。

其中一個就是新手可不可以直接跳過51單片機(jī)學(xué)習(xí)STM32。

很多無知的老鳥教唆初學(xué)者說51已經(jīng)過時了,建議直接學(xué)STM32單片機(jī)。

如果新手信了他的邪,能學(xué)會才怪!

當(dāng)他說出51過時的時候,我就知道這個人是個外行。

所以在信息爆炸的時代,如何學(xué)會去甄別哪些是對的,哪些是錯的特別重要,方向不對毀一生!

 

創(chuàng)客海社區(qū)一直提倡初學(xué)者從51開始學(xué)習(xí),目的在于讓大家能對單片機(jī)的原理有一個深入的理解。51和STM32僅僅是單片機(jī)選型的性能上的區(qū)別,并不代表了技術(shù)水平和能力。

51單片機(jī)是通過C語言或者匯編語言配置寄存器來控制外設(shè),實(shí)際上目前大多數(shù)單片機(jī)都是這樣做的,區(qū)別就是寄存器不一樣,51單片機(jī)內(nèi)的寄存器數(shù)量非常少,比較容易入手。

STM32單片機(jī)可以通過C語言來配置寄存器來控制外設(shè),但是STM32實(shí)際上有數(shù)千個左右的寄存器,如果用51單片機(jī)的學(xué)習(xí)方式會效率非常低下。所以要用到庫函數(shù)這種直接調(diào)用的黑盒式編程方式,而無需了解深層原理。

單片機(jī)的領(lǐng)域是相通的,當(dāng)我們懂了其中一種以后,其他的都是大同小異。但是51單片機(jī)更多的是學(xué)會了單片機(jī)內(nèi)層的深層工作原理,可以直觀看到C語言、匯編語言、機(jī)器語言的差異,能學(xué)到?jīng)]有黑盒的知識。如果式有51單片機(jī)基礎(chǔ)的學(xué)生再應(yīng)用其它的單片機(jī)會很得心應(yīng)手。但是如果上來就學(xué)習(xí)STM32,可能不是很好理解單片機(jī)的底層原理,對于更換其它的單片機(jī)有些難度。

 

一、51和stm32單片機(jī)的區(qū)別

Intel 8051 單片機(jī) 

Intel 8051 單片機(jī)

STM32F103C8T6單片機(jī) 
STM32F103C8T6


51和stm32的區(qū)別還是挺大的,51是屬于低端單片機(jī),stm32算是中高端單片機(jī)了,他們面向的產(chǎn)品也不一樣,真要區(qū)別,一篇文章遠(yuǎn)遠(yuǎn)不夠。

這里只說對我們開發(fā)息息相關(guān)的。

1. 內(nèi)核

51是Intel的8051的內(nèi)核架構(gòu),而STM32有Cortex-M1/M2/M3/M4/M7/M33這么多內(nèi)核版本,像我們常用的STM32F1系列就是Cortex-M3的內(nèi)核。

2. 資源

51是入門級單片機(jī),各方面資源都不如stm32,比如說主頻、ROM、RAM、IO口、外設(shè)資源。

3. 開發(fā)模式不同

51是直接操作寄存器使用外設(shè),而stm32是直接調(diào)用庫函數(shù)使用外設(shè),相對51開發(fā)更加效率。

4. 操作系統(tǒng)

51只能運(yùn)行Tiny51微型任務(wù)調(diào)度操作系統(tǒng);而stm32可以跑主流的RTOS比如uCOS、FreeRTOS、RTthread、CoOS、Nuttx,但是依然不足以運(yùn)行Linux操作系統(tǒng)。

5. 后期維護(hù)

傳統(tǒng)的51不能通過代碼來自我燒寫內(nèi)部固件,需要專用的下載電路下載整個固件。

而STM32可以通過編寫自舉方式的程序來編輯內(nèi)部下載好了的固件,如果軟件有bug,可以通過更新固件實(shí)現(xiàn),直接升級程序解決。

6. 開發(fā)環(huán)境

51和STM32都可以用Keil或者IAR開發(fā),但是版本不同,比如51是Keil-C51,STM32是MDK-ARM。這是因?yàn)镃PU內(nèi)核的指令集不同。

除了Keil、IAR以外的編譯器還有GCC編譯器、可配套的編輯器有Code::Blocks、VScode、eclipse等等。

7. 程序架構(gòu)

資源很緊張的51單片機(jī),產(chǎn)品開發(fā)時一般以功能實(shí)現(xiàn)為主,不會考慮程序架構(gòu)可擴(kuò)展性和可移植性,因?yàn)镽OM和RAM不允許。而STM32有充足的空間做容錯機(jī)制。

8. 難易度

STM32雖然是通過庫函數(shù)就能把芯片外設(shè)用起來,但是學(xué)不到最底層的原理,代碼高度封裝。開發(fā)難度卻比51難很多,因?yàn)镾TM32的資源豐富,涉及的技術(shù)點(diǎn)就多。

 

所以,兩者廠家對芯片的定位不同,51除了偏向低端產(chǎn)品以外,開發(fā)也更接近底層。

而STM32的定位是幫助工程師快速做出產(chǎn)品。

基于這些特點(diǎn),如果你剛開始就直接去STM32的話,會有很多基礎(chǔ)知識的缺失。

導(dǎo)致你學(xué)起來比較吃力,很多東西也掌握不透,在學(xué)習(xí)的過程中會很痛苦,覺得這玩意太難了。

一般有51基礎(chǔ),并且做過一些小項(xiàng)目,學(xué)習(xí)STM32會快很多。也不用系統(tǒng)地把所有外設(shè)都學(xué)習(xí)一遍,最好的方法就是通過項(xiàng)目去學(xué)習(xí),項(xiàng)目用到什么外設(shè),就相應(yīng)去看這個外設(shè)怎么開起來。

基本上一個項(xiàng)目下來,你就能掌握STM32了,其實(shí)歸根到底就是把它當(dāng)做一個工具熟悉而已。

Tags:51單片機(jī),單片機(jī),STM32  
責(zé)任編輯:admin
相關(guān)文章列表
單片機(jī)最小系統(tǒng)介紹及電路設(shè)計(jì) STM32單片機(jī)最小系統(tǒng)
什么是PIC單片機(jī)
51單片機(jī)和STM32單片機(jī)的結(jié)構(gòu)有什么不同
51單片機(jī)、AVR單片機(jī)和PIC單片機(jī)的IO口操作
關(guān)于51單片機(jī)IO引腳的驅(qū)動能力與上拉電阻
為什么51單片機(jī)的晶振一般使用11.0592? 51單片機(jī)常用波特率初值表
51單片機(jī)寄存器功能一覽表
單片機(jī)寫延時程序的幾種方法
自學(xué)單片機(jī)編程之中斷與時鐘程序
哈佛結(jié)構(gòu)與馮·諾伊曼結(jié)構(gòu)區(qū)別以及X86體系
單片機(jī)萬年歷:公歷日期與農(nóng)歷日期的相互轉(zhuǎn)換程序
AVR定時器1的CTC模式設(shè)置
單片機(jī)超聲波視覺識別系統(tǒng)的測量軟件開發(fā),超聲波測距
51單片機(jī)“呼吸燈”程序
LCD1602的單片機(jī)驅(qū)動詳解
單片機(jī)時鐘電路原理
51單片機(jī)入門之靜態(tài)數(shù)碼管電路設(shè)計(jì)
基于stc89c52的4*4矩陣鍵盤輸入數(shù)碼管,一個小計(jì)算器
單片機(jī)紅外遙控器設(shè)計(jì)
單片機(jī) 鍵盤檢測與應(yīng)用
如何給單片機(jī)系統(tǒng)提供可靠的電磁兼容設(shè)計(jì),pcb設(shè)計(jì)
小白必看:單片機(jī)系統(tǒng)電路經(jīng)典設(shè)計(jì)教學(xué)
單片機(jī)上拉電阻和下拉電阻的用處和區(qū)別
單片機(jī)數(shù)碼管顯示原理
51單片機(jī)--矩陣鍵盤
詳解:上拉電阻的作用【圖文】
AT89C51,51單片機(jī)1602液晶顯示時鐘程序
4位單片機(jī)數(shù)字鐘 電子鐘制作
51單片機(jī)4位數(shù)碼管電子鐘源程序
STC12C2052單片機(jī)LED點(diǎn)陣電子時鐘制作
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢