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

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


 

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

 

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

 

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

 

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

 

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

 

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

 

the end

評(píng)論(3)