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

熱點內容
網路中常用的傳輸介質 瀏覽:518
文件如何使用 瀏覽:322
同步推密碼找回 瀏覽:865
樂高怎麼才能用電腦編程序 瀏覽:65
本機qq文件為什麼找不到 瀏覽:264
安卓qq空間免升級 瀏覽:490
linux如何刪除模塊驅動程序 瀏覽:193
at89c51c程序 瀏覽:329
怎麼創建word大綱文件 瀏覽:622
裊裊朗誦文件生成器 瀏覽:626
1054件文件是多少gb 瀏覽:371
高州禁養區內能養豬多少頭的文件 瀏覽:927
win8ico文件 瀏覽:949
仁和數控怎麼編程 瀏覽:381
項目文件夾圖片 瀏覽:87
怎麼在東芝電視安裝app 瀏覽:954
plc顯示數字怎麼編程 瀏覽:439
如何辨別假網站 瀏覽:711
寬頻用別人的賬號密碼 瀏覽:556
新app如何佔有市場 瀏覽:42

友情鏈接