红外模块 51单片机
红外线 波长0.76~1.5um
为将信号发送出去,经常会将二进制数据信号调制成脉冲信号,通过红外发射管发射。常用的有脉冲宽度调制(PWM)和脉冲位置调制(PPM)。
选择合适的红外接收设备(即知道红外遥控器的编码方式和载波频率),选取一体化红外接收头和指定阶码方案。
传输的数据格式:
数据格式包括引导码、用户码、数据码和数据反码,共32位。区分每位的0和1时利用脉冲的时间间隔来区别,即PPM。
以下为在ATM89C52上的执行代码。
出红外模块外,还调用了数码管模块。
此处用到了74HC138译码器和74HC245总线收发器。
#include "reg52.h"typedef unsigned int uint;
typedef unsigned char uchar;sbit LSA = P2^2; //数码管选通端
sbit LSB = P2^3; //数码管选通端
sbit LSC = P2^4; //数码管选通端sbit IRIN = P3^2; //红外数据传输端uchar IrValue[6];
uchar Time;uchar DisplayData[8];
uchar code smgduan[17] = {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0X76}; //0~F、Hvoid delay(uint i)
{while (i--);
}void DigDisplay()
{uchar i;for(i=0;i<3;i++){switch(i){case(0):LSA=0;LSB=0;LSC=0;break;case(1):LSA=1;LSB=0;LSC=0;break;case(2):LSA=0;LSB=1;LSC=0;break;}P0=DisplayData[2-i];delay(100);P0=0x00;}
}void IrInit()
{IT0=1; //下降沿触发EX0=1; //打开中断0允许EA=1; //打开总中断IRIN=1; //初始化端口
}void ReadIr() interrupt 0
{uchar j,k;uint err;Time = 0;delay(700);if(IRIN==0){err=1000; //等待10mswhile((IRIN==0)&&(err>0)){delay(1);err--;}if(IRIN==1){err=500; //等待5mswhile((IRIN==1)&&(err>0)){delay(1);err--;}for(k=0;k<4;k++){for(j=0;j<8;j++){err=60;while((IRIN==0)&&(err>0)){delay(1);err--;}err = 500;while((IRIN==1)&&(err>0)){delay(10); //100为1msTime++;err--;if(Time>30){return;} }IrValue[k]>>=1;if(Time>=8){IrValue[k]|=0x80;}Time=0; }}}if(IrValue[2]!=~IrValue[3]){return;}}
}void main()
{IrInit();while(1){DisplayData[0] = smgduan[IrValue[2]/16];DisplayData[1] = smgduan[IrValue[2]%16];DisplayData[2] = smgduan[16];}
}
红外模块 51单片机相关推荐
- 红外测距模块 51单片机_[51单片机] HC-SR04超声波测距仪
1.HC-SR04超声波模块工作原理 (1)采用IO口触发测距,给至少10us高电平脉冲: (2)模块自动发送八个40khz方波,并自主检测是否有电波返回: (3)当有信号返回时,通过IO口输出一个高 ...
- 51单片机红外通信及控制LED灯(LCD1602显示)
51单片机红外通信及控制LED灯(LCD1602显示) 大家好,又和大家见面了,离上一次DS18B20传感器的文章已经过去了一个星期了,这期我将给大家带来,基于STC89C52芯片和HS0038红外接 ...
- 小白系列之51单片机的入门速成法
51单片机的入门速成法 01-经典51内核资源全览浓缩图 02-重要外设特殊功能寄存器概览 03-程序开发流程与设计要点 04-三大外设的开发与可重用代码 05-应用程序设计入门一例通 01-经典51 ...
- 51单片机红外电子密码锁【红外对管矩阵键盘数码管LCD1602显示模块】
系统功能 51单片机红外电子密码锁系统主要由红外线编码电路.红外线解码开锁电路.掉电保护电路.声光提示报警电路.键盘及显示电路等组成,编写相应的程序代码并进行结果测试和仿真演示. 利用红外遥控技术和单 ...
- Proteus8仿真:51单片机IrLink红外发送加接受模块的使用
51单片机IrLink红外的使用 元器件 原理图部分 代码 单片机1发送main.c 单片机2接受main.c 工程文件 注意:本篇的密码接受有问题,不够仍然可以使用,想优化可以看我最新文章:最新优化 ...
- 详细介绍如何从零开始制作51单片机控制的智能小车(二)———超声波模块、漫反射光电管、4路红外传感器的介绍和使用
我会通过本系列文章,详细介绍如何从零开始用51单片机去实现智能小车的控制,在本系列的上一篇文章中介绍了如何让小车动起来,本文作为本系列的第二篇文章,主要介绍让小车实现自动避障所涉及的一些传感器, ...
- 51单片机红外模块学习,必会解读
这篇文章是我学习红外模块的时候的一些心得和体会,并附带个人对于这块的理解,希望能够对大家有帮助. 首先一点的就是红外发射信号后,单片机上接受数据部分 这是常见的接收模块,负责接受发射出的调制波,还有整 ...
- AutoLeaders控制组——51单片机学习笔记(AD/DA、红外遥控)
本篇内容是观看B站江科大自化协UP主的教学视频所做的笔记,对其中内容有所引用,并结合自己的单片机板块进行了更改调整. 以下笔记内容以一个视频为一个片段(内容较多,可能不适合速食,望见谅) 一些内容涉及 ...
- 51单片机-蓝牙遥控红外循迹小车-代码+硬件连接
2021/04/28-更新工具的连接 ----------------------------------------- 前几天弄了个基于51芯片的蓝牙红外小车,因为是新手也没有人教,网上的资料也不够 ...
最新文章
- 如何实现显示超过10个字符就显示省略号?
- 怎么快速学好php,学习编程的快速高效方法
- 环境调试: RuntimeWarning: Couldn‘t find ffmpeg or avconv - defaulting to ffmpeg, but may not work warn(“
- hdu1728 广搜
- 第八届蓝桥杯决赛 图书排列
- Session 和 Cookie 的区别与联系
- 程序员的职业素养文摘
- Winform GDI+ 绘图
- 合并压缩JavaScript,开发发布两不误
- IT运维管理必备工具大全,看完还敢称自己是高手吗?
- 树莓派搭建局域网内的静态网页
- JAVAWeb项目 微型商城项目-------(二)数据库设计
- Keras实现text classification文本二分类
- Socket编程模型之完成端口模型
- MAC下面安装使用Nginx_飘云羽逸_新浪博客
- 外汇EA网格交易策略
- 台式计算机识别不了鼠标,USB无线鼠标失灵电脑检测不到无法识别怎么办
- npm run tsc报错 (声明文件报错||tsc.js报错)
- 软件项目管理作业(一)
- 基于Springboot的漫画之家管理系统