单片机红外遥控开关程序及设计

发射系统开始运行时,单片机首先调用程序里面的按键扫描子程序,按键扫描子 程序不停的扫描 16 个按键,检测是否有按键按下,无按键按下时,系统处于等待状 态;一旦有按键按下时,单片机根据按键值,然后转入发射子程序,发射子程序根据 预定的要求装入不同的脉冲个数,然后调制成 40KHz 的载波信号,通过单片机的 P3.5 口发出,为了提高抗干扰和降低能耗,经过三极管放大后然后由红外发射管想空中发射。

编码方式是采用码分编码,通过不同的脉冲个数来编码的。不同的脉冲个数代表 不同的编码,按键 0 的编码的脉冲个数是 2,按键1 是 3 个脉冲,依次类推,按键 15 是 17 个脉冲。为了接收可靠,第一位码的码宽我们设计成 3ms,其余的为 1ms,遥 控的数据帧间大于 10ms。

图 4.1 P3-5 输出口编码波形图

二、接收部分原理

系统上电初始化后,对单片机的 P3-1 口进行检测,当红外线接收管输出脉冲数 据帧时,第一位码是低电平时,单片机将启动中断程序,实时的接收数据帧,同时对 第一位码的码宽进行验证,如果第一位码的低电码宽小于 2ms 时,单片机将作为错误处理,如果间隔位高电平脉宽大于 3ms,便结束接收。然后系统根据累加器中的脉冲个数,来执行相应的程序,操作单片机的各个输出口,来控制小灯的亮灭和显示发 射端的按键值和队可控亮度小灯进行亮度控制和亮度值显示。遥控系统的编码及解码

图 4.2



 

第三节   遥控发射及接收控制程序流程图



 

一、 遥控发射控制流程图

图 4.3 遥控发射程序控制流程图

图 4.3,左边是发射部分的主程序,先进行初始化,然后执行键盘扫描。右边是 按键扫描程序,先是程序不断扫描键盘是否有按键按下,如果有按键按下,便调用发 射子程序和显示子程序。


 

图 4.4 遥控发射控制流程图
 
图 4.4 是发射过程,首先按照我们自己定义的协议,装入脉冲个数,第一个脉冲 发送的是 3ms 的脉冲,方便接收端识别,然后发1ms 脉冲,停发是 1ms 脉冲,直到 发完所有的脉冲便结束这个过程



最全单片机红外开关设计论文预览:
 

 

 



单片机源程序如下:

  1. #include "reg51.h"
  2. #include "intrins.h"              //_nop_();延时函数用
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit              remoteout=P3^5;              //  遥控输出口
  6. uchar temp,key;</
  • 25
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值