可预置的8位计数器程序的主要部分分析
for(i=0;i8;i++) //循环8次
{if(pre_cnt>9)pre_cnt=0;} //对数组中的8个单元进行调整,其范围为0~9
}
/*************************************************************/
void dis_cnter(void) //显示计数器值子程序开始
{uchar i; //定义字符型局部变量i
P3_7=1;P3_6=1; //消隐有效,允许显示
for(i=0;i8;i++) //循环8次
{SBUF=SEG7[cnt];while(!TI);TI=0;} //根据8个单元的计数值查表发送显示
P3_7=0; //关闭消隐,正常显示
/****************************************************************/
void cnter(void) //计数转换子程序开始
{uchar i; //定义字符型局部变量i
for(i=0;i7;i++) //循环8次
{if(cnt>9){cnt=0;cnt[i+1]++;}}//若计数器某位值大于9,则该位回0,
//而高位被进位加1
//------------------------------------
if(cnt[7]>9){for(i=0;i8;i++)cnt=0;}// 若计数器最高位值大于9,则计数器全清0
} //计数转换子程序结束
尘埃粒子计数器相关文章:尘埃粒子计数器原理
评论