C语言中 怎样嵌入 汇编的 求教
追答具体的做法太多了,刚给你搜索了一下,百度中答案相当多,顺便给你找了一个,我感觉写的挺详细的,希望对你有帮助,http://wenku.baidu.com/view/30d7a98a6529647d272852d9.html
比如#include "reg52.h"
void main()
{
P2=1;
#pragma asm
mov P3,#55h
#pragma endasm
P2=0;
while(1);
}
这是我刚刚弄的一个示例;
51单片机 用c语言 调用-nop- 编一个 延时一秒 程序
如果你换个编译器,比如从keil转到wave,又不能确定时间是否一致;其实你到网上看看,对于时间要求很严格的地方,延时程序基本都是汇编写的,大不了是C和汇编嵌套,或者用定时器;如果你说的是大概一秒的话,那么你百度一下就是一大堆;我做个一个表,即使用定时器,藐视很准确,其实走上一天可能就差...
单片机C51中c语言函数(-nop-())求助
extern void _nop_ (void); \/\/空操作,相当于8051的NOP指令 extern bit _testbit_ (bit); \/\/测试并清零位,相当于8051的JBC指令 extern unsigned char _cror_ (unsigned char, unsigned char); \/\/字符循环右移 extern unsigned int _iror_ (unsigned int, unsigned char...
51单片机c语言里 _nop_ 函数怎么用?
在单片机c语言中直接调用库函数即可,具体如下:include<intrins.h> \/\/ 声明了void _nop_(void);_nop_(); \/\/ 产生一条NOP指令。该函数的作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒。NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M...
_nop_在c语言里怎么用呢?
在c语言里没有这个_nop_函数,这个函数是在51单片机里使用的。作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒。NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。对于延时比较长的,要求在大于10us,采用C51中的循环语句来实现。
哪位高手知道 单片机精确延时1秒得C语言子程序 谢谢了
程序如下:DELAY:MOV 72H,#100 LOOP3:MOV 71H,#100 LOOP1:MOV 70H,#47 LOOP0:DJNZ 70H,LOOP0 NOP DJNZ 71H,LOOP1 MOV 70H,#46 LOOP2:DJNZ 70H,LOOP2 NOP DJNZ 72H,LOOP3 MOV 70H,#48 LOOP4:DJNZ 70H,LOOP4 定时器延时:晶振12MHZ,延时1s,定时器0工作方式为方式1 DELAY1:MOV ...
51单片机c语言 _nop_()是一个空指令?短时间延时的?空几个机器周期?
这个_nop_()等效与汇编里面的,NOP指令,也就是空一个机器周期,如果是传统51单片机的话,等于空12个时钟周期【即一个机器周期】,操作方法如下:1、首先,可以利用keil来进行模拟实验,观察软件所显示的数值,然后再进行相关的运算,即可得出结果。2、在使用keil进行模拟之前,要“模拟”给单片机各个口...
单片机延时一秒的c程序
单片机延时一秒 程序是不固定的 要根据你的晶振 计算出一次循环执行需要的时间 然后 写循环次数 一般是 void delay_one_second(void){ int i; for(i = 0; i < TIMES; i++);}这样就可以了。 TIMES是要计算的。或者 根据示波器 自己尝试。
51单片机延时1us,12M晶振怎么用c语言写
51单片机12M晶振延时1us,只需要执行一个NOP就是了。C语言中也是如此。include<reg51.h> include<intrins.h> main(){ _nop_(); \/\/延时1us while(1);}
C中 nop()函数如何实现1us延时?
C语言中的_nop_()指令,堪称编程中的“静默使者”,看似简单,实则在关键时刻发挥着微妙作用。在51单片机的世界里,当晶振频率设定为12兆赫兹时,_nop_()指令的延时效果相当于一个周期,即1微秒。这看似微不足道,但在追求效率和精准控制的编程世界里,每一分每一秒都至关重要。C语言,作为一门广...
急求一个用51单片机编的可按键调时的数字时钟程序,数码管显示,C语言...
\/\/ 延时程序void delay(unsigned char ms){while(ms--){unsigned char i;for(i = 0; i< 250; i++) {_nop_(); \/\/执行一条_nop_()指令为一个机器周期_nop_();_nop_();_nop_();}}}\/\/测试LCD忙碌状态bit lcd_busy(){bit result;rs = 0;rw = 1;ep = 1;_nop_();_nop_();_nop_...