C语言编写51单片机程序:键控流水灯

使用C语言编写程序,51单片机通过四个开关(c10~c13)控制LED灯(8颗)的左移右移。


要求:


开关c10控制一颗LED灯向左移;

开关c11控制一颗LED灯向右移;

开关c12控制三颗LED灯同时向左移;

开关c13控制三颗LED灯同时向右移。


是循环移动,时间要求好像是 200ms。


题目链接:http://zhidao.baidu.com/question/680122406274752172.html


这不就太简单了!


如下即可:


#include<reg51.h>

#include<intrins.h>

main()

{

    unsigned char  i, j, M = 0, led1 = 0xfe, led3 = 0xf8;

    while(1) {

      if (M == 0) {P0 = led1; led1 = _cror_(led1, 1);}   //P0外接LED

      if (M == 1) {P0 = led1; led1 = _crol_(led1, 1);}

      if (M == 2) {P0 = led3; led3 = _cror_(led3, 1);}

      if (M == 3) {P0 = led3; led3 = _crol_(led3, 1);}

      for(i = 0; i < 255; i++)  for(j = 0; j < 200; j++);//延时约200ms

      if(P1 == 0xfe) M = 0;

      if(P1 == 0xfd) M = 1;    //P1.0~P1.3,外接四个按键或开关

      if(P1 == 0xfb) M = 2;

      if(P1 == 0xf7) M = 3;

    }

}


提问者评价:谢谢!


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值