任務:
1、橫排流水
2、豎排流水
3、斜排流水
1、橫排流水
源程序:
/*******************************************************************************
作者:劉海濤
版本:第一次
描敘:流水燈 順序P0、P1、P2、P3先后從0到7bit
*******************************************************************************
/**********************************頭文件**************************************/
#include"reg52.h"
/******************************************************************************/
/*******************************************************************************
函數(shù)名:delay(),延時函數(shù)。
宏定義:無
輸 入:無
輸 出:無
*******************************************************************************/
delay(unsigned int dat) //函數(shù)定義
{
unsigned int i,j;
for(i=0;i<=dat;i++)
{
for(j=0;j<=20000;j++);
}
}
void main(void) //主函數(shù)
{
unsigned char i;
while(1) //循環(huán)
{
for(i=0;i<8;i++)
{
P0=0x01< delay(100);
}
for(i=0;i<8;i++)
{
P1=0x01< delay(100);
}
for(i=0;i<8;i++)
{
P2=0x01< delay(100);
}
for(i=0;i<8;i++)
{
P3=0x01< delay(100);
}
}
}
2、豎排流水 源程序:
/*******************************************************************************
作者:劉海濤
版本:第一次
描敘:流水燈,豎著走,即P0到P3循環(huán)依次走1 bit
******************************************************************************/
/******************************************************************************/
#include"reg52.h"
/******************************************************************************/
/*******************************************************************************
函數(shù)名:delay(),延時函數(shù)
宏定義:無
輸入:無
輸出:無
******************************************************************************/
delay(unsigned int dat) //延時函數(shù)定義
{
unsigned int i,j;
for(i=0;i<=dat;i++)
{
for(j=0;j<=20000;j++);
}
}
void main(void) //主函數(shù)
{
unsigned char i;
while(1)
{
for(i=0;i<=7;i++)
{
P0=0x01< delay(100);
P1=0x01< delay(100);
P2=0x01< delay(100);
P3=0x01< delay(100);
}
}
}
3、斜流水 源程序:
/*******************************************************************************
作者:劉海濤
版本:第一次
描敘:流水燈,斜著走
******************************************************************************
/**********************************頭文件**************************************/
#include"reg52.h"
/******************************************************************************/
/*******************************************************************************
函數(shù)名:delay(),延時函數(shù)。
輸入:無
輸出:無
宏定義:無
*******************************************************************************/
delay(unsigned int dat)
{
unsigned int i,j;
for(i=0;i
for(j=0;j<20000;j++);
}
}
void main(void)
{
unsigned int i,a,b,c;
while(1)
{
for(i=0;i<=7;i++)
{
P0=0x01< delay(100);
a=i+1;
if(a>=8)
{
a=i-8;
}
P1=0x01< delay(100);
b=i+2;
if(b>=8)
{
b=b-8;
}
P2=0x01< delay(100);
c=i+3;
if(c>=8)
{
c=c-8;
}
P3=0x01<
}
}
}