还剩40页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
西安科技大学高新学院毕业论文(设计)题目红外遥控电路设计要点与制作毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意作者签名 日 期 指导教师签名 日 期 使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容作者签名 日 期 青海建筑职业技术学院专科毕业设计(论文)学号:姓名毕业设计论文题目:红外遥控电路设计要点与制作
1、阅读中外文献资料摘要
[1]李军.检测技术及其仪表.中国轻工业出版社
[2]贺红娟等.汇编语言程序设计教程.清华大学出版社
[3]孙亮杨鹏.自动控制技术.北京工业大学出版社
[4]刘守义钟苏.数字电子技术.西安电子科技大学出版社
[5]周雪.模拟电子技术.西安电子科技大学出版社
[6]杨宏丽王静霞.单片机基础教程.人民邮电出版社
[7]林伸茂.8051单片机彻底研究经验篇.人民邮电出版社
[8]刘文涛.MCS-51单片机培训教程.电子工业出版社
2、立题依据及主要研究内容遥控技术根据控制方式的不同,一般分红外遥控、声控和无线遥控,俗称三遥红外线遥控是目前应用最广泛的一种通信和遥控手段红外线遥控器在家用电器和工业控制系统中已得到广泛应用,首先借助于红外线具有直线传播的特性及由于红外线的波长远小于无线电波的波长,因此在采用红外遥控方式时,不会干扰其他电器的正常工作,也不会影响临近的无线电设备其次借助于单片机具有结构紧凑、可靠性高、速度快、功耗小、成本低的特点,可以制作灵敏度高,抗干扰性能优良的红外遥控其电路调试简单,若对发射信号进行编码,可实现不同电器的开关控制及电灯的调光设置主要研究内容设计一款红外遥控电路,该遥控电路可以实现灯泡的开关和调光(或者电机启动和调速)控制该遥控电路结构简单分为两部分发射电路和接收电路发射电路以AT89C2051为控制中心发射信号接收电路以AT89C51为控制中心接收信号驱动双向晶闸管实现电灯的开关及亮度的控制
3、设计方案及思路目前市场——一般设备系统采用专用的遥控编码及解码集成电路此方案具有制作简单、容易等特点,但由于功能键数及功能受到特定的限制,只适合用于某一专用电器产品的应用,应用范围受到限制而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随意设定等优点本单片机遥控应用采用红外线脉冲个数编码、单片机软件解码实现了对电灯的开关/亮度调节图1和图2为该应用系统的遥控器设计原理框图及接收控制系统设计原理框图图1单片机遥控器设计原理框图图2接收控制系统设计原理框图
4、毕业设计(论文)工作计划设计(论文)各阶段名称起止日期1相关文献的调研,资料收集2009年12月1日至2010年3月5日2系统方案探讨与指导教师问题答疑2010年3月5日至2010年3月12日3硬件设计2010年3月12日至2010年3月19日4软件设计2010年3月19日至2010年3月26日5软件硬件联调2010年3月26日至2010年4月2日6完成毕业论文写作2010年4月2日至2010年4月9日7论文指导教师初评,并给出修改意见,学生进行修改2010年4月9日至2010年4月16日8完成毕业答辩PPT,准备毕业答辩2010年4月16日至2010年4月23日
5、指导教师审核意见指导教师(签名)年月日________________________________________________________________注1)开题报告由学生填写,须经指导教师审批2)阅读文献资料摘要,要比较全面反映题目研究已取得的成果和研究动态3)立题依据包括立题的必要性红外遥控电路设计摘要通过对设计要求地认真分析和研究,拿出了几种可行方案,最终选定了一个最佳方案该方案是采用先进的单片机技术实现遥控的主要手段我们所设计的遥控器能控制5个电器的电源开关,并且可对一路电灯进行亮度的调节关键字遥控电路红外发射红外接收单片机INFRAREDREMOTECONTROLCIRCUITDESIGNABSTRACTAfteranalyzingandresearchingontherequestofthedesignwetakeseveralblueprintandweselectedthebestoneintheend.TheprojectmakeuseofadvancedSCMtorealizetheremotecontrol.Remotecontrollerwedesignedcandominate5electricalsourceswitchesandadjustthebrightnessofonelight.【KEYWORDS】RemotecontrollingcircuitInfraredemissionInfraredreceivingSCM目录TOC\o1-3\h\z\u引言7第一章课题概况
81.1红外遥控电路设计的目的
81.2红外遥控电路设计功能介绍
81.3课题方案设计8第二章系统硬件部分方案设计
102.1红外遥控接发电路的主控芯片
102.2红外发送电路
112.3红外接收电路
132.
3.1红外接收电路电路指示灯
132.
3.2红外接收电源电路
142.
3.3红外接收电路过零检测
142.4红外遥控调光电路15第三章系统软件部分方案设计
163.1红外遥控初始化程序和主程序
163.2红外遥控键盘扫描、红外发射程序
173.3红外遥控接收部分外部中断程序18第四章系统调试20课题设计总结22参考文献23附录A24附录B25附录C27致谢40引言当今社会科学技术的发展与日俱增,人们生活水平也是日益提高,为了减少人们的工作量,所以对各种家用电器、电子器件的非人工控制的要求也是越来越高,针对这种情况,设计出一种集成度比较高的控制体系是必然的单片机的集成度很高,它具有体积小、功耗低、控制功能强、扩展灵活、微型化、使用方便等突出特点,尤其耗电少,又可使供电电源体积小、质量轻所以特别适用与“电脑型产品”,它的应用已深入到工业、农业、国防、科研、教育以及日常生活用品家电、玩具等各种领域,几乎很难找到哪个领域没有单片机的踪迹单片机特别适合于把它做到产品的内部,取代部分老式机械、电子零件或元器件可使产品缩小体积,增强功能,实现不同程度的智能化红外线是一种光线,具有普通光的性质,可以以光速直线传播,强度可调,可以通过光学透镜聚焦,可以被不透明物体遮挡等等特别制造的半导体发光二极管,可以发出特定波长(通常是近红外)的红外线,通过控制二极管的电流可以很方便地改变红外线的强度,达到调制的目的,因此,在现代电子工程应用中,红外线常常被用做近距离视线范围内的通讯载波,最典型的应用就是家电遥控器使用红外线做信号载波的优点很多成本低、传播范围和方向可以控制、不产生电磁辐射干扰,也不受干扰等等因此被广泛地应用在各种技术领域中第一章课题概况
1.1红外遥控电路设计的目的本次设计的主要任务是利用单片机技术,并将数字电子技术、模拟电子技术和红外学相关知识相结合,设计一款可以实现灯泡的开关和调光(或者电机启动和调速)控制的红外遥控电路通过设计红外遥控电路来巩固和加强对三年来所学的理论知识和锻炼自己的动手能力,熟悉和掌握以单片机为核心的电路设计的基本方法和技术,熟悉传感器的使用,提高电子电路的设计和动手能力,加深对单片机软硬件知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础
1.2红外遥控电路设计功能介绍本设计要求红外遥控电路实现以下功能
(1)利用红外接收和发射探头发送和接收红外线;
(2)该遥控系统可以实现灯泡的开关和调光(或者电机启动和调速)控制;
(3)能够按键启动/停止,使用单片机进行设计或者纯数字模拟电路设计;
1.3课题方案设计目前红外遥控器已经在各类电器上得到了广泛应用市场上一般设备系统均采用专用的遥控编码及解码集成电路,具有制作简单等特点,但由于这些芯片价格较贵,功能键数及功能受到特定的限制,且相互之间采用的遥控编码格式互不兼容.所以各机型的遥控器通常只能针对各自的遥控对象而无法通用,只适用于某一专用电器产品的应用,应用范围受到限制采用单片机进行遥控系统的应用设计,具有硬件接口简单方便编程灵活多样,操作码个数可随意设定等优点此方案不仅可用控制键实现对电器的控制,而且可对一路电灯进行亮度控制,方便实用且本设计用到的元器件较少,电路相对简单实用红外遥控电发射器主要由单片机、操作键盘和红外发射电路三部分组成红外发射部分结构图如图
1.1所示图
1.1红外遥控电路发射设计原理框图当按下遥控按钮时,单片机产生相应的控制脉冲,由红外发光二极管发射出去控制系统采用3V电源电压,并具有低功耗空闲和掉电方式控制红外遥控电发射器主要由单片机、指示电路和红外接收电路三部分组成红外接收部分结构如图
1.2所示图
1.2红外遥控电路接收设计原理框图当红外接收器接收到控制脉冲后,经单片机处理由显示设备显示出当前受控电器的序号,并判断是否对电灯进行调光,如需调光则经调光电路处理后实现调光功能系统采用5V单电源电压供电,能满足低功耗空闲状态,并具有掉电记忆控制功能第二章系统硬件部分方案设计
2.1红外遥控接发电路的主控芯片本电路所用AT89C-51单片机为红外接收电路的主控芯片,既方便也很实用下面对AT89C-51做一下简单的介绍AT89C-51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C-51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案主要特性·与MCS-51兼容·4K字节可编程闪烁存储器寿命1000写/擦循环数据保留时间10年·全静态工作0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道低功耗的闲置和掉电模式·片内振荡器和时钟电路由上可见,89C51芯片的功能强大,其震荡特性能很好的满足本设计的要求,与同类51芯片相比,其引脚较多,在满足对控制方式的选择的同时,还可加入调光控制电路,这更能符合本设计的需要因此本设计决定选用芯片89C51作为红外接收电路核心芯片本电路所用AT89C2051单片机为红外发射电路的主控芯片AT89C2051是一个低电压,高性能CMOS8位单片机,片内含2kbytes的可反复擦写的只读Flash程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合AT89C2051是一个功能强大的单片机,但它只有20个引脚,15个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器两个全双向串行通信口,一个模拟比较放大器同时AT89C2051的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行主要功能特性·兼容MCS51指令系统·2k可反复擦写1000次)FlashROM·15个双向I/O口·6个中断源·两个16位可编程定时/计数器·
2.7-
6.V的宽工作电压范围·时钟频率0-24MHz·128x8bit内部RAM·两个外部中断源·两个串行中断·可直接驱动LED·两级加密位·低功耗睡眠功能·内置一个模拟比较放大器·可编程UARL通道·软件设置睡眠和唤醒功能由上可见,89C2051芯片的功能强大,因此本设计决定选用芯片89C2051作为红外发射电路核心芯片
2.2红外发送电路单片机遥控发射器原理图如图
2.1所示,单片机遥控发射器主要由AT89C2051单片机、操作键盘和红外发射电路等组成单片机部分主要完成遥控发射器发射过程的控制、键盘扫描的管理和显示其中P3.3用于输出控制红外发射电路的工作的信号,P
1.0到P
1.5连接键盘,用于接受键盘的信号电路采用3V电池供电,单片机平时都处于低功耗空闲状态,当有按键被按下,遥控器信息码由AT89C2051单片机的定时器1中断产生38KHZ的红外线信号,由P
3.5口输出—,经过三极管9013放大,由红外发射管发送待发送完毕,单片机再次处于低功耗空闲状态电路采用LED发光二极管来实现按键的操作指示图
2.1红外发射原理图遥控器采用按键中断扫描方式(按键部分电路图如图
2.2)按键K1控制开灯与关灯;当按下按键K2时,灯光将调到第一档最亮;当按下按键K3时,灯光将调到第四档;当按下按键K4时,灯光将调到第二档;当按下按键K5时,将灯光调到第五档;当按下按键K6时,灯光将调到第三档图
2.2按键部分电路
2.3红外接收电路单片机遥控接受器原理图如图
2.3所示,单片机遥控发射器主要由AT89C2051单片机、红外线接收电路、50Hz交流测电路和电灯亮灭及调光控制电路等组成当红外接受接收到遥控器发射的信号后,将信号传给AT89C2051单片机,AT89C2051单片机根据收到的信息码的不同,完成相应的调光操作以及进行相应的状态指示图
2.3红外接收原理图
2.
3.1红外接收电路电路指示灯图
2.4状态指示电路原理图电路指示灯由三部份(电路如图
2.4所示),即电源指示灯、故障指示灯、控制输出指示灯电灯的状态指示用LED发光二极管,共有6个电灯状态指示灯,其中2个为电灯开、关状态,另4个为五档亮度指示(最亮一档四个亮度指示灯均不亮)
2.
3.2红外接收电源电路电源电路由桥式整流、滤波电容、7805稳压器及电源指示灯组成利用二极管的单向导电性交流电经过桥式整流成直流电,再经过大小电容滤波,7805集成稳压器稳压成为稳定的+5V电源,用一个发光二极管指示灯指示电源状态图
2.5红外接收电源电路
2.
3.3红外接收电路过零检测红外接收电路交流电过零检测图如图
2.6所示50Hz交流电过零检测电路由桥式整流电路和两个9013三极管组成当Ua=Ube=
0.7V时Q1三极管截止Q2三极管导通B点为低电平C点P
3.0为高电平;当Ua=Ube
0.7V时Q1三极管导通,Q2三极管截止B点变高电平C点P
3.0为低电平图
2.6红外接收电路交流电过零检测图
2.4红外遥控调光电路红外遥控调光电路采用可控硅光亮控制电路,电路图如图
2.7所示可控硅控制的移相脉冲,移相角的改变实现导通角的改变,即当移相角较可控硅的导通脚较小,输出电压较低,电灯较暗;当移相角较小时,可控硅的导通角较大,输出电压较高,电灯较亮,导通角不为0时,电灯开;导通角为0时,电灯灭图
2.7可控硅调光电路第三章系统软件部分方案设计
3.1红外遥控初始化程序和主程序红外遥控接收部分与发射部分初始化程序如图
2.
8、图
2.10所示,红外遥控接收部分与发射部分主程序如图
2.
9、图
2.11所示图
2.8发射初始化程序流程图图
2.9发射主程序流程图红外遥控发射部分初始化程序,初始化程序主要是使P1口和P2口复位,即为将P1口和P2口为高电平状态,关闭遥控输出口P
3.5口,设置中断优先级IP,选择定时器/计数器1和设置操作模式为自动8位重载模式红外遥控发射部分主程序,先调用初始化程序,再完成调用键盘程序和进入低功耗空闲待机方式系统完成键盘查询程序后进入空闲节电方式,直到外部中断1中断或硬件复位而退出,CPU再次转向循环部分调用键盘程序图
2.10接收初始化流程图图
2.11接收主程序流程图红外遥控接收部分初始化程序,初始化程序主要是使P1口和P2口复位,即为将P1口和P2口为高电平状态,设置堆栈sp,选择工作寄存器区,设置中断优先级IP,开外部中断0,设置电机默认停机标志位红外遥控接收部分主程序,先调用初始化程序,初始化程序完毕,进入主程序循环状态程序在循环中主要任务是50Hz交流电过零检测和调用移相角控制的延时程序
3.2红外遥控键盘扫描、红外发射程序红外遥控键盘扫描程序流程图如图
2.12所示,红外发射程序如图
2.13所示键盘扫键过程:首先判断控制键是否按下,若有控制键按下则进行逐行扫描,按照P口值查找键号最后按照键号转至相应的发射程序红外信号发射过程首先装入发射脉冲个数(发射时为3ms脉冲停发时为1ms脉冲),此时若发射脉冲个数为1则返回主程序;若不为1则发1ms脉冲,然后停发1ms脉冲,这样便结束整个发射过程在实践中采用红外线遥控方式时由于受遥控距离角度等影响使用效果不是很好如采用调频或调幅发射接收码可提高遥控距离并且没有角度影响图
2.12键盘扫描程序流程图图
2.13发射程序流程图
3.3红外遥控接收部分外部中断程序中断过程首先判断低电平脉宽度是否大于2ms,若脉宽不到2ms,则中断返回;若低电平大于2ms,则接收并地低电平脉冲计数,接下来看判断高电平脉宽度冲是否大于3ms,若脉宽不到3ms,则返回上一接收计数过程;若高电平脉宽大于3ms,则按照脉冲个数至对应功能程序,此时中断返回图
2.14外部中断0中断服务程序流程图第四章系统调试控制电路板的安装与调试在整个系统研制中占有重要位置,它是把理论付诸实践的过程,也是把纸面设计转变位实际产品的必经阶段对试验阶段的电路板的安装一般有两种方式即焊接方式和面包板插接方式使用面包板焊接更加方便,容易更换线路和器件,而且可以多次使用但在多次使用的面包板中弹簧片会变松,弹性变差,容易造成接触不良,这是需要注意的实验和调试常用的仪器有万用表、稳压电源、示波器、信号发生器等调试的主要步骤1.调试前不加电源的检查对照电路图和实际线路检查连线是否正确,包括错接、少接、多接等;用万用表电阻档检查焊接和接插是否良好;元器件引脚之间有无短路,连接处有无接触不良,二极管、三极管、集成电路和电解电容的极性是否正确;电源供电包括极性、信号源连线是否正确;电源端对地是否存在短路(用万用表测量电阻)若电路经过上述检查,确认无误后,可转入静态检测与调试2.静态检测与调试断开信号源,把经过准确测量的电源接入电路,用万用表电压档监测电源电压,观察有无异常现象如冒烟、异常气味、手摸元器件发烫,电源短路等,如发现异常情况,立即切断电源,排除故障;如无异常情况,分别测量各关键点直流电压,如静态工作点、数字电路各输入端和输出端的高、低电平值及逻辑关系、放大电路输入、输出端直流电压等是否在正常工作状态下,如不符,则调整电路元器件参数、更换元器件等,使电路最终工作在合适的工作状态;对于放大电路还要用示波器观察是否有自激发生3.动态检测与调试动态调试是在静态调试的基础上进行的,调试的方法地在电路的输入端加上所需的信号源,并循着信号的注射逐级检测各有关点的波形、参数和性能指标是否满足设计要求,如必要,要对电路参数作进一步调整发现问题,要设法找出原因,排除故障,继续进行我们所设计的遥控器电路是采用码分制遥控方式,我们用示波器对发射电路输出端及接收电路输入端的信号波型的进行了检查,发现当按下不同的开关按钮时所显示的波型是不同的这说明了此电路是工作在正常状态的4.调试注意事项
(1)正确使用测量仪器的接地端,仪器的接地端与电路的接地端要可靠连接;
(2)在信号较弱的输入端,尽可能使用屏蔽线连线,屏蔽线的外屏蔽层要接到公共地线上,在频率较高时要设法隔离连接线分布电容的影响,例如用示波器测量时应该使用示波器探头连接,以减少分布电容的影响
(3)测量电压所用仪器的输入阻抗必须远大于被测处的等效阻抗
(4)测量仪器的带宽必须大于被测量电路的带宽
(5)正确选择测量点和测量
(6)认真观察记录实验过程,包括条件、现象、数据、波形、相位等
(7)出现故障时要认真查找原因课题设计总结毕业设计是学生即将完成学业的最后一个重要环节,它既是对学校所学知识的全面总结和综合应用,又为今后走向社会的实际操作应用铸就了一个良好的开端所以在此有必要对这次的毕业设计作一个系统的总结这次毕业设计,我选择了实做的题目,这不仅是对我的一种锻炼,也是对我大学三年所学知识的综合检查从开始设计到设计的完成,我感觉收获很多,不仅在理论上有了很大的升华并且还在实践中锻炼了自己使自己成长了许多本文首先对整个系统的工作原理和实现方法进行了简单的介绍,给出了系统工作的整体框图在此基础上,介绍了系统设计用到的各个模块的功能特性,并进性了方案比较,选择出了最优越的方案在理论上对整个系统有一定了解的情况下,进行了系统模块的电路的设计,充分利用各方面的资料,发挥我所学的特长整个系统的开发过程是曲折的,首先在硬件设计上,由于以前所学课程有一定的基础,我多方查阅资料,不断的向老师、同学学习请教,以确保设计的电路系统完整,并能实现最完美的系统功能经过几个月学习,我设计出了各个部分的电路图,并实现了电路图的组合经过测试与修改,最终完善了硬件电路的设计,并能够比较理想的完成本次毕业设计功能——红外遥控电路对于软件设计,因为以前的编程经验不够,因此,在这方面花费了很多的精力和时间尽管过程很艰难,但是在真正意义上学到了知识,为以后的工作和学习积累了宝贵的经验在研制过程中注重先进、适用的原则,注重科技与应用结合,来用产、学、研结合,侧重于科研技术转化为生产力本系统经过了设计阶段、开发实现阶段以及最后的应用测试阶段经过2个月的努力,核心问题已经全部解决,所有功能均已基本实现,只是在通用性上还有待提高这次毕业设计的经历使我对51单片机的一些特征、性能,以及应用及原理有了深刻的了解,真正做到了学有所得、学有所用,可以说获益匪浅但是,总的说来,由于我在理论和实践方面存在一定的不足,所以在设计思路和实现功能上难免有不足之处,请各位老师多多批评指正参考文献
[1]李军.检测技术及其仪表.中国轻工业出版社
[2]贺红娟等.汇编语言程序设计教程.清华大学出版社
[3]孙亮杨鹏.自动控制技术.北京工业大学出版社
[4]刘守义钟苏.数字电子技术.西安电子科技大学出版社
[5]周雪.模拟电子技术.西安电子科技大学出版社
[6]杨宏丽王静霞.单片机基础教程.人民邮电出版社
[7]林伸茂8051单片机彻底研究经验篇.人民邮电出版社
[8]刘文涛MCS-51单片机培训教程.电子工业出版社附录A原理图
1.发射部分
2.接收部分附录BPCB板图
1.发射部分
2.驱动部分
3.接收部分附录C程序基本程序;***********************************************;遥控器系统软件程序;***********************************************;***********************************************;***********************************************org0000h;复位地址ljmpstartorg0030h;外部中断0中断入口地址retiorg000bh;定时器T0中断入口地址retiorg0013h;外中断1中断入口地址ljmpint1serveorg001bh;定时器T1中断入口地址ljmpt1serveorg0023h;串行口中断入口地址retiorg002bh;定时器T2中断入口地址reti;***********************************************;***********************************************clear:movp1#0FFH;P
1、P2口位置movp3#0ffhclrp
3.5;关遥控输出movsp#70h;设堆栈movie#00h;关总中断movip#04h;设优先级movtmod#20h;设定时器2自动重装模式movth1#0f3h;定时13usmovtl1#0f3hsetbex1;开外部1setbit1setbea;开总中断ret;***********************************************;***********************************************start:lcallclear;调初始化程序main:lcallkeywork;调键盘程序orlpcon#01h;进入低功耗待机状态ljmpmainnop;设置软件陷阱nopnopljmpstart;***********************************************;***********************************************int1serve:clrie1anlpcon#00h;触发待机状态苏醒reti;***********************************************;***********************************************t1serve:cplp
3.5;高频调制retinop;设置软件陷阱nopnopljmpstart;***********************************************;***********************************************keywork:movp1#0ffh;置列线clrp
3.7;清行线movap1movbacjnea#0ffhkey1;有键按下则不等转移keyworkout:nopnopret;键盘程序返回key1:lcalldelay5ms;延时抖动movap1cjneabkeyworkout;确认键按下movdptr#keyworktab1movba;查列号clrAmovr0akey2:movar0;subba#08hjnckeyworkoutmovar0movca@a+dptrincr0cjneabkey2decr0movar0;键号放入Amovba;键号乘3处理LJMP散转指令addabaddabmovdptr#keyworktab2jmp@a+dptrkeyworktab2:ljmpfucation0;转对应功能处理ljmpfucation1ljmpfucation2ljmpfucation3ljmpfucation4ljmpfucation5retkeyworktab1:db0feh0fdh0fbh0f7h0efh0dfh0bfh07fhret;******************************************************;******************************************************fucation0:mova#02h;脉冲个数装载ljmpsend;转发射程序retfucation1:mova#03hljmpsendretfucation2:mova#04hljmpsendfucation3:mova#05hljmpsendretfucation4:mova#06hljmpsendretfucation5:mova#07hljmpsendretnop;设置软件陷阱nopnopljmpstart;*****************************************************;*****************************************************send:movr1a;装入发射脉冲个数send0:movr0#0fah;第一个码ajmpsend2send1:movr0#53h;中间码send2:setbet1;开高频定时中断调制setbtr1nopnopnopnopnopnopnopnopdjnzr0send2;movr0#64h;码距sendout:clrtr1;关高频定时调制clret1clrp
3.5nopnopnopnopnopdjnzr0sendoutdjnzr1send1;clrp
3.0;开工作指示灯lcalldelay500mssetbp
3.0retnop;设置软件陷阱nopnopljmpstart;*********************************************************;*********************************************************delay5ms:movr7#45delay5ms1:movr6#54delay5ms2:djnzr6delay5ms2djnzr7delay5ms1retnop;设置软件陷阱nopnopljmpstart;***********************************************************;***********************************************************delay10ms:movr7#90delay10ms1:movr6#54delay10ms2:djnzr6delay10ms2djnzr7delay10ms1retnop;设置软件陷阱nopnopljmpstart;***********************************************************;;***********************************************************delay500ms:movr5#50delay500ms1:lcalldelay10msdjnzr5delay500ms1retnop设置软件陷阱nopnopljmpstartend;;***********************************************************;;***********************************************************;;;***********************************************************;;USEBY:HS0038接收;IC:AT89C51;TEL:;Osccal:XT12M;display:;Updata:2004/11/07;Name:ZHOUSS;Company:HangZhouWeiHuangElectricCO.;***********************************************************;;***********************************************************;org0000h;复位入口地址ljmpstartorg0003h;外中断0入口地址ljmpint0serveorg000bh;定时中断0入口地址retiorg0013h;外中断1入口地址 retiorg001bh;定时中断1入口地址ljmpt1serveorg0023h;串行口中断入口地址retiorg002bh;定时中断2入口地址reti;***********************************************************;;***********************************************************;start:movsp#60h;设置堆栈lcallclear;调用初始化程序nopmain:jbp
2.0main;50HZ交流电过零检测;clrp
3.0lcalldelayxus;调用延时子程序(控制导通角)clrp
2.7;发开导通角脉冲;setbp
3.0lcalldelay256us;延时256ussetbp
2.7;关导通角脉冲ljmpmainnopnopljmpstart;设置软件陷阱;***********************************************************;;***********************************************************;clear:mova#0ffhmovp0a;P0~P3口置位movp1amovp2amovp3a;端口置位movb#23h;#26h;设置导通角为零的延时值movp1#0fehsetb50h;默认设置电机为停的标志位setbp
2.7movie#00h;关所有中断clrrs0;设置当前寄存器工作区为0区clrrs1movip#01h;设置优先级setbex0;开外中断0setbit0movtmod#10h;定时器方式movth1#3ch;开定时器1movtl1#0b0hsetbet1setbtr1movr7#0ahsetbea;开总中断ret;***********************************************************;;***********************************************************;int0serve:clrex0;关外中断0setbp
2.7;关导通角脉冲jnbp
3.2int0serve1;确认中断int0ret:setbex0;开外中断reti;中断返回int0serve1:clramovdpha;清DPTRmovdplaint0serve2:jbp
3.2int0serve3;用DPTR对第一个低电平计时incdptrnopnopajmpint0serve2;循环周期是8USint0serve3:movadph;DPTR的高8位放入A中jzint0ret;clraint0serve4:inca;脉冲个数加一int0serve5:jnbp
3.2int0serve5;等待低电平movr1#06h;帧间高电平宽度判断定时值(一帧结束判断)int0serve6:jnbp
3.2int0serve4;lcalldelay513us;延时513USdjnzr1int0serve6deca;超过3MS为一帧结束decajzfunction0;为0则转功能0处理decajzfunction1;为0则转功能1处理decajzfunction2;为0则转功能2处理decajzfunction3;为0则转功能3处理decajzfunction4;为0则转功能4处理decajzfunction5;为0则转功能5处理nopnopljmpint0ret;返回function0:jb50hfunction01movb#16h;功能0操作,movp1#0edhfunction01:nopnopljmpint0ret;返回function1:jb50hfunction11movb#1ch;功能1操作,movp1#0f9hfunction11:nopnopljmpint0ret;返回function2:jb50hfunction21movb#12h;功能2操作,movp1#0ddhfunction21:nopnopljmpint0ret;返回function3:jb50hfunction31movb#19h;功能3操作movp1#0f5hfunction31:nopnopljmpint0ret;返回function4:jb50hfunction41movb#0eh;功能4操作movp1#0bdhfunction41:nopnopljmpint0ret;返回function5:jb50hfunction51setb50h;功能5操作,电灯亮/灭操作movb#26hmovp1#0fehajmpfunction52function51:clr50hmovb#1chmovp1#0f9hfunction52:nopnopljmpint0ret;***********************************************************;;***********************************************************;delayxus:movr2bdelayxus1:lcalldelay256usdjnzr2delayxus1ret;***********************************************************;;***********************************************************;t1serve:clrtr1clret1djnzr7t1serveretmovr7#0ahjb50ht1serve1cplp
1.1ajmpt1serverett1serve1:cplp
1.0t1serveret:movth1#3chmovtl1#0b0hsetbet1setbtr1reti;***********************************************************;;***********************************************************;delay256us:movr4#7dh;#126delay256us1:djnzr4delay256us1ret;***********************************************************;;***********************************************************;delay513us:movr5#0fdh;#254delay513us1:djnzr5delay256us1retend致谢毕业设计是我大学学习生活的最后一项学习任务,是对我大学三年学习的综合考核而也为了使我的综合素质技能可以有一个很大的提高,这次毕业设计我选择了郭泉江老师所带的这个比较具有实用性的有意思的课题——红外遥控电路设计在为期两个多月的毕业设计过程中,我不仅较为系统的复习了以前学的知识,而且又学习了许多新知识,使我的知识结构更加系统化,也更加完善同时,也提高了我独立分析问题、解决问题的能力本次毕业设计能够顺利地完成,首先要感谢我的指导老师郭泉江老师郭老师严谨的治学态度,深厚的学术造诣以及忘我的工作精神给我留下了深刻的印象郭老师的严格要求和孜孜不倦的教导是我完成这次毕业设计的重要保证,他给予了我很大的帮助和支持,在课题研究期间,郭老师提供了很多指导性的意见,对存在的问题给予细心的分析并提出许多宝贵的意见,使我受益匪浅在此谨向导师表示衷心的感谢!同时我要感谢给予我帮助和支持的同组同学们,感谢信息工程系的老师为我们做毕业设计提供的各方面的帮助!同时,我要感谢我的母校——江西理工大学,特别是在我即将踏上工作岗位时,给了我这样一个锻炼、学习的机会,使我加深了对以前知识的理解,拓宽了知识面,也提高了我对所学知识的综合的应用能力在整个设计制作过程当中,我感觉收获非常大,我获得的不仅是理论上的收获还有实践中的丰收,同时还有的就是同学们之间的合作精神在此,祝愿我院日后蓬勃发展,成为一所独具风格的综合性大学祝愿母校的将来更美好!最后,我要再一次感谢所有在此期间帮助过我的人,我衷心的祝福你们!07电气自动化1班诸奇强2010年3月江西理工大学南昌校区+3V电源红外发射电路AT89C2051单片机键盘输入发射指示灯9VACAT89C52单片机+5V电源电路红外接收电路50HzAC过零检测对一路电灯开光控制及亮度调节状态指示电路+3V电源红外发射电路AT89C2051单片机键盘输入发射指示灯9VACAT89C52单片机+5V电源电路红外接收电路50HzAC过零检测对一路电灯开光控制及亮度调节状态指示电路Q29013Q190131234D7206100K5K15K1+5V~220VTRANS1CP
2.7ABSTARTP
1、P2口复位关P
3.5遥控输出口设置堆栈设置中断优先级定时器/计数器1方式2选择、初值设置开外部中断1开总中断允许返回STARTTT调初始化程序调键盘程序进入低功耗空闲节电方式外部中断1中断?硬件退出低功耗空闲方式STARTSTART设置堆栈设置寄存区设计优先级P0~P1口复位开外部中断0开总中断允许设置默认电灯亮灭返回调初始化程序50Hz交流电过零检测过零吗调延时子程序发开导通角脉冲调延时216us程序关脉冲START键按下吗逐行扫描查列号查表确定键号由键号至发射程序返回START装载发射脉冲个数发3ms首脉冲停发1ms码间距发射脉冲个数减1等0吗发1ms脉冲停发1ms脉冲返回START首个低电平脉宽2ms吗接受并对低电平脉冲个数加1高电平脉宽3ms吗ms吗脉冲数为2吗脉冲数为3吗脉冲数为4吗脉冲数为5吗脉冲数为6吗脉冲数为7吗3档亮度1档亮度4档亮度2档亮度5档亮度开/关操作中断返回。