單片機入門必知 | C與單片機C不一樣?

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


 

單片機c語言比起普通C語言增加了一些基本的指令,變量的賦值是16進制,當然單片機c語言只牽涉到普通c語言的基礎部分。具體體現在:

 

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

 

2.C是一門語言,由對應平臺的編譯器編譯成對應平臺匯編的程序,各平臺的匯編不一樣,當然編譯器也不一樣 DOS上的TC2 TC3   WINDOWS上的VC 8051C51都有自已的編譯器 。具體區(qū)別是由編譯器決的,只能參考對應的編譯手冊,即使同種平臺不同的編譯器對C的擴展也有不同。

 

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

 

C51本質就是C,是為在單片機上使用C而出來的,如果C不牢固,還是多掌握一點C再學C51,不過新增的知識也不少,而且基本上跟C無關。

 

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

 

結語C語言是我們入門編程所學習的一門語言,也是IOS開發(fā)、單片機開發(fā)等應用上具有重要應用的一門語言,雖然C語言與單片機C語言、C++C#等有或小或大的差異,但他們的編譯機理、表達形式都是一樣的!

 

the end

評論(3)