單片機(jī)入門(mén)必知 | C與單片機(jī)C不一樣?

許多小伙伴在學(xué)完C語(yǔ)言后想入門(mén)單片機(jī),但學(xué)著學(xué)著發(fā)現(xiàn)明明都是C語(yǔ)言,為什么單片機(jī)C語(yǔ)言和我當(dāng)初學(xué)的C語(yǔ)言有差異呢?今天小編就來(lái)梳理我們平時(shí)所學(xué)的C語(yǔ)言與單片機(jī)C語(yǔ)言的有什么樣的不同。


 

單片機(jī)c語(yǔ)言比起普通C語(yǔ)言增加了一些基本的指令,變量的賦值是16進(jìn)制,當(dāng)然單片機(jī)c語(yǔ)言只牽涉到普通c語(yǔ)言的基礎(chǔ)部分。具體體現(xiàn)在:

 

1.單片機(jī)中C的語(yǔ)法一般都對(duì) ANSI C有些擴(kuò)展,及一些特殊寫(xiě)法 如C51擴(kuò)展的 data xdata bit sbit 一類的,還有一些中斷程序?qū)懛?void int() interrput 1 一類的。

 

2.C是一門(mén)語(yǔ)言,由對(duì)應(yīng)平臺(tái)的編譯器編譯成對(duì)應(yīng)平臺(tái)匯編的程序,各平臺(tái)的匯編不一樣,當(dāng)然編譯器也不一樣 DOS上的TC2 TC3   WINDOWS上的VC 8051C51都有自已的編譯器 。具體區(qū)別是由編譯器決的,只能參考對(duì)應(yīng)的編譯手冊(cè),即使同種平臺(tái)不同的編譯器對(duì)C的擴(kuò)展也有不同。

 

3.單片機(jī)c語(yǔ)言編程是基于C語(yǔ)言的單片機(jī)編程。單片機(jī)的C語(yǔ)言采用C51編譯器(簡(jiǎn)稱C51)。由C51產(chǎn)生的目標(biāo)代碼短運(yùn)行速度高存儲(chǔ)空間小符合C語(yǔ)言的ANSI標(biāo)準(zhǔn),生成的代碼遵循Intel目標(biāo)文件格式,而且可與A51匯編語(yǔ)言PL/M51語(yǔ)言目標(biāo)代碼混合使用。

 

C51本質(zhì)就是C,是為在單片機(jī)上使用C而出來(lái)的,如果C不牢固,還是多掌握一點(diǎn)C再學(xué)C51,不過(guò)新增的知識(shí)也不少,而且基本上跟C無(wú)關(guān)。

 

4.C只是一種高級(jí)語(yǔ)言。它除具有一般高級(jí)語(yǔ)言的功能特性外,它可以很好的操作底層的硬件接口。在C語(yǔ)言的基礎(chǔ)上,如果你把一些單片機(jī)的端口或特殊功能寄存器加于定義,使之方便于在 寫(xiě)語(yǔ)句的時(shí)候,直接直觀的編寫(xiě)。這樣就差不多是單片機(jī)C語(yǔ)言。

 

結(jié)語(yǔ)C語(yǔ)言是我們?nèi)腴T(mén)編程所學(xué)習(xí)的一門(mén)語(yǔ)言,也是IOS開(kāi)發(fā)、單片機(jī)開(kāi)發(fā)等應(yīng)用上具有重要應(yīng)用的一門(mén)語(yǔ)言,雖然C語(yǔ)言與單片機(jī)C語(yǔ)言、C++C#等有或小或大的差異,但他們的編譯機(jī)理、表達(dá)形式都是一樣的!

 

the end

評(píng)論(3)