• 赞助网站
  • 您的位置:  首页 >> 技术交流区 >> MCU技术 >> 用STC15F104E制作学习型1路红外遥控开关
    用STC15F104E制作学习型1路红外遥控开关
    2012年03月04日 点击: 编辑: lbq691477940
    [audio08]
    /********************************************************************
      STC15F104学习型1路红外遥控开灯座
    通电后灯泡点亮约5s作为来电告知后自动熄灭运行指示灯开始闪烁,按动按钮开关一次则灯泡也开/关一次
    遥控码学习操作方法有以下二种: (如果想取消学习则在LED长亮时按一次SW按钮开关即可,或等30s自动退出)
    1.长按按钮开关约5s以上待运行指示灯由原来的灭状态变为长亮时,再松开按钮则已进入键值遥控学习
      状态,把遥控器对准红外接收头后,按下红外线遥控器想要用来控制的键LED熄灭或闪烁即已完成学习
    2.把遥控器对准红外接收头后长按遥控器上的按键不放约10秒以上待LED指示灯由原来的灭状态变为
      长亮时再松开按钮后,再按下红外线遥控器想要用来控制的键LED熄灭或闪烁即已完成学习过程。
    P3.2 = 红外一体化接收头接(INT0)
    P3.3 = 按钮开关低电平有效
      P3.3/INT1/RSTOUT_LOW 作为SW时要留意上电后,输出低电平,在复位期间也是输出低电平,
      用户可用软件将其设置为高电平或低电平,如果要读外部状态,可将该口先置高后再读
    P3.4 = OUT控制高电平有效接NPN型三极管驱动继电器
    P3.5 = 指示灯:待机时闪烁 + 学习时(长亮) + 灯泡点亮时熄灭
    遥控器: 家庭常用的遥控器
    CPU: 只能用STC15F104E或兼容芯片
    下载上位机软件:STC-ISP-15XX-V1.06下载程序时将振荡设为11.0592MHZ/12MHZ 不用外接晶体即可。
    #   G.1 A版本的外部中断有时会异常,B版本的外部中断可正常使用
    现有A版本的外部中断有时会异常,建议不要使用,可用定时器/计时器T0/T1的
    外部计数方式代替,或用查询方式代替,如常见红外遥控解码就无需用外部中断,
    使用定时器/计数器就够了。
    现有A版本的中断除外部中断不能使用外,其他的中断都是正确的,如定时器/计数器
    中断、低压检测中断等都可以正常使用。
    # STC15F104E定时器/计数器0有4种工作模式:模式0(16位自动重装),建议只学习此模式足矣
    模式0(16位自动重装模式)
    模式1(16位定时器/计数器模式)
    模式2(8位自动重装模式)
    模式3(两个8位定时器/计数器)
    定时器/计数器1除模式3外,其他工作模式与定时器/计数器0相同,T1在模式3时无效,停止计数。
    故选用模式0在中断函数里不用再赋初值。
    # 由于A版本的15F104E外部中断本身有问题故本程序改为查询方式来进行解码
    并且设置定时器0&1都为工作方式0(16位自动重载模式)
    程序设计:LBQ691477940   2011-12-01   0:10
    **********************************************************************/
    赞助网站 | 关于我们 | 版权声明 | 站点导航 | 收藏本站 | 设为首页