用过前面的学习,我们已经知道,程序中的符号R7、R6是代表了一个个的RAM单元,是用来放一些数据的,下面我们再来看一下其它符号的含义。DELAY: MOV R7,#250 ;(6)D1: MOV R6,#250 ;(7)D2: DJNZ R6,D2 &nbs[详细]
应用单片机的时候,经常会遇到需要短时间延时的情况。需要的延时时间很短,一般都是几十到几百微妙(us)。有时候还需要很高的精度,比如用单片机驱动DS18B20的时候,误差容许的范围在十几us以内,不然很容易出错。这种情况下,用计时器往往有点小题大做。而在极端的情况下,计时器甚至已经全部派上了别的用途。这[详细]
在学单片机时我们第一个例子就是灯的闪烁,那是用延时程序做的,现在回想起来,这样做不很恰当,为什么呢?我们的主程序做了灯的闪烁,就不能再干其它的事了,难道单片机只能这样工作吗?当然不是,我们可以用定时器来实现灯的闪烁的功能。例1:查询方式ORG 0000HAJMP STARTORG 30HSTART:MOV P1,#0FFH ;关所 灯MO[详细]
计算机反复执行一段程序以达到延时的目的称为软件延时,单片机应用程序中经常需要短时间延时,有时要求很高的精度,网上或书中虽然有现成的公式可以套用,但在部分算法讲解中发现有错误之处,而且延时的具体算法讲得并不清楚,相当一部分人对此仍很模糊,授人鱼,不如授之以渔,本文将以12MHZ晶振为例,详细讲解[详细]
单片机延时程序分析应用单片机的时候,经常会遇到需要短时间延时的情况。需要的延时时间很短,一般都是几十到几百微妙(us)。有时候还需要很高的精度,比如用单片机驱动 DS18B20的时候,误差容许的范围在十几us以内,不然很容易出错。这种情况下,用计时器往往有点小题大做。而在极端的情况下,计时器甚至已经全[详细]
51单片机汇编延时程序算法详解将以12MHZ晶振为例,详细讲解MCS-51单片机中汇编程序延时的精确算法。指令周期、机器周期与时钟周期指令周期:CPU执行一条指令所需要的时间称为指令周期,它是以机器周期为单位的,指令不同,所需的机器周期也不同。时钟周期:也称为振荡周期,一个时钟周期 =晶振的倒数。MCS[详细]
单片机延时程序(适合初学者)下面几个是单片机的延时程序(包括asm和C程序,都是我在学单片机的过程中用到的),在单片机延时程序中应考虑所使用的晶振的频率,在51系列的单片机中我们常用的是11.0592MHz和12.0000MHz的晶振,而在AVR单片机上常用的有8.000MHz和4.000MH的晶振所以在网上查找程序时如果涉及到精确延[详细]
应用单片机的时候,经常会遇到需要短时间延时的情况。需要的延时时间很短,一般都是几十到几百微妙(us)。有时候还需要很高的精度,比如用单片机驱动 DS18B20的时候,误差容许的范围在十几us以内,不然很容易出错。这种情况下,用计时器往往有点小题大做。而在极端的情况下,计时器甚至已经全部派上了别的用途。[详细]
AVR单片机延时程序:1.毫秒级的延时 延时1ms;void delay_1ms(void){unsigned int i;for(i=1;i<(unsigned int)(xtal*143-2);i++);}在上式中,xtal为晶振频率,单位为MHz. AVR 延时程序当晶振频率为8M时,延时函数软件仿真的结果为1000.25μs.当晶振频率为4M时,延时函数软件仿真结果为999.5μs[详细]
51单片机精确延时程序(晶振12MHz,一个机器周期1us.)几个精确延时程序:在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,在对时间要求不高的场合,这部分对程序不会造成影响.一. 500ms延时子程序程序:.(晶振12MHz,一个机器周期1us.)void delay500ms(void){unsigned char i,j,k;for(i=15;i[详细]
Copyright © 2014-2023 颖特新科技有限公司 All Rights Reserved. 粤ICP备14043402号-4