基于单片机的红外遥控控制系统.docx
《基于单片机的红外遥控控制系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的红外遥控控制系统.docx(17页珍藏版)》请在冰豆网上搜索。
基于单片机的红外遥控控制系统
单片机原理与应用技术
课程设计报告(论文)
基于单片机的红外遥控控制系统
专业班级:
姓 名:
时间:
指导教师:
2016年12月5日
基于单片机的红外遥控控制系统
1.设计要求
(一)基本功能
(1).有效遥控距离大于10米。
(2).遥控控制的路数在5路以上。
(3).采用数码管显示当前工作的控制电路。
(二)扩展功能
(1).通过遥控器可以任意设置用户密码(1-16位长度),只有合法用户才能有修改电路控制的功能,同时系统掉电后能自动记忆和存储密码在系统中。
(2).报警和加锁功能:
密码的输入时间超过12秒或者连续3次输入失败,声音报警同时锁定系统,不让再次输入密码。
此时只有使用管理员密码方能对系统解锁。
2.设计内容
(1)画出电路原理图,正确使用逻辑关系;
(2)确定元器件及元件参数;
(3)进行电路模拟仿真;
(4)SCH文件生成与打印输出;
3.编写设计报告
写出设计的全过程,附上有关资料和图纸,有心得体会。
4.答辩
在规定时间内,完成叙述并回答问题。
基于单片机的红外遥控控制系统
电气144安彦喜
摘要:
随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。
传统的遥控器采用专用的遥控编码及解码集成电路,这种方法虽然制作简单、容易,但由于功能键数及功能受到特定的限制,只实用于某一专用电器产品的应用,应用范围受到限制。
而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随便设定等优点。
本设计主要应用了AT89C52单片机作为核心,综合应用了单片机中断系统、定时器、计数器等知识,应用红外光的优点,设计了一个红外线遥控系统。
本系统包含发射和接收两大部分,利用编码/解码芯片来进行控制操作。
发射部分包括键盘、编码调制、LED红外线发射器;接收部分包括红外线接收芯片、七段数码管等。
关键词:
单片机,红外遥控,中断,计数,频率
1引言
目前市面上的遥控器铺天盖地,对于家电设备的控制,首选的就是红外遥控器,然而技术和经济的发展使得家庭数字化趋势越来越强烈,一对一遥控器(即一个遥控器只能控制一种类型的家电设备)已经不能满足用户要求。
多功能红外遥控器就是在普通红外遥控器的基础上,应市场需求而产生的,它能控制不同种类的设备,并且操作方便,深受顾客的欢迎,这也决定了多功能遥控器具有广阔的应用前景。
2总体设计方案
2.1设计思路
目前市场上一般采用的遥控编码及解码集成电路。
此方案具有制作简单、容易等特点,但由于功能键数及功能受到特定的限制,只适合用某一专用电器产品的应用,应用范围受到限制。
而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随意设定等优点[6]。
本单片机遥控应用系统采用红外线发射频率的不同,来识别不同的遥控功能。
当我们按下某一个按键的时候,由单片机识别出该按键后,由CPU向接有红外发射管的端口发射一定频率的脉冲,该脉冲与38KHZ左右的载波脉冲进行调制,然后将已调制的脉冲进行缓冲放大,激励红外发光二极管将电能转化为光能,使得红外发光二极管发射出一定频率的红外线,当接收控制系统接收到该红外光后,由单片机内定时/计数器得到该红外光的频率,然后将该频率送往CPU,由CPU对该信号进行反编码,识别出控制信号,从而对控制电路实施控制功能,完成整个遥控功能。
单片机红外遥控发射器主要有单片机、独立键盘、低功耗空闲方式控制电路、红外管发射电路以及单片机的一些电源、复位、震荡子电路组成。
单片机不工作时一直处于低功耗状态,采用了空闲节电工作方式。
当遥控器的某一按键被按下以后,外部中断1产生中断,唤醒单片机进入工作状态,查询键盘按下的是哪一个按键,当确认按键后,控制软件内部产生区别38KHZ固定频率的不同的高低电平比如100HZ、300HZ、400HZ等不同赫兹的波,将按键产生的波在P2.1输出。
将单片机内部产生的固定的38KHZ从P2.0输出与P2.1口输出的不同的波利用74LS00进行叠加经过放大传送到红外发射管将电信号转变为光信号。
进而完成红外发射功能即:
红外遥控的空值系统。
2.2总体设计框图
红外遥控控制系统的原理框图如图1所示。
它主要由单片机最小系统、按键、单片机1、红外发射、红外接收、单片机2、显示部分组成。
图1红外遥控控制系统的原理框图
3设计原理分析
3.1单片机最小系统
单片机最小系统是单片机工作的最基本装置,它是单片机工作的基础。
最小系统位单片机工作提供频率和复位最基本功能。
XTAL1和XTAL2分别为反向放大器,该反向放大器可以配置为片内振荡器。
石英震荡和陶瓷震荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
其原理图如图2所示:
图2单片机最小系统原理图
3.2按键控制系统
首先,初始化定时器,定时频率为38KHz的时间段。
当按下某一按键时,送数据p2.1输出与p2.0的固定频率38KHZ进行叠加,就开始工作。
由于HS0038红外接收装置只识别38KHZ的波,所以利用按键产生不同的波进行叠加传送红外发射头将电信号转化为光信号传送到HS0038进行接收。
光信号经过HS0038将光信号转化为电信号,在经过单片机的识别区分从而进行产生不同的指示命令。
当某个操作按键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成38kHz方波由红外线发光管发射出去。
P2.0端口的输出与p2.1端口的输出进行叠加进行调制波如图3所示,程序流程图如图4所示:
图3调制波
图4程序流程图
3.3红外发射系统
遥控发射通过键盘,每按下一个键,即产生具有不同的编码数字脉冲,这种代码指令信号调制在38KHz的载波上,激励红外光二极管产生不同的脉冲,通过空间的传送到受控机的遥控接收器。
P0口作为按键部分,P2.1口和P2.0口作为发射部分,然后用三极管的放大驱动红外发射电路。
如下图图5所示:
图5电路红外发射系统
3.4红外接收部分
接收部分的红外接收管是一种光敏二极管。
在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。
红外发光二极管一般有圆形和方形两种。
如下图6所示:
图6HS0038图
由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。
前些年常用Μpc1373H、CX20106A等红外接收专用放大集成电路。
最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。
成品红外接收头的封装大致有两种:
一种采用铁皮屏蔽;一种是塑料封装。
均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VO或OUT)。
红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。
成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。
但在使用时注意成品红外接收头的载波频率。
红外遥控常用的载波频率为38kHz这是由发射端所使用的455kHz晶振来决定的。
在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9kHz≈38kHz。
也有一些遥控系统采用36kHz、40kHz、56kHz等,一般由发射端晶振的振荡频率来决定。
红外通信是利用950nm近红外波段的红外线作为传递信息的媒体,即通信信道。
红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号,通过红外发射管发射红外信号。
常用的有通过脉冲宽度来实现信号调制的脉宽调制PWM(Pulse-widthmodulation)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制PTM(Pulse-timemodulation)两种方法。
简而言之,红外通信的实质就是对二进制数字信号进行调制与解调,以便利用红外信道进行传输;红外通信接口就是针对红外信道的调制解调器。
通常发送端采用脉时调制(PTM)方式,将二进制数字信号调制成某一频率的脉冲序列,并驱动红外发射管以光脉冲的形式发送出去;接收端将接收到的光脉转换成电信号,再经过放大、滤波等处理后送给解调电路进行解调,还原为二进制数字信号后输出。
对于发送端来说,当无红外脉冲发射时,发送的是二进制数据1;而有红外脉冲发射时发送的是二进制数0。
而对于接收端来说,没有接收到红外光,则认为是1;接收到则认为是0。
相比之下,96年发布的FIR不再依托UART(UniversalAsynchronousReceiverTransmitter,通用异步收发器),其最高通讯速率有了质的飞跃,可达到4Mbps的水平。
FIR采用了全新的4PTM调制解调,即通过分析脉冲的相位来辨别所传输的数据信息,每2个二进制数据位有4种状态,把每个位分为4个相,脉冲出现不同的相位上表示两位数据的不同状态。
3.5红外显示部分
数码管显示主要是显示所发射的所发送的信号的哪个按键,它就实现以下的作用。
当按下某一按键比方说2键,第二个led灯亮同时数码管会显示2。
下面介绍数码管的主要性能。
数码管由7个发光二极管组成,又叫7段LED显示器,显示器中还有一个圆点型发光二极管,用于显示小数点。
通过7个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。
LED显示器中的发光二极管共有两种连接方法:
1.共阳极接法
把发光二极管的阳极连在一起够成共阳极,使用阳极接+5V电压,这样阴极端输入低电平的发光二极管就导通点亮,而输入高电平的则不亮。
2.共阴极接法
把发光二极管的阴极连在一起够成共阴极,,使用阴极接地,这样阳极端输入高电平的发光二极管就导通点亮,而输入低电平的则不亮。
因为在设计的电路中,采用了共阳极接法。
所以本实验的显示部分如图图7所示:
图7红外控制系统接收显示
4调试与仿真
本电路总共设计了8个输入按键。
当输入一个按键5时,通过红外发射和接收电路,对应的LED灯5的设备工作即5号发光二极管发光,而数码管显示工作的设备的个数,就显示5。
当再次按下复位键时,5号发光二极管灭,数码管不显示。
同理,其他灯和数码显示。
电路要求遥控控制距离为10m,在利用38KHz的接收头时,虽然能接收到信号,但是接收的距离很有限。
经过反复调试,基本满足了设计需求。
仿真因仿真软件没有相应的发射接收装置,仿真采用连线的方法完成操作。
但实物中满足了要求。
5总结与体会
非常感谢指导老师的指导,张老师总是在百忙之中抽出时间来对我悉心指导,为我提出了各方面的指导意见,为我提供各方面的重要资料,第一次做完的时候发现没有实现功能,找到张老师后,她仔细地给我进行了分析并给出了意见使我实现了实验现象。
同时非常感谢同学们对我的大力帮助,整个过程中一直不遗余力给我提供各种建议,在我遇到一些专业上的难题的时候总是能够帮我想到解决办法。
在这次实习过程中,我认识单片机的控制的重要性同时对红外遥控控制原理也有了深刻的理解和学习。
我明白了设计电路的一般过程,同时强化了我们所学的电子技术方面的知识,通过查阅相关的资料,才完成设计任务的过程。
通过这次实习,我学到了许多我未接触过的知识。
我对课本上的知识我更加充分的理解。
我在单片机设计方面有了更深的认识。
在实习过程中遇到了很多麻烦,但正是这些挫折使我知道的更多,使我学习的更加透彻,我相信只有这样,我们才能很好的发挥我们的能力。
在以后的学习中,我应当好好学习专业知识,培养自己的动手能力,培养自己自我学习的能力,为将来如果从事电子设计方面的工作打下坚实的基础。
参考文献
[1]梅丽凤,王艳秋,张军等.单片机原理及接口技术.北京:
清华大学出版社,北京交通大学出版社,2004.2
[2]李湘闽,唐宏,葛继.学习型红外遥控器.红外.2004,11
[3]李洪明.漫谈红外遥控.电子世界.2000年01期总第244期
[4]戴峻峰,付丽辉.多功能红外线遥控器的设计.传感器世界.2002,8
[5]严后选,孙健国等.无线红外智能遥控器的设计.测控技术.2003.22
[6]李光飞,楼然苗,胡佳文等.单片机课程设计实例指导.北京:
北京航空航天出版社.2004
[7]苏长赞.红外线与超声波遥控.北京:
人民邮电出版社.1995.
[8]杨恢先,王子菡,杨穗,陶霞.一种基于单片机的红外遥控软件解码方法.自动化与仪器仪表.2004
[9]张爱全.红外线遥控的基本原理和应用范围.山西电子技术.20036
[10]苏凯刘国庆陈国平.MCS-51系列单片机原理与设计.冶金工业出版社.2003
[11]杨光友,朱宏辉等.单片微型计算机原理及接口技术.北京:
中国水利水电出版社.2002
附录1:
单片机红外遥控控制系统原理图
图1:
单片机红外遥控控制系统发射原理图
图2:
单片机红外遥控控制系统接受原理图
附录2:
单片机红外遥控控制系统PCB图
图3:
单片机红外遥控控制系统发射
图4:
单片机红外遥控控制系统接收
附录3:
单片机红外遥控控制系统软件程序
发射程序:
ORG0000H
LJMPMAIN
ORG000BH
ORG001BH
LJMPZHONG1
ORG0030H
MAIN:
MOVTMOD,#21H
SETBEA
SETBET1
MOVTH1,#0E6H
MOVTL1,#0E6H
SETBTR1
Z1:
JBP0.0,LOOP
LCALLD0
LOOP:
JBP0.1,LOOP1
LCALLD1
LOOP1:
JBP0.2,LOOP2
LCALLD2
LOOP2:
JBP0.3,LOOP3
LCALLD3
LOOP3:
JBP0.4,LOOP4
LCALLD4
LOOP4:
JBP0.5,LOOP5
LCALLD5
LOOP5:
JBP0.6,LOOP6
LCALLD6
LOOP6:
JBP0.7,Z1
LCALLD7
SJMPMAIN
D0:
JBP0.0,V3
MOVTH0,#0ECH
MOVTL0,#0A8H
SETBET0
SETBEA
SETBTR0
JNBTF0,$
CPLP2.1
SJMPD0
V3:
RET
D1:
JBP0.1,V4
MOVTH0,#0F6H
MOVTL0,#53H
SETBET0
SETBEA
SETBTR0
JNBTF0,$
CPLP2.1
SJMPD1
V4:
RET
D2:
JBP0.2,V5
MOVTH0,#0F8H
MOVTL0,#43H
SETBET0
SETBEA
SETBTR0
JNBTF0,$
CPLP2.1
SJMPD2
V5:
RET
D3:
JBP0.3,V6
MOVTH0,#0FAH
MOVTL0,#0CH
SETBET0
SETBEA
SETBTR0
JNBTF0,$
CPLP2.1
SJMPD3
V6:
RET
D4:
JBP0.4,V7
MOVTH0,#0FBH
MOVTL0,#02AH
SETBET0
SETBEA
SETBTR0
JNBTF0,$
CPLP2.1
SJMPD4
V7:
RET
D5:
JBP0.5,V8
MOVTH0,#0FCH
MOVTL0,#53H
SETBET0
SETBEA
SETBTR0
JNBTF0,$
CPLP2.1
SJMPD5
V8:
RET
D6:
JBP0.6,V9
MOVTH0,#0FDH
MOVTL0,#6CH
SETBET0
SETBEA
SETBTR0
JNBTF0,$
CPLP2.1
SJMPD6
V9:
RET
D7:
JBP0.7,V10
MOVTH0,#0FEH
MOVTL0,#50H
SETBET0
SETBEA
SETBTR0
JNBTF0,$
CPLP2.1
SJMPD7
V10:
RET
ZHONG1:
CPLP2.0
RETI
END
接收程序:
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOVP1,#0FFH
MAIN1:
SETBEA
SETBEX0
MOVTMOD,#09H
MOVTH0,#00H
MOVTL0,#00H
JBP3.4,$
SETBTR0
JNBP3.4,$
JBP3.4,$
CLRTR0
MOVR0,TH0
D0:
CJNER0,#13H,D1
MOVP1,#0FEH
MOVP0,#0F9H
D1:
CJNER0,#09H,D2
MOVP1,#0FDH
MOVP0,#0A4H
D2:
CJNER0,#07H,D3
MOVP1,#0FBH
MOVP0,#0B0H
D3:
CJNER0,#06H,D4
MOVP1,#0F7H
MOVP0,#99H
D4:
CJNER0,#04H,D5
MOVP1,#0EFH
MOVP0,#92H
D5:
CJNER0,#03H,D6
MOVP1,#0DFH
MOVP0,#82H
D6:
CJNER0,#02H,D7
MOVP1,#0BFH
MOVP0,#0F8H
D7:
CJNER0,#01H,D8
MOVP1,#7FH
MOVP0,#80H
D8:
AJMPMAIN1
END