本文目錄一覽:
C語言與單片機C語言的區別 急求
單片機c語言比起普通C語言增加了一些基本的指令,變量的賦值是16進制,當然單片機c語言只牽涉到普通c語言的基礎部分。具體體現在:
1、單片機中C的語法一般都對ANSIC有些擴展,及一些特殊寫法如C51擴展的dataxdatabitsbit一類的,還有一些中斷程序寫法voidint()interrput1一類的。
2、C是一門語言,由對應平台的編譯器編譯成對應平台彙編的程序,各平台的彙編不一樣,當然編譯器也不一樣DOS上的TC2TC3 WINDOWS上的VC8051的C51都有自已的編譯器。具體區別是由編譯器決的,只能參考對應的編譯手冊,即使同種平台不同的編譯器對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語言的特性差不多都可以用於單片機C語言,因為它們的編譯機理都是一樣的。
擴展資料:
C語言:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
儘管C語言提供了許多低級處理的功能,但仍然保持着良好跨平台的特性,以一個標準規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、TurboC等。
單片機的C語言:
單片機軟件設計使用C語言作為編程開發軟件,採用模塊化的程序結構,設計了按鍵模塊程序、RFID模塊程序、日曆時鐘模塊程序、GPRS模塊程序、顯示存儲模塊程序等,並編寫系統主程序,將五個程序模塊組合在一起,實現單片機控制系統的整體功能。
51單片機支持三種高級語言,即PL/M,C和BASIC。C語言是一種通用的程序設計語言,其代碼率高,數據類型及運算符豐富,並具有良好的程序結構,適用於各種應用的程序設計,是目前使用較廣的單片機編程語言。
單片機的C語言採用C51編譯器(簡稱C51)。有C51產生的目標代碼短,運行速度高,所需存儲空間小,符合C語言的ANSI標準,生成的代碼遵循Intel目標文件格式,而且可與A51彙編語言或PL/M51語言目標代碼混合使用
參考資料:
C語言-百度百科
單片機C語言-百度百科
單片機c語言編程
問題在變量申明,修改為:
#include “reg52.h”
typedef unsigned char u8;
typedef unsigned int u16;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sfr GPIO_KEY=0x90;
sfr GPIO_DIG=0x80;
u16 KeyValue;
u8 code smgduan[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(u16 i)
{
while(i–);
}
void KeyDown()
{
u8 a=0;
GPIO_KEY=0x0f;
if(GPIO_KEY!=0x0f)
{
delay(1000);
if(GPIO_KEY!=0x0f)
{
GPIO_KEY=0x0f;
switch(GPIO_KEY)
{
case(0x07):KeyValue=0;break;
case(0x0b):KeyValue=1;break;
case(0x0d):KeyValue=2;break;
case(0x0e):KeyValue=3;break;
}
GPIO_KEY=0xf0;
switch(GPIO_KEY)
{
case(0x70):KeyValue=KeyValue;break;
case(0xb0):KeyValue=KeyValue+4;break;
case(0xd0):KeyValue=KeyValue+8;break;
case(0xe0):KeyValue=KeyValue+12;break;
}
while((a50)(GPIO_KEY!=0xf0))
{
delay(1000);
a++;
}
}
}
}
void main()
{
LSA=0;
LSB=0;
LSC=0;
while(1)
{
KeyDown();
GPIO_DIG=smgduan[KeyValue];
}
}
單片機c語言編程?
單片機C語言程序設計入門課程,說起來容易,說起來難。學習單片機C語言,首先要了解這兩個東西是什麼。單片機入門編程主要是學習C語言,其次是電路和編程語言。單片機C語言程序設計學習中必讀的模擬電、數字電、電路三本書,為接下來的學習做鋪墊。看書的目的是因為網上教程太多,容易出現偏差。其實只要能懂電路原理,就能開發單片機軟件。簡介單片機又稱單片微控制器,不是執行某種邏輯功能的芯片,而是將一個計算機系統集成到一個芯片中。相當於一台微型計算機,與計算機相比,單片機只是缺少I/O設備。綜上所述,芯片變成了電腦。它體積小、重量輕、價格低,為研究、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理和結構的最佳選擇。單片機已經廣泛應用於智能儀器、實時工業控制、通訊設備、導航系統、家用電器等領域。自20世紀90年代以來,單片機技術得到了發展。隨着時代的進步和科技的發展,這項技術的實際應用也越來越成熟,單片機被廣泛應用於各個領域。如今,人們越來越重視單片機在智能電子技術中的發展和應用,單片機的發展進入了一個新的時期。無論是自動測量的實踐,還是智能儀器的實踐,都可以看到單片機技術的身影。在當前的產業發展過程中,電子產業是一個新興的產業。在工業生產中,人們已經成功地應用了電子信息技術,將電子信息技術與單片機技術相結合,有效地提高了單片機的應用效果。作為計算機技術的一個分支,單片機技術在電子產品領域的應用豐富了電子產品的功能,為智能電子設備的開發和應用提供了新的途徑,實現了智能電子設備的創新和發展。以上內容參考:百度百科-單片機
你應該先學習C語言。你可以讀譚浩強和單片機的書,循序漸進。別擔心。基礎好,什麼都能說。
如果你沒學過微機原理,建議你先學完再買本上海馬超的書,一周就能看懂了~
不認同無意義的光。《C編程》確實創造了一時的輝煌,這種輝煌很可能會延續下去,但不代表就是最好的。這本書之所以流行,是因為當時沒有辦法學習C,這本書很好理解。但是現在這本書太落後了,甚至3版還在用老標準,現在大家普遍用C99標準。老標準不能用Dev C編譯而且好像提問者應該知道C的基礎,推薦《單片機C語言編程及實例》這本書。直接搜索就能找到PDF版本的下載。-馬克·提埃洛
看譚浩強老師的。清華大學出版的《飢餓》。
單片機C語言編程,要使用C語言自帶的庫函數,使用哪個宏包含命令?
使用#include調用庫函數。
C51語言的編譯器中包含有豐富的庫函數,使用庫函數可以大大簡化用戶程序設計的工作量,提高編程效率。每個庫函數都在相應的頭文件中給出了函數原型聲明,在使用時,必須在源程序的開始處使用預處理命令#include將有關的頭文件包含進來。
C51庫函數中類型的選擇考慮到了8051單片機的結構特性,用戶在自己的應用程序中應儘可能地使用最小的數據類型,以最大限度地發揮8051單片機的性能,同時可減少應用程序的代碼長度。
單片機c語言編程是基於C語言的單片機編程。單片機的C語言採用C51編譯器(簡稱C51)。由C51產生的目標代碼短,運行速度高,存儲空間小,符合C語言的ANSI標準,生成的代碼遵循Intel目標文件格式,而且可與A51彙編語言PL/M51語言目標代碼混合使用。51單片機支持三種高級語言,即PL/M,C和BASIC。C語言是一種通用的程序設計語言,其代碼率高,數據類型及運算符豐富,並具有良好的程序結構,適用於各種應用的程序設計,是使用較廣的單片機編程語言。
單片機的編程語言
單片機的編程語言有三種:機器語言、彙編語言和高級語言。
其中高級語言中,單片機一般使用C語言,因為C語言代碼執行效率高,比較精簡,便於移植,所以它在現今的單片機編程語言中佔據了絕對的主導地位。
其他的高級語言雖然可以實現更為優化的算法,但是其他高級語言對程序存儲空間的佔用要比彙編和C語言多很多,這是最致命的一點。
因為單片機有限的存儲空間需要靠精打細算來設計程序,根本經不起高級語言臃腫的代碼體積,所以用C語言開發單片機是一個折中、更優的方案。
原創文章,作者:GXSF,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/140764.html