NEWS

新闻资讯

首页 >> 技术资讯 >>行业资讯 >> 芯片单片机破解延时方法
详细内容

芯片单片机破解延时方法

时间:2016-12-08     作者:单片机解密【转载】   来自:单片机解密公司   阅读

8051单片机解密软件延时方法

8051单片机解密的几种精确延时实现延时通常有两种方法:一种是硬件延时,要用到定时器/计数器,这种方法可以提高CPU的工作效率,也能做到精确延时;另一种是软件延时,这种方法主要采用循环体进行。

 

  单片机系统一般常选用11.059 2 MHz12 MHz6 MHz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1 μs2 μs,便于精确延时。本程序中假设使用频率为12 MHz的晶振。最长的延时时间可达216=65 536 μs。若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间。

 

在实际应用中,定时常采用中断方式,如进行适当的循环可实现几秒甚至更长时间的延时。使用定时器/计数器延时从程序的执行效率和稳定性两方面考虑都是最佳的方案。但应该注意,C51编写的中断服务程序编译后会自动加上PUSH ACCPUSH PSWPOP PSWPOP ACC语句,执行时占用了4个机器周期;如程序中还有计数值加1语句,则又会占用1个机器周期。这些语句所消耗的时间在计算定时初值时要考虑进去,从初值中减去以达到最小误差的目的。

 

在很多情况下,定时器/计数器经常被用作其他用途,这时候就只能用软件方法延时。下面介绍几种软件延时的方法。将汇编语言与C51结合起来,充分发挥各自的优势,无疑是单片机开发人员的最佳选择。利用示波器来测定延时程序执行时间,方法如下:编写一个实现延时的函数,在该函数的开始置某个I/O口线如P1.0为高电平,在函数的最后清P1.0为低电平。在主程序中循环调用该延时函数,通过示波器测量P1.0引脚上的高电平时间即可确定延时函数的执行时间。


Phone:  132-6677-8242

E-mail:  528621124@qq.com

Adress:  深圳市龙岗区横岗街道

Copyright @ 2009 . All rights reserved.

客服中心
联系方式
132-6677-8242
153-6149-5056
- 技术咨询
扫一扫,微信咨询
seo seo