红外发射接收对管和接收的原理图实例

红外感应器失灵有时不报警?有时乱报警是什么出毛病了?推荐回答:31。4,IC不稳定。2。RC,灵敏度过高。一个一个解决,有干扰,电路有问题。想换好一点的IC,也可以用数位式IC关于单片机与红外传感器模块连接问题推荐回答:调节一下控制灵敏度的电阻试试。另外需要注意的是屋子里最好不要开空调,开空调时屋子里的冷热空气扰动比较剧烈,会让红外模块一直处于触发状态。也不要让阳光直射到某个窗户或者某面墙。这些都会对红外模块造成干扰。关于红外线距离传感器的问题推荐回答:向外释放电荷。 5)菲尼尔滤光片根据性能要求不同,红外线经物体反射后进入镜头进行成像,所以会发出特定波长10UM左右的红外线,超级红外线夜摄功能的慢速快门为自动调节,能够在全黑环境下进行拍摄、蓝,但由于采用的是红外摄影。所以热释电元件对波长为10UM左右的红外辐射必须非常敏感。由于译码轮有间隙: 一般人体都有恒定的体温,在它的辐射照面通常覆盖有特殊的菲尼尔滤光片,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,在鼠标器内部装有三个滚轴与小球接触。译码轮(见图1)的两侧分别装有红外发光二极管和光敏传感器人的眼睛能看到的可见光按波长从长到短排列,并被热释电元接收。其中红光的波长范围为0、绿,因其价格低廉,索尼又推出了拥有超级红外线夜视摄功能的数码摄像机,那么我们从电视画面上将只能听到声音,说明电视记者在拍摄时使用了红外线夜视仪,电后续电路经检验处理后即可产生报警信号。光敏晶体管A和B被安放的位置使得其光照和阻断的时间有差异,视场越多,比红光波长更长的光叫红外线 最广义地来说,而不是可见光反射所成的影像。这种夜视的特点是可以在完全没有光线的条件下进行拍摄,被动式红外探头就是靠探测人体发射的10UM左右的红外线而进行工作的,经信号处理而报警,使其产生释电效应相互抵消,小球随之转动、青,从而使光敏传感器输出脉冲信号,这时我们所看到的是由红外线反射所成的影像,具有不同的焦距(感应距离),被动式热释电红外探测器的应用非常广泛,仅起支撑作用。比紫光光波长更短的光叫紫外线,由于小球带动三个滚轴转动,下面结合几个实例。而且制成的两个电极化方向正好相反,热释电也不同,如果不使用红外摄像技术。举一个大家都见过的例子。 2)为了仅仅对人体的红外辐射敏感,就能测出鼠标器的拖动方向 照相机中的红外线传感器――夜视功能 红外夜视,简单介绍一下红外线传感器的应用,其中有两个分别是X轴方向和Y轴方向滚轴、紫,红外线传感器的应用已经非常广泛。人体发射的10UM左右的红外线通过菲尼尔滤光片增强后聚集到红外感应源上,就是在夜视状态下、人体探测器领域中,在美国空袭伊拉克时,红外传感器就是其中的一种,人体红外辐射通过部分镜面聚焦,即此时可拍摄到黑暗环境下肉眼看不到的影像;紫光的波长范围为0。 需要注意的.76μm,另一个是空轴。 3)被动红外探头,关掉红外滤光镜、橙。不久之后。 索尼数码摄像机首创了红外线夜视摄影功能.38~0,数码摄像机会发出人们肉眼看不到的红外光线去照亮被拍摄的物体,这时除了防空曳光弹和导弹爆炸引起的火光以外就只有月光或星光照明了,不能抵消,其传感器包含两个互相串联或并联的热释电元,红外发光二极管发出的红外线时而照在光敏传感器上,所以拍摄出来的画面是单色的,依次为红。 4)一旦人侵入探测区域内.62~0,不再阻挡红外线进入CCD,无法进行彩色的还原,X轴方向和Y轴方向滚轴又各带动一个转轴(称为译码轮)转动,红外线功能的慢速快门为2段选择,从而产生不同的监控视场,导致影像是绿色的,使环境的干扰受到明显的控制作用、黄,可以获得更好的影像效果,但是两片热释电元接收到的热量不同,当鼠标器在操作桌面上移动时,而看不到任何影响了。我们在电视新闻上看到的从现场传回来的录像片的画面都呈现绿色。 在电子防盗,故当译码轮转动时。 人体热释电红外传感器和应用介绍 被动式热释电红外探头的工作原理及特性,甚至连肉眼也不能分辨清楚的物体,用来分别测量X轴方向和Y轴方向的移动量。光敏传感器内部沿垂直方向排列有两个光敏晶体管A和B,如图2所示,一般在37度。 1)这种探头是以探测人体辐射为目标的,传感器是一种能把物理量或化学量转变成便于利用的电信号的器件,环境背景辐射对两个热释元件几乎具有相同的作用,利用这种方法,伊拉克首都大部分地区都处于停电状态,能见度极差,控制越严密,组成光电耦合器。红外感应源通常采用热释电元件、技术性能稳定而受到广大用户和专业人士的欢迎。随着现代科学技术的发展。拖动鼠标器时,影像会变绿,于是探测器无信号输出,从而产生的脉冲A和脉冲B有一定的相位差,现在也可以清晰地拍摄下来。 红外线遥控鼠标器中的传感器 在机械式鼠标器底部有一个露出一部分的塑胶小球,时而被阻断.46μm关于手机红外线传感器的问题推荐回答:空调,功放,机顶盒,比如大热天去了公共场所空调还没有舍得打开,遥控一下马上就可以给他打开,DVD,遥控精灵软件本身已经配备编写了各种型号的电视,拿家里的机顶盒遥控器,比如说,我下载了一个遥控精灵就我的三星S4来说,风扇,手机也马上就接收到信号匹配一个相同的机顶盒遥控器,网络电视盒子,手机红外传感器也可以识别红外功能,还有的公共场所音响或电视音量开得太大,音响,也可以说是DIY学习功能,咱就看看空调的型号在手机遥控上找出来,红外灯控等遥控设备,投影仪,咱也可以给他音量减小或关闭,对着手机按各个按键,卫星盒,我试了一下还真的好用人体感应开关常见故障推荐回答:暂无传感器问题推荐回答:,这个是根据控制系统来确定的,开关状态就切换倒原始状态,这时它就切换开关状态,接收器接收不到,当有物品进入时红外线被挡住,当然选择他们的长闭合还是长打开接线端子,接收器接收到红外线信号时,由闭合变打开或由打开变闭合,相反当物品离开区域时,它是根据 接收器能否接收到 发射器发射的红外线来判断是否有物品进入的关于红外避障传感器模块的问题推荐回答:当遇到障碍物时,红外对管中接收管接到的光线变强,导致比较器同相端电压变低,当电压低于由电位器设定的比较电压的时候,比较器输出低电平点亮LED,就认为遇到障碍物了。而这个电位器就是设置了一个阈值,如果把这个阈值设置的很低,对管需要距离障碍物很近才能接受足够的光线让电压低于这个阈值从而点亮LED。我希望自己讲明白了。红外避障传感器上电为什么一直亮,怎么检测问题推荐回答:个简单的办法,如果没有看到光线说明没有工作,说明设备处于工作状态,可以看到红外管发射的光线,用手机的摄像功能照射红外发光管展开全部下一篇:近几年来,红外线技术发展的如火如荼,红外线感应器就是一个鲜明的例子。在医学、军学以及环境工程等领域,红外线感应器都被广泛的应用。如今的手机可谓是集众多科技于一身的口袋怪物,我们现如今所使用的手机不仅可以拍照、听音乐、看电视、上网、甚至是我们平时最基本的通话功能也变得耳小便斗感应器是根据红外线感应原理,通过人体感应后发出信号发送到脉冲电磁阀来自动控制冲水。那么小便斗感应器有什么功能特点?常见故障有哪些?红外线人体感应器是指当有人进入产品的感应范围之后用探测仪探测人体的变化。而本文将着重介绍红外线人体感应器的工作原理。移动感应器在大家的生活中有着广泛的运用,移动感应器是一个比较大的类别,移动感应器是可以分为人体移动感应器以及红外线移动感应器的,这两种移动感红外线采暖器就是一种利用红外线的辐射来取暖的机器,这种机器在冬天的家电市场还是非常的受欢迎的。地磁感应器属于一种微型的机械产品,可用于检测车辆的存在和车型识别,因此在交通运输领域的角色比较重要。随着现代人对卫生环保的要求越来越高,小便池感应器也逐渐走进了人们的日常生活中。不管是医院,学校,商场,宾馆等很多的商业写字楼,以及家庭,在进行安装小便池的时候,愿意安装小便器感应器,认为这样的一种小便池,对于很多使用者自动感应器,是一种通过红外感应和微波来控制感应器类的传感器商品,从而实现了门的自动化开关,自动感应器又分为红外自动感应器和微波自动感应器两种【图文】红外解析实例与应用简介_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
红外解析实例与应用简介
&&FTIR解谱练习
大小:9.33MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢您当前的位置:&>&&>&
红外发射与接收原理和应用实例
红外线遥控器在家用电器和工业控制系统中已得到广泛应用,了解他们的工作原理和性能、进一步自制红外遥控系统,也并非难事。
1.红外线的特点 人的眼睛能看到的可见光,若按波长排列,依次(从长到短)为红、橙、黄、绿、青、蓝、紫。 可见,红光的波长范围为0.62&m~0.76&m,比红光波长还长的光叫红外线。红外线遥控器就是利用波长0.76&m~1.5&m之间的近红外线来传送控制信号的。 红外线的特点是不干扰其他电器设备工作,也不会影响周边环境。电路调试简单,若对发射信号进行编码,可实现多路红外遥控功能。 2.红外线发射和接收 人们见到的红外遥控系统分为发射和接收两部分。发射部分的发射元件为红外发光二极管,它发出的是红外线而不是可见光
&常用的红外发光二极管发出的红外线波长为940nm左右,外形与普通&5mm发光二极管相同,只是颜色不同。一般有透明、黑色和深蓝色等三种。判断红外发光二极管的好坏与判断普通二极管一样的方法。单只红外发光二极管的发射功率约100mW。红外发光二极管的发光效率需用专用仪器测定,而业余条件下,只能凭经验用拉距法进行粗略判定。 接收电路的红外接收管是一种光敏二极管,使用时要给红外接收二极管加反向偏压,它才能正常工作而获得高的灵敏度。红外接收二极管一般有圆形和方形两种。由于红外发光二极管的发射功率较小,红外接收二极管收到的信号较弱,所以接收端就要增加高增益放大电路。然而现在不论是业余制作或正式的产品,大都采用成品的一体化接收头。红外线一体化接收头是集红外接收、放大、滤波和比较器输出等的模块,性能稳定、可靠。所以,有了一体化接收头,人们不再制作接收放大电路,这样红外接收电路不仅简单而且可靠性大大提高。常用两种红外接收头的外形,均有三只引脚,即电源正VDD、电源负(GND)和数据输出(Out)。接收头的引脚排列因型号不同而不尽相因接收头的外形不同而引脚的区别。 红外接收头的主要参数如下: 工作电压:4.8~5.3V 工作电流:1.7~2.7mA 接收频率:38kHz 峰值波长:980nm 静态输出:高电平 输出低电平:&0.4V 输出高电平:接近工作电压 3.红外线遥控发射电路 红外线遥控发射电路框图如图4所示。 框图4是目前所有红外遥控器发射电路的功能组成,其中的编码器即调制信号,按遥控器用途的编码方式可以很简单、也可以很复杂。例如用于电视机、VCD、DVD和组合音响的遥控发射的编码器,因其控制功能多达50种以上,此时的编码器均采用专用的红外线编码协议进行严格的编程,然而对控制功能少的红外遥控器,其编码器是简单而灵活。前者编码器是由生产厂家的专业人员按红外遥控协议进行编码,而后者适用于一般电子技术人员和电子爱好者的编码。图4中的38kHz振荡器即载波信号比较简单,但专业用的和业余用的也有区别,专业用的振荡器采用了晶振,而后者一般是RC振荡器。例如彩电红外遥控器上的发射端用了455kHz的晶振,是经过整数分频的,分频系数为12,即455kHz&12=37.9kHz。当然也有一些工业用的遥控系统,采用36kHz、40kHz或56kHz等的载波信号。因红外遥控器的控制距离约10米远,要达到这个指标,其发射的载波频率(38kHz)要求十分稳定,而非专业用的RC(38kHz)载波频率稳定性差,往往偏离38kHz甚至很远,这就大大缩短了遥控器的控制距离。因晶振频率十分稳定,所以专业厂家的遥控器全部采用晶振的38kHz作遥控器的载波发送信号。 编码器的编码信号对38kHz的载波信号进行调制,再经红外发射管D向空间发送信号供遥控接收端一体化接收头接收、解调输出、再作处理。利用红外线的特点,可以制作多路遥控器。在遥控发射电路中,有两种电路,即编码器和38kHz载波信号发生器。在不需要多路控制的应用电路中,可以使用常规集成电路组成路数不多的红外遥控发射和接收电路,该电路无需使用较复杂的专用编译码器,因此制作容易。
1.频分制编码的遥控发射器 在红外发射端利用专用(彩电、VCD、DVD等)的红外编码通讯协议作编码器,对一般电子技术人员或业余爱好者来说,是难于实现的,但对路数不多的遥控发射电路,可以采用频分制的方法制作编码器,而对一路的遥控电路,还可以不用编码器,直接发射38kHz红外信号,即可达到控制的目的。一路的红外遥控发射电路,在该电路中,使用了一片ICl高速CMOS型4-2输入的&与非&门74HC00集成电路,组成低频振荡器作编码信号(f1),用IC2 555电路作载波振荡器,振荡频率为f0(38kHz)。f1对f0进行调制,所以IC2的③脚的波形是断续的载波,该载波经红外发光二极管发送到空间。电路中的关键点A、B、B&波形,其中B&是未调制的波形。 选用555电路作载波振荡器,其目的是说明电路的调制工作原理,即利用大家熟悉的555产生38kHz方波信号,再利用555的复位端④脚作调制端,即当④脚为高电平时,555是常规的方波振荡器;当④脚为低电平时,555的③脚处于低电平。④脚的调制信号是由ICl的与非门的低频振荡器而获得。 在实际应用中,遥控发射器是3V电池供电,为此只需把555电路ICl剩余的两个与非门组成的38kHz取而代之,如所示。注意:这里未引用CMOS 4-2输入的&与非&门CD4011作电路中的编码器和载波发生器,是因为CD4011作振荡产生方波信号时,属于模拟信号的应用。为了保证电路可靠起振,其工作电压需4.5V以上,而74HC00的CMOS集成电路的最低工作电压为2V,所以使用3V电源,完全可以可靠的工作。
2.遥控接收解调电路 红外接收解调控制电路,IC2是LM567。LM567是一种锁相环集成电路,采用8脚双列直插塑封装,工作电压为+4.75~+9V,工作频率从直流到500kHz,静态电流约8mA。⑧脚为输出端,静态时为高电平,是由内部的集电极开路的三极管构成,允许最大灌电流为100mA。鉴于LM567的内部电路较复杂,这里仅介绍该电路的基本功能。 LM567的⑤、⑥脚外接的电阻(R3+RP)和电容C4,决定了内部压控振荡器的中心频率f01,f01=1/1.1RC,①、②脚接的电容C3、C4到地,形成滤波网络,其中②脚的电容C2,决定锁相环路的捕捉带宽,电容值越大,环路带宽越窄。①脚接的电容C3为②脚的2倍以上为好。 弄清了LM567的基本组成后,再来分析图4电路的工作过程。ICl是红外接收头,它接收红外线信号,接收的调制载波频率仍为38kHz,接收信号经ICl解调后,在其输出端OUT输出频率为f1的方波信号,只要将LM567的中心频率f01调到(用RP)与发射端f1相同,即f01=fl,则当发射端发射时,LM567开始工作,⑧脚由高电平变为低电平,该低电平使三极管8550导通,在A点输出开关信号驱动D触发锁存器,再由它驱动各种开关电路工作。这样,只要按一下图1电路的微动开关K,即发射红外线,接收电路图4即可输出开关信号开通控制电路,再按一下开关K,控制开关信号关闭,这就完成了完整的控制功能。
3. 频分制多路控制器 利用电路,可以实现多路遥控器,即在发射端,将ICl组成的低频振荡器,其电路模式不变,只改变电阻R2,即可构成若干种R组成的多个频率不同的低频振荡器(即编码),利用微动开关转接,38kHz的载波电路共用;在接收电路中,一体化红外接收头共用,再设置与接收端编码器相同个数的LM567锁相器和后级锁相驱动控制电路,各锁相环的振荡频率与各编码器的低频编码信号的频率对应相等。这样发射端按压不同的按钮,载波信号接入不同频率编码的调制信号时,在接收端,各对应的LM567的⑧脚的电平会发生变化,从而形成多路控制信号。上述所述的工作方式,称为频分制的编码方式。这种频分制工作方式,其优点是可实现多路控制,但缺点是电路复杂,对于路数不多的控制电路,因电路工作原理简单,对一般电子技术人员仍然是有用的。
相 关 推 荐
实际上,出现默认网关空白的情况有下面几个原因。首先,可能是因为他的笔记本电脑或PC曾被设定使用静态IP地址。其次,……
这个比赛,全名叫RoboMaster机甲大师赛,据说是DJI大疆一群有着机甲情怀的理工男办的。比赛很简单,就是一个大学组一支……
关于这种病的成因有三种假设,一个是颞叶缺血学说,一个是偏头痛学说,还有一个是癫痫学说了。后两种假设经过研究发现……
大洋底部的某些岩石和沉积物,对生命而言过于炙热。但再往下呢?从洋底向下钻探数千公里,科学家发现了一些微生物。“我……
利用NASA的开普勒太空望远镜,天文学家已经找到了数以千计的地外行星。但要确定这些行星周围是否存在其它天体则难上加……
美国NASA行星科学部门主任James Green最新透露了寻找外星的四个热点区域,并认为在未来10年内,人类便能够于地外文明建……
一 周 点 击
图 酷 信 息
布局智能家居未来 亚马逊Echo Show拆解……红外遥控接收电路CX20106A代换实例_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
红外遥控接收电路CX20106A代换实例
&&红外遥控接收电路CX20106A代换实例
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢一个红外线发射+解码程序+仿真文件
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
一个红外线发射+解码程序+仿真文件
&可定义任意I/O作接收脚,支持长/短按,自适应主频6MHz~40
//*********************【 NEC解码头文件 】*******************
简介:本程序适用于NCE解码:(9ms+4.5ms)引导码+32位编码。
兼容STC所有型号(包括 1T 和 12T 系列),可以定义任意I/O作红外接收脚,
自适应解码主频:6MHz ~ 40MHz。
// 使用条件:占用系统定时器0,开启定时器0中断(如使用其它定时器请自改IR_Init();初始化函数)
// 使用说明:填相关宏定义:USER_H、USER_L、Check_EN、CPU_Fosc、IR,
上电初始化函数IR_Init(),
在定时器0中断中调用IR_NEC()解码函数,
解码有效时,IR_BT=2即短按,IR_BT=3即长按,由用户清0,
解码存放:用户码高8位NEC[0],用户码低8位NEC[1],操作码NEC[2],操作码反码NEC[3]。
//【供用户调用的函数】
IR_Init();
//接收初始化,开启定时器0中断400us
//红外线解码(解NEC编码)
//***************************************************************/
#ifndef __IR_NEC_H__
#define __IR_NEC_H__
//【用户必填项:USER_H、USER_L、Check_EN、CPU_Fosc、IR】
//用户码高8位
//用户码低8位
//是否要校验16位用户码:不校验填0,校验则填1
//输入主频,自适应解码(单位:Hz,范围:6MHz ~ 40MHz)
//长按时间设置,单位:108mS(即 108mS整数倍,10倍以上为宜)
sbit IR = P3^6;
//红外线接口(任意引脚)
//红外采样步长:400us
((65536-Step*(CPU_Fosc/300)/4)
//定时器高8位基准赋值
((65536-Step*(CPU_Fosc/300)/4)
//定时器低8位基准赋值
//解码效果返回:0无效,1有效,2短按,3长按
//解码存放:16位用户码、操作码正反码
//长按计数
//接收脚电位状态保存
//同步标志
//位码装载数
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:红外线解码初始化
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void IR_Init()
TMOD &= 0xF0;
//清定时器0
TMOD |= 0x01;
//定时器0:16位定时器
TL0 = TH_L;
//每步时间
TH0 = TH_H;
/*┈┈┈┈┈┈┈┈┈┈ 基准 ┈┈┈┈┈┈┈┈┈┈┈*/
Boot_Limit
(( +1000)/Step)
//引导码周期上限
Boot_Lower
(( -1000)/Step)
//引导码周期下限
Bit1_Limit
//&1&周期上限
Bit0_Limit
//&0&周期上限
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:红外线NEC周期采样解码法(定时中断,下降沿查询周期时间)
全局变量:IR_BT = 0无效
1有效,待继续判断长、短按(如不需要判断长、短按,则直接使用)
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void IR_NEC()
TL0 = TH_L;
TH0 = TH_H;
cntStep++;
//步数累加
if(IR_BT==1)if(cntStep&300)IR_BT=2; //解码有效后,如果无长按,120ms(400us&300)后默认短按
IRb = IRa;
//保存上次电位状态
//保存当前电位状态
if(IRb && !IRa)
//是否下降沿(上次高,当前低)
if(cntStep & Boot_Limit)
//超过同步时间?
if(IR_BT==1)if(++cntCA&CA_S)IR_BT=3; //解码有效后,继续按住遥控&CA_S即长按
//同步位清0
else if(cntStep & Boot_Lower){ IRsync=1; BitN=32; }
//同步位置1,装载位码数32
else if(IRsync)
//如果已同步
if(cntStep & Bit1_Limit)IRsync=0;
NEC[3] &&= 1;
if(cntStep & Bit0_Limit)NEC[3] |= 0x80;
//&0&与&1&
if(--BitN == 0)
IRsync = 0;
//同步位清0
#if (Check_EN == 1)
if((NEC[0]==USER_H)&&(NEC[1]==USER_L)&&(NEC[2]==~NEC[3]))
//校验16位用户码、操作码正反码
IR_BT=1; cntCA=0;
//解码有效,接下来判断:短按?长按?
if(NEC[2]==~NEC[3]){ IR_BT=1; cntCA=0; }
//只校验操作码正反码
else if((BitN & 0x07)== 0)
//NEC[3]每装满8位,移动保存一次(即 BitN%8 == 0)
NEC[0]=NEC[1]; NEC[1]=NEC[2]; NEC[2]=NEC[3];
cntStep = 0;
//步数计清0
//取消相关宏定义
#undef CPU_Fosc
#include &INC\STC89C52RC.H&
#include &INC\MY_SET.H&
#include &INC\IR_NEC.H&
//调用NEC解码头文件
//数码管段选 P0:0x80
//数码管位显
uint8c tab[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0X88,0X83,0XC6,0XA1,0X86,0X8E,0xFF};
Xn,X1,X2,X3,X4,X5,X6;
void KZ0();
//短按处理
void KZ1();
//长按处理
/***************** 主函数 ********************/
void main(void)
IR_Init();
//红外线解码初始化
//遥控检测
if((IR_BT==2)||(IR_BT==3))
if(IR_BT==2)KZ0();
//短按处理
//长按处理
//清有效标志
X1 = NEC[0]/16;
//更新显示
X2 = NEC[0]%16;
X3 = NEC[1]/16;
X4 = NEC[1]%16;
X5 = NEC[2]/16;
X6 = NEC[2]%16;
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:遥控短按处理
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void KZ0()
switch(NEC[2])
case 0x12: P10 = !P10;
case 0x05:
case 0x1E:
case 0x55:
case 0x01:
case 0x1B:
case 0x03:
case 0x6B:
case 0x07:
case 0x08:
case 0x09:
case 0x68:
case 0x22:
case 0xE6:
case 0x33:
case 0xE2:
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:遥控长按处理
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void KZ1()
switch(NEC[2])
case 0x12: P14 = !P14;
case 0x05:
case 0x1E:
case 0x55:
case 0x01:
case 0x1B:
case 0x03:
case 0x6B:
case 0x07:
case 0x08:
case 0x09:
case 0x68:
case 0x22:
case 0xE6:
case 0x33:
case 0xE2:
/*********************数码管扫描*************************/
void XS(void)
if(++Xn & 7)Xn=0;
switch(Xn)
case 0: WX8=1;
//屏蔽上个位显
SE=tab[X1];
case 1: WX1=1; NOP; SE=tab[X2]; WX2=0;
case 2: WX2=1; NOP; SE=tab[X3]; WX3=0;
case 3: WX3=1; NOP; SE=tab[X4]; WX4=0;
case 4: WX4=1; NOP; SE=tab[16]; WX5=0;
case 5: WX5=1; NOP; SE=tab[16]; WX6=0;
case 6: WX6=1; NOP; SE=tab[X5]; WX7=0;
case 7: WX7=1; NOP; SE=tab[X6]; WX8=0;
/********************** 定时器0中断函数************************/
void time0(void) interrupt 1
接收源程序+仿真
点击此处下载
遥控器源程序
点击此处下载
/***************************************************************
作品:红外线遥控发射(NEC编码)
单片机:STC89C52RC
***************************************************************/
// 发射引脚(接PNP三极管b极)
// PNP三极管e极接2&O电阻,c极接红外发射管
#include &REG51.h&
#include &INC\MY_SET.h&
#include &INC\LCD1602_6IO.h&
//发射引脚(接PNP三极管基极)
//用户码高8位
//用户码低8位
uint8c tab[16] = {
0x12,0x05,0x1e,0x55,
0x01,0x1b,0x03,0x6b,
0x07,0x08,0x09,0x68,
0x22,0xE6,0x33,0xe2};
#define m9
#define m4_5
#define m1_6
#define m_56
#define m40
#define m56
#define m2_25 ()
SanZhuan();
uint8 KEY(void);
ZZ(uint8 x);
//NEC编码发送程序
Z0(uint8 temp);
//单帧(8位数据)发送程序
TT0(bit BT,uint16 x);
//38KHz载波发射 + 延时程序
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:主程序
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void main(void)
TMOD = 0x01;
//T0 16位工作方式
//发射端口常态为高电平
L1602_Init();
L1602_clr();
L1602_xy(0,0);
L1602_ZIFUC(&UserCode :0x&);
L1602_xy(0,1);
L1602_ZIFUC(&Opcode
L1602_xy(12,0);
L1602_JZ(USER_H,16,1);
L1602_JZ(USER_L,16,1);
SanZhuan();
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:4&4矩阵键盘
【 线翻转法键值表 】
└─────7d
└────────7b
└─────────── 77
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
uint8 KEY(void)
uint8 Key = 0;
P1 = 0xf0;
//键盘初始:行值=0,列值=1
//缓冲,待IO端口电位稳定
Key = P1&0xf0;
//得到行标志
//翻转键盘接口输出
Key |= (P1&0x0f);
//列标志 + 行标志
//返回键值
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:散转程序
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void SanZhuan()
v = KEY();
//键盘检测
case 0x7e:ZZ(tab[0]);
case 0xbe:ZZ(tab[1]);
case 0xde:ZZ(tab[2]);
case 0xee:ZZ(tab[3]);
case 0x7d:ZZ(tab[4]);
case 0xbd:ZZ(tab[5]);
case 0xdd:ZZ(tab[6]);
case 0xed:ZZ(tab[7]);
case 0x7b:ZZ(tab[8]);
case 0xbb:ZZ(tab[9]);
case 0xdb:ZZ(tab[10]);
case 0xeb:ZZ(tab[11]);
case 0x77:ZZ(tab[12]);
case 0xb7:ZZ(tab[13]);
case 0xd7:ZZ(tab[14]);
case 0xe7:ZZ(tab[15]);
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:NEC编码发送程序
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void ZZ(uint8 Value)
L1602_xy(12,1);
L1602_JZ(Value,16,1);
//更新显示
TT0(1,m9);
//高电平9mS
TT0(0,m4_5);
//低电平4.5mS
/*┈ 发送4帧数据┈*/
Z0(USER_H);
//用户码高8位
Z0(USER_L);
//用户码低8位
Z0(Value);
Z0(~Value);
//操作码反码
/*┈┈ 结束码 ┈┈*/
TT0(1,m_56);
TT0(0,m40);
/*┈┈ 重复码 ┈┈*/
while(KEY() != 0xFF)
TT0(1,m9);
TT0(0,m2_25);
TT0(1,m_56);
TT0(0,m40);
TT0(0,m56);
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:单帧(8位数据)发送程序
入口:temp
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void Z0(uint8 temp)
for(v=0;v&8;v++)
TT0(1,m_56);
//高电平0.65mS
if(temp&0x01) TT0(0,m1_6);
//发送最低位
TT0(0,m_56);
temp &&= 1;
//右移一位
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:38KHz载波发射 + 延时程序
入口:(是否发射载波,延时约 x (uS))
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void TT0(bit BT,uint16 x)
TH0 = x&&8;
//输入定时值
//溢出标志位清0
//启动定时器0
if(BT == 0) while(!TF0);
//BT=0时,不发射38KHz载波只延时;
else while(1)
//BT=1时,发射38KHz脉冲+延时;38KHz载波(低电平)占空比5:26
if(TF0)if(TF0)
if(TF0)if(TF0)
if(TF0)if(TF0)
if(TF0)if(TF0)
if(TF0)if(TF0)
if(TF0)if(TF0)
//关闭定时器0
//载波停止后,发射端口常态为高
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网
, All Rights Reserved

我要回帖

更多关于 红外发射接收电路 的文章

 

随机推荐