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單片機的好幾倍了 , 而且更容易開發與維護 。
- 單片機RAM測試故障方法有幾種?
- 直男聊天技巧誤區
- 兒童保健 小兒腹瀉三大誤區家長要避開
- 戀愛前后沒變化的四大星座
- 戀愛很強勢的四大星座女
- PLC與單片機的本質區別是什么?
- 四大姓氏應該是哪四個 中國四大姓氏是哪四個
- 江西四大古鎮有哪些 江西四大古鎮
- 中國八大名酒是哪八大 八大名酒排行
- 雪花秀睡眠面膜的禁忌 這些禁忌與誤區別再犯了
