案例分享:单片机红外控制发射器设计【硬之城电子元器件】
[复制链接]
功能简介
遥控操作的不同,遥控发射器通过对红外光发射频率的控制来区别不同的操作。遥控接收器通过对红外光接收频率的识别,判断出控制操作,来完成整个红外遥控发射、接收过程。 单片机红外遥控发射器设计原理单片机红外遥控发射器主要有单片机、行列式键盘、低功耗空闲方式控制电路、红外管发射电路以及单片机的一些电源、复位、震荡子电路组成。单片机不工作时一直处于低功耗状态,采用了空闲节电工作方式。当遥控器的某一按键被按下以后,外部中断1产生中断,唤醒单片机进入工作状态,查询键盘按下的是哪一个按键,当确认按键后,控制软件启动定时器T0、T1,T1作为发射时间控制器,T0作为红外线发射频率控制器,T0定时溢出时中断程序使红外管接口电平反转一次,写入定时器的初值不同,在输出端口就得到不同的发射频率。T1定时溢出时中断程序关闭关闭T0定时器,停止红外线发射 单片机红外遥控接收器设计原理单片机红外遥控接收器主要有单片机、红外遥控接收电路、状态指示电路、控制电路以及单片机的一些外围电路组成。利用单片机中的T0作为红外脉冲计数器,T1作为计数时间控制器。当电路中红外接收管接收到第一个红外脉冲时,外部中断1被触发,启动计数器T0和定时器T1。定时溢出,中断程序关闭计数器T0,读入计数值并进行判断,确定操作对象(遥控按键)对其进行反转操作,控制电路对所控制的负载进行开或关[11]。还可对接收电路实行上锁功能,对控制电路上锁后,遥控器不能对控制电路实施遥控功能。 电路图
红外发射电路图:
红外接收电路图:
程序(汇编语言)
红外遥控发射源程序清单: K0 BIT P1.0 K1 BIT P1.1 K2 BIT P1.2 K3 BIT P1.3 K4 BIT P1.4 K5 BIT P1.5 K6 BIT P1.6 K7 BIT P1.7 BZ BIT 07H K0H EQU #0FEH K1H EQU #0F9H K1L EQU #7AH K2H EQU #0FBH K2L EQU #0AAH K3H EQU #0FCH K3L EQU #0BFH K4H EQU #0FDH K4L EQU #65H K5H EQU #0FDH K5L EQU #0D4L K6H EQU #0FEH K6L EQU #24H K7H EQU #0FEH K7L EQU #5FH ORG 0000H AJMP START ORG 000BH AJMP INTT0 ORG 0013H AJMP INT1 ORG 001BH AJMP INTT1 ORG 0030H START:MOV P1,#0FFH MOV P3,#0FFH MOV TMOD,#11H SETB EX1 CLR IT1 SETB EA XH: ORL PCON,#01H JB K0,D01 ACALL DL1 JB K0,D01 JNB K0,$ ACALL SETT1 MOV R1,K0H MOV R2,K0L ACALL SETT0 JNB BZ,$ D01:JB K1,D02 ACALL DL1 JB K1,D02 JNB K1,$ ACALL SETT1 MOV R1,K1H MOV R2,K1L ACALL SETT0 JNB BZ,$ D02:JB K2,D03 ACALL DL1 JB K2,D03 JNB K2,$ ACALL SETT1 MOV R1,K2H MOV R2,K2L ACALL SETT0 JNB BZ,$ D03:JB K3,D04 ACALL DL1 JB K3,D04 JNB K3,$ ACALL SETT1 MOV R1,K3H MOV R2,K3L ACALL SETT0 JNB BZ,$ D04:JB K4,D05 ACALL DL1 JB K4,D05 JNB K4,$ ACALL SETT1 MOV R1,K4H MOV R2,K4L ACALL SETT0 JNB BZ,$ D05:JB K5,D06 ACALL DL1 JB K5,D06 JNB K5,$ ACALL SETT1 MOV R1,K5H MOV R2,K5L ACALL SETT0 JNB BZ,$ D06:JB K6,D07 ACALL DL1 JB K6,D07 JNB K6,$ ACALL SETT1 MOV R1,K6H MOV R2,K6L ACALL SETT0 JNB BZ,$ D07:JB K7,D08 ACALL DL1 JB K7,D08 JNB K7,$ ACALL SETT1 MOV R1,K7H MOV R2,K7L ACALL SETT0 JNB BZ,$ D08:AJMP XH DL1:MOV R4,#0CH DL2:MOV R5,#0FFH DL3:DJNZ R5,DL3 DJNZ R4,DL2 RET INTT0:CPL P3.4 MOV A,R1 MOV TH0,A MOV A,R2 MOV TL0,A RETI INTT1:CLR TR0 CLR ET0 CLR TR0 CLR TR1 CLR ET1 SETB BZ SETB P3.4 RETI SETT1:MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 SETB ET1 CLR BZ RET SETT0:MOV A,R1 MOV TH0,A MOV A,R2 MOV TL0,A SETB TR0 SETB ET0 RET END 红外遥控接收源程序: X0 EQU #15D X1 EQU #30D X2 EQU #45D X3 EQU #60D X4 EQU #75D X5 EQU #90D X6 EQU #105D X7 EQU #120D FZ EQU #5D SW BIT P3.2 BZ BIT 07H ORG 0000H AJMP START ORG 0013H AJMP INT1 ORG 001BH AJMP INTT1 ORG 0030H START:MOV P1,#0FFH MOV P3,#0FFH MOV SP,#60H CLR IT1 SETB EX1 MOV TMOD,#15H SETB EA XH: NOP AJMP XH INT1:CLR EX1 MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 SETB ET1 MOV TH0,#0H MOV TL0,#0H SETB TR0 RETI INTT1:CLR TR0 MOV A,TL0 MOV B,X0 JNB SW,D09 ACALL JSPD JB BZ,D01 CPL P1.0 D01:MOV B,X1 ACALL JSPD JB BZ,D02 CPL P1.1 D02:MOV B,X2 ACALL JSPD JB BZ,D03 CPL P1.2 D03:MOV B,X3 ACALL JSPD JB BZ,D04 CPL P1.3 D04:MOV B,X4 ACALL JSPD JB BZ,D05 CPL P1.4 D05:MOV B,X5 ACALL JSPD JB BZ,D06 CPL P1.5 D06:MOV B,X6 ACALL JSPD JB BZ,D07 CPL P1.6 D07:MOV B,X7 ACALL JSPD JB BZ,D09 CPL P1.7 D08:SETB EX1 RETI JSPD:PUSH ACC CLR BZ CJNE A,B,JSPD1 AJMP JSPD5 JSPD1:JC JSPD2 SUBB A,R2 AJMP JSPD3 JSPD2:MOV R1,B MOV B,A MOV A,R1 CLR C SUBB A,B JSPD3:CJNE A,FZ,JSPD4 AJMP JSPD5 JSPD4:JC,JSPD5 SETB BZ POP ACC RET JSPD5:CLR BZ POP ACC RET END
|