c语言中流水灯8个灯(D1-D8).要求灯是这样亮1:先奇数灯亮(D1/D3/D5/D7) 2:偶数

c语言中流水灯8个灯(D1-D8).要求灯是这样亮1:先奇数灯亮(D1/D3/D5/D7) 2:偶数灯亮(D2/D4/D6/D8) 3:最后全灭 请问怎么编写代码?(1和2可不答,但3一定要答!!!不会的别抢答)

#include <stdio.h>
/*
8bit, 0-灭,1-亮
*/
int main()
{
 int num;
 unsigned char ch, ah, bh;
 num = 0;  //设定灯的初始状态为灭-0
 ch = num/256; //取出num的0-7位
 ah = num|85; //85的二进制数0-7位是0101 0101,这样ah的位数控制D1,D3,D5,D7亮
 
 bh = num|170; //170的二进制数0-7位是1010 1010, 这样bh的位数控制D2,D4,D6,D8亮
 printf("%d, %d, %d\n", ch, ah, bh);
 return 0;
}

这样不知道是不是楼主要的?我也是突然想起这样去实现下试试的

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-19
这个很简单。你分别把d1-d8接到p0口然后p0=01010101 再延时 p0=10101010 最后延时p0=11111111本回答被网友采纳
第2个回答  2023-01-03
要求“按一下”k1d1-d8依次亮起(d1亮其他的灯就不亮,d2亮d1和d3-d8都不亮)“按
第3个回答  2018-07-18
利用数组做就可以
相似回答