首页
基础教程 | 单片机设计实例 | 常用芯片 | 电子基础
当前位置:单片机教程 >> 单片机设计实例 >> 浏览文章 今天是:
单片机设计实例

单片机控制LED流水灯从中间向两边,从两边向中间

作者:    来源:本站原创    点击数:   更新时间:2008年09月20日   
 

这个就是把 先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;不过这个程序实现的 应该是这样的 先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动;再从中间往两边流动;

#include< reg52.h>
#include< intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay();
void main()
{ uchar temp,temp1,temp2,a,b;
P3=0xff;
while(1)
{ for(b=3;b>0;b--)
{ temp=0xaa;
P1=temp;
delay();
temp=0x55;
P1=temp;
delay();
}
for(a=3;a>0;a--)
{ temp=0xfe;
for(b=7;b>0;b--)
{ P1=temp;
temp=_crol_(temp,1);
delay();
P1=temp;
delay();
}
}
temp1=0xfe;
temp2=0x7f;
for(a=8;a>0;a--)
{
temp=temp1&temp2;
P1=temp;
delay();
temp1=_crol_(temp1,1);
temp2=_cror_(temp2,1);
}

}
}
void delay()
{ uint a,b;
for(a=100;a>0;a--)
for(b=600;b>0;b--);
}

程序实现的第2种方法:下面是http://www.51hei.com单片机12群里的朋友木信大侠提出的,实现单片机led流水灯从中间向两边,从两边向中间的效果,下面的程序就是实现思路,这个是直接调用,应该明白吧,数组那其实也可以改一下,如采用一维数组,在多次调用;也可以采用二维数组。主要看个人喜好.
-----------------------------------------------------
#include< reg52.h>
unsigned char code TABLE[]={
0xFF,0xE7,0xC3,0x81,0x00, //从中间向两侧点亮
0xFF,0xE7,0xC3,0x81,0x00,
0xFF,0xE7,0xC3,0x81,0x00,
0xFF,0x7E,0x3C,0x18,0x00, //从两侧向中间点亮
0xFF,0x7E,0x3C,0x18,0x00,
0xFF,0x7E,0x3C,0x18,0x00
};
unsigned char i;

DELAY()
{
unsigned int s;
for(s=0;s<30000;s++);
}

main()
{
while(1)
{
if(TABLE[i]!=0x01)
{
P1=TABLE[i];
i++;
DELAY();
}

else
{
i=0;
}
}
}




 
发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口
下一篇:单片机出师表
网友评论(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
 >> 推荐文章
单片机USB-ISP下载线制作
自制单片机实验板
单片机一键多功能按键识别设
 >> 阅读排行
keil教程
单片机DS18B20水温控制系统
单片机电子时钟设计
单片机交通灯设计
单片机课程设计
单片机时钟设计
单片机数字钟设计
单片机键盘程序(4×4矩阵式
单片机串口通讯
八路抢答器论文含原理图电路
 >> 相关文章
单片机驱动16*16点阵LED汉字显示
单片机控制LED按1闪1秒按2闪10秒
单片机IO并行口直接驱动LED显示
51单片机驱动16×16LED点阵显示动
单片机led动态显示程序
pic单片机驱动led数码管显示程序
在8个LED上依次显示1~8数字
led单片机定时闹铃程序
LED点阵
共阳共阴LED数码管引脚图管脚接口

站长:刘兴国 站长信箱:372xcom1@21cn.com
单片机教程 @ www.51hei.com 2007-2008