導航:首頁 > 操作系統 > 單片機換c語言

單片機換c語言

發布時間:2023-02-10 09:16:25

『壹』 如何把單片機機器語言轉化為c語言

機器語言可以反匯編為匯編語言,但是這種反匯編得到的匯編語言指令,與原來的指令已經完全不同,根本沒法看懂,所以,目前為止,還無法實現這個功能。
這也是對的,如果用軟體就可以將目標代碼還原回原來的指令,那程序員的就沒有知識產權可言了,別人的辛勤勞動這么容易轉換,那就太不公平了。

『貳』 單片機C51,將匯編語言轉換為C語言

#include<reg52.h>
#defineu8unsignedchar
#defineu16unsignedint
#defineBufSize0x10
u8buf[BufSize];
u8js=0;

voidmain(){
SCON=0x80;
PCON=0x80;
EA=1;
ES=1;
ACC=buf[0];
TB8=P;
SBUF=ACC;
while(1);

}


voidTRANI()interrupt4
{
TI=0;
js++;
if(js==BufSize){
ES=0;
}
else{
ACC=buf[js];
TB8=P;
SBUF=ACC;

}

}

順便優化匯編代碼

BUF	EQU	0X50
ORG 0000H
JMP MAIN
ORG 0023H
JMP TRANI
MAIN:
MOV SCON,#0X80;
MOV PCON,#0X80
SETB EA
SETB ES
MOV R0,#BUF

MOV A,@R0
MOV C,P
MOV TB8,C
MOV SBUF,A
JMP $

TRANI:
PUSH PSW
PUSH ACC

INC R0
CJNE R0,#BUF+0x10,NEXT
JMP TEND

NEXT: MOV A,@R0
MOV C,P
MOV TB8,C
MOV SBUF,A

TEND:
POP ACC
POP PSW
RETI

『叄』 單片機匯編語言轉換C語言

大致如此:
TMOD = 0x02;
while(1) {
P10 = 0;
TH0 = 0x6A;
TL0 = 0x6A;
TR0 = 1;
while(TF0==0);
P10 = 1;
TR0 = 0;
TH0 = 0xE7;
TL0 = 0xE7;
TR0 = 1;
while(TF0==0);
}

『肆』 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

『伍』 單片機編程可以用c語言嗎

當然可以,去問老師,都會的,在學校里用匯編編單片機的程序只是為了讓你練習匯編語言而已,單片機編程本來就是用c語言編的。

『陸』 這個單片機匯編換成C語言應怎麼寫

#include<reg52.h>//52系列單片機頭文件
#define
P1
ledall
//此處沒用到
sbit
led1=P1^0;
void
delay(unsigned
int
t)
{
while(t--);
}
void
main()
{
led1=0;
while(1)
{
led1=~led1//取反
delay(1000);//括弧中數加大則閃爍變慢
}
/*若要控制所有的
把上面6行去掉用下面的*/
/*
P1=0xaa;//隔一個亮
while(1)
{
P1=~P1;//~按位取反,間隔閃爍
delay(1000);
}
*/
}
若要做流水燈,加個#include<intrins.h>關於循環等
的頭文件
_crol_(P1,1);//P1左循環1位,配合延時和for循環語句循環8次可實現流水燈
_cror_(P1,1);//此句是右循環1位的

『柒』 如何把單片機機器語言轉化為c語言

機器語言可以反匯編為匯編語言,但是這種反匯編得到的匯編語言指令,與原來的指令已經完全不同,根本沒法看懂,所以,目前為止,還無法實現這個功能。
這也是對的,如果用軟體就可以將目標代碼還原回原來的指令,那程序員的就沒有知識產權可言了,別人的辛勤勞動這么容易轉換,那就太不公平了。

『捌』 如何將單片機HEX文件轉換成C語言或匯編

1、.hex是二進文件。.asm是匯編文件。是C編譯器產生的。
如果誰把匯編語言還原成C,幾乎不太可能,
如有這時間功夫,C程序自已都可早早重新編好了。
2、可以用反向工程hex2c:
開始—>運行—>輸入CMD
找到hex2c.exe所在文件夾路徑
輸入 hex2c <hex文件名稱.hex> <生成c文件名稱.c>

閱讀全文

與單片機換c語言相關的資料

熱點內容
cad圖紙不能跨文件夾粘貼 瀏覽:252
學生雲伺服器主機 瀏覽:883
單片機狀態周期 瀏覽:620
lua中的android 瀏覽:441
加密貴還是植發貴 瀏覽:662
陽光壓縮機繼電器 瀏覽:969
修改阿里雲伺服器密碼 瀏覽:815
lk4102加密晶元 瀏覽:588
怎麼更改app店面 瀏覽:489
設備部門如何做好伺服器 瀏覽:849
androido下載 瀏覽:478
神奇高量戰法副圖源碼 瀏覽:830
匯編語言設計凱撒密碼加密器 瀏覽:392
主次梁加密是加在哪裡 瀏覽:664
模板匹配演算法matlab 瀏覽:825
外地程序員去北京 瀏覽:24
安卓機換蘋果12如何轉移數據 瀏覽:420
互聯網ntp伺服器地址及埠 瀏覽:613
pdf到word轉換器 瀏覽:269
飛行解壓素材 瀏覽:498