单片机交流
直播中

h1654155275.5741

7年用户 1012经验值
私信 关注
[问答]

单片机延时程序的延时时间怎么算的

单片机延时程序的延时时间怎么算的?
51单片机延时500ms用机器周期叠加怎么算?

回帖(2)

贾小龙

2021-9-24 18:07:35
如果用循环语句实现的循环,没法计算,但是可以通过软件仿真看到具体时间,但是一般精精确延时是没法用循环语句实现的。
如果想精确延时,一般需要用到定时器,延时时间与晶振有关系,单片机系统一般常选用11.059 2 MHz、12 MHz或6 MHz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1 μs和2 μs,便于精确延时。本程序中假设使用频率为12 MHz的晶振。最长的延时时间可达216=65 536 μs。若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期)。
举报

于姝斐

2021-9-24 18:08:03
DELAY:
MOV R7,#4
D2:MOV R6,#250
D1:MOV R5,#250
DJNZ R5,$
DJNZ R6,D1
DJNZ R7,D2
RET
假设晶振为12MHz
刚延时时间为:
250*250*4*2=500MS
举报

更多回帖

发帖
×
20
完善资料,
赚取积分