51单片机通用汇编延时子程序,
关键字:51单片机通用汇编延时子程序
51单片机通用汇编延时子程序
[DELY]:通用延时子程序
[地址]:7FEBH - FFEBH
[功能]:延时
[入口]:延时常数放在 R2 寄存器中。时间常数 N(十六进制)所对应的延时时间(6MZH 晶振时)见下表:
[出口]:R2=0
[占用寄存器]:R2
[调用]:无
例:延时1 秒子程序
MOV R2,#18H
LCALL 7FEBH
RET
ORG 7FEBH ;通用延时子程序(07EBH & 0FEBH & ...)
L7FEB: PUSH 02H ;R2(复位后R2即为 02H)存放时间常数,进栈保护
L7FED: PUSH 02H ; R2 进栈保护
L7FEF: PUSH 02H ; 进栈
L7FF1: DJNZ R2,$ ;R2 不为零等待
POP 02H ;出栈
DJNZ R2,L7FEF ; R2 不为零转
POP 02H ; 出栈
DJNZ R2,L7FED ; R2 不为零转
POP 02H ; 出栈
DJNZ R2,L7FEB ; R2 不为零转
RET ;子程序返回
END
N(十六进制数)T(机器周斯)T(秒) 子程序地址
1 11 0.000044
C 2728 0.010912
18 26323 0.105292 2800
1D 50838 0.203352 2808
21 80323 0.321292 2810
24 109666 0.438664 2818
26 133248 0.532992 2820
28 160431 0.641724 2828
29 175481 0.701024 2830
2E 267146 1.068584 2838
37 516836 2.067344 2840
3D 760366 3.041464 2848
42 1021681 4.086724 2850
46 1275016 5.100064 2858
54 2543878 10.175512 2860
65 5144436 20.577744 2868
70 7654053 30.616212 2870
78 9986491 39.945964 2878
7F 12432158 49.728632 2880
98 24956083 99.824332 2888
A9 37708623 150.83453
B6 50353668 201.41467 2890
CA 75697683 302.79073 2898
D9 100218410 400.87365 28A0
E6 125909940 503.63974 28A8
F1 151248830 605.03532 28B0
FF 188839490 755.35794
0 191768000 767.072 28B8
[地址]:7FEBH - FFEBH
[功能]:延时
[入口]:延时常数放在 R2 寄存器中。时间常数 N(十六进制)所对应的延时时间(6MZH 晶振时)见下表:
[出口]:R2=0
[占用寄存器]:R2
[调用]:无
例:延时1 秒子程序
MOV R2,#18H
LCALL 7FEBH
RET
ORG 7FEBH ;通用延时子程序(07EBH & 0FEBH & ...)
L7FEB: PUSH 02H ;R2(复位后R2即为 02H)存放时间常数,进栈保护
L7FED: PUSH 02H ; R2 进栈保护
L7FEF: PUSH 02H ; 进栈
L7FF1: DJNZ R2,$ ;R2 不为零等待
POP 02H ;出栈
DJNZ R2,L7FEF ; R2 不为零转
POP 02H ; 出栈
DJNZ R2,L7FED ; R2 不为零转
POP 02H ; 出栈
DJNZ R2,L7FEB ; R2 不为零转
RET ;子程序返回
END
N(十六进制数)T(机器周斯)T(秒) 子程序地址
1 11 0.000044
C 2728 0.010912
18 26323 0.105292 2800
1D 50838 0.203352 2808
21 80323 0.321292 2810
24 109666 0.438664 2818
26 133248 0.532992 2820
28 160431 0.641724 2828
29 175481 0.701024 2830
2E 267146 1.068584 2838
37 516836 2.067344 2840
3D 760366 3.041464 2848
42 1021681 4.086724 2850
46 1275016 5.100064 2858
54 2543878 10.175512 2860
65 5144436 20.577744 2868
70 7654053 30.616212 2870
78 9986491 39.945964 2878
7F 12432158 49.728632 2880
98 24956083 99.824332 2888
A9 37708623 150.83453
B6 50353668 201.41467 2890
CA 75697683 302.79073 2898
D9 100218410 400.87365 28A0
E6 125909940 503.63974 28A8
F1 151248830 605.03532 28B0
FF 188839490 755.35794
0 191768000 767.072 28B8
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
发布评论请先 登录
相关推荐
热点推荐
怎么学好单片机?
编译出来的CODE比较占空间,一般用于移植性通用型要求高的嵌入式软件领域,或者比较大的单片机项目,或者要求开发速度而对价格不敏感的产品。而汇编刚好相反,对利润薄,成本低,开发难度不大的行业使用,比如
发表于 12-04 07:16
编写简单高效单片机汇编程序
程序自动返回,避免重复书写。
4、巧用单片机的硬件资源
单片机自带一些硬件资源可以帮助简化代码、提升效率。
可以用硬件定时器实现秒脉冲的计数,这样省去大量延时循环。
比如按键去抖
发表于 11-24 07:00
C语言和单片机C语言有什么差异
区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同。
3、单片机c语言编程是基于C语言的单片机编程。单片机的C语言采用C51编译器(简称C
发表于 11-14 07:55
图解单片机功能与应用(完整版)
从基础知识的介绍出发,图文并茂,直观、系统地介绍了单片机的内部结构、工作原理和应用技巧。全书分为10章,内容包括51单片机编程资源图解、51单片机
发表于 06-16 16:52
新概念51单片机C语言教程入门、提高、开发、拓展全攻略
资料介绍
从实际应用入手,以实验过程和实验现象为主导,循序渐进地讲述51单片机C语言编程方法以及51单片机的硬件结构和功能应用。全书共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实
发表于 04-15 13:57

51单片机通用汇编延时子程序,
评论