本文目錄一覽:
單片機用什麼語言編寫程序?
單片機一般用C語言或者彙編語言來編寫程序。
建議先學C語言,彙編語言要算地址,彙編語言比較難,所以建議先學C語言。彙編語言要算地址,大多數情況下,單片機運行的程序,都是C語言編寫的。不過並不是一般意義上的C語言,而是變種後的C51語言。
單片機是典型的嵌入式微控制器(Microcontroller Unit),由運算器,控制器,存儲器,輸入輸出設備等構成,相當於一個微型的計算機。與應用在個人電腦中的通用型微處理器相比,它更強調自供應(不用外接硬體)和節約成本。
用C語言進行單片機編程
/*******************************************************************************
*
文件名稱:LED流水燈控制實驗
*
實驗目的:掌握單片機IO口操作的基本方法
*
程序說明:無
*
日期版本:
*******************************************************************************/
#include
“reg52.h”
//定義51單片機特殊功能寄存器
#include
“intrins.h”
//延時函數
void
delay(void)
{
unsigned
char
i,j,k;
for(i=0;
i20;
i++)
{
for(j=0;
j20;
j++)
{
for(k=0;
k248;
k++);
}
}
}
//主函數
void
main(void)
{
unsigned
char
i;
while(1)
{
for(i=0;
i8;
i++)
{
P2
=
((P20x1f)|0x80);
P0
=
~(0x01i);
//左移i位,按位取反
P2
=
0x1f;
delay();
}
}
}
給你一條用c語言編程的流水燈,型號自己選擇。
用C語言編寫單片機程序
#include
sbit
csb_SAT=
P1^0;
//定義超聲波發生腳
void
delay(void)
//延時25微秒,12T晶元用12M誤差
0us
{
unsigned
char
a;
for(a=11;a0;a–);
}
void
csb_fs(int
dat)
{while(dat–){csb_SAT=1;delay();csb_SAT=0;delay();}}
//發射
void
main()
{
EA=1;
while(1)
{
csb_fs(10);
delay();delay();delay();delay();delay();delay();delay();delay();delay();
IE=0x83;
//INT0允許中斷
while(IE);
P1_1=1;delay();P1_1=0;delay();P1_1=1;delay();P1_1=0;delay();P1_1=1;delay();P1_1=0;delay();
}
}
void
int0_chuankou(void)
interrupt
using
1
//外部INT0中斷子程序
{
IE=0;//禁止INT0中斷
}
C語言怎麼寫進單片機?
1、把C語言編譯為編程器支持的語言格式,比如常用的bin,或hex等格式。\x0d\x0a2、如果是可在線編程的,可以用ISP直接進行燒錄。\x0d\x0a3、如果不是可在線編程的,將單片機晶元,放入編程器,然後燒錄。\x0d\x0a注意:編譯和燒錄時,都要選擇和單片機晶元一致的型號,否則會出錯。\x0d\x0a如果找不到對應的型號,說明不支持該型號的單片機。
單片機用什麼語言編程
單片機用以下語言可以編程:
1、C語言。單片機C語言是一種編譯語言,具有編譯語言的特點。C語言具有功能豐富的庫函數、計算速度快、編譯效率高、可移植性好,可直接控制系統。此外,C語言程序具有完整的程序模塊結構,為軟體開發中模塊化程序設計方法的使用提供了有力的保證。
2、彙編語言。它的主要優點是佔用資源少,程序執行效率高。因為它有一個指令,所以每個指令都很清晰,堆疊和調整都很容易控制,調試也很方便。但是不同類型的單片機可能有不同的編碼語言,所以不容易移植。
3、PL/M編程語言。P/M是一種具有L/M語言的高級語言,不僅具有L/M語言的高級彙編,而且直接利用CPU的硬體特性進行編程。因此,與其他高級語言相比,它具有更多的功能和更廣泛的應用,尤其是在16台單片機的應用領域。
4、BASIC編程語言。BASIC是一種高級語言,其英文意思是初學者通用符號代碼。在過去的幾十年里,BASIC語言被認為是初學者編程的語言,已經從QBASIC發展到很多版本,有很多結構化的思維和編程方法,比如函數、模塊、局部變數、全局變數、數據傳輸等。
使用單片機語言的注意事項。
1、單片機編程的特點對單片機編程來說,首先要考慮的是單片機的程序空間和數據空間都是有限的,所以要讓程序盡量短小精悍,以節省程序佔用的存儲空間。
2、單片機編程的一個主要對象是對單片機的埠和內部寄存器的操作和配置,這個需要比較精確的時序控制。
3、單片機演算法運算中,盡量使用加法、減法、移位運算,因為乘法和除法運算會非常費時間,尤其是除法,會耗費很多時間,這對於速度本身就有限制的單片機來說,是一個很大的負擔。
4、高級語言編寫單片機程序的缺陷高級語言可以實現更為優化的演算法,更為方便的執行方案,但是,高級語言對程序存儲空間的佔用要比彙編和C語言多很多。這是最致命的一點,單片機有限的存儲空間需要靠精打細算來設計程序,根本經不起高級語言臃腫的代碼體積。
at89c51單片機 如何用c語言編程啊?
隨著單片機硬體性能的提高,編寫應用程序更著重於程序本身的效率。
Franklin或KEII.C51交叉編譯器是專為51系列單片機設計的一種高效的C語言編譯器,用其開發的應用程序易於維護,可移植性好,是目前較流行的51系列單片機的開發工具。
一、C51語言程序設計的基本技巧
首先,C51語言程序設計要儘可能採用結構化的設計方法。可將整個程序按功能分成若干個模塊,不同的模塊完成不同的功能。對於不同的功能模塊,分別指定相應的入口參數和出口參數,而經常使用的一些程序最好編成函數,這樣既不會引起整個程序管理的混亂,還可使程序的可讀性、移植性增強。
C51語言的主程序結構:
#include
main0{while(1);}
這是最小的C程序,包括頭部文件和程序主體。頭部文件為引用的外部資源文件,包括硬體信息和外部模塊提供的可使用的函數和變數的說明。
語句定義後,就可以在C語言程序中像彙編一樣使用這些硬體設備。
在C5l中常用項目來管理,項目一般分為C文件塊和頭部文件塊,常把不同的功能寫在不同的C文件中,依靠項目的管理,最後把所有文件連接起來,這樣就可以得到燒錄的HEX文件或BIN文件。沒有在頭部文件中列出的文件,可以算是該C文件的內部函數和變數,外部C不能使用。另外,在程序設計過程中要充分利用C51語言的預處理命令。
對於一些常用的常數,如TRUE、FAlSE、PI,以及各種特殊功能寄存器,或程序中一些重要的依據外界條件可變的常量,可採用宏定義(#de-fine)或集中起來放在一個頭文件中進行定義,再採用文件包含命令(#in-elude)將其加入到程序中,這樣當需要修改某個參量時,只需修改相應的包含文件或宏定義,而不必對使用它們的每個程序文件都進行修改,有利於文件的維護和更新。
舉例:利用宏定義和條件編譯,源程序不作任何修改就可適用於不同時鐘頻率的單片機系統,並可根據情況的不同取不同的delay值,完成不同的目的。程序如下:
#define flag 1#ifdef flag==l#define fose 6Mdelay=10;#elif flag==0#define fose 8Mdelay=12;#else#define fosc 12Mdelay=20;#endiFMain0{ for(I=O;l
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/158339.html