问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

大家给个红外的简易电路

发布网友 发布时间:2022-05-01 06:46

我来回答

2个回答

热心网友 时间:2022-06-25 17:23

下面是我曾经做过的一个电路设计,看你用得上不? 用红外线遥控电机转速哦,对了,还给把发射电路给忘掉了,这次补上,再把单片机程序也送上!



单片机程序:接收程序:;******************************;接收控制系统软件程序;******************************;;******************************;主程序和中断程序入口;****************************** ORG 0000H ;复位地址 LJMP START ORG 0003H ;外中断0中断入口地址 LJMP INT0SERVE ORG 000BH ;定时器T0中断入口地址 RETI ORG 0013H ;外中断1中断入口地址 RETI ORG 001BH ;定时器T1中断入口地址 LJMP T1SERVE ORG 0023H ;串行口中断入口地址 RETI ORG 002BH ;定时器T2中断入口地址 RETI; `;******************************;主程序;******************************START: MOV SP,#60H ;设堆栈 LCALL CLEAR ;调初始化程序 NOPMAIN: JB P2.0,MAIN ;50Hz交流电过零检测等待 LCALL DELAYXUS ;调用延时子程序即控制导通角 CLR P2.7 ;发开导通角脉冲 LCALL DELAY256US ;延时256μs SETB P2.7 ;关脉冲 LJMP MAIN NOP NOP LJMP START ;设置软件陷阱;;******************************;初始化程序;******************************CLEAR: MOV A,#0FFH MOV P0,A ;P1~P3口置位 MOV P1,A MOV P2,A MOV P3,A MOV B,#26H ;设置导通角为零的延时值 MOV P1,#0FEH SETB 50H ;默认设置电机为停标志位 SETB P2.7 MOV IE,#00H ;关总中断 CLR RS0 ;设当前工作区为0区 CLR RS1 MOV IP,#01H ;设优先级 SETB EX0 ;开外中断0 SETB IT0 MOV TMOD,#10H MOV TH1,#3CH ;开定时器1 MOV TL1,#0B0H SETB ET1 SETB TR1 MOV R7,#0AH SETB EA ;开总中断 RET;;******************************;外部中断0服务程序;******************************INT0SERVE: CLR EX0 ;关外中断0 JNB P3.1,INT0SERVE1 ;确认中断INT0RET: SETB EX0 ;开外中断0,返回 RETIINT0SERVE1: CLR A MOV DPH,A ;清DPTR MOV DPL,AINT0SERVE2: JB P3.1,INT0SERVE3 ;用DPTR对第一个低电平计时 INC DPTR NOP NOP AJMP INT0SERVE2 ;循环周期是8μsINT0SERVE3: MOV A,DPH ;DPTR的高8位放入A中 JZ INT0RET ;不为0,说明DPL有进位则8μs×255=2ms, ;即是第一个脉冲。为0,说明内小于2ms是一干扰 CLR AINT0SERVE4: INC A ;脉冲个数加1INT0SERVE5: JNB P3.1,INT0SERVE5 ;等待低电平 MOV R1,#06H ;帧间高电平宽度判断定时值,即一帧结束的判断INT0SERVE6: JNB P3.1,INT0SERVE4 ;低电平时转脉冲个数加1 LCALL DELAY513US ;延时513μs DJNZ R1,INT0SERVE6 DEC A ;超过3ms判定为一帧结束 DEC A JZ FUNCTION0 ;为0则转功能0 DEC A JZ FUNCTION1 ;为0则转功能1 DEC A JZ FUNCTION2 ;为0则转功能2 DEC A JZ FUNCTION3 ;为0则转功能3 DEC A JZ FUNCTION4 ;为0则转功能4 DEC A JZ FUNCTION5 ;为0则转功能5 NOP NOP LJMP INT0RET ;返回FUNCTION0: JB 50H,FUNCTION01 MOV B,#16H ;功能0操作3档转速 MOV P1,#0EDHFUNCTION01: NOP NOP LJMP INT0RET ;返回FUNCTION1: JB 50H,FUNCTION11 MOV B,#1CH ;功能操作1档转速 MOV P1,#0F9HFUNCTION11: NOP NOP LJMP INT0RET ;返回FUNCTION2: JB 50H,FUNCTION21 MOV B,#12H ;功能2操作4档转速 MOV P1,#0DDHFUNCTION21: NOP NOP LJMP INT0RET ;返回FUNCTION3: JB 50H,FUNCTION31 MOV B,#19H ;功能3操作3档转速 MOV P1,#0F5HFUNCTION31: NOP NOP LJMP INT0RET ;返回FUNCTION4: JB 50H,FUNCTION41 MOV B,#0EH ;功能4操作5档转速 MOV P1,#0BDHFUNCTION41: NOP LJMP INT0RET ;返回FUNCTION5: JB 50H,FUNCTION51 ;功能5操作电机启/停操作 SETB 50H MOV B,#26H MOV P1,#0FEH AJMP FUNCTION52FUNCTION51: CLR 50H MOV B,#1CH MOV P1,#0F9HFUNCTION52: NOP NOP LJMP INT0RET;;****************************************;控制导通角延时程序;****************************************DELAYXUS: MOV R2,BDELAYXUS1: LCALL DELAY256US DJNZ R2,DELAYXUS1 RET;;****************************************;闪烁调节,定计1中断服务程序;****************************************T1SERVE: CLR TR1 CLR ET1 DJNZ R7,T1SERVERET MOV R7,#0AH JB 50H,T1SERVE1 CPL P1.1 AJMP T1SERVERETT1SERVE1: CPL P1.0T1SERVERET: MOV TH1,#3CH MOV TL1,#0B0H SETB ET1 SETB TR1 RETI;;****************************************;延时256μs程序;****************************************DELAY256US: MOV R4,#126DELAY256US1: DJNZ R4,DELAY256US1 RET;;****************************************;延时513μs程序;****************************************DELAY513US: MOV R5,#254DELAY513US1: DJNZ R4,DELAY513US1 RET END发射程序:;遥控系统软件程序;;*****************************;主程序和中断程序入口;*****************************;org 0000H ;复位地址ljmp startorg 0003h ;外中断0中断入口地址reti org 000BH ;定时器T0中断入口地址retiorg 0013h ;外中断1中断入口地址ljmp int1serve org 001Bh ;定时器T1中断入口地址ljmp T1SERVEorg 0023h ;串行中断入口地址retiorg 002Bh ;定时器T2中断入口地址reti;;*****************************;初始化程序;*****************************clear: MOV P1,#0FFH ;P1,P3口置位 MOV P3,#0FFH CLR P3.5 ;关遥控输出 MOV SP,#70H ;设堆栈 MOV IE,#00H ;关总中断 MOV IP,#04H ;设优先级 MOV TMOD,#20H ;设定时器2自动重装模式 MOV TH1,#0F3H ;定时13μs MOV TL1,#0F3H SETB EX1 ;开外中断1 SETB IT1 SETB EA ;开总中断 RET;;*****************************;主程序;*****************************START: LCALL CLEAR ;调试初始化程序MAIN: LCALL KEYWORDK ;调键盘程序 ORL PCON,#01H ;进入低功耗待机状态 LJMP MAIN NOP NOP ;设置软件陷阱 NOP LJMP START;;*****************************;外部中断1服务程序;*****************************INT1SERVE: CLR IE1 ANL PCON,#00H ;触发待机状态苏醒 RETI;;*****************************;定时/计数1溢出中断服务程序;*****************************T1SERVE: CPL P3.5 ;高频调制 RETI NOP ;设置软件陷阱 NOP NOP LJMP START;;*****************************;键盘程序;*****************************KEYWORDK: MOV P1,#0FFH ;置列线 CLR P3.7 ;清行线 MOV A,P1 MOV B,A CJNE A,#0FFH,KEY1 ;有键按下则不转移KEYWORDKOUT: NOP NOP RET ;键盘程序返回KEY1: LCALL DELAY5MS ;延时消抖 MOV A,P1 CJNE A,B,KEYWORDKOUT ;确认键按下 MOV DPTR,#KEYWORDKTAB1 MOV B,A ;查列号 CLR A MOV R0,AKEY2: MOV A,R0 SUBB A,#80H JNC KEYWORDKOUT MOV A,R0 MOVC A,@A+DPTR INC R0 CJNE A,B,KEY2 DEC R0 MOV A,R0 ;键号放入A MOV B,A ;键号乘3处理LJMP散转指令 ADD A,B ADD A,B MOV DPTR,#KEYWORDKTAB2 JMP @A+DPTRKEYWORDKTAB2: LJMP FUNCATION0 LJMP FUNCATION1 LJMP FUNCATION2 LJMP FUNCATION3 LJMP FUNCATION4 LJMP FUNCATION5 RETKEYWORDKTAB1: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7EH RET;;*************************;发脉冲程序;*************************FUNCATION0: MOV A,#02H ;脉冲个数装载 LJMP SEND ;转发射程序 RETFUNCATION1: MOV A,#03H LJMP SEND RETFUNCATION2: MOV A,#04H LJMP SEND RETFUNCATION3: MOV A,#05H LJMP SEND RETFUNCATION4: MOV A,#06H LJMP SEND RETFUNCATION5: MOV A,#07H LJMP SEND RET NOP NOP NOP LJMP START;;************************;编码发射程序;************************SEND: MOV R1,A ;装入发射脉冲个数SEND0: MOV R0,#0FAH ;第一个码250×0.012ms=3ms AJMP SEND2SEND1: MOV R0,#53H ;中间码83×0.012ms=1msSEND2: SETB ET1 ;开高频定时中断调制 SETB TR1 NOP NOP NOP NOP NOP NOP NOP NOP DJNZ R0,SEND2 MOV R0,#64H ;码距100×0.002ms=1msSENDOUT: CLR TR1 ;关高频定时调制 CLR ET1 CLR P3.5 NOP NOP NOP NOP NOP DJNZ R0,SENDOUT DJNZ R1,SEND1 ;脉冲数还有则再循环再发 CLR P3.0 ;开工作指示灯 LCALL DELAY500MS ;帧距 SETB P3.0 ;关工作指示灯 RET NOP ;设置软件陷阱 NOP NOP LJMP START;;************************;延时5ms程序;************************DELAY5MS: MOV R7,#45DELAY5MS1: MOV R6,#554DELAY5MS2: DJNZ R6,DELAY5MS2 DJNZ R7,DELAY5MS1 RET NOP ;设置软件陷阱 NOP NOP LJMP START;;************************;延时10ms程序;************************DELAY10MS: MOV R4,#90DELAY10MS1: MOV R3,#54DELAY10MS2: DJNZ R3,DELAY10MS2 DJNZ R4,DELAY10MS1 NOP NOP NOP NOP NOP RET NOP ;设置软件陷阱 NOP NOP LJMP START;;************************;延时500ms程序;************************DELAY500MS: MOV R5,#50DELAY500MS1: LCALL DELAY10MS DJNZ R5,DELAY500MS1 RET NOP ;设置软件陷阱 NOP NOP LJMP START END

参考资料:http://hiphotos.baidu.com/olpc2008/pic/item/3bd91df262be47dc0b46e000.jpg

热心网友 时间:2022-06-25 17:24

http://827028918.qzone.qq.com
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么车险可以分期花呗 请问“有几个虫子怕什么"改为陈述句是"有几个虫子不可怕"。为什么要加... 一只狼身边有一只羊为什么狼不吃羊? 路边有一只羊,过来一只狼,却没有吃羊,为什么? ...有没有一个厂叫【福高】厂的,是做电子产品的。。3Q 明道冒险王百度云如何下载 冒险王2cps联系谁? 350分到400分的二本大学 廊坊高考400分能上什么学校 河北2023年高考400分左右能上什么大学 红外对管电路的红外对管电路连接图 光电实验红外发射和接收电路设计中接收电路中解调电路应如何设计? 《裸族的新娘》求百度云资源不要压缩包,最好是汉化的QAQ拜托啦 请问裸族的新娘密码是什么? 芝兰慧心 是成语吗? 5个成语,带解释和造句,要难度较高的 第二个字有“鱼”的四个字成语有哪些? 水里一条金鱼上面有个硬骨头一个人背着手臭打一成语是什么? 鲍鱼之肆造句 为什么对方的微信,别人推荐名片就加得了,搜就加不了呢? 陌生微信好友发了一个微信名片叫我添加 会是病毒吗 是不是诈骗的? 什么软件能让几十张图做自动播放的图片(像56照片视频那样的一张一张播放) 如何自动播放图片 怎么让电脑桌面自动播放图片 电脑有什么软件可以自动播放图片的?不是桌面壁纸 马云团队里面的CFO 是谁? 西瓜红衬衣搭配什么马甲好看 衬衣加外搭大款马甲怎么搭配裤子 格子衬衫如何搭配马甲 格子衬衫搭配马甲好看吗 红外遥控技术的原理及应用 红外发射电路为什么调制?调制有什么好处? 红外线接收头3800引脚功能 中国的大学生有什么好的研究成果吗? 在校学生学术研究成果的知识产权是属于学校还是属于学生? 大学生课题研究的成果形式可以是发明创造吗? 西北农林科技大学风景园林艺术学院有哪些科研成果? 霍夫曼指导他的学生柏琴取得了怎样的科研成果? 麦客存储目前一个月盈利1亿吗? 研究生期间的所作的研究成果归导师所有还是归学生所有? 形声字10个? 给学生讲述科研经历能让学生有什么收获? 当年科大少年班学生现在有重大科研成果吗? 为何大多数研究生导师可以一眼看出学生是否具备科研潜力? 大学生科研立项有什么好处? 十个形声字并写出每个字的意思? 比较好的3D模型网站有哪些? 在线学习游戏建模平台那个好? 形声字有什么特点,并写出10以上的形声字并说说这些字的形旁和声旁? 衣服上留下的黄色汗渍怎样去除