51单片机设计流水灯程序,用C语言

间隔300ms,先一个灯流动一次,接着两个灯流动一次,一直到8个灯流动,

第1个回答  推荐于2018-01-05
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
void delay(void)
{
uchar i,j;
for(i=0;i<150;i++)
for(j=0;j<240;j++);
}
main()
{
uchar led,i,j;
while(1)
    {
    for(i=0;i<8;i++)
        {
        led=0xfe<<i;
        for(j=0;j<8-i;j++)
            {
            P0=led;
            led=_crol_(led,1);
            delay();
            }
        }
    }
}

本回答被网友采纳
第2个回答  2012-10-30
我这是TX-1C的实验板。P1口接8个LED灯管。这是用延时程序编写的。晶振是11.0592HZ但是时间300MS是有偏差的。如果要更精确最好是用定时器中断完成。祝你学业成功。其实我也是自学的。非常辛苦。坚持下来就行了。先慢慢从流水灯开始。其实单片机很有意思。加油!
#define uint unsigned int
#define uchar unsigned char
void delayms(uint);
void main()
{
uchar a,i,j;
while(1)
{
a=0xfe;
for(j=0;j<8;j++)
{
for(i=0;i<8-j;i++)
{
P1=a;
delayms(300);
a=_crol_(a,1);
}
a=_crol_(a,j);
P1=0xff;
a=a<<1;
}
}
}
void delayms(uint xms)
{
uint x,y;
for(x=xms;x>0;x--)
for(y=110;y>0;y--);
}
第3个回答  2012-10-18
1、用定时器中断完成
2、至于灯的流动,在逻辑上设计一下即可
3、更多交流参考我空间主页有关文章本回答被网友采纳
第4个回答  2012-10-18
这是单片机最基础的的入门程序,还是自己写吧。可以参考别人的再转换成自己的,我就是这样学单片机的。
第5个回答  2012-10-18
这个没图不好说

单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)
define uint unsigned int \/\/定义无符号整数 void delay(uint); \/\/声明延时函数 void main(void){ uint i;uchar temp;while(1){ temp=0x01;for(i=0;i<8;i++) \/\/8个流水灯逐个闪动 { P1=~temp;delay(100); \/\/调用延时函数 temp<<=1;} temp=0x80;for(i=0;i<8;i++) \/\/8个...

51单片机流水灯用C语言编写的设计程序???
include<reg52.h> include<intrins.h> define uchar unsigned char define uint unsigned int void delay(uint z);main(){ uchar aa;while(1){ aa=0xfe;P1=aa;delay(100);while(1){ aa=_crol_(aa,1);P1=aa;delay(100);} } } void delay(uint z){ uint x,y;for(x=z;x>0;x-...

51单片机c语言编写一个流水灯程序,要求如下(不能用数组,8个led指示灯...
\/\/流水灯#include "reg52.h"#define LED_PORT P3void delay(unsigned char time){ unsigned char i,j,k; for(i=0;i<time;i++) { for(j=0;j<200;j++) { for(k=0;k<200;k++); } }}void main(){ unsigned char i,halfbyteh=0x80,halfbytel=0x01; while(1) { h...

很简的51单片机C语言流水灯程序
1、51单片机C语言实现循环8个流水灯左移三次,后右移三次。例程:include<reg51.h> \/\/51单片机头文件#include <intrins.h> \/\/包含有左右循环移位子函数的库#define uint unsigned int \/\/宏定义#define uchar unsigned char \/\/宏定义sbit beep=P2^3;void delay(uint z) \/\/延时函数,z...

用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)_百度...
include<reg51.h> voiddelay(void){ unsignedinti,j;for(i=0;i<200;i++)for(j=0;j<1000;j++);} voidmain(void){ while(1){ P3=0xfe;\/\/第一个灯亮 delay();\/\/延时 P3=0xfd;\/\/第二个灯亮 delay();P3=0xfb;\/\/第三个灯亮 delay();P3=0xf7;\/\/第四个灯亮 delay();P3=0x...

用c语言编写流水灯。
C语言流水灯程序是学习的基础,一定要搞懂!给你发两个!(一)include<reg51.h> \/\/51系列单片机定义文件 define uchar unsigned char \/\/定义无符号字符 define uint unsigned int \/\/定义无符号整数 void delay(uint); \/\/声明延时函数 void main(){ uint i;uchar temp;while(1){ temp=0x...

51单片机16个灯流水循环,C语言
include<reg51.h> \/\/包含单片机寄存器的头文件#include "intrins.h"#define uchar unsigned char#define uint unsigned int sbit CLK=P1^0; sbit IN =P1^1;\/\/uchar code a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};uint code w[]={0xfffe,0xfffd,0xfffb,0xfff7,0xffef...

求一个用C语言,51编写的流水灯程序
include #include void main() { unsigned int x,y; P1=0xfe; while(1) { P1=_crol_(P1,1); for(x=500;x>0;x--) for(y=113;y>0;y--); } } P1接二极管(低电平有效)每隔x毫秒流动一下(可改变x的值) 震荡周期为11.0592MHz 把上面的P1=0xfe;改...

如何用单片机实现流水灯,从一依次亮到八,再从八依次亮?
单片机流水灯C语言程序的源代码如下:include \/\/51系列单片机定义文件。define uchar unsigned char \/\/定义无符号字符。define uint unsigned int \/\/定义无符号整数。void delay(uint); \/\/声明延时函数。硬件特征 1、单片机的体积比较小, 内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分...

一个用C语言做51单片机做流水灯控制向左移动一位,右边补0的一段程序...
\/\/右边补0,直接移位就可以temp<,=1; 如果流水灯只有一个亮,下面的程序就是对的,移位之后补1.include "reg51.h"void delay(unsigned char m);main(){ unsigned char temp;temp=0xfe; \/\/temp=1111 1110,使得P1口的某个引脚为低电平(亮)while(1){ P1=temp; \/\/P1口的数据来自...

相似回答