您的位置 首页 报告

最牛的LED遥控控制器—调整无闪烁

*一款遥控LED控制器,所有功能均由遥控器控制,它主要有如下功能:1、遥控调光2、旋钮调光3、开关机功能4、渐变5、跳变6、循环变

/*一款遥控LED操控器,一切功用均由遥控器操控,

它主要有如下功用:1、遥控调光2、旋钮调光 3、
开关机功用 4、突变 5、跳变 6、循环改变(渐
变、跳变等)7、改变速度可调整,并断电能回忆*/

一、原理图:

二、参阅图片:

三、参阅程序:下载地址:http://www.51hei.com/f/ledtt.rar
#include
#include
/*********界说EEPROM寄存器地址*********/
sfr DATA=0xC2;//数据寄存器
sfr ADDRH=0xC3;//地址寄存器高八位
sfr ADDRL=0xC4;//地址寄存器低八位
sfr CMD=0xC5;//指令形式寄存器
sfr TRIG=0xC6;//指令触发寄存器
sfr CONTR=0xC7;//操控寄存器
/*********界说AD转化寄存器地址*********/
sfr ADC_RES=0xbd;//AD转化成果寄存器
sfr ADC_C=0xbc;//AD转化操控寄存器
sfr P1ASF=0x9d;
#define c(x) (x*120000/120000)
#define uchar unsigned char
#define uint unsigned int
#define dengji 2//手动调光等级界说

sbit IR=P3^3;
sbit LED=P3^0;

uint temp;//红外线解码变量
uchar i;
uchar j;

char dat=0;//PWM变量
uchar num;//PWM定时器变量

uint flashnum;//突变跳变定时器变量
uchar IRBUF[4]; //用于保存解码成果
uchar shudu=1;

bit power=1;//电位器调光与遥控调光切换标志位
bit flag;//遥控开关机切换标志位
bit flash;//跳变切换标志位
bit jian;//突变切换标志位
bit zeng;//归纳改变变量

/***************************************************************/
/****************************EEPROM子函数***********************/
/***************************************************************/
/****************************************/
/**********EEPROM读数据子函数************/
/****************************************/
uchar read(uint add)
{
CONTR=0x82;
CMD=0x01;
ADDRH=(add>>=8);
ADDRL=add&(0x00ff);
TRIG=0x5a;
TRIG=0xa5;
_nop_();
CONTR=0x00;
TRIG=0X00;
return DATA;
}
/****************************************/
/**********EEPROM写数据子函数************/
/****************************************/
void write(uint add,uchar vale)
{
CONTR=0x82;
CMD=0X02;
ADDRH=(add>>=8);
ADDRL=add&(0x00ff);
DATA=vale;
TRIG=0x5a;
TRIG=0xa5;
_nop_();
CONTR=0x00;
TRIG=0X00;
}
/****************************************/
/**********EEPROM擦除数据子函数**********/
/****************************************/
void sector(uint add)
{
CONTR=0x82;
CMD=0x03;
ADDRH=(add>>=8);
ADDRL=add&(0x00ff);
TRIG=0x5a;
TRIG=0xa5;
_nop_();
CONTR=0x00;
TRIG=0X00;
}

/****************************************/
/***************AD转化部分***************/
/****************************************/
uint adzhang1()
{
uint zona;
zona=0;
ADC_C=0;//操控寄存器清0
P1ASF=0;//IO口操控寄存器清0
ADC_C|=0x80;//翻开操控寄存器电源
P1ASF|=0x80;//设置P1.7为AD输进口
ADC_C|=0xe7;//翻开操控寄存器电源,并挑选P1.7为AD输入端
//以上是初始化程序
ADC_RES=0;//转化成果寄存器清0
ADC_C|=0x08;//开端转化
//delay1(2);
while((ADC_C&0x10)==0);//判别完毕标志位是否为不为1?若不为1则等候
ADC_C&=0xe7;//铲除等候标志位
zona=ADC_RES*0.392156;//将255个等级变为100个等级 等级=100/255=0.392156
if(zona<1)
zona=0;
return zona;
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/255357.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部