标题: LED灯中间往两边亮 [打印本页]

作者: 饭饭君    时间: 2016-9-17 15:44
标题: LED灯中间往两边亮
P1.0到P1.7   AT89C52     用keil怎么编程

QQ截图20160917153538.png (16.94 KB, 下载次数: 130)

QQ截图20160917153538.png

作者: 饭饭君    时间: 2016-9-17 15:59
求助啊
作者: wuyibin2003    时间: 2016-9-17 18:33
比如P0口为LED高电平亮 可以直接送数如P0=0X81然后延时P0=0X42依次类推 然后再来个循环
作者: jubaolun    时间: 2016-9-17 21:54
#include<reg52.h>
#define uint unsingned  int
#define uchar unsigned char
void delay_ms(uint  z)
{
     uchar i,j;
     for(i=z;i>0;i--)
         for(j=115;j>0;j--);
}
void main()
{
     while(1)
    {
         P1=0xe7;
        delay_ms(100);
        P1=0xdb;
        delay_ms(100);
        P1=0xbd;
        delay_ms(100);
        P1=0x7e;
        delay_ms(100);
    }
}
作者: 饭饭君    时间: 2016-9-18 11:04
jubaolun 发表于 2016-9-17 21:54
#include
#define uint unsingned  int
#define uchar unsigned char

谢谢   不过编译出来还有小错误
作者: 谢工-工控制作    时间: 2016-9-18 11:22
这个很简单的。低电平时LED会亮。你就把一个字节拆成二进制,每一位代表一个LED,你想让那个亮,就设为0,比如两边两个灯亮 01111110=0X7E  .到下个亮中间加延时就可以做到你要的效果了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1