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

2024-11-02 20:24:07
推荐回答(4个)
回答1:

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

#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 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();
}

}

回答2:

想不劳而获的人咋就这么多啊,自简单的东西都不自己写,你真当其他程序员都是免费的劳工啊,自己都不努力,谁愿意帮你?
至少你也得自己动手设计设计,最终程序通不过了真要自己调不出来再发上来求助,到那时,一定会有人愿意为你指点迷津

回答3:

多看书吧!程序还是自己写的好,不懂查书

回答4:

学过单片机吗?、这么简单的问题都让人家帮你,怎么学的单片机
点亮LED灯是单片机最简单的,最基本的啊
亲...........