晶振延时的计算公式:
void delay500ms(void )
{
unsigned char i,j,k;
for(i=15;i>0;i--)
for(j=202;j>0;j--)
for(k=81;k>0;k--);
}
本延时函数以晶振12MHZ为准,DJNZ为汇编程序的一个减一不为零操作,一次大概2us,函数有三层循环,首先是最内层循环由内向外分层计算,最内层的结果用于外层计算的初值的一部分。
一层循环:n=R5×DJNZ=81×2=162us;
二层循环:m=R6×(DJNZ+n)=202×(n+3)=33330us;DJNZ=2us+1us
三层循环:L=R7×(m+3)=15×33333;
页面更新:2024-04-01
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号