一、單片機編程用什么語言
單(dan)(dan)(dan)片(pian)機(ji)(ji)編程(cheng)是指編寫(xie)單(dan)(dan)(dan)片(pian)機(ji)(ji)運行(xing)的(de)程(cheng)序,一般來說,對于剛剛入門學習(xi)單(dan)(dan)(dan)片(pian)機(ji)(ji)的(de)朋友來說,學習(xi)單(dan)(dan)(dan)片(pian)機(ji)(ji)的(de)編程(cheng)是很(hen)重要的(de),那么單(dan)(dan)(dan)片(pian)機(ji)(ji)用什么語言編程(cheng)呢?
1、C語言
大(da)多數情(qing)況下,單(dan)(dan)(dan)片(pian)機(ji)運(yun)行的(de)(de)程序(xu),都是C語(yu)(yu)(yu)言(yan)(yan)(yan)(yan)(yan)編(bian)寫的(de)(de)。不過并(bing)不是純粹的(de)(de)傳統(tong)C語(yu)(yu)(yu)言(yan)(yan)(yan)(yan)(yan),而(er)是變種后的(de)(de)C51語(yu)(yu)(yu)言(yan)(yan)(yan)(yan)(yan)。單(dan)(dan)(dan)片(pian)機(ji)C51語(yu)(yu)(yu)言(yan)(yan)(yan)(yan)(yan)是由C語(yu)(yu)(yu)言(yan)(yan)(yan)(yan)(yan)繼承而(er)來的(de)(de)。和C語(yu)(yu)(yu)言(yan)(yan)(yan)(yan)(yan)不同的(de)(de)是,C51語(yu)(yu)(yu)言(yan)(yan)(yan)(yan)(yan)運(yun)行于單(dan)(dan)(dan)片(pian)機(ji)平(ping)臺(tai),而(er)C語(yu)(yu)(yu)言(yan)(yan)(yan)(yan)(yan)則運(yun)行于普通的(de)(de)桌面(mian)平(ping)臺(tai)。C51語(yu)(yu)(yu)言(yan)(yan)(yan)(yan)(yan)具(ju)有(you)(you)(you)C語(yu)(yu)(yu)言(yan)(yan)(yan)(yan)(yan)結構清晰的(de)(de)優點,便于學習,同時具(ju)有(you)(you)(you)匯編(bian)語(yu)(yu)(yu)言(yan)(yan)(yan)(yan)(yan)的(de)(de)硬件操(cao)作能力(li)。對(dui)于具(ju)有(you)(you)(you)C語(yu)(yu)(yu)言(yan)(yan)(yan)(yan)(yan)編(bian)程基礎的(de)(de)工程師(shi),能夠輕(qing)松地掌(zhang)握單(dan)(dan)(dan)片(pian)機(ji)C51語(yu)(yu)(yu)言(yan)(yan)(yan)(yan)(yan)的(de)(de)程序(xu)設計。
2、匯編語言
匯(hui)(hui)編(bian)(bian)(bian)(bian)語(yu)(yu)言(yan)是(shi)一種用(yong)于電(dian)子計算機、微處(chu)理(li)器(qi)(qi)、微控(kong)制(zhi)器(qi)(qi)或其他可編(bian)(bian)(bian)(bian)程器(qi)(qi)件(jian)的低(di)級語(yu)(yu)言(yan),也(ye)稱為符號語(yu)(yu)言(yan)。在(zai)不(bu)同的設備(bei)中,匯(hui)(hui)編(bian)(bian)(bian)(bian)語(yu)(yu)言(yan)對(dui)應著不(bu)同的機器(qi)(qi)語(yu)(yu)言(yan)指令集,通(tong)過匯(hui)(hui)編(bian)(bian)(bian)(bian)過程轉換(huan)成機器(qi)(qi)指令。在(zai)一些情況下,C51并不(bu)能(neng)(neng)完(wan)美(mei)的實現(xian)功(gong)能(neng)(neng),所以(yi)匯(hui)(hui)編(bian)(bian)(bian)(bian)語(yu)(yu)言(yan)是(shi)對(dui)C51的一個重要(yao)(yao)補(bu)充(chong)。一般來說,啟動部分(fen)(基礎硬件(jian)的初(chu)始化),往(wang)往(wang)是(shi)由(you)匯(hui)(hui)編(bian)(bian)(bian)(bian)語(yu)(yu)言(yan)完(wan)成的。除(chu)此以(yi)外,一些要(yao)(yao)求時(shi)效(xiao)性特別(bie)強,效(xiao)率要(yao)(yao)求特別(bie)高(gao)時(shi),也(ye)需要(yao)(yao)使用(yong)匯(hui)(hui)編(bian)(bian)(bian)(bian)語(yu)(yu)言(yan)完(wan)成。
二、怎么學好單片機編程
單片機的編程并不簡單,一個完整程序的形成需要有C語言知識以及編程邏輯,編程邏輯決定一個程序是否優秀,是單片機編程一個很重要的問題,只有通過多閱讀大神的優秀代碼和多動手編寫的時候才能一點一點的積累。在學習單片機編程(cheng)的過(guo)程(cheng)中,按照(zhao)以下過(guo)程(cheng)學習(xi),效果會更好:
1、作為(wei)一(yi)(yi)個(ge)(ge)初學者,我(wo)們就如同一(yi)(yi)個(ge)(ge)嬰兒一(yi)(yi)樣,我(wo)們的(de)第一(yi)(yi)個(ge)(ge)能(neng)力就是模仿(fang)。通(tong)過例題(ti)的(de)模仿(fang),先熟(shu)悉(xi)C語言的(de)編寫和(he)編輯器的(de)使用(yong)。
2、然(ran)后嘗試著不看(kan)案例自(zi)己寫(xie),多寫(xie)幾次找出自(zi)己的不足,再通過(guo)看(kan)書(shu)補足。
3、最后我們再試著(zhu)去修(xiu)(xiu)改(gai)程(cheng)序(xu)(xu),最簡單(dan)的(de)(de)(de)(de)就是從左到(dao)(dao)右變成從右到(dao)(dao)左。最后去閱讀一些優質的(de)(de)(de)(de)代碼,研究人(ren)家的(de)(de)(de)(de)編程(cheng)思(si)路(lu),找出自己(ji)思(si)路(lu)的(de)(de)(de)(de)差異多想一下(xia)為什么;領(ling)會其中(zhong)每一條(tiao)語句的(de)(de)(de)(de)作(zuo)用;對(dui)有疑問的(de)(de)(de)(de)地方試著(zhu)按照自己(ji)的(de)(de)(de)(de)思(si)路(lu)修(xiu)(xiu)改(gai)程(cheng)序(xu)(xu),運行(xing)別人(ren)的(de)(de)(de)(de)程(cheng)序(xu)(xu)和自己(ji)修(xiu)(xiu)改(gai)的(de)(de)(de)(de)程(cheng)序(xu)(xu)有何(he)不同,領(ling)會其中(zhong)的(de)(de)(de)(de)奧妙。
在學(xue)會(hui)單(dan)片機的(de)編程后(hou),多去看看企業制作產品的(de)標準,自(zi)己(ji)去動手做,多做項目累積經(jing)驗,熟能生巧。