c语言一个字节控制八个灯,怎么用C语言中的数组控制8个灯中的4个一起亮

#include

unsigned char code a[]={0x7f,0xdf,0xf7,0xfd};

unsigned char code b[]={0xbf,0xef,0xfb,0xfe};

unsigned char code LED[]={a,b};

unsigned char data i=0;

unsigned char data count=0;          //50ms计数器

void system_init();

void main()

{

system_init();                            // 系统初始化

while(1)

{

//空循环,主程序在等待中断的发生。

}

}

void system_init()

{

TMOD=0x01;

TH0=(65536-50000)>>8;         //取高8位的值。

TL0=(65536-50000);                 //编译器自动取低8位的值。

ET0=1;                                      //开定时器0中断。

EA=1;                                       //开总中断

TR0=1;                                     //开定时器0

P1=LED[0];                              //一开始第1个状态就开始执行。

}

void Timer_isr(void) interrupt 1

{

TH0=(65536-50000)>>8;     //取高8位的值。

TL0=(65536-50000);            //编译器自动取低8位的值。

count++;

if(count==10)                  //计满10次,即10×50MS=0.5S

{

count=0;                              //计数器清0,准备下一次计数。

i++;                                     //新的状态

if(i>1) i=0;                           //如果状态编号为2即过界了

P1=LED[i];                           //把新的状态送给P1显示。

}

}

怎么灯不能交替一起亮

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值