实现横排流水灯和竖排流水灯效果
任务:
1、横排流水
2、竖排流水
3、斜排流水
1、横排流水
源程序:
/*******************************************************************************
作者:刘海涛
版本:第一次
日期:2010年7月23日
描叙:流水灯 顺序P0、P1、P2、P3先后从0到7bit
*******************************************************************************/
/**********************************头文件**************************************/
#includereg52.h
/******************************************************************************/
/*******************************************************************************
函数名:delay(),延时函数。
宏定义:无
输 入:无
输 出:无
*******************************************************************************/
delay(unsigned int dat) //函数定义
{
unsigned int i,j;
for(i=0;i=dat;i++)
{
for(j=0;j=20000;j++);
}
}
void main(void) //主函数
{
unsigned char i;
while(1) //循环
{
for(i=0;i8;i++)
{
P0=0x01i;
delay(100);
}
for(i=0;i8;i++)
{
P1=0x01i;
delay(100);
}
for(i=0;i8;i++)
{
P2=0x01i;
delay(100);
}
for(i=0;i8;i++)
{
P3=0x01i;
delay(100);
}
}
}
2、竖排流水 源程序:
/*******************************************************************************
作者:刘海涛
版本:第一次
日期:2010年7月23日
描叙:流水灯,竖着走,即P0到P3循环依次走1 bit
******************************************************************************/
/******************************************************************************/
#includereg52.h
/******************************************************************************/
/*******************************************************************************
函数名:delay(),延时函数
宏定义:无
输入:无
输出:无
******************************************************************************/
delay(unsigned int dat) //延时函数定义
{
unsigned int i,j;
for(i=0;i=dat;i++)
{
for(j=0;j=20000;j++);
}
}
void main(void) //主函数
{
unsigned char i;
while(1)
{
for(i=0;i=7;i++)
{
P0=0x01i;
delay(100);
P1=0x01i;
delay(100);
P2=0x01i;
delay(100);
P3=0x01i;
delay(100);
}
}
}
3、斜流水 源程序:
/*******************************************************************************
作者:刘海涛
版本:第一次
日期:2010年7月23日
描叙:流水灯,斜着走
*******************************************************************************/
/**********************************头文件**************************************/
#includereg52.h
/******************************************************************************/
/*******************************************************************************
函数名:delay(),延时函数。
输入:无
输出:无
宏定义:无
*******************************************************************************/
delay(unsigned int dat)
{
unsigned int i,j;
for(i=0;idat;i++)
{
for(j=0;j20000;j++);
}
}
void main(void)
{
unsigned int i,a,b,c;
while(1)
{
for(i=0;i=7;i++)
{
P0=0x01i;
delay(100);
a=i+1;
if(a>=8)
{
a=i-8;
}
P1=0x01a;
delay(100);
b=i+2;
if(b>=8)
{
b=b-8;
}
P2=0x01b;
delay(100);
c=i+3;
if(c>=8)
{
c=c-8;
}
P3=0x01c;
delay(100);
}
}
}
- 流水线处理技术在数据集成中的应用(03-11)
- DSP设计中的流水线数据相关问题及解决办法(06-11)
- ARM体系结构之:流水线(08-13)
- 流水线技术在编程器中的提速应用(06-30)
- FPGA系统设计原则和技巧之:FPGA系统设计的3种常用技巧(06-05)
- 基于FFT IP核的数字脉冲压缩系统设计(06-05)