用單片機(jī)編寫幾種跑馬燈
任務(wù):
1、在電路板上實(shí)現(xiàn)跑馬燈,一次1匹
2、在電路板上實(shí)現(xiàn)跑馬燈,一次2匹
3、在電路板上實(shí)現(xiàn)4個(gè)二極管的同時(shí)閃爍
源程序1:
/***********************************信息****************************************
**作者:劉海濤
**版本:初始版V1.0
**描敘:用電路板實(shí)現(xiàn)跑馬燈。
**日期:2010年7月25日
*******************************************************************************/
/**********************************頭文件***************************************
**頭文件reg52.h
*******************************************************************************/
/**********************************函數(shù)名***************************************
**函數(shù)名:延時(shí)函數(shù)delay()
**輸 入:無(wú)
**輸 入:無(wú)
**宏定義:無(wú)
*******************************************************************************/
/**********************************宏定義***************************************
宏定義:#define XBYTE ((unsigned char *)0x20000L)
*******************************************************************************/
#includereg52.h
delay(unsigned int dat) // 延時(shí)函數(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; //參考電路圖,點(diǎn)亮第一個(gè)燈,并循環(huán)左移
delay(10); //延時(shí)函數(shù)調(diào)用
}
}
}
源程序2:
/***********************************信息****************************************
**作者:劉海濤
**版本:初始版V1.0
**描敘:用電路板實(shí)現(xiàn)跑馬燈,一次移動(dòng)2燈。
**日期:2010年7月25日
*******************************************************************************/
/**********************************頭文件***************************************
**頭文件reg52.h
*******************************************************************************/
/**********************************函數(shù)名***************************************
**函數(shù)名:延時(shí)函數(shù)delay()
**輸 入:無(wú)
**輸 入:無(wú)
**宏定義:無(wú)
*******************************************************************************/
/**********************************宏定義***************************************
**宏定義:#define XBYTE ((unsigned char *)0x20000L)
*******************************************************************************/
#includereg52.h // 頭文件
#define XBYTE ((unsigned char *)0x20000L) //宏定義
delay(unsigned int dat) //延時(shí)函數(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; //點(diǎn)亮1、2兩個(gè)燈
delay(10);
}
XBYTE[0xd000]=(0x090)^0xff; //點(diǎn)亮第一、第四個(gè)燈
delay(10);
}
}
源程序3:
/***********************************信息****************************************
**作者:劉海濤
**版本:初始版V1.0
**描敘:用電路板實(shí)現(xiàn)跑馬燈,四個(gè)二極管同時(shí)閃爍。
**日期:2010年7月25日
*******************************************************************************/
/**********************************頭文件***************************************
**頭文件reg52.h
*******************************************************************************/
/**********************************函數(shù)名***************************************
**函數(shù)名:延時(shí)函數(shù)delay()
**輸 入:無(wú)
**輸 入:無(wú)
*******************************************************************************/
/**********************************宏定義***************************************
**宏定義:#define XBYTE ((unsigned char *)0x20000L)
*******************************************************************************/
#includereg52.h //主函數(shù)
#define XBYTE ((unsigned char *)0x20000L) //宏定義
delay(unsigned int dat) //延時(shí)函數(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);
}
}
評(píng)論