初學單片機從51入門的好處
51單片機是一款已經出現很久的單片機,它的出現可以說是劃時代的。同時期出現的其它單片機都已經逐漸退出曆史的舞台,而它卻依舊出現在某些專業的教材上。從這點來看,它依舊有其學習的意義。下麵說說初學單片機從51入門的好處。
51單片機的學習資源非常多
無論是16位的單片機還是32位的單片機,其它無論哪一款單片機的資料都沒有51單片機多。畢竟很多大學的教材中使用的單片機就是51單片機。一方麵這樣的資料比較可靠出現錯誤的可能性要小的多。作為教材即便評價不好,但是硬貨還是有一些的。這裏就相當於由教育部給我們做了一個篩選。不敢保證學了51能幹出什麼石破天驚的事,但絕對不會白費時間和精力。
另一方麵經過以往的各種比賽,基於這款單片機做出的應用成果也是非常多的。比如每年的大學生電子設計大賽,把獲獎的設計資料研究學習,必定事半功倍。
51單片機編程的兩種方式
在51單片機的教程裏,如果翻開某些資料就會發現同樣一個功能有C語言的代碼和彙編的代碼。說到這裏可能有工程師就會說, 在前幾年使用彙編編程的人還是挺多的,現在使用彙編的人已經很少了。這裏暫且不談彙編的高效優勢,隻問一個問題:單片機上電就能不能立即運行C語言代碼。
第一種方式:彙編
上麵問題的答案毫無疑問是否定的,即便是現在高端的STM32單片機,打開工程中可以看到一個Start.s文件。這個彙編文件做了兩件重要的工作:對硬件進行初始化,設置堆棧。但是很遺憾很少有資料會講STM32單片機的彙編編程。
學習單片機,都希望能在這個領域不斷前進而不是做一個流水燈工程師。如果連單片機的工作模式都不清楚,那怎麼應用,何談開發。
所以,學習單片機的彙編開發,51是最適合實踐的單片機,沒有之一。
結合彙編弄清楚一款51單片機的工作模式,那麼所有使用8051內核的單片機都將不在話下。有了51的基礎,再去看STM32單片機的彙編代碼就會有跡可循、輕車熟路。
第二種方式:C語言
C語言的可移植性非常好,即便是不一祥的底層硬件,底層驅動修改之後上層代碼就能複用。比如正點原子的STM32F103上就移植了nes的遊戲模擬器。對於初學者而言,可以在不懂硬件的情況下完成程序的設計,一個典型的例子就是arduino。
由於C語言的這個特性,完全可以讓不懂模電和數電的小白把51單片機工作起來。這非常有利於學習的繼續。這裏的學習不僅僅是基於單片機的C語言,而是擴展到整個項目中的外圍模電、數電模塊。
單片機學習的擴展
通過前麵的論述可以得出,我們完全可以通過彙編代碼結合datasheet把51內核弄懂、嚼碎;通過51單片機學會C語言下的單片機編程,直至擴展到整個項目中的數電、模電外圍電路。
C語言、內核、彙編準備好之後,那就有了向嵌入式出發的門票。
下一篇:沒有了
初學單片機有沒有必要選用AT89S51作為入門 | |
我認為用51單片機作為入門,還是很有必要的。相信很多單片機工程師、硬件工程師、電子工程師也都是以51單片機作為起點的。理由如下: 1.與大學課程接軌 在大學裏,電類專業,如電子信息工程、計算機科學與技術、電氣自動化等,都會開設51單片機的專業課程。... |
單片機上電複位端口默認狀態為高阻態的好處 | |
單片機上電複位端口默認狀態為高阻態的好處有兩個 1、低功耗。無論端口處於高電平狀態還是低電平狀態都會產生電流,而高阻態下基本不會產生電流。所以,未用端口未做處理時,單片機功耗也可盡可能的低。 2、安全。處於高阻態狀態,端口電平隻由外部上下拉電... |
初學單片機編程選哪個好 | |
初學單片機編程選哪個好 其實單純從變成角度來說,學那種單片機都可以,但是針對這個問題,我簡單說一下選擇AVR單片機的原因。 原因有如下幾點: 一、從學習成本來說,AVR單片機花費較小 單片機的學習,除了單片機開發板,還必須有編程器(現在STC的51單片機... |
51單片機開發板有什麼用,對初學單片機有什 | |
51單片機開發板有什麼用,對初學單片機有什麼幫助 51單片機開發板對初學單片機的幫助,就像學步車對於剛學走路的兒童一樣,可以幫助它少摔跤,快速學會走路。 一、單片機學習板的重要性 單片機的學習,包含兩大方麵,硬件(電路)、軟件(程序)。這其中 硬件... |
- 單片機和嵌入式哪個好
- 單片機重要特性含義解讀
- 單片機三總線結構及時序分析
- 單片機沒有PWM外設也可以做可調占空比
- 開源硬件arduino是什麼
- 標誌寄存器中的狀態標誌和控製標誌
- at89c51和stc12c5a60s2的引腳的區別
- 學習51單片機要用到哪些硬件工具
- 單片機定時的時間怎麼改變
- 單片機自動斷電或關機電路圖講解
- 串口的波特率如何計算?串口通信波特率計
- 單片機波特率計算公式和方法
- 51單片機ram區域劃分
- spi時序圖怎麼看?spi時序圖閱讀方法
- 51單片機怎麼顯示出數字的?單片機數碼管
- 51單片機有幾個中斷源_52單片機中斷源
- 嵌入式係統的評價方法
- AT89C51單片機為核心的時鍾電路的程序設
- stm32學到什麼程度叫精通
- 用STM32隻會庫函數不會用寄存器有影響嗎