📄 exactdly.c
字号:
#include<intrins.h>
#include"inc/define.h"
/**************************************************
* Exact Delay 精确延时函数
*注意: 以下所有延时程序工作于传统8051单片机(指每个时
*钟周期包含12个振荡周期,如AT89C51)12MHz外部晶振下
****************************************************/
void Delay10us() //LCALL: 2us
{
_nop_(); //每个_nop_() 1us;共6us
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
} //RET: 2us
void Delay50us()
{
Delay10us();
Delay10us();
Delay10us();
Delay10us();
_nop_(); //每个_nop_() 1us;共6us
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
void Delay200us() //实际延时为202us,因为函数调用LCALL耗时2us,
{ //最后一个Delay50us()会直接跳回主调函数而非
Delay50us(); //Delay200us(),不存在Delay200()的RET耗时
Delay50us();
Delay50us();
Delay50us();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -