首页 接线图文章正文

用单片机制作红外线多路遥控器

接线图 2023年11月07日 19:01 133 admin

单片机制作红外线多路遥控器,Infra-red remote controller

红外线发射/接收控制电路均采用AT89C2051单片机来实现,电路简单,输出控制方式可选择,实用性强。
工作原理:图1为红外线发射电路原理图,K0至K7为遥控按钮,单片机P3.4端口控制红外线的发射。T1作为发射时间控制器,T0作为红外线发射频率控制器。当有按键按下时,控制软件启动定时器T0、T1, T0定时溢出,中断程序使P3.4端口状态反转一次,写入定时器的初值不同,在输出端口就可得到不同的发射频率。T1定时溢出,中断程序关闭T0定时器,停止红外线发射。程序见清单(一)。软件设计参数为:T1定时时间为100ms,K0至K7按钮所对应的红外线发射频率分别为300、600、900、1200、1500、1800、2100、2400 Hz。
图2为红外线接收及控制电路原理图,SW为控制方式选择开关:SW闭合时,单片机输出为“互锁”控制方式;非闭合时,输出控制为单路控制方式。T0为红外线脉冲计数器,T1作为计数时间控制器。接收电路中Q1接收到第一个红外线脉冲时,中断INT1被触发,启动计数器T0和定时器T1。定时溢出,中断程序关闭计数器T0,读入计数值并进行判断,确定操作对象(P1.0至P1.7),对其进行反转操作,控制电路对所控制的负载进行开或关;若SW为闭合,则同时关闭其它所有输出端口,实现了“互锁”功能。程序见清单(二)。
本文中的程序在仿真器中运行通过。利用此原理,可对控制路数进行扩展。控制路数比较多时,为缩小发射器体积,可利用组合键方法来实现,具体方法在此就不详细说明了。

用单片机制作红外线多路遥控器  第1张

一、
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 00h
k0h equ #0f1h
k0l equ #0c8h ;k0键输出频率300Hz833
k1h equ #0f8h
k1l equ #0ech ;k1键输出频率600Hz417
k2h equ #0feh
k2l equ #0eah ;k2键输出频率900Hz278
k3h equ #0ffh
k3l equ #030h ;k3键输出频率1200Hz208
k4h equ #0ffh
k4l equ #059h ;k4键输出频率1500Hz167
k5h equ #0ffh
k5l equ #075h ;k5键输出频率1800Hz139
k6h equ #0ffh
k6l equ #089h ;k6键输出频率2100Hz119
k7h equ #0ffh
k7l equ #098h ;k7键输出频率2400Hz104
ORG 0000H
aJMP START
ORG 000BH ;定时器T0入口
aJMP intt0
ORG 001bH ;定时器T1入口
aJMP intt1
org 0030h
intt0: cpl p3.4
mov a,r1
mov th0,a
mov a,r2
mov tl0,r2
reti
intt1: clr tr0
clr et0
clr tr1
clr et1
setb bz
setb p3.4
reti
start: MOV P1,#0FFH
mov p3,#0ffh
MOV TMOD,#11H ;计数器T0、T1工作在方式1
setb ea ;开所有中断
xh: jb k0,d01
acall ys
Jb k0,d01 ;k0
jnb k0,$
acall sett1
mov r1,k0h
mov r2,k0l
acall sett0
jnb bz,$
d01: jb k0,d02
acall ys
Jb k0,d02 ;k1
jnb k0,$
acall sett1
mov r1,k1h
mov r2,k1l
acall sett0
jnb bz,$
D02: jb k0,d03
acall ys
Jb k0,d03 ;k2
jnb k0,$
acall sett1
mov r1,k2h
mov r2,k2l
acall sett0
jnb bz,$
D03: jb k0,d04
acall ys
Jb k0,d04 ;k3
jnb k0,$
acall sett1
mov r1,k3h
mov r2,k3l
acall sett0
jnb bz,$
D04: jb k0,d05
acall ys
Jb k0,d05 ;k4
jnb k0,$
acall sett1
mov r1,k4h
mov r2,k4l
acall sett0
jnb bz,$
D05: jb k0,d06
acall ys
Jb k0,d06 ;k5
jnb k0,$
acall sett1
mov r1,k5h
mov r2,k5l
acall sett0
jnb bz,$
D06: jb k0,d07
acall ys
Jb k0,d07 ;k6
jnb k0,$
acall sett1
mov r1,k6h
mov r2,k6l
acall sett0
jnb bz,$
D07: jb k0,d08
acall ys
Jb k0,d08 ;k7
jnb k0,$
acall sett1
mov r1,k7h
mov r2,k7l
acall sett0
jnb bz,$
d08: ajmp xh
ys: mov r5,#80h
ys1: djnz r5,ys1
ret
sett1: MOV TH1,#3ch ;定时时间约为100ms
MOV TL1,#0b0h
setb tr1 ;启动T1计时
setb et1 ;允许T1中断
clr bz
ret
sett0: MOV TH0,r1
MOV TL0,r2
setb tr0
setb et0
ret
end

接收部分-----见下一页面

下一页

版权与免责声明

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

标签: 单片机制作红外线多路遥控器

发表评论

接线图网Copyright Your WebSite.Some Rights Reserved. 备案号:桂ICP备2022002688号-2 接线图网版权所有 联系作者QQ:360888349