delay延时1s程序

作者&投稿:后昂 (若有异议请与网页底部的电邮联系)

单片机延时子程序
ELAY:MOV5FH,#06;延时3ms子程序DEL1:MOV5EH,#248;((2+((2+2×248)+2)×6)+1)×1DJNZ5EH,$;=3003usDJNZ5FH,DEL1;≈3msRET这个5EH和5FH的机器周期都是2微秒,谁能给我解释一下那个算式怎... ELAY: MOV 5FH,#06 ; 延时3ms子程序DEL1: MOV 5EH,#248 ;((2+((2+2×248)+2)×6)+1)...

nop延时和delay的区别
1、不同的指令:nop是一个汇编语言指令,delayelay是是一种延迟指令。2、nop指令可以用于实现短时间延时,通过在程序中插入适当数量的NOP指令,可以增加执行时间,满足一些对时间要求非常高的应用场景,如高速计数和精密测量等;delay用作暂停操作的时间单位,在程序中添加特定的延时以等待某个操作完成或等...

张亭19882921191问: 89C51单片机1S的延时程序? -
姚安县硫辛回答: void delayms() // 延时子程序 对应12M晶振 {unsigned int ms=1000;while(ms--) //每一次循环1ms{for(i = 0; i < 120; i++);} }

张亭19882921191问: 请问在单片机C语言编程中,用delay延迟的话,1秒程序是什么?单片机晶振为12MHZ -
姚安县硫辛回答: 在Keil里仿真的话,在配置里把晶振调成12MHz,然后在调用delay函数的地方设置一个断点,开始调试程序,运行到断点处,注意程序左边有一个记录当前寄存器和一些状态的窗口,其中,里面有一个是专门记录当前运行了多少时间的变量,记下当前时间T1,然后按F10(不进入子函数)调试,再记录当前时间T2,则延时=T2-T1.多试几个A,差不多调到1s就够了.我一般都这么调. 你要想明白其中原理,想自己算的话,你就看看delay的汇编代码段自己算吧.

张亭19882921191问: 用汇编语言写一个延时1s的delay子函数. -
姚安县硫辛回答: DELAY:MOV R3,#05H DL3:MOV R4,#0FAH DL2:MOV R5,#0F6H; DL1:DJNZ R5,DL1延时246us DJNZ R4,DL2;(246+4)*250=62500us DJNZ R3,DL3;62500*16=1s

张亭19882921191问: 怎么把单片机的数字电子钟延时1s -
姚安县硫辛回答: 那个delay函数里的参数不对吧,怎么是0呢 c<=120估计一个循环是1ms 那么a应该赋值1000吧 另外要做一个比较精确的数字钟的话用delay还是不行的 等你学到了就知道了

张亭19882921191问: 哪位会用C语言编写1s 延时程序(不是单片机延时,纯属是在C程序中延时),请求指教 -
姚安县硫辛回答: void delay1s(void) //误差 0us { unsigned char a,b,c; for(c=167;c>0;c--) for(b=171;b>0;b--) for(a=16;a>0;a--); _nop_(); //if Keil,require use intrins.h }

张亭19882921191问: 怎么把单片机的数字电子钟延时1s
姚安县硫辛回答: 大哥,一般都不像你这样写的呀! void delay10ms(int x) { int i,j; // 声明变量 for (i=1;i&lt;x;i++) // 执行x次,延迟X*10ms for (j=1;j&lt;1200;j++);// 执行120次,延迟10ms } // delay1ms()函数结束 如果你的延时精度要求不高,调用delay10ms(100)约1s就可以了呀.如果你的延时要求精度高的话,用51内部的定时器.

张亭19882921191问: 求一个1ms的单片机C语言延时程序 -
姚安县硫辛回答: void delay(char x) { unsigned char a,b,c; for(c=x;c>0;c--) for(b=38;b>0;b--) for(a=130;a>0;a--);} 学过标准C就知道了,char 和int 是可以相...

张亭19882921191问: 编写延时10毫秒的程序,晶振12M,单片机的,在线等待. -
姚安县硫辛回答: delay(int z) { int x,y; for(x=z;x>0;x--) for(y=125;y>0;y--); } 这个是1毫秒的延时程序(z=1时) 用Keil单步执行后得到的,精确度较高!希望能够有所帮助!

张亭19882921191问: 编写一段延时1秒的程序(fosc=6MHz)学习单片机的~ -
姚安县硫辛回答: 定时器法: delay: mov tmod,#01 mov th0,#3ch mov tl0,#0b8h;设置参数使每100ms中断一次. clr ea clr tf0 mov r7,#10 setb tr0 d: jnb tf0,$ clr tf0 djnz r7,d ret

张亭19882921191问: 单片机设置精确的延时,主频11.0592MHz,想延时1s,如果编码? Delay函数如何写,请详细说明算法?
姚安县硫辛回答: void init(void){ TMOD=0x01; EA=1; ET0=1; TH0=(655536-46080)/256; TL0=(655536-46080)%256; TR0=1;}void one_second(void) interrupt 1{ static unsigned int count=0; TH0=(655536-46080)/256; TL0=(655536-46080)%256; if(++count==20)//1s { count=0; //do something... }}


本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网