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);

相关推荐
WIZnet 中国社区官方博客25 分钟前
第十三章 RTC 实时时钟
嵌入式硬件·wiznet·高性能以太网单片机·w55mh32·单片机外设·rtc简介·寄存器描述
NULL指向我1 小时前
C语言数据结构笔记6:使用宏和指针来设置和操作嵌套在结构体中的联合体数组的特定位
c语言·数据结构·笔记
whoarethenext1 小时前
使用 C/C++、OpenCV 和 Libevent 构建联网人脸识别考勤系统 [特殊字符]‍[特殊字符]
c语言·c++·opencv
c7_ln1 小时前
嵌入式里的时间魔法:RTC 与 BKP 深度拆解
stm32·嵌入式硬件·实时音视频·江协科技
学不动CV了2 小时前
单片机内部结构基础知识 FLASH相关解读
单片机·嵌入式硬件
我不是加奈10 小时前
QMC5883L的驱动
c语言·驱动开发·单片机·嵌入式硬件
青小莫11 小时前
数据结构-C语言-链表OJ
c语言·数据结构·链表
ICGOODFIND111 小时前
电子接口与微控制器核心知识:串口、并口、USB、UART、RS232/RS485、ESP32与STM32详解
单片机·嵌入式硬件
CodeWithMe13 小时前
【C/C++】不同防止头文件重复包含的措施
c语言·开发语言·c++
whoarethenext14 小时前
使用 C/C++的OpenCV 实现模板匹配:从基础到优化
c语言·c++·opencv