单片机课程设计(论文)-基于单片机的红外遥控控制系统.doc_第1页
单片机课程设计(论文)-基于单片机的红外遥控控制系统.doc_第2页
单片机课程设计(论文)-基于单片机的红外遥控控制系统.doc_第3页
单片机课程设计(论文)-基于单片机的红外遥控控制系统.doc_第4页
单片机课程设计(论文)-基于单片机的红外遥控控制系统.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理与应用技术课程设计报告(论文)基于单片机的红外遥控控制系统 专业班级: 新课电气095 姓名: 时 间:2012/3/30-2012/4/20 指导教师:_ 2012年 4月 19 日13基于单片机的红外遥控控制系统课程设计任务书1.设计目的与要求(1).基本功能 1. 有效遥控距离大于10米。 2. 遥控控制的路数在5路以上。 3. 采用数码管显示当前工作的控制电路。(2).扩展功能 (1).通过遥控器可以任意设置用户密码(1-16位长度),只有合法用户才能有修改路控 制的功能,同时系统掉电后能自动记忆和存储密码在系统中。 (2).报警和加锁功能: 密码的输入时间超过12秒或者连续3次输入失败,声音报警同时锁定系统,不让再 输入密码。此时只有使用管理员密码方能对系统解锁。2设计内容 (1)画出电路原理图,正确使用逻辑关系; (2)确定元器件及元件参数; (3)进行电路模拟仿真; (4)SCH文件生成与打印输出;3编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。4答辩 在规定时间内,完成叙述并回答问题目录1 引言32 总体设计方案32.1.1设计思路32.1.2设计方案32.2 设计方框图33 .设计原理分析53.1 发射电路53.2键盘式输入电路63.3信号接收和密码锁存电路73.4显示电路7附录(一)9电路总图:9附录(二)9 基于单片机的红外遥控控制系统 电气095赵国一摘要:本设计利用红外遥控传输较小的数据量来控制电器设备,对各种红外遥控器发出来的红外编码进行采集和处理就成了众人非常关心和急需解决的问题。仔细分析了多种遥控器所发红外编码的特点及其规律,详细地阐述了利用单片机系统对家用电器遥控器发出来的红外编码进行学习、存储、传输和再生的原理,来实现以红外线为传送信息媒介的短距离红外遥控控制电路,具有准确度高、速度快的特点。在了解了其发射的编码脉冲信号波形后,设计了基于单片机的红外遥控器解码器,对解码器硬件和相应软件进行分析并给出程序流程图,给出多功能遥控系统框图,详细地说明其硬件组成原理和各个部分的功能,并给出了部分程序流程图。本设计以单片机为核心设计一种红外线遥控系统,可以对各种红外线遥控器发射的信号进行识别、存贮和再现等功能,从而实现对各类家电的控制。关键词: 单片机 红外遥控 多路 LED 光耦隔离 键盘控制 红外线发射 红外线接收1 引言随着科技的发展,人们生活的节奏也越来越快,随之人们对方便、快捷的要求也随之不断提高!遥控器的出现,在一定程度上满足了人们的这个要求!遥控器是由高产的发明家Robert Adler 在五十年代发明。而红外遥控是20世纪70年代才开始发展起来的一种远程控制技术,其原理是利用红外线来传递控制信号,进行处理,最后实现对控制对象的各种功能的远程控制。红外遥控具有独立性、物理特性与可见光相似性、无穿透障碍物的能力及较强的隐蔽性等特点。随着红外遥控技术的开发和迅速发展,很多电气都应用了红外遥控。红外遥控技术的成熟也使得红外遥控系统变得设计简单,价格低廉。2 总体设计方案2.1.1设计思路整体设计思路为:根据扫描到的按键值转至相对应的ROM表中读取数据,确认之后单片机将从ROM读取出来的值,按照数据处理要求从输出端输出控制脉冲与T0产生的38KHz的载波进行调制,再经三极管将信号放大并驱动红外发光管将控制信号发送出去。红外数据接收则是采用HS0038一体化接收头,北部可以完成红外接收、数据采集、解码的功能。只要在接收端接侧头信号低电平的到来,就可以完成对整个串行的信号进行分析得出当前控制指令的功能。 2.1.2设计方案本设计包括两大模块:红外发射模块和红外接收模块。 通过发射模块发出红外信号编码,编码加载在38KHz载波上发射出去,红外接收模块接收信号并滤除载波,并传回单片机内进行解码。其中,红外接收模块的接收头用的是HS0038型号的一体化接收头,可以对信号进行放大解调等操作,然后通过单片机进行译码。用的单片机是AT89S51,通过红外线接收模块接收信号,由于接收模块有自动滤除载波功能,所以红外接收模块解得的码就是遥控器发射的编码,通过电路传到单片机内。2.2 设计方框图设计总图 设计总流程图 遥控发射器主程序流程图 遥控接收器主程序流程图红外发射模块红外发射电路红外信号接收电路 HS0038是用于红外遥控接收的小型一体化接收头,它的主要功能包括放大,选频,解调几大部分,要求输入信号需是已经被调制的信号。经过它的接收放大和解调会在输出端直接输出原始信号的反相信号。其不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,从而使电路达到最简化!灵敏度和抗干扰性都非常好。它适合于各种红外线遥控和红外线数据传输,中心频率38.0kHz。红外接收头内部放大器的增益很大,很容易引起干扰,依次在接收头的供电脚上必须加上滤波电容。3 .设计原理分析3.1 发射电路3.2键盘式输入电路第一步确定按下的键是在哪一行:由于刚开始按键是处于断开状态,所以P2.0P2.3引脚的全是高电平。向P2.4P2.7写0,如果有按键按下,则行线变低。所以可以通过向列线同时写0,读取行线值来判断按下的键是处于哪一行。第二步确定按下的键是在哪一列:此时向列线逐个写0,如果 那一列没有键按下,则P.4P.7全为1。相反,如果那一列有按键按下,则P.4P.7中有值为0,此时即可得到按下键的列值。所以我们通过逐个向列线写0以确定哪一列。知道按下的键处在哪一行哪一列即可确定按下键的位置。3.3信号接收和密码锁存电路3.4显示电路为了减少硬件开销,提高系统可靠性和降低成本,单片机控制系统通常采用动态扫描显示。LCD电路工作时,必须有相应的控制器、驱动器,还需要有存储命令和字符的RAM和ROM。LED(Light Emitting Diode)显示器是由若干发光二极管组成的,每个二极管称为一个字段。LED显示器有3种通用格式,可显示数字和十六进制字母的7段(或8段,增加了小数点“dp”段)显示管(8字型)、显示数字和全部英文字母的18段显示管(米字型)以及点阵显示器。7段显示管是最经济和最常用的显示器。LED分为共阴极和共阳极两种结构形式。共阴极LED中发光二极管的阴极连接在一起,通常接地,当某个二极管的阳极为高电平时,相应的段就发光显示。同样,共阳极LED的公共阳极接高电平,某个阴极接低电平时,相应的段被点亮显示。为显示不同的字型,显示器各字段所加的电平不同,编码也随之不同。4.结束语这次实习设计对于我来说,既是一次机遇,又是一次挑战。通过这次的实习设计,我学到了很多东西。通过自己的实践,在设计过程中,通过大量的查阅资料,认真研究教材,对单片机有了更为深刻的理解,在编写软件时,须仔细的分析硬件电路及所要达到的功能,然后设计程序流程,编写代码。整个过程培养了我的耐性和刻苦钻研的精神。 增强了动手能力,掌握了系统的分析解决问题的方法。通过实际工程设计也使我了解到书本知识和实际应用的差别。在实际应用中遇到很多的问题,这都需要我对问题进行具体的分析,并一步一步地去解决它。参考文献1 楼然苗,李光飞51系列单片机设计实例M北京:北京航空航天大学出版社,20031031202 李必红,王忠魁基于单片机控制的机床数控改造J陕西工学院学报,2004,20(1):70793王兆安 电力电子技术 西安交通大学出版社 ,20044刘志文 遥控开关系统的理论设计与应用 大学学报(教科文艺) 2003年03期5黄陇 实用型红外遥控功能开关的设计与实现(Radio Engineering of China)6刘文涛 单片机应用开发实例 清华大学出版社 2005年9月附录(一)电路总图:附录(二);红外遥控发射程序 ORG 0000H ;程序执行开始地址 AJMP START ;跳至START执行 ORG 000BH ;定时器T0中断入口地址 LJMP INTT0 ;跳至INTT0中断服务程序 ORG 0030H PCODE EQU 30H ;识别码 OPPCODE EQU 31H ;识别码反码 BUT EQU 32H ;按键码 OPPBUT EQU 33H ;按键反码 START: MOV SP,#70H ;设堆栈基址为70H CLR P3.4 ;关遥控输出 MOV IE,#00H ;关所有中断 MOV IP,#01H ;设优先级 MOV TMOD,#22H ;8位自动重装初值模式 MOV TH0,#0F3H ;定时为13微秒初值 MOV TL0,#0F3H SETB EA ;开总中断允许 MOV PCODE,#0ABH ;识别码赋值 MOV OPPCODE,#54H ;识别码反码赋值 JIAN: ;识别键盘有无键按下子程序 MOV P2,#00FH ;置列线为1,行线为0 MOV R7,#0FFH ;延时 DJNZ R7,JIAN1JIAN1: MOV A,P2 ;读P2口 CPL A ;求反后,高电平表示有键按下 ANL A,#00FH ;判别有键值按下吗? JZ JIAN ;无键按下时,返回重新扫描 LCALL DELAYSKEY: ;识别具体按键值子程序 MOV A,#00 ;下面进行行扫描,1行1行扫 MOV R0,A ;R0作为行计数器,开始为0 MOV R1,A ;R1作为列计数器,开始为0 MOV R3,#07FH ;R3为行扫描字暂存,高4位为行扫描字SKEY2: MOV A,R3 MOV P2,A ;输出行扫描字,低4位全1 NOP NOP NOP ;3个NOP操作使P2口输出稳定 MOV A,P2 ;读列值 MOV R1,A ;暂存列值 CPL A ;高电平则有键闭合 ANL A,#00FH ;取列值S123: JNZ SKEY3 ;有键按下转SKEY3,无键按下时进行一行扫描 INC R0 ;行计数器加1 SETB C ;准备将行扫描右移1位,形成下一行扫描字 ;C=1保证输出行扫描字中低4位全为1,为列输入做准备,高4位中只有1位为0 MOV A,R3 ;R3带进位C右移1位 RRC A MOV R3,A ;形成下一行扫描字送入R3 MOV A,R0 CJNE A,#04H,SKEY2 ;最后一行扫(4次)完了吗?NN: LJMP JIAN MN: MOV BUT,A CPL A MOV OPPBUT,A LCALL REMOTE ;转发送程序 AJMP NN;列号译码SKEY3: MOV A,R1 JNB ACC.0,SKEY5 JNB ACC.1,SKEY6 JNB ACC.2,SKEY7 JNB ACC.3,SKEY8 LJMP NNSKEY5: MOV A,#01H MOV R2,A ;存0列号 AJMP DKEYSKEY6: MOV A,#01H MOV R2,A ;存1列号 AJMP DKEYSKEY7: MOV A,#01H MOV R2,A ;存2列号 AJMP DKEYSKEY8: MOV A,#01H MOV R2,A ;存3列号 AJMP DKEY;键位置译码DKEY: MOV A,R0 ;取行号 ACALL DECODE LJMP MN ;键值译码DECODE: MOV A,R0 ;取行号送A MOV B,#04H ;每一行按键个数 MUL AB ;行号*按键数 ADD A,R2 ;行号*按键数+列号=键值,在A中 RET;编码发射程序REMOTE: SETB ET0 ;开T0中断 SETB TR0 ;开启定时器T0 MOV R1,#06H ;原数值#09H OUT01: MOV R2,#0C8H ;发5ms引导码 DJNZ R2,$ DJNZ R1,OUT01 CLR TR0 ;关定时器T0 CLR ET0 ;关T0中断 CLR P3.4 ;关脉冲输出 MOV R1,#0AH ;3ms空隙 OUT02: MOV R2,#96H DJNZ R2,$ DJNZ R1,OUT02 OUT03: ;发射数据流 MOV A,PCODE LCALL OUT04 ;调用发送子程序 MOV A,OPPCODE ACALL OUT04 ;调用发送子程序 MOV A,BUT LCALL OUT04 ;调用发送子程序 MOV A,OPPBUT LCALL OUT04 ;调用发送子程序 SETB C ;发送结束码1 LCALL SEND ;调用发送子程序 MOV R1,#0EAH ;延时130MS OUTWAIT: MOV R2,#0C8H DJNZ R2,$ DJNZ R1,OUTWAIT RET ;发射子程序OUT04: ;循环发射各数据位 MOV R1,#08H OUT: RLC A ACALL SEND DJNZ R1,OUT RET SEND: CLR TR0 ;关定时器T0 CLR ET0 ;关T0中断 CLR P3.4 ;关脉冲输出 JC SEND1 MOV R3,#08H ;发射0码 SEND0: MOV R4,#69H ;0码低电平 DJNZ R4,$ DJNZ R3,SEND0 AJMP SIG ;转脉冲发送信号 SEND1: MOV R3,#02H ;1码低电平 SEND10: MOV R4,#8CH DJNZ R4,$ DJNZ R3,SEND10 SIG: SETB ET0 ;开T0中断 SETB TR0 ;开启定时器T0 MOV R3,#08CH ;发射脉冲 DJNZ R3,$ CLR TR0 ;关定时器T0 CLR ET0 ;关T0中断 CLR P3.4 ;关脉冲输出 RET;T0中断服务程序 INTT0: CPL P3.4 ;40kHZ红外线遥控信号产生 RETI ;中断返回;延时子程序 DELAY: MOV R7,#10H ;延时10秒子程序 TS1: MOV R6,#0FFH TS2: DJNZ R6,TS2 DJNZ R7,TS1 RET END ;程序结束 ;红外遥控系统接收部分源程序 ORG 0000H LJMP START ORG 0003H LJMP INTEX0 ORG 0030H PCODE EQU 30H ;识别码 OPPCODE EQU 31H ;识别码反码 BUT EQU 32H ;按键码 OPPBUT EQU 33H ;按键反码 CODENUM EQU 34H ;接收码数 MINMA EQU 35H ;储存密码 GUAN EQU 36H ;储存管理员密码START: MOV SP,#70H MOV IE,#00H ;关所有中断 SETB EX0 ;开外中断 SETB EA ;总中断允许 MOV PCODE,#0ABH ;识别码初值 MOV OPPCODE,#54H ;识别码反码初值 MAIN: MOV R3,#0FFH DJNZ R3,$ ;持续510微秒 MOV R5,#08H XUN: CLR C MOV C,P3.2 ;读入P3.2引脚状态 MOV A,R6 RLC A MOV R6,A DEC R5 DJNZ R5,XUN MOV A,R6 SETB P2.0 ;开放显示器控制 SETB P3.1 ;开放显示器控制 MOV SBUF,A ;送LED显示 LJMP MAIN ;转MAIN循环 NOP ;PC值出错处理 LJMP START ;出错时重新初始化 ;遥控接收程序 INTEX0: MOV 37H,A ;采用中断接收 保护现场 MOV 20H,C CLR EX0 ;关外中断 JNB P3.2,READ ;P3.2口为低电平转READ 为高电平退出 OUT: SETB EX0 ;开中断(系干扰) MOV A,37H ;恢复现场 MOV C,20H RETI 退出中断 READ: CLR A ;清A 读取引导码 MOV DPH,A ;清DPTR MOV DPL,A HEAD: JB P3.2,HEAD01 ;P3.2变高电平转HARD01 INC DPTR ;用DPTR对低电平计数 MOV R1,#04H DJNZ R1,$ AJMP HEAD ;转HARD循环(循环周期为16微秒) HEAD01: MOV A,DPH ;DPTR高8位放入A JZ OUT 0(脉宽小于16*255=4毫秒)退出 MOV R1,#0AH ;3ms低电平 HEAD02: MOV R2,#96H DJNZ R2,$ DJNZ R1,HEAD02 ACA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论