「新手上路的你急需一塊開發板,也不貴就100來塊,再加點外設模塊就200多!」
「我這51開發板買的100多,吃灰了2年,半價賣給你,不包郵,要不要?」
「菜鳥,別整51了,公司都不用51的,有C基礎直接32吧!」……
很多初學者都會多多少少聽到這樣的話,這很正常,1000個讀者就有1000個哈姆雷特。今天我們先來討論2個問題。
1、51是不是可以直接跳過?
首先想跳過51的同學不排除在高中就接觸過51和C語言,一般是長輩或親戚影響,甚至焊接啥啥都弄,特別是Arduino和圖形界面編程這種適應大眾開發的軟硬體。基礎不牢,地動山搖,他們在高中就已經有了深厚的基礎,這是大多數人比不了的。
其次如果你是小白,又不學8086,只學51,而且老師還不是彙編教學,直接上C語言,那麼你已經逃了一難,但你也錯過了一些精彩的篇章,也就是計算機的起源(哈佛結構:CPU、RAM、ROM、IO、Bus之間的關係)。當然現在用彙編的確實很少,只有特殊場景才需要,所以不學,問題也不大。
接著如果你沒有一定的51基礎,而是緊靠C基礎去學習32,你會發現每當你去看32手冊各種外設和寄存器時,就有一種雲裡霧裡的感覺。這是個啥,什麼鬼,這麼複雜。於是新買的32開發板沒用幾天就擱置了,等待下一個「接盤」。
還有你是個新手,你沒有任何分析、調試和解決問題的能力,你只能兩眼對望著,Demo例程一跑就對,自己稍加修改就錯,典型的「一看就會,一做就錯」。這也是正常的,開發是一個過程,沒有一蹴而就,沒有一步登天,只能踏踏實實一步一個腳印走好,即便是一個逗號沒加,分號沒寫…這樣很「低級」的問題,這是一個漫長的積累過程,甚至每個坑你都可以在博客或者Word記錄。公司高薪招聘為啥都是10年老司機呢?
最後,從易入難,由簡入繁,51是基礎,是學32的基石,是你信心提升的來源,是你興趣愛好的起點,是你在不知所措、迷茫時可選的一條光明大道。想學就做,加油,51er。
2、一定要買開發板才能學51?
學習51不可避免的會想著花100多買個開發板玩玩,然後再花100多買各種傳感器、超聲波模塊、電機模塊等。。。然後用完了就吃灰或者賣給其他人,大部分人都是這樣的處理,這裡面不乏不小心燒毀晶片或者模塊,然後不會修就直接丟了的。
難道就沒有一個好用的仿真軟體來模擬51和模塊嗎?有的,Proteus基本上是最好的51仿真軟體,穩定,可靠,效果真實,而且還有各種傳感器,LCD基礎屏+高級屏,還有模數電的基本模擬數字電路也可以仿真。
實物調試需要仿真器看程序,示波器看波形,如果學習不提供,你自己想買,那又得1k以上的消費,而在Proteus裡面你可以使用虛擬示波器,I2C/SPI調試器,UART終端等工具,這些都是你上手實物調試的基礎篇,包括協議的學習也是ok的。
綜上所述:學習51你完全可以通過仿真來進行,將基本功弄紮實,後期你可以自己做51的最小系統加一些簡單外設來驗證你的仿真是否與實物一致。