導航:首頁 > 編程語言 > keil怎麼添加子程序

keil怎麼添加子程序

發布時間:2025-03-07 22:50:48

㈠ 怎樣在單片機C代碼中加入匯編延時子程序

(1)、C51語言中調用匯編語言程序;
C51語言調用匯編語言程序要注意以下幾點:
1:在文件欄選中File Group和C51程序原文件,在配置文件選項中激活「產生匯編(SRC)文件,「編譯(SRC)文件」和「創建工程(目標)時包含」三個選項。
2:根據選擇的編譯模式,把相應的庫文件(如SMALL模式,庫文件為KEIL\C51\LIB\C51S.LIB)加入工程中。
3:在C51語言中必須聲明需要調用的函數為外部函數。extern void DELAY(void);
4:在匯編語言程序中必須聲明被調用子程序為公共子程序,在被調用的文件中還需要聲明此文件是可從新定位的。
PUBLIC DELAY,DEL
DELAYY SEGMENT CODE
RSEG DELAYY
實例如下:
C51語言文件:
#include "reg51.h"
extern void DELAY(void);
extern void DEL(void);
void main(void)
{
P1=0x00;
DELAY();
DEL();
P1=0xff;
}
匯編語言文件:
PUBLIC DELAY,DEL
DELAYY SEGMENT CODE
RSEG DELAYY

DELAY: MOV R2,#3H
DJNZ R2,$
RET
DEL: MOV R3,#03H
DJNZ R3,$
RET
END
(2)、C51語言中嵌入匯編程序;
在C51語言中嵌套使用匯編語言編寫程序要注意以下的幾個問題:
1:在文件欄選中File Group和C51程序原文件,在配置文件選項中激活「產生匯編(SRC)文件,「編譯(SRC)文件」和「創建工程(目標)時包含」三個選項。
2:根據選擇的編譯模式,把相應的庫文件(如SMALL模式,庫文件為KEIL\C51\LIB\C51S.LIB)加入工程中。
3:用#pragma asm,和#pragma endasm語句包含嵌入的匯編語言程序。
實例如下:
#include "reg51.h"
void delay(void);
void main(void)
{
void delay(void);
P1=0x00;
#pragma asm
MOV R3,#08H
DJNZ R3,$
#pragma endasm
P1=0xff;
}
void delay(void)
{
#pragma asm
MOV R4,#08H
DJNZ R4,$
#pragma endasm
}

㈡ c51使用while循環實現1ms延時子程序

在12mhz晶振下,需要添加#include<INTRINS.H>庫函數


#include<INTRINS.H>

void delay(void) //誤差 0us

{

unsigned int c=124;

while(c)

{

c--;

}

_nop_();

_nop_();

}


在keil下進行測試結果如下:

delay執行後sec的值為0.001389差值為1ms

閱讀全文

與keil怎麼添加子程序相關的資料

熱點內容
華為app怎麼取消泡泡 瀏覽:88
好下款app誰用過 瀏覽:131
數據的演進與嬗變經歷了哪些時代 瀏覽:207
崗位appoc是什麼意思 瀏覽:410
魅族體驗版升級失敗 瀏覽:275
32度的孔位怎麼編程 瀏覽:737
resinfo工具 瀏覽:379
編程軟體上面的鍵盤怎麼使用 瀏覽:290
飯店買菜送菜app哪個好 瀏覽:14
無線網路安全解決方案 瀏覽:688
微信紅包拉人中介名稱 瀏覽:361
銑直槽如何編程 瀏覽:121
華為app如何添加長按快捷功能 瀏覽:750
愛國衛生素材編程怎麼做 瀏覽:535
ipad百度雲無法添加文件夾 瀏覽:159
蘋果7128g價格多少 瀏覽:125
android游戲開發項目視頻教程 瀏覽:380
金蝶用戶名怎麼設置密碼 瀏覽:542
java重定向下載 瀏覽:36
文獻數據怎麼綜述 瀏覽:130

友情鏈接