談談自學C51單片機的一些見解僅作參考
說真的,當你學會C51,我想你不會再用匯編編程了,這種現(xiàn)象足以說明C語言相對于匯編的優(yōu)越性,舉個簡單的例子,叫你用匯編語言和機器語言寫個跑馬燈程序,你會選擇哪一種?
本文引用地址:http://www.ex-cimer.com/article/201611/323640.htm我想每個人都會選匯編吧,再笨的人也不至于笨到放著匯編不用,用機器語言寫01串,寫到最后你未必看得懂,都是0101的字樣,看得懂我覺得你應該可以當機器了。而C語言是一種高級語言,相對匯編正如匯編相對機器語言有優(yōu)勢。這里并不是說匯編沒有用,只是C語言編程比匯編來得簡單的多,比如你寫一個發(fā)聲的程序,用C語言只要四條指令就夠了,而匯編要寫很多條。而且,在設計大型的項目時,用C語言會有一種清晰的思路。但并不是說C語言什么都好,在某些時候,用匯編設計會比c語言簡單的多,就拿我遇到的例子來講,你要寫一個延時程序,用C語言寫的話,延時的效果并不精準,用匯編會好些,當然排除你用定時來寫。還有用C語言來寫你不知道運行結果會發(fā)生什么,有可能發(fā)生不可預知的錯誤,而匯編則是可預知的,這是C語言最大的缺點。這是我對C語言和匯編的見解,僅作參考。
總的來說,要想學好學精單片機,你最好把匯編和C都學好,匯編每一條指令都可以讓你清楚地控制單片機的IO口,通過了解單片機的內部結構和外圍部件,可以清晰的編寫自己所要的程序。用C語言編寫較大的程序思路會比較清晰,學好c語言通過外圍模塊時序的學習,很容易就能編出該模塊的驅動程序。就拿 LCD1602來講,在我空間日志有專門一篇寫LCD1602的驅動程序,從這篇來看,只要我們清楚LCD1602的工作時序,設計一個程序就比較簡單。設計LCD1602無非要寫這些內容:讀忙,延時,寫數(shù)據(jù),寫指令,初始化,顯示。要了解LCD1602各個引腳的功能,比如RS為寄存器選擇,高電平為數(shù)據(jù)寄存器,低電平為指令寄存器,RW為讀寫信號線,高電平為進行讀操作,低電平為寫操作,E為使能端,當E端由高電平跳變低電平,液晶模塊執(zhí)行命令。寫到這里,估計你對C51有初步的認識吧。
還有學習單片機還要掌握模電,數(shù)電,和電力電子技術,protel 99se,wave,stc-isp,keil ,isis.有些我沒有學好,也要努力咯,因為對于電路的設計和程序下載,這些必不可少的。最后一點,是多上機操作,實驗是檢驗真理的唯一標準。興趣是學習的老師,有興趣你會學的很快的。
評論