導航:首頁 > 編程語言 > 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怎麼添加子程序相關的資料

熱點內容
win10無法運行tgp 瀏覽:171
vbs創建子文件夾 瀏覽:240
車載音樂APP花的什麼流量 瀏覽:894
陌陌聊天群怎麼升級 瀏覽:189
如何管理秘密文件 瀏覽:200
linuxfork線程 瀏覽:548
javabean原理和機制 瀏覽:546
榮威rx5導航怎麼升級 瀏覽:116
同花順中各項數據都是什麼意思 瀏覽:532
lumion怎麼輸出視頻教程 瀏覽:736
GML文件格式轉換 瀏覽:120
數據線抗拉環怎麼用 瀏覽:300
為什麼蘋果6手機沒有網路設置密碼 瀏覽:187
ae文字教程 瀏覽:838
如何拉文件進去cad直接打開 瀏覽:400
飛傲x5二代固件升級 瀏覽:390
dll反編譯工具 瀏覽:400
初中考試卷app 瀏覽:22
微信登陸請檢查網路連接網路連接網路 瀏覽:294
win7怎麼讓隱藏的文件夾顯示出來 瀏覽:264

友情鏈接