新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 談?wù)勛詫W(xué)C51單片機(jī)的一些見(jiàn)解僅作參考

談?wù)勛詫W(xué)C51單片機(jī)的一些見(jiàn)解僅作參考

作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò) 收藏
學(xué)習(xí)C51有半個(gè)月多了,在這短短的半個(gè)月里,雖說(shuō)沒(méi)有每天都在學(xué),都是至少投入的時(shí)間還是跟天數(shù)成正比的。幸運(yùn)的是有C語(yǔ)言和匯編的知識(shí)做基礎(chǔ),學(xué)習(xí) C51還是滿上手的。在這半個(gè)月中,通過(guò)不斷的學(xué)習(xí)基礎(chǔ)知識(shí)和練習(xí)例子,到最后還是取得一定的成功,從什么都不會(huì)到會(huì)寫(xiě)一個(gè)簡(jiǎn)單的跑馬燈程序,再到花樣流水燈,電子琴設(shè)計(jì),數(shù)碼管顯示,按鍵掃描,點(diǎn)陣輸出,中斷,定時(shí)和串口初步設(shè)計(jì),最后到LCD1602驅(qū)動(dòng)程序設(shè)計(jì),DS1302時(shí)鐘電路驅(qū)動(dòng)程序設(shè)計(jì),那種漸進(jìn)的感覺(jué)真的會(huì)讓你充斥著一種無(wú)比的自豪感和成就感,讓你忍不住想把這種感覺(jué)帶給別人,讓別人看到你的成就。

說(shuō)真的,當(dāng)你學(xué)會(huì)C51,我想你不會(huì)再用匯編編程了,這種現(xiàn)象足以說(shuō)明C語(yǔ)言相對(duì)于匯編的優(yōu)越性,舉個(gè)簡(jiǎn)單的例子,叫你用匯編語(yǔ)言和機(jī)器語(yǔ)言寫(xiě)個(gè)跑馬燈程序,你會(huì)選擇哪一種?

本文引用地址:http://m.butianyuan.cn/article/201611/323640.htm

我想每個(gè)人都會(huì)選匯編吧,再笨的人也不至于笨到放著匯編不用,用機(jī)器語(yǔ)言寫(xiě)01串,寫(xiě)到最后你未必看得懂,都是0101的字樣,看得懂我覺(jué)得你應(yīng)該可以當(dāng)機(jī)器了。而C語(yǔ)言是一種高級(jí)語(yǔ)言,相對(duì)匯編正如匯編相對(duì)機(jī)器語(yǔ)言有優(yōu)勢(shì)。這里并不是說(shuō)匯編沒(méi)有用,只是C語(yǔ)言編程比匯編來(lái)得簡(jiǎn)單的多,比如你寫(xiě)一個(gè)發(fā)聲的程序,用C語(yǔ)言只要四條指令就夠了,而匯編要寫(xiě)很多條。而且,在設(shè)計(jì)大型的項(xiàng)目時(shí),用C語(yǔ)言會(huì)有一種清晰的思路。但并不是說(shuō)C語(yǔ)言什么都好,在某些時(shí)候,用匯編設(shè)計(jì)會(huì)比c語(yǔ)言簡(jiǎn)單的多,就拿我遇到的例子來(lái)講,你要寫(xiě)一個(gè)延時(shí)程序,用C語(yǔ)言寫(xiě)的話,延時(shí)的效果并不精準(zhǔn),用匯編會(huì)好些,當(dāng)然排除你用定時(shí)來(lái)寫(xiě)。還有用C語(yǔ)言來(lái)寫(xiě)你不知道運(yùn)行結(jié)果會(huì)發(fā)生什么,有可能發(fā)生不可預(yù)知的錯(cuò)誤,而匯編則是可預(yù)知的,這是C語(yǔ)言最大的缺點(diǎn)。這是我對(duì)C語(yǔ)言和匯編的見(jiàn)解,僅作參考。

總的來(lái)說(shuō),要想學(xué)好學(xué)精單片機(jī),你最好把匯編和C都學(xué)好,匯編每一條指令都可以讓你清楚地控制單片機(jī)的IO口,通過(guò)了解單片機(jī)的內(nèi)部結(jié)構(gòu)和外圍部件,可以清晰的編寫(xiě)自己所要的程序。用C語(yǔ)言編寫(xiě)較大的程序思路會(huì)比較清晰,學(xué)好c語(yǔ)言通過(guò)外圍模塊時(shí)序的學(xué)習(xí),很容易就能編出該模塊的驅(qū)動(dòng)程序。就拿 LCD1602來(lái)講,在我空間日志有專(zhuān)門(mén)一篇寫(xiě)LCD1602的驅(qū)動(dòng)程序,從這篇來(lái)看,只要我們清楚LCD1602的工作時(shí)序,設(shè)計(jì)一個(gè)程序就比較簡(jiǎn)單。設(shè)計(jì)LCD1602無(wú)非要寫(xiě)這些內(nèi)容:讀忙,延時(shí),寫(xiě)數(shù)據(jù),寫(xiě)指令,初始化,顯示。要了解LCD1602各個(gè)引腳的功能,比如RS為寄存器選擇,高電平為數(shù)據(jù)寄存器,低電平為指令寄存器,RW為讀寫(xiě)信號(hào)線,高電平為進(jìn)行讀操作,低電平為寫(xiě)操作,E為使能端,當(dāng)E端由高電平跳變低電平,液晶模塊執(zhí)行命令。寫(xiě)到這里,估計(jì)你對(duì)C51有初步的認(rèn)識(shí)吧。

還有學(xué)習(xí)單片機(jī)還要掌握模電,數(shù)電,和電力電子技術(shù),protel 99se,wave,stc-isp,keil ,isis.有些我沒(méi)有學(xué)好,也要努力咯,因?yàn)閷?duì)于電路的設(shè)計(jì)和程序下載,這些必不可少的。最后一點(diǎn),是多上機(jī)操作,實(shí)驗(yàn)是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。興趣是學(xué)習(xí)的老師,有興趣你會(huì)學(xué)的很快的。



關(guān)鍵詞: 自學(xué)C51單片

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉