单片机原理及应用(第四章)小结
1. C语言中 while 和 do while 的不同点是什么?
- while 满足条件才会循环
- do while 先运行一次再判断条件
2. 若在C语言中的 switch 操作漏掉 break,会发生什么?
会接着执行下一个case无论下一个case满足不满足条件,直至switch结束或遇到break
3. 编写程序用 for 循环实现1-20连加的和,并送P1口上的8位LED显示。
# include<reg51.h>
void delay(void)
{
unsigned int i;
for(i=0;i<30000;i++)
;
}
int main(void)
{
unsigned char i;
while(1)
{
P0 = 0xff;
for(i=1;i<=20;i++)
{
P0 = P0 + i;
delay();
}
}
}
4. 编写程序实现判断两个一位数x和y的大小,大数送P1口8位LED显示,小数送P0口8位LED显示。
# include<reg51.h>
void delay(void)
{
unsigned int i;
for(i=0;i<30000;i++)
;
}
int main(void)
{
unsigned char x = 2,y = 5;
while(1)
{
if(x > y)
{
P0 = y;
P1 = x;
}else
{
P0 = x;
P1 = y;
}
}
}
5. 采用移位运算编程实现P1口上8位LED从高位到低位方向的跑马灯显示。
# include<reg51.h>
void delay(void)
{
unsigned int i;
for(i=0;i<30000;i++)
;
}
int main(void)
{
unsigned char i;
while(1)
{
P0 = 0xff;
for(i=0;i<8;i++)
{
P0 = P0 >> 1;
delay();
}
}
}