c51单片机c语言程序

哪位大虾帮忙写一个51流水灯程序,我想做一个丘比特,苦于一直写不出来。、要求P1,P3一组。P0,P2另一组。两组同时并独立流动,我想要两组当中1---8个I/O口哪个亮就哪个亮,亮多久可以自己定比如我要P1P3一组作心型LED,P0P2一组作外圈装饰。这两组都独立工作。P1P3,16个I/O口同时亮时现一个心型,单个I/O口亮时像流水灯、、P0P2口作外围装饰,像流水灯、哪位大虾帮帮写一下这个程序,小弟感激不尽!!

第1个回答  2013-12-09
用C51是多么简单的事情啊。你的每个灯的顺序不说。不好写。思路这样的:sbit led1=P1^0;~~~把所有的灯都定一下。void delay(int ms){int x,y;for(x=ms;x>0;x--)for(y=110;y>0;y--);}一个Nms的延迟,要求是12M的晶振。void main(){while(1){led1=0;delay(1000);led1=1;里面随便写了。}}
第2个回答  2013-12-09
#include<reg51.h>
void delay(unsigned int i);
unsigned char dis[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f);unsigned char code[]={0xef,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7);void main(void)
{
unsigned char i,j;
while(1)
{
for(i=0;i<8;i--)for(j=0;j<8;j--)
}P0=dis[i]; P2=dis[i]; P1=dis[j]; P3=dis[j];
delay(10);
}
}
}void delay(unsigned int i)
{
unsigned int j;
for(;i!=0;i--)
for(j=3000;j>0;j--);
}这个可以实现P0P2,P1P3口 单个I/0口的具体意思不是很明白!本回答被网友采纳
相似回答