怎样在单片机C代码中加入汇编延时子程序?

(1)、C51语言中调用汇编语言程序;C51语言调用汇编语言程序要注意以下几点:1:在文件栏选中File Group和C51程序原文件,在配置文件选项中激活“产生汇编(SRC)文件,“编译(SRC)文件”和“创建工程(目标)时包含”三个选项。2:根据选择的编译模式,把相应的库文件(如SMALL模式,库文件为KEIL\C51...
怎样在单片机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
}2010-09-21
在 C 文件中要嵌入汇编代码片以如下方式加入汇编代码:
#pragma ASM
; Assembler Code Here(汇编程序)
#pragma ENDASM2010-09-21
asm(" EI ");
asm("nop");
asm("ROR _send_dta ");
嵌入这样的语句就可以了!2010-09-21
mengvlog 阅读 26 次 更新于 2025-09-10 16:08:57 我来答关注问题0
  • 1:在文件栏选中File Group和C51程序原文件,在配置文件选项中激活“产生汇编(SRC)文件,“编译(SRC)文件”和“创建工程(目标)时包含”三个选项。2:根据选择的编译模式,把相应的库文件(如SMALL模式,库文件为KEIL\C51\LIB\C51S.LIB)加入工程中。3:在C51语言中必须声明需要调用的函数为外部...

  •  翡希信息咨询 用keil软件如何将汇编与C语言结合起来一起编写单片机的程序

    方法一:在Keil C51的函数中直接插入汇编语句 使用编译控制命令:利用#pragma asm来标识所插入的汇编语句的起始位置,使用#pragma endasm来标识所插入的汇编语句的结束位置。这两条命令必须成对出现,并可以多次使用。直接插入汇编代码:在C语言的函数中,可以直接插入汇编代码。Keil C51编译器不会对这些插...

  •  翡希信息咨询 汇编语言和c语言混编 用keil怎么写入单片机啊?

    右键点击该文件,选择“Option for File”选项。 在弹出的对话框中,找到并点击“Generate Assembler SRC File”和“Assembler SRC File”两个选项,确保它们被选中。3. 编译并写入单片机: 完成设置后,保存所有文件。 在Keil中点击“Rebuild”按钮,重新编译整个项目,确保汇编代码和C代码被正确编译和链接。

  • anonymous 在C51语言中如何嵌入汇编语言

    1、在C 文件中要嵌入汇编代码片以如下方式加入汇编代码 pragma ASM ; Assembler Code Here pragma ENDASM 2、在Project 窗口中包含汇编代码的C 文件上右键,选择“Options for ...”在弹出的对话框中,点击右边的 “Generate Assembler SRC File”和“Assemble SRC File”使检查框由灰色变成黑色(有效)...

  • anonymous 51单片机,怎么样使得C语言与汇编语言结合起来?我想在C语言里调用汇编语言函数。

    首先写个H文件,把汇编的函数申明在里面 例如:extern bit plus(iu8 *d_dat,iu8 *s_dat,u8 len);然后,建立ASM文件,例如tool.asm 先指定存储区 ?PR?_plus?TOOL SEGMENT CODE ?PR?固定的,然后是函数名前+下划线,?TOOL 是这个asm的名字,CODE是存储区 然后向外申明函数 PUBLIC _plus ...

檬味博客在线解答立即免费咨询

编程相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部