怎样在51单片机变写一个让很多各LED灯闪烁的程序?

LED摆成2014的样子,让2先亮,再0亮,(0亮后2灭)接着是1亮(2和0灭),最后是4亮(2和0和1灭),连续不断。求求你们了,给我答案。我要完成作业。求求你们了。

第1个回答  2014-10-14
void delay_ms(int ms)
{
int a=1000;
int b=1000;

int a=a*ms;
while(a--)
while(b--);
}

void main()
{
while(1)
{
p2=0;

p2.0 = 1; // 2
delay_ms(1000);
p2.0 = 0;

p2.1 = 1; // 0
delay_ms(1000);
p2.1 = 0;

p2.2 = 1; // 1
delay_ms(1000);
p2.2 = 0;

p2.3 = 1; // 4
delay_ms(1000);
p2.3 = 0;

}

}追问

能用isis给我画一张原理图吗?谢谢你了真的

追答

本回答被提问者采纳
第2个回答  2014-10-14
用单片机P1.0控制2;
用单片机P1.1控制0;
用单片机P1.2控制1;
用单片机P1.3控制4;

#include "REG52.H"

int main(void)
{
unsigned long i;

while(1)

{
i = 100000;

P1 = 0XFE; //2 亮
while(i > 0)i--;
//
i = 100000;

P1 = 0XFC; //0 亮
while(i > 0)i--;
//
i = 100000;

P1 = 0XFB; //1 亮 2和0灭
while(i > 0)i--;
//

i = 100000;

P1 = 0XF7; //4 亮 2和0和1灭
while(i > 0)i--;
}

}追问

能用isis给我画一张原理图吗?谢谢你了真的

追答

我没有那个仿真软件,你还自己画把,我程序都给你写好了!

追问

在一起闪几下,怎么加编程

相似回答