新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 用单片机编写几种跑马灯

用单片机编写几种跑马灯

作者:时间:2012-09-19来源:网络收藏

任务:
1、在电路板上实现灯,一次1匹
2、在电路板上实现灯,一次2匹
3、在电路板上实现4个二极管的同时闪烁
源程序1:
/***********************************信息****************************************
**作者:刘海涛
**版本:初始版V1.0
**描叙:用电路板实现灯。
**日期:2010年7月25日
*******************************************************************************/

本文引用地址:http://www.eepw.com.cn/article/170841.htm

/**********************************头文件***************************************
**头文件reg52.h
*******************************************************************************/

/**********************************函数名***************************************
**函数名:延时函数delay()
**输 入:无
**输 入:无
**宏定义:无
*******************************************************************************/

/**********************************宏定义***************************************

宏定义:#define XBYTE ((unsigned char *)0x20000L)

*******************************************************************************/
#includereg52.h
delay(unsigned int dat) // 延时函数定义
{
unsigned int i,j;
for(i=0;idat;i++)
{
for(j=0;j10000;j++);
}
}

#define XBYTE ((unsigned char *)0x20000L) //宏定义

void main(void) //主函数
{
unsigned char i;
while(1)
{
for(i=0;i4;i++)
{
XBYTE[0xd000]=(0x01i)^0xFF; //参考电路图,点亮第一个灯,并循环左移
delay(10); //延时函数调用

}
}
}

源程序2:

/***********************************信息****************************************
**作者:刘海涛
**版本:初始版V1.0
**描叙:用电路板实现跑马灯,一次移动2灯。
**日期:2010年7月25日
*******************************************************************************/

/**********************************头文件***************************************
**头文件reg52.h
*******************************************************************************/

/**********************************函数名***************************************
**函数名:延时函数delay()
**输 入:无
**输 入:无
**宏定义:无
*******************************************************************************/


/**********************************宏定义***************************************

**宏定义:#define XBYTE ((unsigned char *)0x20000L)

*******************************************************************************/


#includereg52.h // 头文件
#define XBYTE ((unsigned char *)0x20000L) //宏定义

delay(unsigned int dat) //延时函数
{
unsigned int i,j;
for(i=0;idat;i++)
{
for(j=0;j10000;j++);
}
}


void main(void) //主函数
{
unsigned int i;
while(1)
{
for(i=0;i3;i++)
{

XBYTE[0xd000]=(0x03i)^0xff; //点亮1、2两个灯
delay(10);
}
XBYTE[0xd000]=(0x090)^0xff; //点亮第一、第四个灯
delay(10);

}
}

源程序3:

/***********************************信息****************************************
**作者:刘海涛
**版本:初始版V1.0
**描叙:用电路板实现跑马灯,四个二极管同时闪烁。
**日期:2010年7月25日
*******************************************************************************/

/**********************************头文件***************************************
**头文件reg52.h
*******************************************************************************/

/**********************************函数名***************************************
**函数名:延时函数delay()
**输 入:无
**输 入:无
*******************************************************************************/


/**********************************宏定义***************************************

**宏定义:#define XBYTE ((unsigned char *)0x20000L)

*******************************************************************************/

#includereg52.h //主函数
#define XBYTE ((unsigned char *)0x20000L) //宏定义

delay(unsigned int dat) //延时函数
{
unsigned int i,j;
for(i=0;idat;i++)
{
for(j=0;j10000;j++);
}
}


void main(void) //主函数
{

while(1)
{


XBYTE[0xd000]=(0x0f0)^0xff; //
delay(10);

XBYTE[0xd000]=(0x0f4)^0xff;
delay(10);


}
}

燃气报警器相关文章:燃气报警器原理


关键词: 跑马 编写 单片机

评论


相关推荐

技术专区

关闭