c语言 while语句 练习,单片机C语言while语句练习程序

#include//包含单片机对应的头文件

#define uchar unsigned char//宏定义

sbit LED = P0^0;

sbit ENLED = P1^4;

sbit ADDR0 = P1^0;

sbit ADDR1 = P1^1;

sbit ADDR2 = P1^2;

sbit ADDR3 = P1^3;

void delay_ms(unsigned int time)//延时函数

{

unsigned int i,j; //声明 i,j 为整型变量

for(i=time;i>0;i--) //将变量 time 赋予 i,当 i 大于 0 的条件成立,执行循环体,i 自减 1

for(j=112;j>0;j--) //将变量 112 赋予 j,当 j 大于 0 的条件成立,执行循环体,j 自减 1

{;} //空等待,直到以上的循环条件结束,从而实现延时。

}

void main(void)

{        ENLED = 0;

ADDR0 = 0; ADDR1 = 1; ADDR2 = 1; ADDR3 = 1;

uchar i,j; //声明 i,j 为字符型变量

uchar move_1,move_2; //声明 move_1, move_2 为字符型变量

while(1) //死循环,永远不会退出循环体

{

i=0; //i 赋予 0

while(i<2) //假如 i 小于 2 执行循环体语句

{

P1=0x7e;delay_ms(200);//点亮 LED0。LED7

P1=0xbd;delay_ms(200);//点亮 LED1。LED6

P1=0xdb;delay_ms(200);//点亮 LED2。LED5

P1=0xe7;delay_ms(200);//点亮 LED3。LED4

i++; //i 自加 1, 为退出循环体制造条件

}

i=0; //i 赋予 0

while(i<2) //假如 i 小于 2 执行循环体语句

{

P1=0xe7;delay_ms(200);//点亮 LED3。LED4

P1=0xdb;delay_ms(200);//点亮 LED2。LED5

P1=0xbd;delay_ms(200);//点亮 LED1。LED6

P1=0x7e;delay_ms(200);//点亮 LED0。LED7

i++; //i 自加 1, 为退出循环体制造条件

}

move_1=0x7f; //move_1 赋值 0x7f

i=0; //i 赋予 0

while(i<8) //假如 i 小于 8 执行循环体语句

{

P1=move_1; //move_1 赋于 P1 端口

move_1=(move_1>>1)|0x80;//move_1 右移一位,然后与 0x80 相或,高位总保特1

delay_ms(300); //延时 300ms

move_2=0xfe; //move_2 赋值 0xfe

j=0; //j 赋予 0

while(j<8) //假如 j 小于 8 执行循环体语句

{

P1=move_2; //move_2 赋于 P1 端口

move_2=(move_2<<1)|0x01;//move_2 左移一位,然后与 0x01 相或,低位总1

delay_ms(100); //延时 300ms

j++; //j 自加 1, 为退出循环体制造条件

}

i++; //i 自加 1, 为退出循环体制造条件

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值