MCS-51单片机 编程中 延时程序DELAY怎么计算??

[复制链接]
查看11 | 回复3 | 2011-3-9 20:30:52 | 显示全部楼层 |阅读模式
DELAY:
MOVR5,#5
DELAY1:
MOVR6,#200
DELAY2:
MOVR7,#250
DJNZ R7,$
DJNZ R6,DELAY2
DJNZ R5,DELAY1
RET
此频率为多少?若要改成频率为1的话怎么修改?

回复

使用道具 举报

千问 | 2011-3-9 20:30:52 | 显示全部楼层
一次DJNZ是两个机器周期,一个MOV是1个机器周期,然后你自己算一下总共多少个机器周期就可以了。对于一般的51芯片,12个时钟周期等于1个机器周期,也就是说,对于12M的晶振,1个机器周期就是1微妙。但有些芯片是6个时钟周期等于1个机器周期,甚至1个时钟周期等于1个机器周期,这点你要在选择硬件的时候注意。
回复

使用道具 举报

千问 | 2011-3-9 20:30:52 | 显示全部楼层
DJNZ 这个执行一次是2个机器周期。比如如果你的晶振是12M的话执行DJNZ就是2us啦,你看看执行了多少次嘛,就这计算的。这东西最好自己算算。很容易的
回复

使用道具 举报

千问 | 2011-3-9 20:30:52 | 显示全部楼层
0EH,(TL0)=D8H
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行