cdblue 发表于 2016-11-10 14:53:29

感謝分享~幫頂

wurenji 发表于 2016-11-10 15:26:23

这么小,牛人啊,可以放口袋里控制了

haiyanglin280 发表于 2016-11-27 17:24:20

楼主 能做个带学习的接收机吗这样省去做遥控器了   用现成的遥控器 学习一下 就可以用我在琢磨 还没突破呢
有这想法吗,有的话那位师傅给个 资料教程!!!!!!

我是天才 发表于 2016-11-27 19:59:56

haiyanglin280 发表于 2016-11-27 17:24
楼主 能做个带学习的接收机吗这样省去做遥控器了   用现成的遥控器 学习一下 就可以用我在琢磨 还没突 ...

这个我不太会,我也是刚开始学单片机,这个萝莉应该能做

lv838999 发表于 2016-11-28 07:09:17

http://www.moz8.com//mobcent//app/data/phiz/default/23.pnghttp://www.moz8.com//mobcent//app/data/phiz/default/23.pnghttp://www.moz8.com//mobcent//app/data/phiz/default/23.png

hong201305 发表于 2017-2-20 16:36:34

楼主能贴一下源码吗?谢谢啦

阿文先生 发表于 2017-2-21 15:28:56

我提几个问:即然是电池供电,有测过串万用表测电流是多少吗? 好计算出省不省电,电池用多久的问题。
                  再一个是,距离多远,能否达到7米呢?

chuangxinkeji 发表于 2017-3-31 17:40:03

这个很好
学习力好快啊,

kingS 发表于 2017-4-3 22:39:56

有教程没?可以出来科普分享一下的

我是天才 发表于 2017-4-5 22:53:42

本帖最后由 我是天才 于 2017-4-5 23:22 编辑

阿文先生 发表于 2017-2-21 15:28
我提几个问:即然是电池供电,有测过串万用表测电流是多少吗? 好计算出省不省电,电池用多久的问题。
   ...
7米能达到,室内10米都没问题,电流没测过,不过在不发射时只进行按键检测程序,应该很省电,以后可以加程序让单片机在空闲时进行掉电模式,续航大大增强,现在的锂电池容量很高,应该可以用很长时间,不过如果实际应用,应该外接电源,所以不用担心续航时间

我是天才 发表于 2017-4-5 23:17:43

更新代码,具体还是看萝莉的注释,我只是在萝莉的基础上改进了一下,高三时间紧,就不做过多的说明了,重要的说明已经加在程序中


发射程序:

#include<reg51.h>
sbit Key1=P3^0;                          //按键与发射定义
sbit Key2=P3^1;
sbit Key3=P3^2;
sbit Key4=P3^3;
sbit Key5=P3^4;
sbit TX=P3^5;


#define uchar unsigned char
#define uint unsigned int


uchar Key1_old;                               //定义变量
uchar Key2_old;
uchar Key3_old;
uchar Key4_old;
uchar Key5_old;


uchar action1;
uchar action2;
uchar action3;
uchar action4;
uchar action5;


void Delay10ms()                //@12.000MHz
{
        unsigned char i, j;


        i = 117;
        j = 184;
        do
        {
                while (--j);
        } while (--i);
}




void Delay13us()                //@12.000MHz
{
        unsigned char i;
        i = 36;
        while (--i);
}


void TX_time(uint n)                  //发射程序,这个具体看萝莉的注释
{
while(n)
{
TX=0;
Delay13us();
TX=1;
Delay13us();
n=n-1;
}
}


void Key_select()                           //进行按键选择,判断是哪个按键按下
{
if(Key1==1)
{
   if(Key1_old==0)
   {action1=1;}
}
Key1_old=Key1;


if(Key2==1)
{
   if(Key2_old==0)
   {action2=1;}
}
Key2_old=Key2;


if(Key3==1)
{
   if(Key3_old==0)
   {action3=1;}
}
Key3_old=Key3;


if(Key4==1)
{
   if(Key4_old==0)
   {action4=1;}
}
Key4_old=Key4;


if(Key5==1)
{
   if(Key5_old==0)
   {action5=1;}
}
Key5_old=Key5;


}


main()
{
Key1_old=1;                   //初始化
Key2_old=1;
Key3_old=1;
Key4_old=1;
Key5_old=1;


while(1)
   {
   Delay10ms();          //系统周期10ms
   Key_select();          // 按键选择


    if(action1==1)                //不同的按键按下对应的发射时间不同
        {                                       
       action1=0;
       TX_time(384);       //通过改变括号里的数来改变发射时间
        }


    if(action2==1)
        {
       action2=0;
       TX_time(577);
        }


    if(action3==1)
        {
       action3=0;
       TX_time(731);
        }


    if(action4==1)
        {
       action4=0;
       TX_time(900);
        }


    if(action5==1)
        {
       action5=0;
       TX_time(1076);
        }


   }


}



接收程序:
#include <reg51.h>
sbit RX=P3^4;                           //定义接收与LED引脚
sbit L1=P3^0;
sbit L2=P3^1;
sbit L3=P3^2;
sbit L4=P3^3;
sbit L5=P3^5;


#define uchar unsigned char
#define uint unsigned int


uint time;


void Delay1ms()                //@12.000MHz
{
        unsigned char i, j;


        i = 12;
        j = 169;
        do
        {
                while (--j);
        } while (--i);
}


void Key_select()                  //进行按键选择,不同的时间对应不同的按键按下
{                                                        //,对不同的按键做出不同的处理
if(time>8&&time<12)
{L1=~L1;}


if(time>13&&time<17)
{L2=~L2;}


if(time>18&&time<22)
{L3=~L3;}


if(time>23&&time<27)
{L4=~L4;}


if(time>28&&time<32)
{L5=~L5;}          
               
}


main()
{
while(1)
{
    if(RX==0)                          //如果收到信号,time清零,重新计时
        {
        time=0;
       while(RX==0)                //收到信号时循环计时
          {
           Delay1ms();
           time=time+1;
          }
       
        Key_select();                //按键选择程序
        }
}
}











我是天才 发表于 2017-4-5 23:19:50

hong201305 发表于 2017-2-20 16:36
楼主能贴一下源码吗?谢谢啦

已经更新在31楼,有什么错误欢迎指正,共同学习

我是天才 发表于 2017-4-5 23:19:51

本帖最后由 我是天才 于 2017-4-5 23:24 编辑

hong201305 发表于 2017-2-20 16:36
楼主能贴一下源码吗?谢谢啦
详细的注释还是看萝莉的

我是天才 发表于 2017-4-5 23:19:51

本帖最后由 我是天才 于 2017-4-5 23:25 编辑

hong201305 发表于 2017-2-20 16:36
楼主能贴一下源码吗?谢谢啦
马上高考了,所以注释比较简略

我是天才 发表于 2017-4-5 23:19:51

本帖最后由 我是天才 于 2017-4-5 23:25 编辑

hong201305 发表于 2017-2-20 16:36
楼主能贴一下源码吗?谢谢啦
以后再好好编辑下注释

我是天才 发表于 2017-4-5 23:20:19

kingS 发表于 2017-4-3 22:39
有教程没?可以出来科普分享一下的

已更新在31楼

风之舞 发表于 2017-4-6 21:56:56

好漂亮啊。。。。学习中呢。。。

ldy7474 发表于 2017-4-7 13:48:59

顶楼主请教一下怎么用红外头发射8位ADC值?

川师鲤鱼 发表于 2017-4-8 06:32:51

不错不错 帮顶喽

zxy2266 发表于 2017-6-2 10:39:11

真是个天才啊,猪高考顺利
页: 1 [2] 3
查看完整版本: 五路红外遥控器