找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4589|回复: 11
收起左侧

51单片机LED灯分俩组同时点亮。 求帮助

[复制链接]
ID:646051 发表于 2019-11-20 20:29 来自触屏版 | 显示全部楼层 |阅读模式
dalao们好,我刚来,我想问一下51单片机如何做到8个LED灯分左右俩组从中间向俩边(或者从俩边向中间)一起流水亮。
回复

使用道具 举报

ID:646051 发表于 2019-11-20 21:15 来自触屏版 | 显示全部楼层
别沉啊
回复

使用道具 举报

ID:601639 发表于 2019-11-21 08:49 | 显示全部楼层
8个灯用8个引脚,想让哪个亮就把哪个引脚置0,一次可以置0多个引脚。
回复

使用道具 举报

ID:470332 发表于 2019-11-21 09:41 | 显示全部楼层
最简单的办法就是查表法,把每次要亮的弄成一个数组
回复

使用道具 举报

ID:415088 发表于 2019-11-21 09:45 | 显示全部楼层
你试一下用for循环加while(1)来做
回复

使用道具 举报

ID:213173 发表于 2019-11-21 11:01 | 显示全部楼层
  1. #include<reg52.h>

  2. unsigned char table[]={0x7e,0xbd,0xdb,0xe7};

  3. void delay(unsigned int ms)
  4. {
  5.         unsigned int x,y;
  6.         for(x=ms;x>0;x--)
  7.                 for(y=125;y>0;y--);
  8. }
  9. void main()
  10. {
  11.         unsigned char i;
  12.         while(1)
  13.         {
  14.                 for(i=0;i<4;i++)
  15.                 {
  16.                         P1=table[i];
  17.                         delay(500);
  18.                 }
  19.                 for(i=3;i>1;i--)
  20.                 {
  21.                         P1=table[i-1];
  22.                         delay(500);
  23.                 }
  24.         }
  25. }
复制代码
回复

使用道具 举报

ID:488041 发表于 2019-11-21 18:17 | 显示全部楼层
查表法
回复

使用道具 举报

ID:123289 发表于 2019-11-21 22:10 | 显示全部楼层
楼主啊:
把12345678的顺序改为45362718不就行了吗。难就只会12345678的排序吗?
实在不行,就做个呆事:按上面说的次序重排PCB板把第一个与第4个互换……
回复

使用道具 举报

ID:525068 发表于 2019-11-22 00:07 | 显示全部楼层
给八个IO口从两侧向中间两个两个的上电,然后再复位就行了
回复

使用道具 举报

ID:646051 发表于 2019-11-30 20:24 来自触屏版 | 显示全部楼层
那个谁和谁 发表于 2019-11-21 08:49
8个灯用8个引脚,想让哪个亮就把哪个引脚置0,一次可以置0多个引脚。

好的,谢谢啦
回复

使用道具 举报

ID:646051 发表于 2019-11-30 20:36 来自触屏版 | 显示全部楼层
wulin 发表于 2019-11-21 11:01

好的,谢谢啦
回复

使用道具 举报

ID:409867 发表于 2019-12-1 15:28 | 显示全部楼层
采用左右移函数 就能解决了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表