㈠ 在使用單片機中,匯編語言和c語言各有什麼優缺點
一、匯編語言:
缺點:匯編語言屬於低級語言,難理解,編程效率低,編程容易出錯。
優點:程序執行效率高,佔用資源少, 方便對最底層的一些東西進行操作。
二、C語言:
缺點:危險性高,開發周期長,可移植性不如JAVA。
優點:語句少但是靈活度高,針對過程的言語相比於非結構化言語條理性很好接近人類的邏輯思維,相比於模塊化言語和面向對象的言語他又比較接近底層的一些東西,而且效率也高(只比匯編低%10~20)移植性也好。
(1)c語言用到單片機擴展閱讀:
不難看出機器語言作為一種編程語言, 靈活性較差可閱讀性也很差,為了減輕機器語言帶給軟體工程師的不適應,人們對機器語言進行了升級和改進:用一些容易理解和記憶的字母,單詞來代替一個特定的指令。
通過這種方法,人們很容易去閱讀 已經完成的程序或者理解程序正在執行的功能,對現有程序的bug修復以及運營維護都變得更加簡單方便,這種語言就是我們所說的匯編語言, 即第二代計算機語言。
㈡ 學C語言要買單片機來學么
你的說法不太准確哦,C語言和單片機可是兩回事。
學習C語言,在PC上就可以了。了解基本的語法後,可以看點程序,做些練習,總之多動手就是了。
學習單片機,會用C語言只是很小的一部分,電路的一些基礎知識要知道,主要是CPU由於一般都不是PC上的通用處理器,所以也要花很大功夫學習,比如51,ARM,PIC。。。
回到你的問題,開發板要不要買不是主要問題,主要目的還是要多實際動手。如果沒有動手條件,自己買一個開發板還是合算的。
㈢ C語言怎麼寫進單片機
1:先把寫好的C語言進行編譯,生成*.hex或*.bin文件,推薦用keil C。
然後:
1:根據你單片機的型號買一個燒錄器,與PC連接好後,把單片機放在燒錄器的插座上(看你的單片機封裝,新手盡量用DIP的),根據燒錄器軟體提示把上述文件燒到單片機里,缺點:價格較高
2:用下載線,用法與燒錄器差不多,缺點:比較麻煩,要有一定經驗。
3:用學習板,一般學習板上面的單片機可以直接在線燒錄(如STC,SST系列的單片機),也就是說單片機不用拆下來,板子上做好了燒錄電路,可以在板子上燒錄,然後就可以直接驗證了。
4:自已做一個,用STC的單片機,只要用一個RS232的轉換電路(一片232IC,幾個電解電容就行了),STC的單片機可以通過串口燒錄程序,具體參見STC官網或其DATASHEET,有詳細介紹。缺點:要一定動手能力
推薦新手用第3方法,可以很快上手。
㈣ C語言在單片機中的應用
單片機就像是一個軀體,而程序就是它的靈魂。C語言就是製造(編寫)它的靈魂的工具。
單片機中的C語言與標准C語言有一些不同,有很多對位的定義和操作。在單片機應用中最常用的編譯軟體是KEIL
C51,功能強大。
C語言是一種高級語言,在單片機應用中其優點也是非常突出:編程靈活、可讀性、可移植性都很強。當然,若能在學C之前懂一些匯編語言,就更好啦。既能熟悉位操作,又能發揮C語言的優勢。
㈤ C語言怎麼用到單片機
1、把C語言編譯為編程器支持的語言格式,比如常用的bin,或hex等格式。
2、如果是可在線編程的,可以用ISP直接進行燒錄。
3、如果不是可在線編程的,將單片機晶元,放入編程器,然後燒錄。
注意:編譯和燒錄時,都要選擇和單片機晶元一致的型號,否則會出錯。
如果找不到對應的型號,說明不支持該型號的單片機。
㈥ C語言怎麼寫進單片機
1、把C語言編譯為編程器支持的語言格式,比如常用的bin,或hex等格式。
2、如果是可在線編程的,可以用ISP直接進行燒錄。
3、如果不是可在線編程的,將單片機晶元,放入編程器,然後燒錄。
注意:編譯和燒錄時,都要選擇和單片機晶元一致的型號,否則會出錯。
如果找不到對應的型號,說明不支持該型號的單片機。
㈦ 如何將C語言編輯的源程序置入單片機
你如果有
編譯器
的話,例如:keil。把你的
C程序
有它打開後,編譯,編譯後會產生
hex文件
,然後在用
下載軟體
,例如:
志峰
軟體。不過你還得有單片機的
下載器
,用它連接單片機和電腦。這樣就可以把你的
C文件
你的
程序下載
到單片機里,讓它執行相應的動作啦。
㈧ C語言在單片機中的應用
單片機用c編程主要數程序裝不下,當程序大於2k時就會超出(一般的51單片機,如at89c51),而在編程中最占空間的往往是數據部分,想大量的數組等。這是我們一般將數組定義成data,idata,xdata等類型,這樣使得code代碼段的空間大量減小,就能燒錄到單片機中了!
㈨ 用C語言進行單片機編程
/*******************************************************************************
*
文件名稱:LED流水燈控制實驗
*
實驗目的:掌握單片機IO口操作的基本方法
*
程序說明:無
*
日期版本:
*******************************************************************************/
#include
"reg52.h"
//定義51單片機特殊功能寄存器
#include
"intrins.h"
//延時函數
void
delay(void)
{
unsigned
char
i,j,k;
for(i=0;
i<20;
i++)
{
for(j=0;
j<20;
j++)
{
for(k=0;
k<248;
k++);
}
}
}
//主函數
void
main(void)
{
unsigned
char
i;
while(1)
{
for(i=0;
i<8;
i++)
{
P2
=
((P2&0x1f)|0x80);
P0
=
~(0x01<<i);
//左移i位,按位取反
P2
&=
0x1f;
delay();
}
}
}
給你一條用c語言編程的流水燈,型號自己選擇。