作业帮 > 综合 > 作业

假定80C51的晶振频率为6MHz,下列程序的执行时间为().已知程序前两条指令的机器周期数为1,后四条为2.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/05 12:44:23
假定80C51的晶振频率为6MHz,下列程序的执行时间为().已知程序前两条指令的机器周期数为1,后四条为2.
MOV R3,#15
DL1:MOV R4,#225
DL2:MOV P1,R3
DJNZ R4,DL2
DJNZ R3,DL1
RET
一个时钟周期时间 T = 1/6MHz,一个机器周期是 12 个时钟周期,于是 四条语句的时间(不包括 RETI):t = (t * 12) * (1 + 1 + 2 + 2) = 1/6MHz * 12 * 6 = 12 us
再问: 呃,好像不对啊,没有循环呐
再答: 是要总次数啊,那这样看看,总时间乘一下,加一下就可以了: MOV R3,#15 -> 执行 1 次,一次是一个周期时间 DL1: MOV R4,#225 -> 执行 15次,一次是一个周期时间 DL2: MOV P1,R3 -> 执行 225*15次,一次是两个周期时间 DJNZ R4,DL2 -> 执行 225*15次,一次是两个周期时间 DJNZ R3,DL1 -> 执行 15次,一次是两个周期时间 RET -> 执行 1次,,一次是两个周期时间 最终应该是 27096 us。