8个灯的led跑马灯要控制灯同时从中间向两边跑的代码是什么?
发布网友
发布时间:2022-04-26 08:55
我来回答
共1个回答
热心网友
时间:2022-06-26 04:37
跑马灯说白了就是让灯按照一定顺序亮起来,你可以采用最笨的方法,从中间往两边跑,假设0代表低点平,1代表高电平,那么就得出以下几个状态,
0b11111111
0b11100111
0b11011011
0b10111101
0b01111110
看0是不是从中间往两边跑
当然你也可以用算法实现,你可以将这个八位的数据看做两个4位的,然后将高四位左移,低四位右移
写个大概程序为:
unsigned char a ,b,c,,i;
for(i=0;i<5;i++)//总共移动5次
{
a=(~(1<<i))&0x0f;//将1左移i位后取反与a相与,得出结果为高四位
b=(~(0x80>>i))&0x0f;//将1右移i位后取反与a相与,得出结果为低四位
c=a<<4+b;// 复原8位值
}
我没有具体编译执行你可以编译执行验证下算法。
希望能帮到你