集成资料整理.docx
《集成资料整理.docx》由会员分享,可在线阅读,更多相关《集成资料整理.docx(12页珍藏版)》请在冰豆网上搜索。
集成资料整理
用单片机制作红外线多路遥控器
红外线发射/接收控制电路均采用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、2400Hz。
图2为红外线接收及控制电路原理图,SW为控制方式选择开关:
SW闭合时,单片机输出为“互锁”控制方式;非闭合时,输出控制为单路控制方式。
T0为红外线脉冲计数器,T1作为计数时间控制器。
接收电路中Q1接收到第一个红外线脉冲时,中断INT1被触发,启动计数器T0和定时器T1。
定时溢出,中断程序关闭计数器T0,读入计数值并进行判断,确定操作对象(P1.0至P1.7),对其进行反转操作,控制电路对所控制的负载进行开或关;若SW为闭合,则同时关闭其它所有输出端口,实现了“互锁”功能。
程序见清单
(二)。
本文中的程序在仿真器中运行通过。
利用此原理,可对控制路数进行扩展。
控制路数比较多时,为缩小发射器体积,可利用组合键方法来实现,具体方法在此就不详细说明了。
一、
k0BITP1.0
k1BITP1.1
k2BITP1.2
k3BITP1.3
k4BITP1.4
k5BITP1.5
k6BITP1.6
k7BITP1.7
bzbit00h
k0hequ#0f1h
k0lequ#0c8h;k0键输出频率300Hz833
k1hequ#0f8h
k1lequ#0ech;k1键输出频率600Hz417
k2hequ#0feh
k2lequ#0eah;k2键输出频率900Hz278
k3hequ#0ffh
k3lequ#030h;k3键输出频率1200Hz208
k4hequ#0ffh
k4lequ#059h;k4键输出频率1500Hz167
k5hequ#0ffh
k5lequ#075h;k5键输出频率1800Hz139
k6hequ#0ffh
k6lequ#089h;k6键输出频率2100Hz119
k7hequ#0ffh
k7lequ#098h;k7键输出频率2400Hz104
ORG0000H
aJMPSTART
ORG000BH;定时器T0入口
aJMPintt0
ORG001bH;定时器T1入口
aJMPintt1
org0030h
intt0:
cplp3.4
mova,r1
movth0,a
mova,r2
movtl0,r2
reti
intt1:
clrtr0
clret0
clrtr1
clret1
setbbz
setbp3.4
reti
start:
MOVP1,#0FFH
movp3,#0ffh
MOVTMOD,#11H;计数器T0、T1工作在方式1
setbea;开所有中断
xh:
jbk0,d01
acallys
Jbk0,d01;k0
jnbk0,$
acallsett1
movr1,k0h
movr2,k0l
acallsett0
jnbbz,$
d01:
jbk0,d02
acallys
Jbk0,d02;k1
jnbk0,$
acallsett1
movr1,k1h
movr2,k1l
acallsett0
jnbbz,$
D02:
jbk0,d03
acallys
Jbk0,d03;k2
jnbk0,$
acallsett1
movr1,k2h
movr2,k2l
acallsett0
jnbbz,$
D03:
jbk0,d04
acallys
Jbk0,d04;k3
jnbk0,$
acallsett1
movr1,k3h
movr2,k3l
acallsett0
jnbbz,$
D04:
jbk0,d05
acallys
Jbk0,d05;k4
jnbk0,$
acallsett1
movr1,k4h
movr2,k4l
acallsett0
jnbbz,$
D05:
jbk0,d06
acallys
Jbk0,d06;k5
jnbk0,$
acallsett1
movr1,k5h
movr2,k5l
acallsett0
jnbbz,$
D06:
jbk0,d07
acallys
Jbk0,d07;k6
jnbk0,$
acallsett1
movr1,k6h
movr2,k6l
acallsett0
jnbbz,$
D07:
jbk0,d08
acallys
Jbk0,d08;k7
jnbk0,$
acallsett1
movr1,k7h
movr2,k7l
acallsett0
jnbbz,$
d08:
ajmpxh
ys:
movr5,#80h
ys1:
djnzr5,ys1
ret
sett1:
MOVTH1,#3ch;定时时间约为100ms
MOVTL1,#0b0h
setbtr1;启动T1计时
setbet1;允许T1中断
clrbz
ret
sett0:
MOVTH0,r1
MOVTL0,r2
setbtr0
setbet0
ret
end
二、
x0equ#30
x1equ#60
x2equ#90
x3equ#120
x4equ#150
x5equ#180
x6equ#210
x7equ#240
fzequ#10
swbitp3.2
bzbit00h
ORG0000H
aJMPSTART
ORG0013H;int1入口
aJMPint1
ORG001bH;定时器T1入口
aJMPintt1
org0030h
int1:
clrex1
MOVTH1,#3ch;定时时间约为100ms
MOVTL1,#0b0h
setbtr1;启动T1计时
setbet1;允许T1中断
movth0,#0
movtl0,#0
setbtr0
reti
intt1:
clrtr0
mova,tl0
movb,x0
acalljspd
jbbz,d01
cplp1.0
jbswd01
mova,p1
orla,#0feH
movp1,a
ajmpd09
d01:
movb,x1
acalljspd
jbbz,d02
cplp1.1
jbswd02
mova,p1
orla,#0fdH
movp1,a
ajmpd09
d02:
movb,x2
acalljspd
jbbz,d03
cplp1.2
jbswd03
mova,p1
orla,#0fbH
movp1,a
ajmpd09
d03:
movb,x3
acalljspd
jbbz,d04
cplp1.3
jbswd04
mova,p1
orla,#07H
movp1,a
ajmpd09
d04:
movb,x4
acalljspd
jbbz,d05
cplp1.4
jbswd05
mova,p1
orla,#0efH
movp1,a
ajmpd09
d05:
movb,x5
acalljspd
jbbz,d06
cplp1.5
jbswd06
mova,p1
orla,#0dfH
movp1,a
ajmpd09
d06:
movb,x6
acalljspd
jbbz,d07
cplp1.6
jbswd07
mova,p1
orla,#0bfH
movp1,a
ajmpd09
d07:
movb,x7
acalljspd
jbbz,d09
cplp1.7
jbswd09
mova,p1
orla,#7fH
movp1,a
d09:
setbex1
reti
jspd:
pushacc
clrbz
cjnea,b,jspd1
ajmpjspd5
jspd1:
jcjspd2
subba,r2
ajmpjspd3
jspd2:
movr1,b
movb,a
mova,r1
clrc
subba,b
jspd3:
cjnea,fz,jspd4
ajmpjspd5
jspd4:
jcjspd5
setbbz
popacc
ret
jspd5:
clrbz
popacc
ret
start:
MOVP1,#0FFH
movp3,#0ffh
clrit1;int1中断为电平触发
SETBEX1;允许int1中断
MOVTMOD,#15H;设置T0为计数方式、T1为计时方式1
setbea;开所有中断
xh:
nop
ajmpxh
end
AT89C2051
at89c2051是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内含2kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大at89c2051单片机可为您提供许多高性价比的应用场合。
程序保密
89C2051设计有2个程序保密位,保密位1被编程之后,程序存储器不能再被编程除非做一次擦除,保密位2被编程之后,程序不能被读出。
软硬件的开发
89C2051可以采用下面2种方法开发应用系统。
(1)由于89C2051内部程序存贮器为Flash,所以修改它内部的程序十分方便快捷,只要配备一个可以编程89C2051的编程器即可。
调试人员可以采用程序编辑-编译-固化-插到电路板中试验这样反复循环的方法,对于熟练的MCS-51程序员来说,这种调试方法并不十分困难。
当做这种调试不能够了解片内RAM的内容和程序的走向等有关信息。
(2)将普通8031/80C31仿真器的仿真插头中P1.0~P1.7和P3.0~P3.6引出来仿真205T,这种方法可以运用单步、断点的调试方法,但是仿真不够真实,比如,2051的内部模拟比较器功能,P1口、P3口的增强下拉能力等等。
主要性能:
.和MCS-51产品兼容;
.2KB可重编程FLASH存储器(1000次);
.2.7-6V电压范围;
.全静态工作:
0Hz-24KHz
.2级程序存储器保密锁定
.128*8位内部RAM
.15条可编程I/O线
.两个16位定时器/计数器
.6个中断源
.可编程串行通道
最
简单的红外发射接受装置
图2-97是线发射机的电路图。
由图可见,它是用较少元件组成的多谐振荡电路,输出频率由R2(100KΩ可调电阻)控制
。
这些元件使输出信号的占空比值约为1:
1。
换句话说,红外发射二极管的导通时间大约等于关断时间。
电阻R4控制着PH303发射二极管的输出电流,并且把这电流调在稍低于100mA。
由于PH303二极管有50%的时间是断电,所以
二极管平均电流低于50mA。
图2-98是接收机电路图,PH302为红外线接收二极管,它以反向偏压的方式工作,由R1提供反向偏压,通常,流经PH302的
电流只是微弱的电流。
不过,每逢它接收到来自发射机的每个红外辐射脉冲时,就有一个增强电流的脉冲流经该电路。
这个脉冲
就在R1和PH302的连接点产生小电压脉冲,然后由C2耦合到第一级放大器的输入端。
事实上,当使用遥控系统,距离、范围接近最大界限时,电压脉冲几乎峰至峰(Vp-p)值低于1mV。
故此,需要有相当大的
放大倍数,才可把信号电平提升到可以控制继电器的水平。
全部都属共射极放大器、VT1、VT2、VT3提供超过40dB的电压增益,VT2只有较低的增益,这是因R0引入了负回路之故。
信号经VT2放大后,输出信号经二极管VD1、VD2整流,并由C5平滑而产生DC(直流)信号,使VT3导通。
选择元件时,关键是红外线发射、接收二极管。
发射管PH303有窄角度和广角度两种规格:
窄角度红外线发射二极管指其管
芯制作时反射锥体(抛物面)角度很小,但它有很强的方向性,作用距离也较远;反之,宽(广)角度红外发射二极管作用距离
较近,但作用面积较大。
其他元件按图示选用即可。
调试比较简单,两机同时通电后,按下发射机控制开关S键,电路起振工作,微调R2电阻器,同时将PH303大致对着接收机中
PH302接收管方向。
调节R2时,听到继电器吸合声就行了。
由于接收机对发射频率没有特别要求,所以稍微调节R2就可使接收机中
的继电器吸合。
两机正常工作情况下,使用窄角度红外发射管时,遥控距离大于8m,角度小于30度。
此遥控器可用在儿童玩具、照相机快门遥控及家电遥控等。
缺点是稳定性较差,易受其他连续光源干扰。