新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用單片機編寫幾種跑馬燈

用單片機編寫幾種跑馬燈

作者: 時間:2012-09-19 來源:網(wǎng)絡(luò) 收藏

任務(wù):
1、在電路板上實現(xiàn)燈,一次1匹
2、在電路板上實現(xiàn)燈,一次2匹
3、在電路板上實現(xiàn)4個二極管的同時閃爍
源程序1:
/***********************************信息****************************************
**作者:劉海濤
**版本:初始版V1.0
**描敘:用電路板實現(xiàn)燈。
**日期:2010年7月25日
*******************************************************************************/

本文引用地址:http://m.butianyuan.cn/article/170841.htm

/**********************************頭文件***************************************
**頭文件reg52.h
*******************************************************************************/

/**********************************函數(shù)名***************************************
**函數(shù)名:延時函數(shù)delay()
**輸 入:無
**輸 入:無
**宏定義:無
*******************************************************************************/

/**********************************宏定義***************************************

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

*******************************************************************************/
#includereg52.h
delay(unsigned int dat) // 延時函數(shù)定義
{
unsigned int i,j;
for(i=0;idat;i++)
{
for(j=0;j10000;j++);
}
}

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

void main(void) //主函數(shù)
{
unsigned char i;
while(1)
{
for(i=0;i4;i++)
{
XBYTE[0xd000]=(0x01i)^0xFF; //參考電路圖,點亮第一個燈,并循環(huán)左移
delay(10); //延時函數(shù)調(diào)用

}
}
}

源程序2:

/***********************************信息****************************************
**作者:劉海濤
**版本:初始版V1.0
**描敘:用電路板實現(xiàn)跑馬燈,一次移動2燈。
**日期:2010年7月25日
*******************************************************************************/

/**********************************頭文件***************************************
**頭文件reg52.h
*******************************************************************************/

/**********************************函數(shù)名***************************************
**函數(shù)名:延時函數(shù)delay()
**輸 入:無
**輸 入:無
**宏定義:無
*******************************************************************************/


/**********************************宏定義***************************************

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

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


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

delay(unsigned int dat) //延時函數(shù)
{
unsigned int i,j;
for(i=0;idat;i++)
{
for(j=0;j10000;j++);
}
}


void main(void) //主函數(shù)
{
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
**描敘:用電路板實現(xiàn)跑馬燈,四個二極管同時閃爍。
**日期:2010年7月25日
*******************************************************************************/

/**********************************頭文件***************************************
**頭文件reg52.h
*******************************************************************************/

/**********************************函數(shù)名***************************************
**函數(shù)名:延時函數(shù)delay()
**輸 入:無
**輸 入:無
*******************************************************************************/


/**********************************宏定義***************************************

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

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

#includereg52.h //主函數(shù)
#define XBYTE ((unsigned char *)0x20000L) //宏定義

delay(unsigned int dat) //延時函數(shù)
{
unsigned int i,j;
for(i=0;idat;i++)
{
for(j=0;j10000;j++);
}
}


void main(void) //主函數(shù)
{

while(1)
{


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

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


}
}

燃?xì)鈭缶飨嚓P(guān)文章:燃?xì)鈭缶髟?/a>


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉