找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2006|回复: 0
打印 上一主题 下一主题
收起左侧

51单片机初学福利,多种汇编语言实验

[复制链接]
跳转到指定楼层
楼主
延时程序的设计方法
作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢?下面具体介绍其原理:
如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒
机器周期 微秒
MOV R6,#20 2个机器周期  2
D1: MOV R7,#248 2个机器周期  2       2+2×248=498 20×
DJNZ R7,$ 2个机器周期  2×248             498
DJNZ R6,D1 2个机器周期   2×20=40         10002
因此,上面的延时程序时间为10.002ms。
由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时,延时10ms,以此为基本的计时单位。如本实验要求0.2秒=200ms,10ms×R5=200ms,则R5=20,延时子程序如下:
DELAY: MOV R5,#20
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET

K89YT5`{G(AQ32IR6MV8OMK.png (89.19 KB, 下载次数: 54)

K89YT5`{G(AQ32IR6MV8OMK.png

给初学单片机的40个实验.doc

1.98 MB, 下载次数: 15, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表