[導(dǎo)讀]單片機(jī)是單片一種可編程器件,單片機(jī)的機(jī)編出現(xiàn)使硬件設(shè)計(jì)變得更為簡(jiǎn)單,產(chǎn)品的程用
功能也更強(qiáng)大,而程序就是語(yǔ)言還單片機(jī)的靈魂。 目前功能稍微復(fù)雜一點(diǎn)的匯編電子產(chǎn)品,都是單片以單片機(jī)為核心,再加以不通的機(jī)編外設(shè)電路實(shí)現(xiàn)不通的功能需求。 單片機(jī)的程用編程可以通過(guò)匯編語(yǔ)言和C語(yǔ)言來(lái)實(shí)現(xiàn)。
單片機(jī)是語(yǔ)言還一種可編程器件,單片機(jī)的匯編出現(xiàn)使硬件設(shè)計(jì)變得更為簡(jiǎn)單,產(chǎn)品的單片功能也更強(qiáng)大,而程序就是機(jī)編單片機(jī)的靈魂。 目前功能稍微復(fù)雜一點(diǎn)的程用電子產(chǎn)品,都是語(yǔ)言還以單片機(jī)為核心,再加以不通的匯編外設(shè)電路實(shí)現(xiàn)不通的功能需求。 單片機(jī)的編程可以通過(guò)匯編語(yǔ)言和C語(yǔ)言來(lái)實(shí)現(xiàn)。 1 匯編編程的特點(diǎn) 匯編是一種更接近于硬件底層的低級(jí)語(yǔ)言。 硬件在編程時(shí)總線和地址非常重要,在匯編語(yǔ)言中,一般用助記符來(lái)替代機(jī)器指令的操作碼,用標(biāo)號(hào)代表操作數(shù)的地址,所以匯編語(yǔ)言和機(jī)器指令之間存在著唯一對(duì)應(yīng)的關(guān)系,這就導(dǎo)致了不通系列的單片機(jī)其匯編指令集是完全不通的。 這樣做是比較麻煩的,因?yàn)楦牧藛纹瑱C(jī)或者升級(jí)老產(chǎn)品之后,原有的匯編代碼難以跨平臺(tái)移植,只能再重新編寫(xiě)。 所以,匯編的移植性非常差,由于是直接操作機(jī)器指令,所以在可讀性上也非常差。 這是匯編語(yǔ)言的兩個(gè)最大的缺點(diǎn),但是其優(yōu)點(diǎn)就是執(zhí)行效率非常高。 從方便的角度上來(lái)說(shuō),匯編方便了硬件,但對(duì)工程師卻不友好。 2C語(yǔ)言編程的特點(diǎn)
在前幾年使用匯編編程的人還是挺多的,現(xiàn)在使用匯編的人原來(lái)越少,即使是寫(xiě)驅(qū)動(dòng)的人也不完全使用匯編而是使用匯編和C語(yǔ)言結(jié)合的方式。 單片機(jī)的C語(yǔ)言編程具有兩個(gè)最大的優(yōu)點(diǎn)。 第一個(gè)優(yōu)點(diǎn):易于移植 有過(guò)單片機(jī)C語(yǔ)言編程的同行都有這樣的經(jīng)歷,在編程時(shí),首先要在初始化中配置單片機(jī)的寄存器,配置完之后的代碼不再頻繁的和寄存器打交道,所以使得C語(yǔ)言的層次非常清晰,在移植代碼時(shí),只需要根據(jù)新的平臺(tái)修改一下寄存器的配置部分就可以了,功能主體部分幾乎不用修改。 這也就是很多優(yōu)秀程序員所倡導(dǎo)的當(dāng)文檔層次化編程的原因,每個(gè)功能塊都對(duì)應(yīng)一個(gè)C文件和H頭文件,在移植時(shí)只需要把這兩個(gè)文件拷走即可,方便了移植。 從這個(gè)方面來(lái)講,完全可以拋開(kāi)單片機(jī)的寄存器配置來(lái)實(shí)現(xiàn)編程,這方面做的比較好的如STM32的官方庫(kù)編程和CMSIS等。 第二個(gè)優(yōu)點(diǎn):易于閱讀 由于C語(yǔ)言通過(guò)寄存器和硬件驅(qū)動(dòng)/接口建立關(guān)系,編程者不用再去記憶枯燥的指令,而且C語(yǔ)言編程的層次化、模塊化編程也大大提高了代碼的可讀性。 相比于匯編,C語(yǔ)言可以用更少的代碼實(shí)現(xiàn)更復(fù)雜的功能,而且還更易于理解。 這也是C語(yǔ)言越來(lái)越受歡迎的原因。 3C語(yǔ)言對(duì)比匯編的優(yōu)勢(shì)
通過(guò)前面的描述可以看得出來(lái),C語(yǔ)言占有更多得優(yōu)勢(shì),C語(yǔ)言易于跨平臺(tái)移植、C語(yǔ)言易于理解、C語(yǔ)言易于延續(xù)。 總之,從編程得角度C語(yǔ)言更受程序員們得歡迎。 關(guān)注微信公眾號(hào)『玩轉(zhuǎn)嵌入式』,后臺(tái)回復(fù)“128”獲取干貨資料匯總,回復(fù)“256”加入技術(shù)交流群。
精彩技術(shù)文章推薦
01 |求伯君:中國(guó)最“牛”程序員,一己之力挑戰(zhàn)微軟
|
02 |一個(gè)博士應(yīng)聘華為,大疆的經(jīng)歷...
|
03 |華為員工裸辭之后悟出的那些“坑”!
|
04 |學(xué)習(xí)經(jīng)歷分享,單片機(jī)大神是如何煉成的!
|
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!