51单片机汇编延时计算详细分析
2013-11-01 23:27
218 查看
晶振频率:12M
(一)原程序:
分析过程:
延时时间为:1+(1+125*2+2)*200+2=50603us
公式:精确延时时间=3+3*r7+2*r7*r6
(二)原程序:
延时时间为:1+[1+(1+248*2+2)*200+2]*10+2=998033us
公式:精确延时时间=1+[1+(1+r5*2+2)*r6+2]*r7+2=3+3*r7+3*r7*r6+2*r7*r6*r5
加上lcall delay的时间,需加 2us,则最终时间就为两条程序执行间隔时间。
(一)原程序:
delay: mov r7,#200 d1: mov r6,#125 d2: djnz r6,d2 djnz r7,d1 ret
分析过程:
delay: mov r7,#200 r7=200 执行需1us d1: mov r6,#125 r6=125 1us d2: djnz r6,d2 r6=124 直到r6=0,共执行125次125*2us djnz r7,d1 r7=199 2us d1: mov r6,#125 r6=125 d2: djnz r6,d2 r6=124 djnz r7,d1 r7=198 * * 共执行200次 * d1: mov r6,#125 r6=125 d2: djnz r6,d2 r6=124 djnz r7,d1 r7=1 d1: mov r6,#125 r6=124 d2: djnz r6,d2 r6=123 djnz r7,d1 r7=0 执行下一条程序 ret 2us
延时时间为:1+(1+125*2+2)*200+2=50603us
公式:精确延时时间=3+3*r7+2*r7*r6
(二)原程序:
delay: mov r7,#10 d1: mov r6,#200 d2: mov r5,#248 d3: djnz r5,d3 djnz r6,d2 djnz r7,d1 ret
延时时间为:1+[1+(1+248*2+2)*200+2]*10+2=998033us
公式:精确延时时间=1+[1+(1+r5*2+2)*r6+2]*r7+2=3+3*r7+3*r7*r6+2*r7*r6*r5
加上lcall delay的时间,需加 2us,则最终时间就为两条程序执行间隔时间。
相关文章推荐
- 51系列单片机延时程序计算的分析(汇编)
- 51单片机汇编延时分析:
- 汇编调用c函数时 堆栈的变化的详细分析
- g723源码详细分析-8-计算冲激响应与振铃减法
- 【51单片机】延时函数计算问题以及如何准确延时
- 【算法分析】QQ“一键退朝”之详细计算方法
- 51单片机延时计算
- 详细分析contrex-A9的汇编代码__switch_to(进程切换)
- 51单片机ucos ii任务切换汇编代码分析(1)
- 51单片机ADD,ADDC与SUBB指令详细分析
- 51单片机的定时器延时计算
- 王爽 汇编语言第二版 实验8 代码详细分析
- 汇编调用c函数时 堆栈的变化的详细分析
- c 语言调用汇编堆栈的详细分析
- 带有导航栏的视图坐标计算与详细分析
- 【Android App】Calculator(二)计算过程详细分析
- 51单片机ucos ii任务切换汇编代码分析(2)
- opencv 行人计算,详细分析(每行解释)---给女朋友看的,初学者T T
- 计算广告学习笔记1.8 广告的基础知识-ROI 分析
- 第五章相应的汇编转换成C的分析【三】