永发信息网

51单片机LED流水灯怎么实现从两边同时逐个点亮到中间,又从中间逐个熄灯到两边

答案:2  悬赏:70  手机版
解决时间 2021-11-17 15:39
51单片机LED流水灯怎么实现从两边同时逐个点亮到中间,又从中间逐个熄灯到两边
最佳答案
简单点的,用表格,事先计算好,放到ROM中,用的时候逐行编译输出就可以。
复杂点的,开一个缓冲区,用循环程序,根据花样的不同,每次填充一行,并输出,然后再计算一下行。除非表格太大,不建议这样用。
#define len 8
char tablelist[][len] =
{
"00000000",
"10000001",
"01000010",
"00100100",
"00011000",
}
outline( char * s )
{
int i;
for(i=0; i {
if ( s[i] == '0' )
{
// 对应的灯亮
}
else
{
// 对应的灯灭
}
}
}
main()
{
for(;;)
{
outline( &tablelist[i]);
delay(..);
}
}
全部回答
如果只用一个端口的话,你可以建一个表,如果LED是高电平点亮的话,里面存放数据0x81,0x42,0x24,0x18
如果LED是低电平点亮的话,里面存放数据
0x7e,0xbd,0xdb,0xe7
然后在循环里一直按照数组下标0到3递增3到0递减将数组里面的数赋给端口即可。
即一个大循环里面再加两个小循环即可,具体多少次可以在外面大循环设置。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
格力有没有厨房专用空调?
“想念的是你的微笑”是哪首歌里面的歌词
美的净水器mr0208一4和mr02o8a一4它俩区别
在南宁读大学的学生可以办南宁单车卡么?不是
我的妈妈 作文1000字
关于车载CMMB电视信号如何增强?
怎么画型芯,已经有零件图了,具体点。
碾坨值钱吗 我们农村有旧时的磨盘 等等 几
铅球并不是完全的铅,实际上它是铁壳里灌满铅
除了雅鲁藏布大峡谷还有什么大峡谷?
火车站到衡州监狱怎么走
凉面是把面条煮熟再用冷水泡凉的吗?
御井泉茶坊地址在哪,我要去那里办事,
3Dmax2016安装完成后打不开,显示应用程序错
支付宝街电退押金怎么退
推荐资讯
你对家庭烹饪基础与技能这门课最想学到的是什
怎样用ps把一杯黄色的水变成白开水
音悦琴行艺术培训中心(盐城亭湖)地址在哪,我
众生游戏有iOS有么
用素不相识造句
闲鱼里说的插眼是什么意思?
鹦鹉 手养是什么意思
难忘的一件事.老师帮助鼓励我.500
映桐珪累白 ,打一个动物,急急急
爸妈不愿意住在城市一心想要回到农村老家,怎
芈月传的子歇是谁演的
我想让我的女友天天虐待我,她会怎样虐待我
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?