ImageVerifierCode 换一换
格式:DOCX , 页数:56 ,大小:173.16KB ,
资源ID:11967539      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11967539.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(毕业论文万能遥控器doc.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

毕业论文万能遥控器doc.docx

1、毕业论文万能遥控器doc 前言 随着电子技术的发展,遥控技术得到了越来越广泛的应用。遥控技术正在向各个领域渗透,其重要性日见突出。在家用电器方面,带红外遥控的家用电器得以广泛普及.给人们的生活带来了很大的方便。但是,在一个家庭中如果遥控器过多,则使用过程容易产生混乱,给使用者造成许多不必要的麻烦。 为了解决这个问题 ,我们设计一种智能型红外遥控器,利用对各种红外遥控器发射的控制信号进行识别、存储和再现。也就是说,只需要一个智能遥控器,就可以对多个遥控器的发射信号进行学习和记忆,从而实现对多个电器的遥控。我们设计的智能型遥控器是基于单片机51的而设计的,利用“89C51”和其外围电路,进行对信息

2、的处理,并进行显示。本设1遥控器的现状和发展2红外发射的优缺点及基本原理3智能遥控器的结构和功能4智能遥控器的硬件电路 红外发射电路红外接收电路键盘电路显示电路8155的扩展2864(EEPROM)的扩展5智能遥控器的的软件电路 原程序的注释 各子程序的剖析5心得体会6主要集成电路7附录 设计任务书 随着电子技术的发展,带红外遥控的家用电器得以广泛普及.给人们的生活带来了很大的方便。但是,在一个家庭中如果遥控器过多,则使用过程容易产生混乱,给使用者造成许多不必要的麻烦。 为了解决这个问题 ,可设计一种智能型红外遥控器,利用对各种红外遥控器发射的控制信号进行识别、存储和再现。也就是说,只需要一个

3、智能遥控器,就可以对多个遥控器的发射信号进行学习和记忆,从而实现对多个电器的遥控。一、技术要求 1. 能对所设置的内容进行存储,2. 有”学习”和”控制”两种状态,并显示 3. 能对电路电源进行检测,电源电压低于一定程度发出警报 4. 对于宏定义不做要求。 5. 键盘扫描采用逐行扫描 6. 由于EPPROM我们只买到了8K的2864A,存储单元不够。所以,只能先控制两个电器来表示一下。 7. 由于2864(EPPROM)的存储时间较慢,所以采用先存储到RAM里,在由RAM存到ROM里。二、主要技术指标1.能对2个电器进行控制2.用单片机进行控制用到两个定时器3.抗扰性能的设计(详见 ) 三、时

4、间安排4.234.30查找资料,确定方案5.015.08整理资料,设计电路5.095.12 购买元件,电路设计5.135.31安装电路,硬件调试,软件设计 6.016.08 软件调试,整机调试6.096.14写论文,准备答辩四、参考文献1、欧阳杰主编 红外电子学 北京理工大学出版社2、何立民主编 单片机运用技术选篇之7 北航出版社 3、袁光明主编 电子自动控制器件设计制作维修大全 重庆大学出版社4、郑凤翼主编 家用电器遥控原理与维修 人民邮电出版社5、胡汉才主编 单片机原理及其接口遥控器的现状和发展 随着科学技术的不断发展,遥控技术正向各个领域渗透,特别是红外线与声波遥控技术,在工业生产、家用

5、电器、安全保卫以及人们的日常生活中得到了广泛应用。例如,电视机的遥控、音响设备的遥控、录象机的遥控、电扇的遥控、安全保卫报警器、遥控空调器、自动水龙头、自动门等均可采用红外遥控技术来实现。 那么什么是红外线遥控呢?红外线遥控就是指利用红外线来传递信号,实现对控制对象的远距离控制目的,具体来讲,就是由发射器发出红外线指令信号,由接收器接收下来并对信号进行处理,最后实现对控制对象的各种功能的远距离控制。红外发射的优缺点和基本原理红外线光控电路的基本原理在一些控制距离不远且不需要多通道控制的场合,如红外线光电检测和近距离红外线光控等。这些场合一般距离较近,干扰影响不大,发射电路中红外发光二极管可以采

6、用恒定直流驱动。采用恒定直流驱动,发射及接收电路可得到大大简化。这类电路一般不用于较远距离的遥控,通常,发射与接收部分属同一整体电路系统。因此,我们不把这类电路称作红外遥控电路,而称作简单红外线光控电路。可见,简单红外线光控电路结构非常简单,由直流电源直接驱动红外发光二极管恒定的红外光,接收电路也不需要选频或解码电路,只有(有时不需要)直流放大器和记忆及执行电路。由于采用恒定直流驱动,电源利用率较低,但可使整个系统结构大大简单,成本大大降低。简单红外线光控电路虽然简单,但应用较广,尤其在一些光电自动控制及自动检测系统中得到了广泛的应用。优缺点1功耗低2外围元件少3使用方便、灵活4抗干扰性能好基

7、本结构和功能一遥控器结构及功能 这种智能型遥控器的结构如图1所示。功能 遥控器共有32个键。其中,31、32为功能键,1、2为电器编号,其余为控制按钮。 电路有两种工作状态:“学习”状态和“控制”状态,可通过32号键进行转换。若希望对1号电器的遥控器进行学习,则在“控制”状态同时按下31号键,遥控器进入“学习”状态。此时,将被学习的遥控器发射头对准智能遥控器的接收头,同时按下两个遥控器相应的按键,这时数码管同时亮,右边的数码管一闪即灭,就可以完成一次学习过程。当所有按键都学习完毕后,按下32号键回到“控制”状态。这时就可以对被学习的电器进行控制。硬件电路a红外发射电路 红外发射电路中VD2为红

8、外发光二极管,由于单片机无法直接驱动二极管,因此加入9015为缓冲 B红外接收电路 红外线接收电路 在红外接收器中,光电转换器的作用是,将红外光敏器件接收到的红外光指令信号,转换为相应的电信号。光电转换器是红外线接收的大门,对整个接收电路影响较大。光电转换器,由光敏器件(光敏二极管或光敏三极管)和少量其它元件构成。在光敏二极管构成的光电转换器中,光敏二极管必须反向运用(反偏)。当光敏二极管或光敏三极管接收到红外光信号时的光电流为一定值时,与它们串联的负载电阻R越大,从A点得到的交流电压也就越大。红外线遥控接受电cx20106是红外线遥控接受前置放大双极型集成电路,适用与电视机等。内部电路有前置

9、放大器、自动偏置电平控制电路、限幅放大器、带通滤波器、峰值检波器和波形整形电路等组成。CX20106A是CX20106的改进型,二者之间的主要差别在于电参数略有不同,技术特点:1。低电压供电,其典型值为5V。2。功耗低。Vcc=5V时,其典型功耗为9mW.3。带通滤波器的中心频率可通过改变5脚和电源之间的电阻进行调节,其调节的范围为30-60khz.由于未使用电感,可不受磁场的干扰,因此抗干扰能力强。4。能于PIN光电二极管直接连接。5。集电极开路输出,能直接驱动TTL或CMOS电路。6。8脚单列直插式塑料封装。7。配套使用型号为M50462AP.引脚排列图及功能1脚 IN 遥控信号输入端(此

10、脚于地之间接红外线接受二极管) 2.52脚c1 前置放大器频率特性和增益设定(此脚与地之间RC串联电路) 2.53脚 c2 接检波电容 1.54脚 GND 接地 05脚 fo 设定带通滤波器的中心频 率 1.46脚 c3 外接积分电容 1.07脚 OUT 遥控指令输出端 5.08脚 Vcc 外接电源 5.05键盘6显示7扩展81558扩展2864A心得体会主要集成电路参考书目5、智能遥控器的软件电路 原程序的注释 各地址分配:20h-放键号 21h-放键号22h-EPPRROM首址23h-发送一个字节数24h-接收占存 25h-一个信号的字节数 26h-已存放按键数27h-接发标志28h-存、

11、发送29h-判断是否存储时,同一按键按下 时间过长 2ah-占存b 2bh-按键出错标志P1.0-左显示器 P1.1-右显示器 P1.2-电源控制(2864EPPROM收) P1.3-接收控制 P1.4-发送控制 P1.5-一次操作结束P1.6-切换电器标志位 P1.7-有效按键标志位为避免口地址冲突,地址分配如下: EPPROM-4000H4FFFH (电器一) EPPROM-5000H5FFFH (电器二) EPPROM-4FFFH和5FFFH 已存按键数8155RAM-3E00H3EFFH 8155命令/状态寄存器-3F00H 8155PA、PB、PC口地址-3F01H、3F02H、 3

12、F03H、 显示器控制状态 控制: 选择电器出错 (灭,亮) 亮显示为“1”选择电器正确 (亮,灭) 亮显示为“电 器号” 学习: 开始存储 (亮,亮) 亮显示为原先的 电器号 存储结束 (灭,亮) 亮显示为原先的 电器号 空键-没有存储信息 (灭,灭) org 0000h ljmp mainorg 0003h ;考虑到INT0端空置ljmp main 抗干扰的设置; org 000bh ljmp achuliorg 0013hljmp mainorg 001bhljmp mainorg 0023hljmp mainorg 0030hkeyboard /*键盘扫描*/mov dptr,#3f0

13、1h ;扫描初值送8155a口;mov a,#00hmovx dptr,ainc dptrinc dptrmovx a,dptr ;读8155c口;anl a,#0fh ;屏蔽高位;cjne a,#0fh,lk2 ;无键跳转到lk2;ajmp kreturn2 ;有键跳转到kreturn; lk2: ;扫描模式送R2; mov r2,#0feh ;赋处值;mov r4,#00hlk4:mov dptr,#3f01h ;扫描模式送8155a口;mov a,r2movx dptr,ainc dptrinc dptrmovx a,dptr ;读8155c口;jb acc.0,lone ;转判第一行;

14、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

15、;相同转kreturn1;ajmp kreturn2 ;相异转kreturn2;knext:inc r4 ;列计数器加1;mov a,r2 ;判是否已扫到最后一列,jnb acc.7,kreturn2 仍无键转到kreturn2;rl a ;扫描模式左移一位;mov r2,aajmp lk4kreturn1: ;有效键按下置标志位为1;setb p1.7retkreturn2: ;无效键按下置标志位为0;clr p1.7retorg 00f0hmainkey: /*返回一个有效按键*/lcall keyboardjnb p1.7,keys 无效键按下转到keys;mov a,20h 有效键按下

16、键号进a;retkeys: mov a,20h ;第一次按键进21h保存;mov 21h,alcall delay ;延时消除抖动;sjmp mainkeydelay/*延时20ms/*mov r5,#80tm1:mov r6,#123noptm2:djnz r6,tm2djnz r5,tm1retorg 0130hwr:mov r1,#10h ;每页写16个字节;mov r6,#09h ;每个按键有9页的mov dptr,#3e00h 存储空间;mov b,#00hmov r4,#1ch ;共28个控制按键;mov a,26h ;已存放数进a;clr csubb a,#1ch ;判已存放数是

17、否大于28;jc ly ;小于28转到ly;mov a,22h ;大于28求首址;add a,#0fh ;看是4fffh还是5fffh;mov dph,a ;a进高位;mov dpl,#0ffh ;低位为0ffhmov a,#0ffhmovx dptr,awloop1:movx a,dptr ;是不是第一次存储;xrl a,#0ffhjb acc.7,wloop1 ;不是转到wloop;mov 2bh,#00h ;是按键出错标志;retly:cjne a,#00h,aaa ;出错到aaa否则到bbb;bbb:mov a,#90h ;计算首址;mov b,26h ;已存放数进a;mul ab ;

18、求存储地址;mov r0,amov a,badd a,22hmov p2,a ;放到地址线上;wr1:movx a,dptr ;地址中的值进a;mov r5,a ;存入r5;movx r0,ainc dptrinc r0cjne r0,#00h,anextinc p2anext:djnz r1,wr1 ;不到16个字节,再写;dec r0aloop:movx a,r0xrl a,r5jb acc.7,aloopinc r0mov r1,#10h ;16个字节重新赋值;djnz r6,wr1 ;9页写完否;mov 2bh,#0ffhretaaa:mov a,#90h ;计算首址;mov 2ah,

19、b ;保存b;mul ab mov r0,amov a,badd a,22hmov p2,amovx a,r0xrl a,20h ;是不是按键号;jz wr1 ;是到写;mov b,2ah ;恢复b;inc b ;看下一个键;djnz r4,aaa ;28个按键看完否;ajmp bbb ;看完到bbb;org 0300hmain:clr tr0 ;初始化;clr tr1clr et0clr et1clr ex0clr ex1clr esclr eamov 20h,#0ffh ;89c51RAM的初始化;mov 21h,#0ffhmov 22h,#00hmov 23h,#08hmov 24h,#

20、00hmov 25h,#90hmov 26h,#0ffhmov 27h,#0ffhmov 28h,#00hmov 29h,#0ffhmov 2ah,#00hmov 2bh,#0ffhmov a,#1fh ;p1口的初始化;mov p1,amov 70h,#06h ;显示缓冲区06为a、mov 71h,#5bh 5b为2;mov sp,#30h mov psw,#00hlcall delaymov dptr,#3f00h ;8155初始化;mov a,#03hmovx dptr,amov tmod,#01h ;定时器0初始化;mov tl0,#0fhmov th0,#00hsetb ea ;中断

21、允许;start:lcall mainkeyclr c ;超过28个键出错;subb a,#1chjnc error mov a,20h ;键号进a;clr csubb a,#02h ;不为显示电器号转到ERROR;jnc errorstart1:setb p1.1 ;灭右显示器;mov a,20h ;键号进a;swap a ;求存储首址,看是4fffhadd a,#40h 还是5fffh;mov 22h,aadd a,#0fhmov p2,a ;送地址线;mov r0,#0ffh ;因为4fffh或5fffh存 movx a,r0 的是按键个数;mov 26h,a ;按键个数进26h保存;c

22、lr csubb a,#40h ;键号恢复;swap aadd a,#70h ;求显示码;mov r0,amov a,r0mov dptr,#3f02h ;送8155b口-置形口;movx dptr,aclr 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

23、;显示码送8155b口;movx dptr,aclr p1.1 ;右显示器有效;sjmp start lysb:ljmp mainorg 0400hachuli: clr p1.0 ;左显示器有效;clr p1.6 ;切换电器无效;clr tr0 ;定时中断;mov tl0,#0fh ;从新赋初值;mov th0,#00hlcall mainkeyclr csubb a,#02h ;一开始不是电器号到jnc again again;xdx:setb p1.6 ;切换电器有效;areturn:setb tr0 ;开定时;retiagain:mov a,20hxrl a,#1fh ;是否是最后一个

24、键(退出);jz areturnmov a,20hcjne a,#1eh,control ;是否学习状态,不是 到控制状态;learn:clr p1.0 ;左显示器有效;setb p1.1 ;灭右显示器;mov 27h,#00h ;置接发标志位;lcall mainkeycjne a,#1fh,ago ;不是退出键,转到ago;sjmp controlago:mov a,20h ;在学习状态中不是电器号clr c 也不是退出键,转到subb a,#02h restore;jnc restoresjmp learn ;否则转到learn;restore:mov a,20h ;是否学习键,是学习;

25、xrl a,#1ehjz learnmov a,20hxrl a,29h ;判键松否;jz learn ;不松等待到松;clr p1.1 ;键松使左右显示器都有效;clr p1.2lcall delaylcall delaymov dptr,#3e00h ;键号送8155的缓冲区;mov a,20hmovx dptr,adel1:mov r7,#34 ;定时70us;del2:djnz r7,del2lcall bchulijnb p1.5,del1 ;一次操作结束否mov a,27h 没结束继续采样;xrl a,#00h ;是否接发;jnz control ;发转到control;lcall

26、 wr ;接转到wr;setb p1.0 ;灭左显示器;lcall delay ;两次延时为了人眼能看清;lcall delaymov 29h,20h ;键号到29h;mov a,2bhjz xdx ;按键号是否正确,不正确到xdx;ajmp learncontrol:setb p1.1 ;灭右显示器;clr p1.0 ;左显示器有效;setb p1.2 ;关断2864的电源;mov a,20hxrl a,#1fh ;是不是退出键;jz areturnmov a,20hxrl a,#1eh ;是不是学习键;jz learnmov r6,#1ch ;r6为28个键数;mov b,#00hfind

27、:mov a,#90h ;计算首址;mov 2ah,b ;保存b;mul ab mov r0,a mov a,badd a,22h mov p2,amovx a,r0xrl a,20h ;是不是要发的键;jz send ;是转到send;mov b,2ahinc b ;恢复b,看下一个存储区;djnz r6,find ;28个键都看完,还不是转到setb p1.0 find继续查;setb p1.1 lcall delaylcall delayajmp areturnsend: /*通过8h发送*/mov dph,p2 mov dpl,r0inc dptrmov 27h,#0ffhmovx a

28、,dptrmov 28h,adel3:mov r7,#34 ;70us发送周期;del4:djnz r7,del4lcall bchulijnb p1.5,del3 ;一次发送完成否;mov a,27hxrl a,#00hjnz zcllcall wrsetb p1.1ajmp learnzcl:ljmp areturnorg 0500hbchuli:clr p1.5mov a,27hcjne a,#00h,cchulimov a,24h ;接受占存标志位进a;mov c,p1.3rrc amov 24h,adjnz 23h,breturnmov 23h,#08h ;一个字节发送完否;inc dptr

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1