求助!! 单片机试设计驱动4个LED数码管跟随8个LED流水灯运行,依次动态显示"1234"“2345”“3456”...... 5
试设计驱动4个LED数码管跟随8个LED流水灯运行,依次动态显示"1234"“2345”“3456”“4567”“5678”“789a”“89ab“的系统#include...
试设计驱动4个LED数码管跟随8个LED流水灯运行,依次动态显示"1234"“2345”“3456”“4567”“5678”“789a”“89ab“的系统
#include"at89x51.h"
unsigned char code smg_light[]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83};
unsigned char code led_light[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
sbit smg_q=P1^0;
sbit smg_b=P1^1;
sbit smg_s=P1^2;
sbit smg_g=P1^3;
void delay()
{
unsigned char a,b;
for(b=225;b>0;b--)
for(a=225;a>0;a--);
}
void main()
{
unsigned char i=0;
while(1)
{
P2=led_light[i];
smg_q=0;
P0=smg_light[i];
delay();
smg_q=0xff;
smg_q=1;
smg_b=0;
i=i+1;
P0=smg_light[i];
delay();
smg_b=0xff;
smg_b=1;
smg_s=0;
i=i+2;
P0=smg_light[i];
delay();
smg_s=0xff;
smg_s=1;
smg_g=0;
i=i+3;
P0=smg_light[i];
delay();
smg_g=0xff;
smg_g=1;
i++;
if(i==11)i=0;
}
}
我写的 但是不对 ....郁闷!!! 展开
#include"at89x51.h"
unsigned char code smg_light[]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83};
unsigned char code led_light[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
sbit smg_q=P1^0;
sbit smg_b=P1^1;
sbit smg_s=P1^2;
sbit smg_g=P1^3;
void delay()
{
unsigned char a,b;
for(b=225;b>0;b--)
for(a=225;a>0;a--);
}
void main()
{
unsigned char i=0;
while(1)
{
P2=led_light[i];
smg_q=0;
P0=smg_light[i];
delay();
smg_q=0xff;
smg_q=1;
smg_b=0;
i=i+1;
P0=smg_light[i];
delay();
smg_b=0xff;
smg_b=1;
smg_s=0;
i=i+2;
P0=smg_light[i];
delay();
smg_s=0xff;
smg_s=1;
smg_g=0;
i=i+3;
P0=smg_light[i];
delay();
smg_g=0xff;
smg_g=1;
i++;
if(i==11)i=0;
}
}
我写的 但是不对 ....郁闷!!! 展开
展开全部
你还是理解一下LED 显示的原理,这个程序也太简单了
追问
嗯 我理解了 但是数码管和LED结合就不知道了 我的程序是严重不对啊?!
追答
确实错的有点多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能详细说明一下吗?没看明白!smg_q=0xff;smg_s=0xff;smg_g=0xff;smg_b=0xff;是位变量不能这样符值
追问
嗯 这个我明白 是打错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询