51单片机流水灯程序求助,求C语言程序!!!

1、用独立按键控制流水灯的亮、停、复位
2、每隔一秒顺序点亮8个发光二级管,采用单片机内部定时器实现一秒定时
3、流水灯顺序为先自左往右3次,然后自右往左3次,最后8个发光二级管同时闪烁3次,循环往复!!!
邮箱 1670072738@qq.com

这个- -!看来你是单片机没学好啊。
挺简单的找你同学写一个就行 我给你一个我练习的程序,你自己看看吧。不符合你要求,你参考参考吧。
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>

#define uchar unsigned char
#define uint unsigned int
#define BIT(x) (1 << (x))

uchar num;
void delayms(uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<110;j++);
}

uchar KEY_PRESS()
{
uchar temp;
P3=0XF0;
temp=P3;
temp&=0XF0;
if(temp!=0XF0)
delayms(10);
if(temp!=0XF0)
{
return 1;
}
else
{
return 0;
}
}

uchar KEY_SCAN()
{
uchar key;
delayms(10);
if(KEY_PRESS())
{
key=P3;
key&=0XF0;
switch(key)
{
case 0XE0:
key=1;
break; //注意不能漏 break;
case 0XD0:
key=2;
break;
case 0XB0:
key=3;
break;
case 0X70:
key=4;
break;

default:
key=0;
}
while(KEY_PRESS());
}
else
{
key=5;
}
return key;
}

void LED_control()
{
uchar temp;
temp=KEY_SCAN();
if(temp==1)
{
num=_crol_(num,1); //循环左移
P1=num;
}
if(temp==2)
{
num=_cror_(num,1); //循环右移
P1=num;
}
}

void SYSTEM_INIT()
{
P1=0XF0;
num=P1;
}

void main()
{
SYSTEM_INIT();
while(1)
{
LED_control();
}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-15
想不劳而获的人咋就这么多啊,自简单的东西都不自己写,你真当其他程序员都是免费的劳工啊,自己都不努力,谁愿意帮你?
至少你也得自己动手设计设计,最终程序通不过了真要自己调不出来再发上来求助,到那时,一定会有人愿意为你指点迷津追问

我自己搞定了。。。。。。。。。浪费时间

本回答被网友采纳
第2个回答  2012-11-16
多看书吧!程序还是自己写的好,不懂查书
第3个回答  2012-11-14
学过单片机吗?、这么简单的问题都让人家帮你,怎么学的单片机
点亮LED灯是单片机最简单的,最基本的啊
亲...........追问

初学者啊亲!左右闪神马的好难~不是不会才来请教的嘛!能帮忙不~

相似回答