机电之家资源网
单片机首页|单片机基础|单片机应用|单片机开发|单片机文案|软件资料下载|音响制作|电路图下载 |嵌入式开发
培训信息
赞助商
单片机流水灯设计
单片机流水灯设计
 更新时间:2009-5-18 15:18:09  点击数:1
【字体: 字体颜色

下面介绍几个单片机器流水灯设计的程序

51单片机流水灯C语言源程序(源创) **************************************************************
文件名称:flash_led.c
文件说明:流水灯C程序
编写人员:Jerry Yang
编写日期:2006年10月5日
程序说明:MCU采用AT89S51,外接12M晶振,P1口输出
版权标注:豪杰电子工作室(http://hokepoly.bokee.com)
*************************************************************/
#include //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#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个流水灯反向逐个闪动
{
P1=~temp;
delay(100); //调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8个流水灯依次全部点亮
{
P1=temp;
delay(100); //调用延时函数
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++) //8个流水灯依次反向全部点亮
{
P1=temp;
delay(100); //调用延时函数
temp>>=1;
}
}

}
void delay(uint t) //定义延时函数
{
register uint bt;
for(;t;t--)
for(bt=0;bt<255;bt++);
}


/************************************************************
*89C51、S51单片机32个IO口流水灯测试程序
*Flash0、1、2、3分别对应单片机的P0、1、2、3四个口
*a程序对应流水灯从全灭到一个一个亮
*b程序对应流水灯从全亮到一个一个灭
*Author:大灵通
*2006-7-26 10:57,OK!
*************************************************************/
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define TimeDelay 60000
void delay(uint n);
void Flash0a(void);
void Flash0b(void);
void Flash1a(void);
void Flash1b(void);
void Flash2a(void);
void Flash2b(void);
void Flash3a(void);
void Flash3b(void);
/************************************************************
*Function: 主函数
*parameter:
*Return:
*Modify:
*************************************************************/
void main(void)
{
while(1)
{
Flash1b();
Flash1a();

delay(TimeDelay);
delay(TimeDelay);

Flash0b();
Flash0a();

Flash2b();
Flash2a();

Flash1b();
Flash1a();

Flash3b();
Flash3a();
}
}
/************************************************************
*Function: 延时
*parameter:
*Return:
*Modify:
*************************************************************/
void delay(uint n)
{
while(n!=0)
{
n--;
}
}
void Flash0a(void)
{
uchar i;
uchar Temp;
Temp = 0x80;
for(i=0;i<8;i++)
{
P0 = ~Temp;
delay(TimeDelay);
Temp = Temp >> 1;
}
P0 = 0xff;
}
void Flash0b(void)
{
uchar i;
uchar Temp;
Temp = 0x80;
for(i=0;i<8;i++)
{
P0 = Temp;
delay(TimeDelay);
Temp = Temp >> 1;
}
P0 = 0;
}
void Flash1a(void)
{
uchar i;
uchar Temp;
P1 = 1;
Temp = 0x80;
for(i=0;i<8;i++)
{
P1 = ~Temp;
delay(TimeDelay);
Temp = Temp >> 1;
}
P1 = 0xff;
}
void Flash1b(void)
{
uchar i;
uchar Temp;
P1 = 1;
Temp = 0x80;
for(i=0;i<8;i++)
{
P1 = Temp;
delay(TimeDelay);
Temp = Temp >> 1;
}
P1 = 0;
}
void Flash2a(void)
{
uchar i;
uchar Temp;
P2 = 1;
Temp = 0x80;
for(i=0;i<8;i++)
{
P2 = ~Temp;
delay(TimeDelay);
Temp = Temp >> 1;
}
P2 = 0xff;
}
void Flash2b(void)
{
uchar i;
uchar Temp;
P2 = 1;
Temp = 0x80;
for(i=0;i<8;i++)
{
P2 = Temp;
delay(TimeDelay);
Temp = Temp >> 1;
}
P2 = 0;
}
void Flash3a(void)
{
uchar i;
uchar Temp;
P3 = 1;
Temp = 0x80;
for(i=0;i<8;i++)
{
P3 = ~Temp;
delay(TimeDelay);
Temp = Temp >> 1;
}
P3 = 0xff;
}
void Flash3b(void)
{
uchar i;
uchar Temp;
P3 = 1;
Temp = 0x80;
for(i=0;i<8;i++)
{
P3 = Temp;
delay(TimeDelay);
Temp = Temp >> 1;
}
P3 = 0;
}

===========

;P1口八个LED灯做三路流水灯实验

ORG 0000H
LJMP MAIN
ORG 030H
MAIN:MOV P1,#0DBH ;11011011--0为亮,1为灭
ACALL DELAY
MOV P1,#06DH ;01101101
ACALL DELAY
MOV P1,#0B6H ;10110110
ACALL DELAY
AJMP MAIN
DELAY:MOV R7,#255 ;延时子程序
D1: MOV R6,#255
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END

  • 上一篇: 单片机交通灯设计
  • 下一篇: 单片机远程灯控箱设计
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    关于我们 | 联系我们 | 广告合作 | 付款方式 | 使用帮助 | 机电之家 | 会员助手 | 免费链接

    点击这里给我发消息66821730(技术支持)点击这里给我发消息66821730(广告投放) 点击这里给我发消息41031197(编辑) 点击这里给我发消息58733127(审核)
    本站提供的机电设备,机电供求等信息由机电企业自行提供,该企业负责信息内容的真实性、准确性和合法性。
    机电之家对此不承担任何保证责任,有侵犯您利益的地方请联系机电之家,机电之家将及时作出处理。
    Copyright 2007 机电之家 Inc All Rights Reserved.机电之家-由机电一体化网更名-声明
    电话:0571-87774297 传真:0571-87774298
    杭州滨兴科技有限公司提供技术支持

    主办:杭州市高新区(滨江)机电一体化学会
    中国行业电子商务100强网站

    网站经营许可证:浙B2-20080178-1