📄 delay.c
字号:
/*
下面给出一个能精确控制延时的函数,此函数的汇编代码是最简洁、最能精确控制指令时间的:
void delay(char x,char y){
char z;
do{
z=y;
do{;}while(--z);
}while(--x);
}
其指令时间为:7+(3*(Y-1)+7)*(X-1)
如果再加上函数调用的call指令、页面设定、传递参数花掉的7个指令。
则是:14+(3*(Y-1)+7)*(X-1)
在us级,误差在7-8个us
*/
#include <pic.h>
void delay(char x,char y){
char z;
do{
z=y;
do{;}while(--z);
}while(--x);
}
main()
{
TRISD2=0;
RD2=0;
while(1)
{
delay(2,2) ;
RD2=!RD2;
} //系统开始输出PWM波形。如果系统是
//多任务的,则可以在此执行其它任务,而
//不会影响PWM波形的产生
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -