求你89C52单片机流水灯移动的程序

先一个盏从左往右移,再二盏从左往右移,再三盏从左往右移,这样循环到四、五、六盏,直到全亮闪烁,最后又从第一盏从左往右移,一直循环。求程序,谢谢。

第1个回答  2012-10-21
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int

uchar num,m,led,a;
delay(uint ms)
{
uint i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}

uchar code table[]={
0xfe,0xfc,0xf8,0xf0,
0xe0,0xc0,0x80,0x00};

void main()
{
m=8;
num=0;
while(1)
{
led=table[num];
for(a=m;a>0;a--)
{
P1=led;
delay(500);
led=_crol_(led,1);
delay(500);

}
m--;
num++;
if(num==8)
num=0;
if(m==0)
m=8;
}

}
不知道你要的是不是这个效果本回答被提问者采纳

求89C52单片机控制32个LED流水灯的C语言程序
include<reg51.h> define uchar unsigned char uchar led1,led2,led3,led4;void delay(uchar a){ uchar i,j;for(i=0;i<a;i++)for(j=0;j<120;j++);} main(){ uchar num;unsigned long int led;P0=0xff;P0=0xff;P0=0xff;P0=0xff;delay(200);while(1){ led=0x00000001;n...

求一89c52单片机c语言程序,流水灯+数码管 共同作用
include<reg52.h> define uint unsigned int define uchar unsigned char define LED P3 uchar code TAB[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsigned char a,i;unsigned long int temp;void init();void display();void delay(unsigned char );void main(){ init...

求大神一个关于89c52单片机用S0键来启动和停止流水灯的程序,在这里先感...
if(Start_flag)\/\/如果启动流水灯 { DispFlashLED();\/\/流水灯 } else {

求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 un...

求一个89c52单片机的呼吸灯程序 要边呼吸边移动的 就是相当于呼吸灯流水...
;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的流水灯程序,不能调整时间这是为什么请高...
延时太夸张了。还有那个void delay(uchar z) 是uchar那不能超过256.你还用到50000.

单片机流水灯程序
include <reg51.h> include<intrins.h> define uchar unsigned 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(...

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

89c52rc单片机不能写程序和运行
你好!根据你提供的焊接好的洞洞电路板看,你根本就没有焊接RS232的电路部分;而下载软件是需要串口通讯的,所以你硬件电路不完整,软件根本不能下载 给你一个串口部分,你添加到单片机最小系统里面吧

相似回答