客厅灯遥控器的设计.docx
- 文档编号:5727582
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:23
- 大小:1.45MB
客厅灯遥控器的设计.docx
《客厅灯遥控器的设计.docx》由会员分享,可在线阅读,更多相关《客厅灯遥控器的设计.docx(23页珍藏版)》请在冰豆网上搜索。
客厅灯遥控器的设计
单片机原理及接口技术课程设计(论文)
题目:
客厅灯遥控器的设计
课程设计(论文)任务及评语
院(系):
电气工程学院教研室:
自动化
学号
120302034
学生姓名
李万超
专业班级
自动化122班
课程设计(论文)题目
客厅灯遥控器的设计
课程设计(论文)任务
课题完成的功能、设计任务及要求、技术参数
实现功能
客厅遥控灯具在家装市场上应用广泛,遥控系统中可以采用一个单片机作为遥控器,另一个单片机作为接收器能被遥控操作。
遥控器可以实现对3路电灯的开关控制,采用脉冲个数编码,遥控接收系统由单片机、红外接收电路、电灯控制电路组成,单片机根据不同的信息码对3路电灯进行控制操作。
设计任务及要求
1、分析系统功能,确定系统硬件组成;
2、设计单片机最小系统、遥控发射电路、遥控接收电路、继电器控制电路。
3、编写相应的软件,完成控制系统的控制要求;
4、上机调试、完善程序;
5、按学校规定格式,撰写、打印设计说明书一份;设计说明书应在4000字以上。
技术参数
遥控距离要求10m,电灯电压220V
进度计划
1、布置任务,查阅资料,确定系统设计方案(2天)
2、系统硬件设计及模块选择(3天)
3、系统软件设计及编写功能程序及调试(3天)
4、撰写、打印设计说明书(1天)
5、验收及答辩(1天)
指导教师评语及成绩
平时:
论文质量:
答辩:
总成绩:
指导教师签字:
年月日
注:
成绩:
平时20%论文质量60%答辩20%以百分制计算
摘要
红外遥控技术已经成为人类日常生活以及工业、航空航天等各领域不可或缺的一部分,给人们带来了极大方便,研究红外遥控技术具有较强的现实意义,但是通常的红外遥控技术的实现需要专用芯片来完成,而不能进行芯片互换,因此本设计采用简单的单片机系统实现红外遥控解码并完成其相应的控制功能。
本课设设计目的为控制客厅灯的开关,对此,进行了采用了红外发射的方案,并对红外发射电路,接收电路以及继电器控制电灯电路进行了设计,而且对设计所需的程序进行了设计并编程。
关键词:
红外;单片机;继电器;发射电路;接收电路
第1章绪论
1.1家用遥控技术的现状
目前市面上的遥控器铺天盖地,对于家电设备的控制,首选的就是红外遥控器,然而技术和经济的发展使得家庭数字化趋势越来越强烈,一对一遥控器(即一个遥控器只能控制一种类型的家电设备)已经不能满足用户要求。
多功能红外遥控器就是在普通红外遥控器的基础上,应市场需求而产生的,它能控制不同种类的设备,并且操作方便,深受顾客的欢迎,这也决定了多功能遥控器具有广阔的应用前景。
1.2红外遥控技术的研究和成果
常用的红外遥控系统一般分发射和接收两个部分。
发射部分的主要元件为红外发光二极管。
它实际上是一只特殊的发光二极管;由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。
目前大量的使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通φ5发光二极管相同,只是颜色不同。
红外发光二极管一般有黑色、深蓝、透明三种颜色。
判断红外发光二极管好坏的办法与判断普通二极管一样;用万用表电阻挡量一下红外发光二极管的正、反向电阻即可[2]。
红外发光二极管的发光效率要用专门的仪器才能精确测定,而业余条件下只能用拉锯法来粗略判判定。
接收部分的红外接收管是一种光敏二极管。
在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。
红外发光二极管一般有圆形和方形两种。
由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。
红外遥控常用的载波频率为38kHz这是由发射端所使用的455kHz晶振来决定的。
在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9kHz≈38kHz。
第2章课程设计的方案
2.1概述
本次设计主要是综合应用所学知识,设计客厅遥控灯具,遥控系统中可以采用一个单片机作为遥控器,另一个单片机作为接收器能被遥控操作。
遥控器可以实现对3路电灯的开关控制,采用脉冲个数编码,遥控接收系统由单片机、红外接收电路、电灯控制电路组成,单片机根据不同的信息码对3路电灯进行控制操作
2.2方案选择
根据课设设计的要求,利用单片机设计一个遥控开关电路,可以拟定以下的几种方案。
方案一:
(简易红外遥控电路)
在不需要多路控制的应用场合,可以使用由常规集成电路组成的单通道红外遥控电路。
这种遥控电路不需要使用较贵的专用编译码器,因此成本较低。
产生震荡频率
红外发射
图2.1方案一红外发射部分示意图
考虑到本方案电路是简单的单通道遥控器,如图2.1所示,可直接产生一个控制功能的震荡频率,再通过红外发光二极管发射出去。
当按下遥控按钮时,单片机产生相应的控制脉冲,由红外发光二极管发射出去,如图2.2所示。
图2.2方案一红外接收部分示意图
方案二:
(利用红外遥控开关电路)
用单片机制作一个红外电器遥控器,可以控制客厅灯的电源开关。
图2.3方案二发射部分示意图
当按下遥控按钮时,单片机产生相应的控制脉冲,由红外发光二极管发射出去,如图2.3所示。
当红外接收器接收到控制脉冲后,经单片机处理由显示设备显示出当前受控电器的序号,如图2.4所示。
:
图2.4方案二接收部分示意图
方案三:
(利用红外遥控开关电路)
用单片机制作一个红外电器遥控器,可以用来控制客厅灯的电源开关。
图2.5方案三发射部分示意图
按下按键时,单片机产生相应的控制脉冲,由红外发射二极管发射出去。
如图2.6所示,当红外接收器接收到控制脉冲后,经单片机处理由显示设备显示出当前受控电器的序号。
图2.6方案三接收部分示意图
方案选择
综上所述通过比较三套方案,方案一未采用单片机控制,功能过于单一,仅能对一路电器进行简单的遥控;方案二和方案三的红外线发射/接收控制电路采用单片机来实现,电路简单,实用性强。
方案二控制功能过于单调,仅能实现电器开关的控制,实用价值不大;方案三不仅可用控制键实现对电器的控制,而且可对一路电灯进行亮度控制,方便实用。
方案三符合课设要求且本设计用到的元器件较少,电路相对简单实用。
所以本设计采用方案三作为设计蓝本
2.3系统组成总体结构
提到总体方案的确定,就要符合本课题的要求:
1、它是一个室内用的灯光控制系统。
2、要求人们手持遥控器就可以对室内的灯光进行控制。
3、要求能够在室内简便的安装,应用。
4、在设计本系统中,成本是必须考虑的条件。
要求成本不能太高,使一般家庭都能够承担的起费用。
本系统为基于单片机的无线灯光控制系统,人们通过手中的遥控器对室内灯光进行控制。
要实现无线控制功能,就要设计一系列的硬件电路。
首先要对无线模块进行设计,其中这部分的模块就要设计发送信号和对信号的接收,就要对这部分的电路进行设计。
在对信号接收之后,要能使对系统灯光进行控制,就要设计一调光控制电路,从而对每一盏灯具进行开启关闭和调亮调暗的控制。
要驱动调光电路,就要通过单片机相应的程序来控制调光电路。
在发送电路中,其中也要通过单片机的相应程序对按键进行扫描处理等。
在系统设计中,要使单片机能够正常实现其功能,就必须为其提供相应的直流电压,而我们一般的家用电压中都是220V,所以我们就要设计一个电源电路,为单片机提供正常的工作的电压,具体如图2.7所示。
图2.7总体方案框图
第3章硬件设计
要实现系统的发射和接收功能,电路是必不可少的,而要驱动电路,实现灯光控制系统的整体功能,就必须通过单片机相应的程序来完成。
3.1单片机的介绍
1.MCS-51单片机的内部组成
MC-51系列单片机包括8031、8051、8751等型号,其代表型号是8051。
其内部组成方框图如图3.1所示。
图3.1单片机内部组成框图
2.AT89C51的性能介绍
在本系统中我选择的是51系列的AT89C51,AT89C51是一种带4k字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
①与MCS-51兼容②4K字节可编程闪烁存储器③可编程串行通道④片内振荡器和时钟电路⑤全静态工作:
0Hz-24Hz⑥三级程序存储器锁定⑦128*8位内部RAM⑧32可编程I/O线⑨两个16位定时器/计数器⑩5个中断源。
3.时钟电路及时序
MC-51内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
MC-51的时钟可由内部方式或外部方式产生。
内部方式时钟电路外接晶体以及电容C1、C2构成并联谐振电路,接在放大器产生自激电路,一般晶振可在2~12MHZ之间任选。
对外接电容值虽然没有严格的要求,但电容的大小多少会影响振荡频率的高低、振荡器稳定性、起振的快速性和温度的稳定性。
外接晶体时,C1和C2通常选择30pF左右;外接陶瓷谐振器时,C1和C2的典型值为47pF。
当采用外部方式时钟电路时,外部信号接至XTAL2(内部时钟电路输入端),而XTAL1接地。
由于XTAL2端的逻辑电平不是TTL的,故建议外接上拉电阻。
通常对外部振荡信号不特殊要求,但需要保证最小高电平及低电平脉宽,一般为频率低于12M的方波。
4.复位电路
复位即回到初始状态,是单片机经常进入的工作状态。
在设计单片机应用系统时,必须了解单片记的复位状态。
单片机的复位是靠外部电路实现的,在振荡器正在运行的情况下,RST引脚保持二个周期以上时间的高电平,系统复位。
在RST端出现高电平的第二个周期,执行内部复位,以上每个周期重复一次,直至RST端变低。
复位时,ALE和/PSEN配置为输入状态。
即ALE=1,/PSEN=1。
内部RAM不受复位的影响。
上电复位电路:
上点瞬间,RST端的电位与Vcc相同,随着电容的逐步充电,充电电流减小,RST电位逐步下降。
上电复位所需的最短时间是振荡器建立时间加上二个机器周期,在这段时间内,RST端口的电平应维持高于斯密特触发器的下阀值。
一般Vcc的上升时间不超过1ms,振荡器建立时间不超过10ms。
复位电路的典型值为:
C取10uf,R取8.2kΩ,故时间常数t=RC=10×8.2×10=82ms,足以满足要求。
4.单片机的引脚功能
如图3.2所示,MCS-51单片机采用的是40引角的双列直插封装(DIP)放式。
如图3.2。
在40条引角中,有2条专用于主电源的引角,2条外接晶体的引脚,4条控制引脚,3条I/O引角。
下面分别叙述各引脚的功能。
图3.2mcs-51单片机的引脚图
①主电源引脚Vss和Vcc
Vss(20):
接地;Vcc(40):
正常操作时接+5V电源。
②外接晶体引脚XTAL1和XTAL2
当外接晶体振荡器时XTAL1和XTAL2分别接在外接晶体两端。
当采用外部时钟方式事XTAL1接地,XTAL2接外来振荡信号。
③控制引脚RST/VPD、ALE/PROG、/PSEN、/EA/Vpp
RST/Vpp(9):
当振荡器正常运行时,在此引脚上出现二个机器周期以上的高电平单片机复位。
Vcc掉电期间,此引脚可接备用电源,以保持RAM的数据。
当Vcc下降到低于规定的水平,而VPD在其规定的电压范围内,VPD就向RAM提供备用电源。
ALE/PROG(30):
当访问外部存储器时,由单片机的P2口送出地址的高8位,P0口送出地址的低8位,数据也是通过P0口传送。
作为P0口某时送出的信息到底是低8位还是传送的数据,需要有一信号同步地进行分别。
当ALE信号(允许地址锁存)为高电平(有效),P0口送出低9位地址,ALE信号锁存低8为地址。
即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,次频率为振荡器频率的1/6,因此可用作对输出的时钟。
但需注意:
当访问外部数据存储器(执行MOVX指令)时,将跳过一个ALE脉冲。
ALE端可驱动8个LSTTL输入。
PSEN(29):
程序存储器读出选通信号,低电平有效。
MCS-51单片机可以外接程序存储器及数据存储器,它们的地址可以是重合的。
MCS-51单片机是通过相应的控制信号来区别到底P2口和P0口送出的是程序存储器还是数据存储器地址。
从外部程序存储器取指令(或常数)期间,每个机器周期两次/PSEN有效,此时地址总线上送出地址为程序存储器地址;如果访问外部数据存储器时,这两次有效的PSEN信号将不会出现。
外部数据存储器是靠/RD(读)及/WR(写)信号来控制的。
/PSEN同样可以驱动8个LSTTL输入。
EA/Vpp(31):
当EA端保持高电平时,访问内部程序存储器(4KB),但当PC(程序计数器)值超过OFFFH时,将自动转向执行外部程序存储器内的程序。
当/EA保持低电平时,则访问外部程序存储器(从0000H地址开始),不管单片机内部是否有程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(Vpp)。
④输出输入引脚
P0.0~0.7(39~32):
P0口是一个漏极开路型准双向I/O口可以写为1使其状态为悬浮,用作高阻输入。
在访问外部存储器时,它是分时多路转换的地址(低8位)和数据总线,在访问期间激活了内部的上拉电阻。
EPROM编程时,它接收指令字节,而在验证程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1.1~P1.7(1~8):
P1口是带内部上拉电阻8位双向I/O口。
向P1口写入1时,P1口被内部上拉为高电平,可用作输入口。
当作为输入脚时,被外部拉低的P1口会因为内部上拉而输出电流。
在EPROM编程和程序验证时,它接收低8位地址。
P2.0~P2.7(21~28):
P2口是一个带内部上拉电阻的8位双向I/O口。
在访问外部存储器时,它送出高8位地址。
在对EPROM编程和程序验证期间,它接收高8位地址。
P3.0~P3.7(10~17):
P3口是一个带内部上拉电阻的高8位双向I/O口。
在MCS-51中,这8个引脚还兼带有专用功能,这功能如下:
表3.1引脚功能表
口线
替代的专用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
/INT0(外部中断0)
P3.3
/INT1(外部中断1)
P3.4
TO(定时器0的外部输入)
P3.5
T1(定时器1的外部输入)
P3.6
/WR(外部数据存储器写选通)
P3.7
/RD(外部数据存储器读选通)
这些专用功能的口线,在与外部设备接口、外接数据存储器等反面具有非常重要的作用。
3.2单片机的最小系统
AT89S51单片机最小系统,就是使单片机正常运行的最低配置:
它有一系列模块组成,如图3.3所示。
1)复位系统:
当引脚9出现2个机器周期以上高电平时,单片机复位,程序从头开始运行。
2)时钟系统:
有振荡器电路产生频率等于晶振频率,这时用的是外界晶振。
也可以又外部单独输入,此时XTAL2脚接地,时钟信号由XTAL1输入。
3)电源系统:
VCC,和GND引脚,供电电压4--5.5V。
图3.3单片机的最小系统
3.3发射电路的设计
发射电路采用一个12M的晶体振荡器,产生相对应受控开关的脉冲频率,通过红外发射管发射出去。
单片机第9脚(RST)所接的是一个最简单的RC上电复位电路。
P3.5接一个三级管发光二级管利用红外光为介质,将控制信以红外光脉冲的形式发射出去,由接收电路再进行放大,解调,信号还原。
晶体三极管主要用于放大电路中起放大作用,本设计采用的是一个NPN型的三级管9013,为了得到更大的放大倍数,采用了类似共射级接法。
因为从p3.5口出来的为高电压,而三级管9013不能承受此电压,所以采用了一个阻值较大的电阻来起分压作用,从而缓冲了加到三级管上的电压。
图3.4为该系统遥控发射器电路原理图,其中第1脚至第5脚接5个点触式的开关,用来遥控电器电源开关,第9脚为单片机的复位脚,采用简单的RC上复位电路,15脚作为红外线遥控码的输出口,用于输出40kHz载波编码,18,19脚接12MHz晶振。
图3.4发射部分电路设计
3.4按键电路的设计
按键单元采用高电位无效低电位有效地输入方式,使得输入的电流不大,保护单片机芯片安全。
当按下键盘的不同按键时,产生与之相应的特定的二进制脉冲信号。
将此二进制脉冲信号先调制在38kHz的载波上,经过放大后,激发红外发光二极管LED转变成以波长940nm的红外线光传播出去。
按键部分电路图如图3.5所示:
图3.5按键部分电路设计
3.5接收电路的设计
图3.6是为该系统的遥控接收器电原理图。
第1至8接数码管,用来显示被控电器开关的序号,显出数字0至5。
第35至39口接作为电灯的电源控制输出,后接继电器,此处是实现控制电器开关的主要。
当有输出电流的时候,电流通过继电器,继电器检测到电流后开启功能,对应的电器电源接通。
同时电流流过发光二极管,二极管发光,我们就可以知道控制是否成功。
第10脚为50Hz交流市电相位基准输入,第12脚为中断输入口,第11脚用于接收红外遥控码输入信号。
图3.6接收部分电路设计
3.6继电器控制电路
控制模块通过单片机L/O口输出的高低电平来确定继电器的开关的开合,从而决定了继电器控制端的导通和断开。
控制模块如图3.7所示。
图3.7继电器控制灯泡图
3.7总体电路图
总体电路图如图3.8所示:
图3.8总体电路图
第4章软件设计
主程序主要是循环调用显示子程序及红外接收处理子程序,当开关按下时,转入相应功能子程序。
采用动态扫描的方式,键盘扫描功能设置子程序是主要完成调整时钟功能和强制开关灯功能。
定时中断子程序主要是完成时间计时功能。
主程序的设计
主程序流程如图4.1所示。
图4.1主程序流程图
流程说明:
在遥控器按下键码的时候,发射的红外线被一体化接收头接收后输出TTL电平信号,对单片机造成外部中断,进而单片机对红外接收头传来含有编码信息的TTL电平信号进行解码,然后程序中处理得到的键码码值再传至控制程序,如本设计中的继电器控制程序,处理继电器控制程序以实现本设计所要求的开关控制功能,当没有按键按下,程序返回到主程序的最开始,重新进行键码判断。
外部中断子程序
外部中断0子程序用于处理接收来的红外信号。
当进入中断时,表示接收到遥控发来的红外信号,子程序中只需判断P3.7口,是否输出高电平,转而去执行相应的功能函数。
程序流程如图4.2所示。
图4.2外部中断0流程图
程序设计
主程序模块
#include
#include
#include"macroandconst.h"
#include"infr.h"//红外解码程序头文件声明
#include"Control.h"//继电器控制程序头文件声明
voidInital()
{IE=0x84;//允许总中断中断,使能INT1外部中断;
TCON=0x04;
}
Main()
{Inital();
P2=0x00;//驱动晶体管是高电平,所以一开始将
while
(1)//I/O的电平拉低;
{
if(PassWord!
=0)//PassWord在红外解码的头文件当中定义,可//以直接在此引用。
{Relay();//继电器控制程序;
}
}
}
voidExter1()interrupt2//外部中断程序;
{
IR_IN();//红外解码功能子程序调用;
}
红外解码程序
#include
#include"macroandconst.h"
#include"Delay.h"//延时程序头文件声明;
#include"Control.h"
sbitIRIN=P3^3;
ucharIRCOM[7];
ucharPassWord=0;
/*
函数名称:
红外解码程序
函数功能:
对红外接收头输出信号进行解码并编码
*/
voidIR_IN()//红外解码程序
{
unsignedcharj,k,N=0;
EX1=0;//关断外部中断,一面再次接接收,delay(15);//造成程序混乱;
if(IRIN==1)//引导码是以低电平开始,所以一开始得检测
{
EX1=1;//再次打开外部中断,接收系统码和数据码以及
return;//数据反码确认IR信号出现
}
while(!
IRIN)//等IR变为高电平,跳过9ms的前导低{//电平信号。
delay
(1);
}
while(IRIN)//等IR变为低电平,跳过4.5ms的前导
{//高电平信号。
delay
(1);
}
for(j=0;j<3;j++)//收集三组数据
{
for(k=0;k<8;k++)//每组数据有8位
{
while(!
IRIN)//等IR变为高电平
{
delay
(1);
}
while(IRIN)//计算IR高电平时长
{
delay
(1);
N++;
if(N>=30)//判断是否超时
{
EX1=1;
return;
}//0.14ms计数过长自动离开。
}//高电平计数完毕
IRCOM[j]=IRCOM[j]>>1;//数据最高位补“,不是接
if(N>=8)//收串口数据,而是根据脉{//冲的延时来判断‘1’和‘0’;
COM[j]=IRCOM[j]|0x80;//数据最高位补‘1’
}
N=0;
}
}
if(IRCOM[2]!
=~IRCOM[3])//判断接受的数据与其反码是{//否相等,相等则重新接收;
EX1=1;
return;
}
PassWord=IRCOM[2];//将接收到的按键码值赋值给变量;
EX1=1;
}
继电器控制程序
#include
#include"m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 客厅 遥控器 设计