求你89C52单片机流水灯移动的程序 第一次一个LED左移8次,第二次二个LED

求你89C52单片机流水灯移动的程序
第一次一个LED左移8次,第二次二个LED右移8次,第三次三个LED左移8次,以此类推....第八次LED闪烁8次。求程序,谢谢。

#include<reg52.h>
#include<intrins.h>
typedef unsigned int u16;
typedef unsigned char u8;

sbit led=P2;//这里填你LED连接的端口(引脚),不一定是P2,也有可能是P3、P0

void delay(u16 i)
{
while(i--);
}

void shan1()
{
u8 i;
led=0x01;//我默认led输入高电平1是亮,具体按照你实际情况,低电平亮就0xfe;
for(i=0;i<7;i++)//已经点亮一个了,所以剩7个。
{
led=_crol_(led,1);//左移1位
}
led=0x00;
}

void shan2()
{
u8 i;
led=0xc0;//我默认led输入高电平1是亮,具体按照你实际情况
for(i=0;i<6;i++)已经点亮两个个了,所以剩6个。
{
led=_cror_(led,1);//右移一位
delay(1000);
}
led=0x00;
}
void shan2()
{
u8 i;
led=0xc0;//我默认led输入高电平1是亮,具体按照你实际情况
for(i=0;i<6;i++)
{
led=_cror_(led,1);
delay(1000);
}
led=0x00;
}

void main()
{
while(1)
{
shan1();
delay(1000);
shan2();
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-01-06
2

求89c52 8位双向流水灯程序,各种花样显示,急急急!
按键S2、S3为LED灯闪动花样选择键(S2、S3选择顺序相反,可循环),S4、S5为闪动速度选择键(按S4加速、S5减速),启动后默认按花样 1(单个灯从左到右循环)闪动。闪动间隔有50、100、200、400、800ms可选。---*\/ include <REGX52.H> include <intrins.h> include <stdlib.h> define uchar uns...

求89C52单片机控制32个LED流水灯的C语言程序
unsigned long int led;P0=0xff;P0=0xff;P0=0xff;P0=0xff;delay(200);while(1){ led=0x00000001;num=0;while(num<32){ led1=(led<<num)>>24;led2=(led<<num)>>16;led3=(led<<num)>>8;led4=led<<num;P0=led1;P1=led2;P2=led3;P3=led4;delay(200);num++;} for(num=...

求一89c52单片机c语言程序,流水灯+数码管 共同作用
init();while(1){ LED=0xfe;\/\/给一盏灯亮 for(i=0;i<8;i++){ delay(100);LED=(LED<<1);\/\/循环左移实现流水灯功能 } display();} } void init(){ temp=0;TMOD=0x01;TH0=(65536-50000)\/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;} void timer0() interrupt 1 { ...

89C52 流水灯
首先你得会写按键的检测程序,将按键的检测程序和流水灯结合起来就是了。至于第三、四个按键,写作方式和传统的按键检测不一样,做到长按要么用定时器(个人感觉太浪费资源),要么用延时,检测一个松手和是否一直按下的状态!然后把led灯程序融合到一起就行了。

求一个89c52单片机的呼吸灯程序 要边呼吸边移动的 就是相当于呼吸灯流水...
while(1){ for(ledn=0;ledn<8;ledn++){ off_on(ledn);on_off(ledn);} } } 这个程序我简单测试了一下,效果还好,不知道这个效果是不是您想要的?说明一下啊,我这个程序是高电平点的灯,就是P0口在输出高电平的时候灯才会亮,如果调试程序的时候看见各个灯的亮暗顺序反了的话,仅仅...

用89C52单片机控制IO口接16个LED流水灯的C语言程序
include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intvoid delay(uint a){uchar i;whlie(a--)for(i=0;i<120;i++);}main(){uint led=0xfffe;while(1) { P0=led; P2=led>>8; led=_irol_(led,1); delay(200); }} ...

求大神一个关于89c52单片机用S0键来启动和停止流水灯的程序,在这里先感...
\/\/键控流水灯 include "REG52.H"define DataGPIO P1\/\/显示端口 define FLOWTIME 100\/\/修改此值,改变流水速度 sbit KEY = P2^0;\/\/按键 bit Start_flag =0;\/\/流水灯控制 bit Flow_flag =0;\/\/流水 unsigned char Cnt =0;\/\/流水灯计数器 unsigned char KEY_Cnt=0;\/\/按键识别计数...

单片机流水灯程序
char uchar j,temp;void delay(unsigned int ms){ uchar t;while(ms--)for(t=0;t<123;t++);} void main(){ P1=0xff;delay(500);temp=0xfe; \/\/有点怪,led接在P2.3~P2.6 for(j=0;j<4;j++){ P1=temp;delay(500);temp=_crol_(temp,1);} P1=0xff;while(1);} ...

我是一个新手,我仿真一个89c52的流水灯程序,不能调整时间这是为什么请高...
延时太夸张了。还有那个void delay(uchar z) 是uchar那不能超过256.你还用到50000.

郭天祥单片机开发板能用到什么程度
1、89C52单片机,支持USB口或者是串口两种下载程序方式,也就是你不用买单片机烧写器也能够随时烧写程序到你的片子里查看您编写的程序状况。2、6位数码管(做动态扫描及静态显示实验)。3、8位LED发光二极管(做流水灯实验)。4、MAX232芯片RS232通讯接口(可以做为与计算机通迅的接口同时也可做为STC...

相似回答