标题:
51单片机PWM水滴滴落效果流水灯程序
[打印本页]
作者:
51黑芯片
时间:
2016-1-17 00:53
标题:
51单片机PWM水滴滴落效果流水灯程序
此程序的电路图下载:
http://www.51hei.com/f/ks51.pdf
/**作者:网友 孤竹翼羽 **/
//自已修正了下,可以在我的板子上运行了
//水滴形成,并拖尾滴落
#include <reg52.h>
typedef unsigned char uint8;
sbit ENLED = P0^4;
sbit ADDR3 = P0^3;
sbit ADDR2 = P0^2;
sbit ADDR1 = P0^1;
sbit ADDR0 = P0^0;
sbit DB0 = P1^0;
sbit P25=P2^5;
void main()
{
unsigned char i,k,p,t,j;
char l;
unsigned char a[]={0,1,2,4,6,16,32,64}; //亮度数组以实现拖尾效果
unsigned char b[]={0,34,48,59,68,76,84,91,97,103,109,114,119,123,126}; //时间数组以实现加速效果
signed char c[]={-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7};
ENLED=0;ADDR3=1;
ADDR0=0;ADDR1=1;ADDR2=1;
P25=1;
P0=0xff;
P1=0xFF;
while(1)
{
/******************************************************************************************************/
/****************************************水滴形成(渐变效果)******************************************/
/******************************************************************************************************/
k=0;
for(i=0;i<=252;i++)
{
if(0==(i%4))
k++;
for(t=0;t<=16;t++)
{
DB0=0;
for(j=0;j<=96;j++)
if(j==k)
DB0=1;
}
}
/******************************************************************************************************/
/***********************************水滴掉下(加速与拖尾效果)*****************************************/
/******************************************************************************************************/
for(j=0;j<=254;j++)
{
p=0;
for(k=0;k<=15;k++)
{
if(j==b[k]) l=c[k];
}
for(i=0;i<=64;i++)
{
for(k=0;k<=7;k++)
{
if(i==a[k])
{
p=p|(1<<k);
t=~p;
if(l>=0)
P1=~(t<<l);
else
P1=~(t>>-l);
}
}
}
}
}
}
复制代码
作者:
bulia
时间:
2018-5-30 18:27
PWM水滴滴落效果流水灯程序
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1