51单片机精确延时源程序

  • 格式:txt
  • 大小:4.49 KB
  • 文档页数:2


51单片机精确延时源程序

一、晶振为
11.0592MHz,12T

1、延时
1ms:

(1)汇编语言:
代码如下:
DELAY1MS: ;误差 -0.651041666667us
MOV R6,#04H

DL0:
MOV R5,#71H
DJNZ R5,$
DJNZ R6,DL0
RET

(2)C语言:
void delay1ms(void) //误差 -0.651041666667us

{
unsigned char a,b;
for(b=4;b>0;b--)

for(a=113;a>0;a--);
}

2、延时
10MS:

(1)汇编语言:
DELAY10MS: ;误差 -0.000000000002us
MOV R6,#97H

DL0:
MOV R5,#1DH
DJNZ R5,$
DJNZ R6,DL0
RET

(2)C语言:
void delay10ms(void) //误差 -0.000000000002us

{
unsigned char a,b;
for(b=151;b>0;b--)

for(a=29;a>0;a--);
}

3、延时
100MS:

(1)汇编语言:
DELAY100MS: ;误差 -0.000000000021us
MOV R7,#23H
DL1:
MOV R6,#0AH

I


棋影淘宝店:QQ:149034219

DL0:
MOV R5,#82H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
RET

(2)C语言:
void delay100ms(void) //误差 -0.000000000021us

{
unsigned char a,b,c;
for(c=35;c>0;c--)

for(b=10;b>0;b--)
for(a=130;a>0;a--);
}

4、延时
1S:

(1)汇编语言:
DELAY1S: ;误差 -0.00000000024us
MOV R7,#5FH
DL1:
MOV R6,#1AH

DL0:
MOV R5,#0B9H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
RET

(2)C语言:
void delay1s(void) //误差 -0.00000000024us

{
unsigned char a,b,c;
for(c=95;c>0;c--)

for(b=26;b>0;b--)
for(a=185;a>0;a--);
}

5、延时
10S:

(1)汇编语言:
DELAY10S: ;误差 -0.000000003101us
MOV R7,#0B3H
DL1:
MOV R6,#83H

DL0:
MOV R5,#0C3H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
NOP

II


棋影淘宝店:QQ:149034219

RET

(2)C语言:
void delay10s(void) //误差 -0.000000003101us

{
unsigned char a,b,c;
for(c=179;c>0;c--)

for(b=131;b>0;b--)
for(a=195;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}

6、延时
100S:

(1)汇编语言:
DELAY100S: ;误差 -0.000000016117us
MOV R4,#72H
DL2:
MOV R7,#0DDH
DL1:
MOV R6,#0D7H

DL0:
MOV R5,#07H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
DJNZ R4,DL2
NOP
RET

(2)C语言:
void delay100s(void) //误差 -0.000000016117us

{
unsigned char a,b,c,d;
for(d=114;d>0;d--)

for(c=221;c>0;c--)
for(b=215;b>0;b--)
for(a=7;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}

二、晶振为
12MHz,12T

1、延时
1MS:

(1)汇编语言:
DELAY1MS: ;误差 0us
MOV R6,#0C7H

DL0:
MOV R5,#01H
DJNZ R5,$
DJNZ R6,DL0

III


棋影淘宝店:QQ:149034219

RET

(2)C语言:
void delay1ms(void) //误差 0us

{
unsigned char a,b;
for(b=199;b>0;b--)

for(a=1;a>0;a--);
}

2、延时
10MS:

(1)汇编语言:
DELAY10MS: ;误差 0us
MOV R7,#05H
DL1:
MOV R6,#04H

DL0:
MOV R5,#0F8H
DJNZ R5,$
D

JNZ R6,DL0
DJNZ R7,DL1
RET

(2)C语言:
void delay10ms(void) //误差 0us

{
unsigned char a,b,c;
for(c=5;c>0;c--)

for(b=4;b>0;b--)
for(a=248;a>0;a--);
}

3、延时
100MS:

(1)汇编语言:
DELAY100MS: ;误差 0us
MOV R7,#07H
DL1:
MOV R6,#4AH

DL0:
MOV R5,#5FH
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
RET

(2)C语言:
void delay100ms(void) //误差 0us

{
unsigned char a,b,c;
for(c=7;c>0;c--)

for(b=74;b>0;b--)

IV


棋影淘宝店:QQ:149034219

for(a=95;a>0;a--);
}

4、延时
1S:

(1)汇编语言:
DELAY1S: ;误差 0us
MOV R7,#2EH
DL1:
MOV R6,#98H

DL0:
MOV R5,#46H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
NOP
RET

(2)C语言:
void delay1s(void) //误差 0us

{
unsigned char a,b,c;
for(c=46;c>0;c--)

for(b=152;b>0;b--)
for(a=70;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}

5、延时
10S:

(1)汇编语言:
DELAY10S: ;误差 0us
MOV R7,#0BDH
DL1:
MOV R6,#0BFH

DL0:
MOV R5,#89H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
MOV R5,#02H
DJNZ R5,$
RET

(2)C语言:
void delay10s(void) //误差 0us

{
unsigned char a,b,c,n;
for(c=189;c>0;c--)

for(b=191;b>0;b--)
for(a=137;a>0;a--);
for(n=2;n>0;n--);

V


棋影淘宝店:QQ:149034219

}

6、延时
100S:

(1)汇编语言:
DELAY100S: ;误差 0us
MOV R4,#1EH
DL2:
MOV R7,#0E7H
DL1:
MOV R6,#0E5H

DL0:
MOV R5,#1EH
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
DJNZ R4,DL2
MOV R5,#02H
DJNZ R5,$
RET

(2)C语言:
void delay100s(void) //误差 0us

{
unsigned char a,b,c,d,n;
for(d=30;d>0;d--)

for(c=231;c>0;c--)
for(b=229;b>0;b--)
for(a=30;a>0;a--);
for(n=2;n>0;n--);
}

VI



下载文档原格式

  / 2
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。