资源描述
毕业设计论文(说明书)
前言
随着电子技术的发展,遥控技术得到了越来越广泛的应用。遥控技术正在向各个领域渗透,其重要性日见突出。在家用电器方面,带红外遥控的家用电器得以广泛普及.给人们的生活带来了很大的方便。但是,在一个家庭中如果遥控器过多,则使用过程容易产生混乱,给使用者造成许多不必要的麻烦。
为了解决这个问题 ,我们设计一种智能型红外遥控器,利用对各种红外遥控器发射的控制信号进行识别、存储和再现。也就是说,只需要一个智能遥控器,就可以对多个遥控器的发射信号进行学习和记忆,从而实现对多个电器的遥控。我们设计的智能型遥控器是基于单片机51的而设计的,利用“89C51”和其外围电路,进行对信息的处理,并进行显示。
本设
目录
1遥控器的现状和发展
2红外发射的优缺点及基本原理
3智能遥控器的结构和功能
4智能遥控器的硬件电路
红外发射电路
红外接收电路
键盘电路
显示电路
8155的扩展
2864(EEPROM)的扩展
5智能遥控器的的软件电路
原程序的注释
各子程序的剖析
5心得体会
6主要集成电路
7附录
设计任务书
随着电子技术的发展,带红外遥控的家用电器得以广泛普及.给人们的生活带来了很大的方便。但是,在一个家庭中如果遥控器过多,则使用过程容易产生混乱,给使用者造成许多不必要的麻烦。
为了解决这个问题 ,可设计一种智能型红外遥控器,利用对各种红外遥控器发射的控制信号进行识别、存储和再现。也就是说,只需要一个智能遥控器,就可以对多个遥控器的发射信号进行学习和记忆,从而实现对多个电器的遥控。
一、 技术要求
1. 能对所设置的内容进行存储,
2. 有”学习”和”控制”两种状态,并显示
3. 能对电路电源进行检测,电源电压低于一定程度发出警报
4. 对于宏定义不做要求。
5. 键盘扫描采用逐行扫描
6. 由于EPPROM我们只买到了8K的2864A,存储单元不够。所以,只能先控制两个电器来表示一下。
7. 由于2864(EPPROM)的存储时间较慢,所以采用先存储到RAM里,在由RAM存到ROM里。
二、主要技术指标
1. 能对2个电器进行控制
2. 用单片机进行控制用到两个定时器
3. 抗扰性能的设计(详见 )
三、时间安排
4.23—4.30 查找资料,确定方案
5.01—5.08 整理资料,设计电路
5.09—5.12 购买元件,电路设计
5.13—5.31 安装电路,硬件调试,软件设计
6.01—6.08 软件调试,整机调试
6.09—6.14 写论文,准备答辩
四、参考文献
1、 欧阳杰主编 《红外电子学》
北京理工大学出版社
2、 何立民主编 《单片机运用技术选篇之—7》
北航出版社
3、
袁光明主编 《电子自动控制器件设计制作维修大全》 重庆大学出版社
4、郑凤翼主编 《家用电器遥控原理与维修》
人民邮电出版社
5、胡汉才主编 《单片机原理及其接口》
遥控器的现状和发展
随着科学技术的不断发展,遥控技术正向各个领域渗透,特别是红外线与声波遥控技术,在工业生产、家用电器、安全保卫以及人们的日常生活中得到了广泛应用。例如,电视机的遥控、
音响设备的遥控、录象机的遥控、电扇的遥控、安全保卫报警器、遥控空调器、自动水龙头、自动门等均可采用红外遥控技术来实现。
那么什么是红外线遥控呢?红外线遥控就是指利用红外线来传递信号,实现对控制对象的远距离控制目的,具体来讲,就是由发射器发出红外线指令信号,由接收器接收下来并对信号进行处理,最后实现对控制对象的各种功能的远距离控制。
红外发射的优缺点和基本原理
红外线光控电路的基本原理
在一些控制距离不远且不需要多通道控制的场合,如红外线光电检测和近距离红外线光控等。这些场合一般距离较近,干扰影响不大,发射电路中红外发光二极管可以采用恒定直流驱动。采用恒定直流驱动,发射及接收电路可得到大大简化。这类电路一般不用于较远距离的遥控,通常,发射与接收部分属同一整体电路系统。因此,我们不把这类电路称作红外遥控电路,而称作简单
红外线光控电路。
可见,简单红外线光控电路结构非常简单,由直流电源直接驱动红外发光二极管恒定的红外光,接收电路也不需要选频或解码电路,只有(有时不需要)直流放大器和记忆及执行电路。由于采用恒定直流驱动,电源利用率较低,但可使整个系统结构大大简单,成本大大降低。
简单红外线光控电路虽然简单,但应用较广,尤其在一些光电自动控制及自动检测系统中得到了广泛的应用。
优缺点
1. 功耗低
2. 外围元件少
3. 使用方便、灵活
4. 抗干扰性能好
基本结构和功能
一. 遥控器结构及功能
这种智能型遥控器的结构如图1所示。
功能
遥控器共有32个键。其中,31、32为功能键,1、2为电器编号,其余为控制按钮。
电路有两种工作状态:“学习”状态和“控制”状态,可通过32号键进行转换。若希望对1号电器的遥控器进行学习,则在“控制”状态同时按下31号键,遥控器进入“学习”状态。此时,将被学习的遥控器发射头对准智能遥控器的接收头,同时按下两个遥控器相应的按键,这时数码管同时亮,右边的数码管一闪即灭,就可以完成一次学习过程。当所有按键都学习完毕后,按下32号键回到“控制”状态。这时就可以对被学习的电器进行控制。
硬件电路
a红外发射电路
红外发射电路中VD2为红外发光二极管,由于单片机无法直接驱动二极管,因此加入9015为缓冲
B红外接收电路
红外线接收电路
在红外接收器中,光电转换器的作用是,将红外光敏器件接收到的红外光指令信号,转换为相应的电信号。光电转换器是红外线接收的大门,对整个接收电路影响较大。
光电转换器,由光敏器件(光敏二极管或光敏三极管)和少量其它元件构成。
在光敏二极管构成的光电转换器中,光敏二极管必须反向运用(反偏)。当光敏二极管或光敏三极管接收到红外光信号时的光电流为一定值时,与它们串联的负载电阻R越大,从A点得到的交流电压也就越大。
红外线遥控接受电
cx20106是红外线遥控接受前置放大双极型集成电路,适用与电视机等。内部电路有前置放大器、自动偏置电平控制电路、限幅放大器、带通滤波器、峰值检波器和波形整形电路等组成。CX20106A是CX20106的改进型,二者之间的主要差别在于电参数略有不同,
技术特点:
1。低电压供电,其典型值为5V。
2。功耗低。Vcc=5V时,其典型功耗为9mW.
3。带通滤波器的中心频率可通过改变5脚和电源之间的电阻进行调节,其调节的范围为30--60khz.
由于未使用电感,可不受磁场的干扰,因此抗干扰能力强。
4。能于PIN光电二极管直接连接。
5。集电极开路输出,能直接驱动TTL或CMOS电路。
6。8脚单列直插式塑料封装。
7。配套使用型号为M50462AP.
引脚排列图及功能
1脚 IN 遥控信号输入端(此脚于地之间接红外线接受二极管) 2.5
2脚c1 前置放大器频率特性和增益设定(此脚与地之间RC串联电路) 2.5
3脚 c2 接检波电容 1.5
4脚 GND 接地 0
5脚 fo 设定带通滤波器的中心频 率 1.4
6脚 c3 外接积分电容 1.0
7脚 OUT 遥控指令输出端 5.0
8脚 Vcc 外接电源 5.0
5键盘
6显示
7扩展8155
8扩展2864A
心得体会
主要集成电路
参考书目
5、智能遥控器的软件电路
原程序的注释
各地址分配:
20h------放键号
21h------放键号
22h------EPPRROM首址
23h------发送一个字节数
24h------接收占存
25h------一个信号的字节数
26h-------已存放按键数
27h-------接发标志
28h-------存、发送
29h-------判断是否存储时,同一按键按下
时间过长
2ah-------占存b
2bh-------按键出错标志
P1.0-------左显示器
P1.1-------右显示器
P1.2-------电源控制(2864EPPROM收)
P1.3-------接收控制
P1.4-------发送控制
P1.5-------一次操作结束
P1.6-------切换电器标志位
P1.7-------有效按键标志位
为避免口地址冲突,地址分配如下:
EPPROM-------4000H——4FFFH (电器一)
EPPROM-------5000H——5FFFH (电器二)
EPPROM-------------------4FFFH和5FFFH
已存按键数
8155RAM-------------------3E00H——3EFFH
8155命令/状态寄存器-------3F00H
8155PA、PB、PC口地址------3F01H、3F02H、
3F03H、
显示器控制状态
控制:
选择电器出错 (灭,亮) 亮显示为“1”
选择电器正确 (亮,灭) 亮显示为“电
器号”
学习:
开始存储 (亮,亮) 亮显示为原先的
电器号
存储结束 (灭,亮) 亮显示为原先的
电器号
空键-没有存储信息 (灭,灭)
org 0000h
ljmp main
org 0003h ;考虑到INT0端空置
ljmp main 抗干扰的设置;
org 000bh
ljmp achuli
org 0013h
ljmp main
org 001bh
ljmp main
org 0023h
ljmp main
org 0030h
keyboard /*键盘扫描*/
mov dptr,#3f01h ;扫描初值送8155a口;
mov a,#00h
movx @dptr,a
inc dptr
inc dptr
movx a,@dptr ;读8155c口;
anl a,#0fh ;屏蔽高位;
cjne a,#0fh,lk2 ;无键跳转到lk2;
ajmp kreturn2 ;有键跳转到kreturn;
lk2: ;扫描模式送R2;
mov r2,#0feh ;赋处值;
mov r4,#00h
lk4:
mov dptr,#3f01h ;扫描模式送8155a口;
mov a,r2
movx @dptr,a
inc dptr
inc dptr
movx a,@dptr ;读8155c口;
jb acc.0,lone ;转判第一行;
mov a,#00h ;0行有键闭合,首键号
ajmp lkp 0进a;
lone: ;转判第二行;
jb acc.1, ltwo ;转判第二行;
mov a,#08h ;1行有键闭合,首
ajmp lkp 键号8进a ;
ltwo:
jb acc.2,lthr ;转判第三行;
mov a,#10h ;2行有键闭合,首键
ajmp lkp 号10h进a;
lthr:
jb acc.3,knext ;转判下一列;
mov a,#18h ;3行有键闭合,首键号
lkp: 18h进a;
add a,r4 ;行号加列号进a;
mov 20h,a ;键号进20h;
xrl a,21h ;两次按键是否相同;
jz kreturn1 ;相同转kreturn1;
ajmp kreturn2 ;相异转kreturn2;
knext:
inc r4 ;列计数器加1;
mov a,r2 ;判是否已扫到最后一列,
jnb acc.7,kreturn2 仍无键转到kreturn2;
rl a ;扫描模式左移一位;
mov r2,a
ajmp lk4
kreturn1: ;有效键按下置标志位为1;
setb p1.7
ret
kreturn2: ;无效键按下置标志位为0;
clr p1.7
ret
org 00f0h
mainkey: /*返回一个有效按键*/
lcall keyboard
jnb p1.7,keys 无效键按下转到keys;
mov a,20h 有效键按下键号进a;
ret
keys:
mov a,20h ;第一次按键进21h保存;
mov 21h,a
lcall delay ;延时消除抖动;
sjmp mainkey
delay/*延时20ms/*
mov r5,#80
tm1:
mov r6,#123
nop
tm2:
djnz r6,tm2
djnz r5,tm1
ret
org 0130h
wr:
mov r1,#10h ;每页写16个字节;
mov r6,#09h ;每个按键有9页的
mov dptr,#3e00h 存储空间;
mov b,#00h
mov r4,#1ch ;共28个控制按键;
mov a,26h ;已存放数进a;
clr c
subb a,#1ch ;判已存放数是否大于28;
jc ly ;小于28转到ly;
mov a,22h ;大于28求首址;
add a,#0fh ;看是4fffh还是5fffh;
mov dph,a ;a进高位;
mov dpl,#0ffh ;低位为0ffh
mov a,#0ffh
movx @dptr,a
wloop1:
movx a,@dptr ;是不是第一次存储;
xrl a,#0ffh
jb acc.7,wloop1 ;不是转到wloop;
mov 2bh,#00h ;是按键出错标志;
ret
ly:
cjne a,#00h,aaa ;出错到aaa否则到bbb;
bbb:
mov a,#90h ;计算首址;
mov b,26h ;已存放数进a;
mul ab ;求存储地址;
mov r0,a
mov a,b
add a,22h
mov p2,a ;放到地址线上;
wr1:
movx a,@dptr ;地址中的值进a;
mov r5,a ;存入r5;
movx @r0,a
inc dptr
inc r0
cjne r0,#00h,anext
inc p2
anext:
djnz r1,wr1 ;不到16个字节,再写;
dec r0
aloop:
movx a,@r0
xrl a,r5
jb acc.7,aloop
inc r0
mov r1,#10h ;16个字节重新赋值;
djnz r6,wr1 ;9页写完否;
mov 2bh,#0ffh
ret
aaa:
mov a,#90h ;计算首址;
mov 2ah,b ;保存b;
mul ab
mov r0,a
mov a,b
add a,22h
mov p2,a
movx a,@r0
xrl a,20h ;是不是按键号;
jz wr1 ;是到写;
mov b,2ah ;恢复b;
inc b ;看下一个键;
djnz r4,aaa ;28个按键看完否;
ajmp bbb ;看完到bbb;
org 0300h
main:
clr tr0 ;初始化;
clr tr1
clr et0
clr et1
clr ex0
clr ex1
clr es
clr ea
mov 20h,#0ffh ;89c51RAM的初始化;
mov 21h,#0ffh
mov 22h,#00h
mov 23h,#08h
mov 24h,#00h
mov 25h,#90h
mov 26h,#0ffh
mov 27h,#0ffh
mov 28h,#00h
mov 29h,#0ffh
mov 2ah,#00h
mov 2bh,#0ffh
mov a,#1fh ;p1口的初始化;
mov p1,a
mov 70h,#06h ;显示缓冲区06为a、
mov 71h,#5bh 5b为2;
mov sp,#30h
mov psw,#00h
lcall delay
mov dptr,#3f00h ;8155初始化;
mov a,#03h
movx @dptr,a
mov tmod,#01h ;定时器0初始化;
mov tl0,#0fh
mov th0,#00h
setb ea ;中断允许;
start:
lcall mainkey
clr c ;超过28个键出错;
subb a,#1ch
jnc error
mov a,20h ;键号进a;
clr c
subb a,#02h ;不为显示电器号转到ERROR;
jnc error
start1:
setb p1.1 ;灭右显示器;
mov a,20h ;键号进a;
swap a ;求存储首址,看是4fffh
add a,#40h 还是5fffh;
mov 22h,a
add a,#0fh
mov p2,a ;送地址线;
mov r0,#0ffh ;因为4fffh或5fffh存
movx a,@r0 的是按键个数;
mov 26h,a ;按键个数进26h保存;
clr c
subb a,#40h ;键号恢复;
swap a
add a,#70h ;求显示码;
mov r0,a
mov a,@r0
mov dptr,#3f02h ;送8155b口-置形口;
movx @dptr,a
clr p1.0 ;左显示器有效;
setb et0 ;开t0中断、再此处开为了
setb tr0 准确;
hlta:
jnb p1.6 hlta ;切换电器无效、等待;
mov a,2bh ;是否按键出错;
jz lysb ;出错到lysb;
sjmp start1 ;没出错到start1;
error:
setb p1.0 ;灭左显示器;
mov a,#06h ;送‘1’的显示码;
mov dptr,#3f02h ;显示码送8155b口;
movx @dptr,a
clr p1.1 ;右显示器有效;
sjmp start
lysb:
ljmp main
org 0400h
achuli:
clr p1.0 ;左显示器有效;
clr p1.6 ;切换电器无效;
clr tr0 ;定时中断;
mov tl0,#0fh ;从新赋初值;
mov th0,#00h
lcall mainkey
clr c
subb a,#02h ;一开始不是电器号到
jnc again again;
xdx:
setb p1.6 ;切换电器有效;
areturn:
setb tr0 ;开定时;
reti
again:
mov a,20h
xrl a,#1fh ;是否是最后一个键(退出);
jz areturn
mov a,20h
cjne a,#1eh,control ;是否学习状态,不是
到控制状态;
learn:
clr p1.0 ;左显示器有效;
setb p1.1 ;灭右显示器;
mov 27h,#00h ;置接发标志位;
lcall mainkey
cjne a,#1fh,ago ;不是退出键,转到ago;
sjmp control
ago:
mov a,20h ;在学习状态中不是电器号
clr c 也不是退出键,转到
subb a,#02h restore;
jnc restore
sjmp learn ;否则转到learn;
restore:
mov a,20h ` ;是否学习键,是学习;
xrl a,#1eh
jz learn
mov a,20h
xrl a,29h ;判键松否;
jz learn ;不松等待到松;
clr p1.1 ;键松使左右显示器都有效;
clr p1.2
lcall delay
lcall delay
mov dptr,#3e00h ;键号送8155的缓冲区;
mov a,20h
movx @dptr,a
del1:
mov r7,#34 ;定时70us;
del2:
djnz r7,del2
lcall bchuli
jnb p1.5,del1 ;一次操作结束否
mov a,27h 没结束继续采样;
xrl a,#00h ;是否接发;
jnz control ;发转到control;
lcall wr ;接转到wr;
setb p1.0 ;灭左显示器;
lcall delay ;两次延时为了人眼能看清;
lcall delay
mov 29h,20h ;键号到29h;
mov a,2bh
jz xdx ;按键号是否正确,不正确到xdx;
ajmp learn
control:
setb p1.1 ;灭右显示器;
clr p1.0 ;左显示器有效;
setb p1.2 ;关断2864的电源;
mov a,20h
xrl a,#1fh ;是不是退出键;
jz areturn
mov a,20h
xrl a,#1eh ;是不是学习键;
jz learn
mov r6,#1ch ;r6为28个键数;
mov b,#00h
find:
mov a,#90h ;计算首址;
mov 2ah,b ;保存b;
mul ab
mov r0,a
mov a,b
add a,22h
mov p2,a
movx a,@r0
xrl a,20h ;是不是要发的键;
jz send ;是转到send;
mov b,2ah
inc b ;恢复b,看下一个存储区;
djnz r6,find ;28个键都看完,还不是转到
setb p1.0 find继续查;
setb p1.1
lcall delay
lcall delay
ajmp areturn
send: /*通过8h发送*/
mov dph,p2
mov dpl,r0
inc dptr
mov 27h,#0ffh
movx a,@dptr
mov 28h,a
del3:
mov r7,#34 ;70us发送周期;
del4:
djnz r7,del4
lcall bchuli
jnb p1.5,del3 ;一次发送完成否;
mov a,27h
xrl a,#00h
jnz zcl
lcall wr
setb p1.1
ajmp learn
zcl:
ljmp areturn
org 0500h
bchuli:
clr p1.5
mov a,27h
cjne a,#00h,cchuli
mov a,24h ;接受占存标志位进a;
mov c,p1.3
rrc a
mov 24h,a
djnz 23h,breturn
mov 23h,#08h ;一个字节发送完否;
inc dptr
movx @dptr,a
djnz 25h,breturn;144个字节即一个按键信号
mov 25h,#90h 完成否;
setb p1.5 ;完成置发送完成标志位;
push dph ;地址入栈保存;
push dpl
inc 26h ;已存放数加一;
mov a,22h ;求首址,把已存放数
add a,#0fh 放到4fffh或5fffh中;
mov dph,a
mov dpl,#0ffh
mov a,26h
movx @dptr,a
loop1:
movx a,@dptr
xrl a,26h
jb acc.7,loop1
pop dpl
pop dph
clr c
breturn:
ret
cchuli:
mov a,28h ;存发送位进a;
rrc a
mov p1.4,c ;一位一位的传到发送缓冲区;
mov 28h,a
djnz 23h,creturn ;一个字节没发送完转到
mov 23h,#08h creturn;
inc dptr
movx a,@dptr
mov 28h,a ;发送144个字节;
djnz 25h,creturn
mov 25h,#90h
setb p1.5 ;发送完置一次发送完标志位;
creturn:
ret
end
设计任务书
随着电子技术的发展,带红外遥控的家用电器得以广泛普及.给人们的生活带来了很大的方便。但是,在一个家庭中如果遥控器过多,则使用过程容易产生混乱,给使用者造成许多不必要的麻烦。
为了解决这个问题 ,可设计一种智能型红外遥控器,利用对各种红外遥控器发射的控制信号进行识别、存储和再现。也就是说,只需要一个智能遥控器,就可以对多个遥控器的发射信号进行学习和记忆,从而实现对多个电器的遥控。
二、 技术要求
1. 能对所设置的内容进行存储,
2. 有”学习”和”控制”两种状态,并显示。
3. 能对电路电源进行检测,电源电压低于一定程度发出警报。
4. 对于宏定义不做要求。
5. 键盘扫描采用逐行扫描
6. 由于EPPROM我们只买到了8K的2864A,存储单元不够。所以,只能先控制两个电器来表示一下。
7. 由于2864(EPPROM)的存储时间较慢,所以采用先存储到RAM里,在由RAM存到ROM里。
二、主要技术指标
4. 能对2个电器进行控制
5. 用单片机进行控制用到两个定时器
6. 抗扰性能的设计
三、时间安排
4.23—4.31 查找资料,确定方案
5.01—5.09 整理资料,设计电路
5.09—5.12 购买元件,电路设计
5.13—5.32 安装电路,硬件调试,软件设计
6.01—6.08 软件调试,整机调试
6.09—6.15 写论文,准备答辩
四、参考文献
3、 欧阳杰主编 《红外电子学》
北京理工大学出版社
4、 何立民主编 《单片机运用技术选篇之—7》
北航出版社
3、袁光明主编 《电子自动控制器件设计制作维修大全》 重庆大学出版社
4、郑凤翼主编 《家用电器遥控原理与维修》
人民邮电出版社
5、胡汉才主编 《单片机原理及其接口》
6 、苏长赞主编 《红外线与超声波遥控》
人民邮电出版社
7、 陈汝全主编 《电子技术常用器件应用手册》
机械工业出版社
中文摘要
在许多家用电器进入居家生活的时代,遥控器的普及成为生活品质提高的标志。可是遥控器一多,可以想象操作起来很不方便。那么,能不能有一种遥控器,它可以兼容所有的家用电器,即一机在手,家用电器均可遥控。
就这样,智能红外线遥控器诞生了。所谓智能遥控器,首先具有“智能”的功能,即可以学习,它可以存储多个遥控器的多种发射信号并加以保存,这样就会出现比方说,一个键既是彩电的某个键功能有是功放的某个键功能。
其次,它是红外线来通信的,那么肯定要基于其他遥控器的红外发射功能,反过来说,只要是通过红外线通信的电器智能遥控器都可以遥控。
关键词:红外线、遥控器、单片
Abstract:
The design’s inspiration stems from life. Many household appliances to get into our live’s times.
The remote indicator’s universal to become life’s character to life’s a symbol. But, romete incicator as well as bring out inconvenience, in that case, have one plant remote indicator’s universal. It can compatible possession’s household appliances .That is say ,
A machine in hand , household appliances . all hear of you.
Like this intellectual remote indicator to produce what is call intellectual remote indicator . First of all , it must to be provided with “intelligence”fuction. That is to say, it can learn. It may restor many remote indicator’s signal and then preserve . then it appears, for instance ,a key is not only TV’s key. But also VCD’s key.
Second, it correspond with infraned ray. So it in the affirmative because of other’s remote indicator’s function .In the other hand.
Provided that correspond with aninfrared ray. It all can remote controlled operation.
Keywords:
An infrared ray
Remote-controlled operation
A utensil
目录
三、 设计任务书 1
二、 中英文摘要 3
三、 前言 6
四、 正文 7
第一章 遥控器的现状和发展 7
第二章 红外发射的优缺点及基本原理 8
第三章 智能遥控器的结构和功能 9
第四章 智能遥控器的硬件电路 10
1.红外发射电路 10
2.红外接收电路 11
3.键盘电路 13
4.显示电路
展开阅读全文