51单片机第11步_在C语言中插入汇编语言

本章重点介绍如何在C语言中插入汇编语言。要不是有记录,真不知道怎么搞。

/*

你在 Project Workspace窗口中,将光标移到DELAY.c处,点下鼠标右键,选择"Options for file DELAY.c",

点击右边的"Generate Assembler SRC File"和"Assemble SRC File",使检查框由灰色变成黑色(有效)状态;

将C:\KEIL\C51\C51S.lib可以加,也可以不加进来;

//注意1: 书写汇编语句时,标号要顶格书写,否则不能编译成功;

//注意2: #pragma asm和#pragma endasm的后面不可以打上分号;

//注意3: 不要在汇编结束时,打上RET或END;

*/

//main.c程序如下:

#include <reg51.h>

#include <DELAY.h>

void main(void)

{ while(1)

{ delay10ms();

delay100ms(10); //延时1s;

}

}

//delay.c程序如下:

#include <reg51.h>

void delay10ms()

{

#pragma asm

del10ms: mov r4,#20;

del11: mov r6,#0ffh;

del21: djnz r6,del21;

djnz r4,del11;

#pragma endasm

}

void delay100ms(char i)

{ for(i=0;i<10;i++)

{

#pragma asm

del10msa: mov r4,#20;

del11a: mov r6,#0ffh;

del21a: djnz r6,del21a;

djnz r4,del11a;

#pragma endasm

}

}

//delay.h程序如下:

extern delay10ms();

extern delay100ms(char i);

相关推荐
小林熬夜学编程34 分钟前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
Jackey_Song_Odd1 小时前
C语言 单向链表反转问题
c语言·数据结构·算法·链表
A懿轩A2 小时前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
半盏茶香2 小时前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
字节高级特工3 小时前
【C++】深入剖析默认成员函数3:拷贝构造函数
c语言·c++
计算机学长大白4 小时前
C中设计不允许继承的类的实现方法是什么?
c语言·开发语言
yutian06068 小时前
Keil MDK下载程序后MCU自动重启设置
单片机·嵌入式硬件·keil
XH华9 小时前
初识C语言之二维数组(下)
c语言·算法
析木不会编程10 小时前
【小白51单片机专用教程】protues仿真独立按键控制LED
单片机·嵌入式硬件·51单片机
Uu_05kkq13 小时前
【C语言1】C语言常见概念(总结复习篇)——库函数、ASCII码、转义字符
c语言·数据结构·算法