单片机
返回首页

STC12延时函数的探究

2015-02-09 来源:51hei

这种写法是C中嵌套了汇编。精确延时时间=2*t*T+5*T,T为一个机器周期。对于8051,



如果t=1,那么这个函数执行应该是7us。如果是STC12,那么这个延时函数的延时应该是:若t=1,精确延时=2*1*1/12+5*1/12=(7/12)us啊。
昨天也查了STC12手册 手册上对时钟写的很笼统,其中一句话是:与8051指令执行时间对比,一共有12个指令,一个时钟就可以执行完成,工作在相同频率下运行速度提高8~12倍
难道这里应该是(7/8)us?而不是(7/12)us?
这个是uint型函数时间是近似的
那么可以用延时时间=8*t*T
应该是8*1*(1/12)=8/12
根据程序分析猜想t=1时这个延时函数应该为1us最为合理。
用示波器测试过 执行一个delay(5000)大约5.8ms。51执行一个delay(5000)大约40064us
嗯,用示波器测得那个IO口的频率变化为85.47HZ,那么一个delay(5000)就是(1/85.47)/2*1000=5850us
这里的t设的uint型,有误差,加上 LED=1;LED=0;执行也会消耗时间 结果存在误差 。
最后总结得出这条延时语句在51上执行一次大约花7us,在12上花1us。示波器测试通过!和我计算符合。

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 简洁的过零调功器电路设计与分析

  • 单稳态控制电路设计与分析

  • 永不缺相启动运行的电动机控制电路

  • 运算放大器IC741的基本工作原理及在电路中的实现方式

  • 一个简单的红外耳机电路

  • 基于CA3193的热电偶放大器电路

    相关电子头条文章