{eval=Array;=+count(Array);}
非常感謝你發(fā)來(lái)的邀請(qǐng),我很高興回答你的問(wèn)題!現(xiàn)在單片機(jī)編程語(yǔ)言主要有兩種,一種是匯編語(yǔ)言、一種是C語(yǔ)言。匯編語(yǔ)言要求要對(duì)單片機(jī)內(nèi)部結(jié)構(gòu)有要熟悉,由于其指令多(C51匯編語(yǔ)言指令共111條)、匯編語(yǔ)言可移植性差、閱讀堅(jiān)澀難懂,我建議學(xué)習(xí)單片機(jī)C語(yǔ)言比較好。用C語(yǔ)言編寫單片機(jī)程序具有很多優(yōu)點(diǎn),首先是代碼短、可讀性強(qiáng)、可移植性強(qiáng)、開發(fā)時(shí)間短等,特別在比較復(fù)雜的程序上用單片機(jī)C語(yǔ)言明顯要比單片機(jī)匯編語(yǔ)言好得多。另外用C語(yǔ)言進(jìn)行單片機(jī)程序設(shè)計(jì)是單片機(jī)開發(fā)與應(yīng)用的主流方向,鑒于以上兩點(diǎn)我建議你學(xué)習(xí)單片機(jī)C語(yǔ)言。
下面說(shuō)說(shuō)如何學(xué)習(xí)單片機(jī)C語(yǔ)言,我學(xué)單片機(jī)也有許多年了,我認(rèn)為學(xué)習(xí)單片機(jī)C語(yǔ)言的第一步是先了解一下單片機(jī)硬件,畢竟單片機(jī)C語(yǔ)言是一種底層驅(qū)動(dòng)控制語(yǔ)言,在編寫或者閱讀這種程序必須要對(duì)單片機(jī)本身以及外設(shè)有所了解,這樣才能知道我用的I/O口是控制的什么設(shè)備;也才能知道該端口是輸出高電平還是低電平才能控制這些外設(shè)。
如果你對(duì)硬件有了解,那直接學(xué)習(xí)軟件部分,一是先學(xué)一下編程軟件的使用,我建議用KeiIC51軟件,二是學(xué)習(xí)C語(yǔ)言的一些語(yǔ)法,語(yǔ)句等。比如最基本的五種算術(shù)運(yùn)算符和表達(dá)式;熟悉六種關(guān)系運(yùn)算符、三種邏輯運(yùn)算符及其表達(dá)式,優(yōu)先級(jí)等。在流程控制語(yǔ)句學(xué)習(xí)中要學(xué)習(xí)循環(huán)語(yǔ)句、選擇語(yǔ)句、分支語(yǔ)句等;后面學(xué)習(xí)數(shù)組、函數(shù)、指針以及模塊化程序的設(shè)計(jì)方法等。在學(xué)習(xí)純軟件時(shí)我們可以借助Proteus等仿真軟件進(jìn)行仿真學(xué)習(xí),這樣學(xué)習(xí)單片機(jī)c語(yǔ)言效果會(huì)更好,我們通過(guò)寫簡(jiǎn)單c程序在仿真軟件驗(yàn)證,比如點(diǎn)亮Led燈的程序、數(shù)碼管的程序等,這樣循序漸進(jìn)很快就能學(xué)會(huì),對(duì)一般的單片機(jī)也能讀懂了,甚至還能編寫簡(jiǎn)單程序。
我學(xué)習(xí)單片機(jī)程序語(yǔ)言就是按以上方法進(jìn)行的,希望能對(duì)你有參考作用,同時(shí)歡迎各位朋友討論你是如何學(xué)習(xí)單片機(jī)程序的?
我是做電子設(shè)計(jì)的,從事單片機(jī)工作六七年了。單片機(jī)程序,主要是C語(yǔ)言編寫,偶爾會(huì)有點(diǎn)匯編語(yǔ)言。所以,想要看懂單片機(jī)程序,把C語(yǔ)言學(xué)好就可以了。
1、學(xué)單片機(jī),不能說(shuō)只看程序,你最好有點(diǎn)硬件電路基礎(chǔ)。單片機(jī)開發(fā),是軟件和硬件的結(jié)合。你應(yīng)該把模擬電子和數(shù)字電子知識(shí)學(xué)點(diǎn)。
2、光學(xué)C語(yǔ)言還不夠,你應(yīng)該把單片機(jī)運(yùn)行機(jī)制搞清楚,知道程序是怎么運(yùn)行的。比如,程序都是從main函數(shù)開始的,怎么調(diào)用其它函數(shù)。
3、其實(shí)單片機(jī)程序,涉及到的C語(yǔ)言語(yǔ)法不多。C語(yǔ)言的關(guān)鍵字,記住常用的那幾個(gè)就可以了。單片機(jī)程序是按照邏輯功能來(lái)撰寫,理解單片機(jī)程序,首先你得明白程序要實(shí)現(xiàn)什么功能,怎么才能實(shí)現(xiàn)這些功能。明白這些后,看懂單片機(jī)程序就容易多了。
看懂單片機(jī)程序,你得有點(diǎn)C語(yǔ)言基礎(chǔ),知道整個(gè)程序?qū)崿F(xiàn)的功能。最好仿真一下程序,看看程序是如何運(yùn)行的。
如果你想看懂單片機(jī)程序,需要怎么學(xué)習(xí)語(yǔ)言。你要學(xué)習(xí)的語(yǔ)言基本上就是兩種,第一種是匯編語(yǔ)言,第二種是C語(yǔ)言。這兩種語(yǔ)言基本上覆蓋所有的單片機(jī)種類和系列。下面說(shuō)一說(shuō)這兩種語(yǔ)言各自的優(yōu)勢(shì)和功能。
第一種匯編語(yǔ)言就是相當(dāng)于機(jī)器語(yǔ)言了,直接操作寄存器,執(zhí)行效率高,速度快,那些需要精確運(yùn)算或者要求高的部分,基本上都是用一部分匯編代碼來(lái)執(zhí)行。學(xué)習(xí)匯編語(yǔ)言需要記住很多指令,還要養(yǎng)成很好的編寫習(xí)慣。對(duì)硬件要有所了解,才能很好的編程。
第二種C語(yǔ)言就是我們所說(shuō)的高級(jí)語(yǔ)言了,語(yǔ)法簡(jiǎn)單,不用記那么多的單片機(jī)指令,有C語(yǔ)言基礎(chǔ)的就可以上手。但是也要熟悉自己所使用的單片機(jī)的基本原理和各種功能,方便開發(fā)程序。
還可以找一些單片機(jī)仿真軟件學(xué)學(xué),不需要買硬件,直接軟件模擬執(zhí)行??梢跃毦?。
這兩種語(yǔ)言都要學(xué),才能寫出很好的單片機(jī)程序。
現(xiàn)在單片機(jī)都是用C開發(fā)了,匯編只用于初始化,系統(tǒng)里一般只有一個(gè)匯編語(yǔ)言寫的初始化文件,這個(gè)文件廠家都會(huì)提供,不用自己寫。所以單片機(jī)開發(fā)只要會(huì)C就能做。
單片機(jī)程序有用C寫的,也有用匯編寫的,如果是用C寫的,則學(xué)習(xí)C語(yǔ)言,如果用匯編寫的,則學(xué)習(xí)與該芯片相關(guān)的匯編語(yǔ)言。除此之外,還要了解該芯片的體系結(jié)構(gòu),因?yàn)閱纹瑱C(jī)程序中肯定會(huì)很多I/O操作。
建議學(xué)習(xí)一段時(shí)間的匯編語(yǔ)言后,再將主要精力放到高級(jí)語(yǔ)言(比如C丶C++等)上,這樣可以對(duì)計(jì)算機(jī)的原理、基礎(chǔ)和架構(gòu)和原理有更深層的認(rèn)識(shí),對(duì)以后的職業(yè)發(fā)展更有利。
7
回答10
回答9
回答0
回答3
回答1
回答10
回答10
回答1
回答0
回答