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

相关推荐
梁下轻语的秋缘8 小时前
每日c/c++题 备战蓝桥杯(P1049 [NOIP 2001 普及组] 装箱问题)
c语言·c++·学习·蓝桥杯
加点油。。。。8 小时前
C语言高频面试题——指针函数和函数指针的区别
c语言·面试
lkbhua莱克瓦2410 小时前
用C语言实现——一个中缀表达式的计算器。支持用户输入和动画演示过程。
c语言·开发语言·数据结构·链表·学习方法·交友·计算器
The Mr.Nobody10 小时前
STM32MPU开发之旅:从零开始构建嵌入式Linux镜像
linux·stm32·嵌入式硬件
技术干货贩卖机10 小时前
0基础 | 51单片机 | Proteus仿真
51单片机·proteus·仿真·电路仿真·0基础
lwewan11 小时前
26考研——存储系统(3)
c语言·笔记·考研
阿川!11 小时前
嵌入式软件--stm32 DAY 3
stm32·单片机·嵌入式硬件
#金毛12 小时前
STM32的定时器输出PWM时,死区时间(DTR)如何计算
stm32·单片机·嵌入式硬件
Invinciblenuonuo13 小时前
STM32八股【6】-----CortexM3的双堆栈(MSP、PSP)设计
stm32·单片机·嵌入式硬件
2401_8888597113 小时前
STM32 TIM编码器接口
stm32·单片机·嵌入式硬件