flag是程序员自己起的变量名,一般情况下将其看作为标志位.我们通常将它视为uchar型变量,将flag赋值时,有flag=!1(flag不等于1)和flag=1;它的作用主要是让单片机的一项功能实现不同的操作,不同的操作通常时间先后顺序不等,不同的操作即通过设置flag=!1(flag不等于1)和flag=1予以区别开来.举个例子:我们要在定时器T0中先后实现1秒和2秒的不同定时,在C语言中,我们定义好的flag变量默认为是0,我们假设先实现1秒的定时,在中断程序中,我们先写if(flag!=1){.}后面再写else {.}.在不同的语句中就可以实现一个定时器T0为两个不同的中断服务.
具体程序如下:
void dt0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t0++;
if(flag!=1)
{
if(t0==10) //流水灯程序
{
t0=0;
temp=_crol_(temp,1);
P1=temp;
}
}
else //当flag等于1时执行下面的语句
{
if(t0%4==0)
P1=~P1;//对流水灯的电位取反
if(t0==60)//如果三秒钟时间到
{
TR0=0;
P1=0;
flag1=1;
}
}
}
单片机中定义flag有啥作用flag=1和flag=0都是什么意思
单片机中定义flag有啥作用flag=1和flag=0都是什么意思
void bubble_sort(int array[],int n)
{ int i,j,flag,temp;
for(i = 0; i < n-1; i++)
{
flag = 1;
for(j = 0; j < n-i-1; j++)
{
if(array[j] > array[j+1])
{
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
flag = 0; } }
if(flag == 1) break;
printf("%d ",i); } return; }
void bubble_sort(int array[],int n)
{ int i,j,flag,temp;
for(i = 0; i < n-1; i++)
{
flag = 1;
for(j = 0; j < n-i-1; j++)
{
if(array[j] > array[j+1])
{
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
flag = 0; } }
if(flag == 1) break;
printf("%d ",i); } return; }
其他人气:842 ℃时间:2019-09-29 00:07:22
优质解答
我来回答
类似推荐
猜你喜欢
- 1描述物体运动状态的物理量:物体的( )
- 2求一篇2分钟左右的英语演讲稿
- 3My bag isn't the same as yours.【改为同义句】 My bag is ------ ------yours
- 4因为72÷9=8,说以72是倍数,9是因数对还是错
- 5—个圆的周长是15.7dm,它的半径是( )dm,直径是( )dm
- 6with,would ,like to us swimming go you(连成句子)
- 7儿子7岁时,爸爸31岁,今年爸爸的年龄正好是儿子的3倍,今年儿子几岁?
- 8苏教版语文1到6年级12册课本上所有古诗(分类)
- 9溴水先通入氯气,将反应后溶液再通入淀粉I-K溶液.有什么现象(溶液什么颜色)
- 10已知函数y=kx+m的图象与开口向下的抛物线y=ax平方+bx+c相交与A(0,1)B(-1,0)两点.