⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hkbigled.c

📁 LED照明行业地砖及护栏控制器程序 从现况来看
💻 C
字号:
//************************************
//**** 
//**** at89c51   24M
//************************************
#include <reg51.h>
#include <stdio.h>//一般I/O函数
#include <stdlib.h>//标准函数
#include <absacc.h>//绝对地址
#include <intrins.h>//内部函数	
#include <setjmp.h>
#define uchar unsigned char
#define uint unsigned int
#define Byte unsigned char
#define Word unsigned int
#define ulong unsigned long
#define bool bit
#define true 1
#define false 0
#define V_TH0   0xfb  /* 时间常数高8位 (65536-500)/256			*/
#define V_TL0   0x00  /* 时间常数低8位 (65536-500)%256   11.0592*/
#define ADD 2
#define reg01 XBYTE[0xc000]
#define reg02 XBYTE[0xc001] //控制寄存器
#define WriteDeviceAddress  0xa0
#define ReadDviceAddress 	0xa1
uchar BBB, AAA;

//*****************************************
uchar dis_buf[10];
uchar bdata flag;
sbit	sw=flag^0;
sbit	keyin=P1^4;
sbit 	io0=P0^7;
sbit 	io1=P0^6;
sbit	io2=P0^5;
sbit	io3=P0^4;
sbit	io4=P0^3;
sbit	io5=P0^2;
sbit	io6=P0^1;
sbit	io7=P0^0;


//***************************************	
void	pwm_oe(void)
{
uchar i;
for(i=1;i<BBB;i++)
	{
	io0=(dis_buf[0]<=i)?1:0;
	io1=(dis_buf[1]<=i)?1:0;
	io2=(dis_buf[2]<=i)?1:0;
	io3=(dis_buf[3]<=i)?1:0;
	io4=(dis_buf[4]<=i)?1:0;
	io5=(dis_buf[5]<=i)?1:0;
	io6=(dis_buf[6]<=i)?1:0;
	io7=(dis_buf[7]<=i)?1:0;

	}
}
//**************************
void as1(uint speed)
{
uchar i;
uint	j;
dis_buf[0]=0;
dis_buf[1]=0;
dis_buf[2]=0;
dis_buf[3]=0;
dis_buf[4]=0;
dis_buf[5]=0;
dis_buf[6]=8;
dis_buf[7]=AAA;
for(i=0;i<32;i++)
	{
	dis_buf[8]=dis_buf[7];
	dis_buf[7]=dis_buf[6];
	dis_buf[6]=dis_buf[5];
	dis_buf[5]=dis_buf[4];
	dis_buf[4]=dis_buf[3];
	dis_buf[3]=dis_buf[2];
	dis_buf[2]=dis_buf[1];
	dis_buf[1]=dis_buf[0];
	dis_buf[0]=dis_buf[8];
	for(j=0;j<speed;j++){pwm_oe();}
	}
}
//****************
void	as2(uint	speed)
{
uchar i;
uint	j;
dis_buf[0]=0;
dis_buf[1]=1;
dis_buf[2]=2;
dis_buf[3]=4;
dis_buf[4]=5;
dis_buf[5]=6;
dis_buf[6]=8;
dis_buf[7]=12;
dis_buf[8]=AAA;
for(i=0;i<32;i++)
	{
	dis_buf[8]=dis_buf[7];
	dis_buf[7]=dis_buf[6];
	dis_buf[6]=dis_buf[5];
	dis_buf[5]=dis_buf[4];
	dis_buf[4]=dis_buf[3];
	dis_buf[3]=dis_buf[2];
	dis_buf[2]=dis_buf[1];
	dis_buf[1]=dis_buf[0];
	dis_buf[0]=dis_buf[8];
	for(j=0;j<speed;j++)pwm_oe();
	}
}
//**************************
void	as3(uchar	speed)
{
uchar	i,j;
uint	m;
dis_buf[0]=AAA;
dis_buf[1]=AAA;
dis_buf[2]=AAA;
dis_buf[3]=AAA;
dis_buf[4]=AAA;
dis_buf[5]=AAA;
dis_buf[6]=AAA;
dis_buf[7]=AAA;
for(m=0;m<5000;m++)
	pwm_oe();
for(i=AAA;i>0;i--)
	{dis_buf[0]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=AAA;i>0;i--)
	{dis_buf[1]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=AAA;i>0;i--)
	{dis_buf[2]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=AAA;i>0;i--)
	{dis_buf[3]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=AAA;i>0;i--)
	{dis_buf[4]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=AAA;i>0;i--)
	{dis_buf[5]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=AAA;i>0;i--)
	{dis_buf[6]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=AAA;i>0;i--)
	{dis_buf[7]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
//-------------------
for(i=0;i<BBB;i++)
	{dis_buf[0]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=0;i<BBB;i++)
	{dis_buf[1]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=0;i<BBB;i++)
	{dis_buf[2]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=0;i<BBB;i++)
	{dis_buf[3]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=0;i<BBB;i++)
	{dis_buf[4]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=0;i<BBB;i++)
	{dis_buf[5]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=0;i<BBB;i++)
	{dis_buf[6]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}
for(i=0;i<BBB;i++)
	{dis_buf[7]=i;
	for(j=0;j<speed;j++)pwm_oe();
	}	
}
//*****************
void	as4(uint	speed)
{
uint	n;
uchar	i,j;

for(j=0;j<BBB;j++)
	{
	for(i=0;i<8;i++)dis_buf[i]=~dis_buf[i]&0x0f;
	for(n=0;n<speed;n++)
		pwm_oe();

	}
}
//************************
main()
{
uchar ci;
BBB=16;
AAA=15;
while(1)
	{
	as1(230);
for(ci=0;ci<2;ci++){	as2(200);}
for(ci=0;ci<2;ci++){	as3(120);}
	as4(620);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -