切换到宽版
  • 77037阅读
  • 395回复

[C51][Open Source]YS18-3荧光管电子时钟100%开源放送(软件源工程及代码.硬件原理图) [复制链接]

上一主题 下一主题
离线yanzeyuan

发帖
412
M币
1893
专家
22
粉丝
321
只看该作者 10楼 发表于: 2011-04-18
引用第8楼6sfmwd于2011-04-18 07:11发表的 :
          楼主.遥控部分。用我自己手头的遥控器控制,遥控的按键代码知道了。怎么更改呢!谢谢!                  



直接修改IR_Process()函数即可

比如:


 switch(IrData)
 {
  //**********************************************************************
  case 0x45:         //POWER
   if(NOWSTATE==S_POWEROFF)
   {        
    Beep(BEEPPOWERON);     //BEEP
    DelayMS(200);
    LASTN[0]= ' ';
    LASTN[1]= ' ';
    LASTN[2]= ' ';
    LASTN[3]= ' ';
    LASTN[4]= ' ';
    LASTN[5]= ' ';
    NUM1s();   
    NOWSTATE = S_NORMAL;   //切换为开机状态
    POWERON  = 0;     //开机
   }
   else
   {
    NOWSTATE = S_POWEROFF;   //切换为关机状态
    Beep(BEEPSHUTDOWN);     //BEEP
    for(i=0;i<6;i++){LASTN=Num;Num=' ';}     //渐变关闭
    DOTonoff = 0;     //DOTS灭
    DOT1s();        //更新DOTS状态
    NUM1s();        //更新NUMS状态
   }
   break; 
  //**********************************************************************
  case 0x46:         //LIGHT 


其中case 0x45就是电源键,0x45是电源键的数据码

希望能帮到你
本帖最近打赏记录:共1条打赏M币+5
☑男性☑80后☑已婚☑没大房☑没好车☑没钱☑没工作☑没......
http://www.nixieclock.org
QQ:6626209
DIY群:145751810
离线6sfmwd
发帖
327
M币
45
专家
2
粉丝
12
只看该作者 11楼 发表于: 2011-04-19
楼主:比如我手头遥控器的一个按键是 “0C”  怎么改它呢?能不能把改的部分用红色做标记?谢谢!
离线lcy5200625

发帖
32
M币
492
专家
-1
粉丝
5
只看该作者 12楼 发表于: 2011-04-19
好东西啊,,有空玩玩看
小雨點
离线hzxin

发帖
302
M币
3137
专家
3
粉丝
51
只看该作者 13楼 发表于: 2011-04-19
没有荧光管。谢谢LZ开源。
离线6sfmwd
发帖
327
M币
45
专家
2
粉丝
12
只看该作者 14楼 发表于: 2011-04-19
楼主的超薄遥控器那里买的。我想买30个,
离线yanzeyuan

发帖
412
M币
1893
专家
22
粉丝
321
只看该作者 15楼 发表于: 2011-04-19
引用第14楼6sfmwd于2011-04-19 09:23发表的 :
楼主:比如我手头遥控器的一个按键是 “0C”  怎么改它呢?能不能把改的部分用红色做标记?谢谢!



switch(IrData)
 {
  //**********************************************************************
  case 0x0C:         //这个case里面写接收到0x0C码以后要做的事情
   if(NOWSTATE==S_POWEROFF)
   {        
    Beep(BEEPPOWERON);     //BEEP
    DelayMS(200);
    LASTN[0]= ' ';
    LASTN[1]= ' ';
    LASTN[2]= ' ';
    LASTN[3]= ' ';
    LASTN[4]= ' ';
    LASTN[5]= ' ';
    NUM1s();   
    NOWSTATE = S_NORMAL;   //切换为开机状态
    POWERON  = 0;     //开机
   }
   else
   {
    NOWSTATE = S_POWEROFF;   //切换为关机状态
    Beep(BEEPSHUTDOWN);     //BEEP
    for(i=0;i<6;i++){LASTN=Num;Num=' ';}     //渐变关闭
    DOTonoff = 0;     //DOTS灭
    DOT1s();        //更新DOTS状态
    NUM1s();        //更新NUMS状态
   }
   break; 
  //**********************************************************************

☑男性☑80后☑已婚☑没大房☑没好车☑没钱☑没工作☑没......
http://www.nixieclock.org
QQ:6626209
DIY群:145751810
离线yanzeyuan

发帖
412
M币
1893
专家
22
粉丝
321
只看该作者 16楼 发表于: 2011-04-19
引用第16楼hzxin于2011-04-19 10:50发表的 :
没有荧光管。谢谢LZ开源。


其实不只是荧光管,把硬件电路稍加调整,软件就可以实现7段LED数码管的数字渐变特效!

还有,我用的这款YS18-3是再也找不到了,但其实可以买到YS13-3的荧光管!
☑男性☑80后☑已婚☑没大房☑没好车☑没钱☑没工作☑没......
http://www.nixieclock.org
QQ:6626209
DIY群:145751810
离线deiwgah

发帖
1441
M币
373
专家
2
粉丝
34
只看该作者 17楼 发表于: 2011-04-19
想借鉴一下楼主的驱动
离线6sfmwd
发帖
327
M币
45
专家
2
粉丝
12
只看该作者 18楼 发表于: 2011-04-20
就改“0X0C”那么简单?
离线yanzeyuan

发帖
412
M币
1893
专家
22
粉丝
321
只看该作者 19楼 发表于: 2011-04-20
引用第22楼6sfmwd于2011-04-20 10:11发表的 :
就改“0X0C”那么简单?


IrData 是刚刚获取的遥控数据码;
void IR_Process(uchar IrData) 就是处理相应数据码对应执行的动作的函数;

所以你收到0x0C以后想做什么,就直接改相应case语句就行了。

☑男性☑80后☑已婚☑没大房☑没好车☑没钱☑没工作☑没......
http://www.nixieclock.org
QQ:6626209
DIY群:145751810