#8.12#--项目17基于AT89S52学习型红外线遥控器的设计.pdf

上传人:刘静 文档编号:52755550 上传时间:2022-10-23 格式:PDF 页数:5 大小:206.97KB
返回 下载 相关 举报
#8.12#--项目17基于AT89S52学习型红外线遥控器的设计.pdf_第1页
第1页 / 共5页
#8.12#--项目17基于AT89S52学习型红外线遥控器的设计.pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《#8.12#--项目17基于AT89S52学习型红外线遥控器的设计.pdf》由会员分享,可在线阅读,更多相关《#8.12#--项目17基于AT89S52学习型红外线遥控器的设计.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、项目项目17 基于基于AT89S52学习型红外线遥控器的设计学习型红外线遥控器的设计17.1 项目概述项目概述目前,人们的物质文化生活水平日益提高,各种各样的家用电器走进了千家万户,其中,大多数的家用电器都有各自不同的遥控器,人们常常为了控制某台电器而到处寻找其对应的遥控器,这样,就给人们的生活带来了很多不便。为了解决这个问题,本项目提出一个多功能遥控器的设计方案:该遥控器可以通过自学习而拥有对多台电器的遥控功能,即省时、又省力,从而使人们免除同时面对众多遥控器的烦恼。17.2 项目要求项目要求设计一种基于AT89S52单片机控制的红外线遥控器,要求如下所示。(1)适用于编码式红外线遥控型家用

2、电器。(2)可遥控多台家用电器。(3)具有一个学习/控制复用键。(4)可通过一个设备选择键和各个功能控制键实现对多台设备的常用功能的学习和控制。(5)成本低,抗干扰能力强。17.3 系统设计系统设计遥控器有两种状态,分别是学习状态和控制状态。当遥控器处于学习状态时,使用者每按一个控制键,红外线接收电路就开始接收外来红外信号,同时将其转换成电信号,然后经过检波、整形、放大,再由单片机定时对其采样,将每个采样点的二进制数据以8位为一个单位,分别存放到指定的存储单元中去,供以后对该设备控制使用。当遥控器处于控制状态时,使用者每按下一个控制键,单片机从指定的存储单元中读取二进制数据,串行输出(位和位之

3、间的时间间隔等于采样时的时间间隔)给信号保持电路,同时由调制电路进行信号调制,将调制信号经放大后,由红外线发射二极管进行发射,从而实现对该键对应设备功能的控制。17.3.1框图设计框图设计遥控器由红外接收及发射电路、复位电路、控制器AT89S52、按键及状态指示电路组成。框图组成如图17-1所示。17.3.2知识点知识点本项目需要通过学习和查阅资料,掌握和了解知识如下所示。电源原理及设计。单片机复位电路工作原理及设计。单片机晶振电路工作原理及设计。按键电路的设计。驱动电路74LS07的特性及使用。一体化红外遥控接收器的特性及使用。AT89S52单片机引脚。单片机C语言程序设计。17.4 硬件设

4、计硬件设计 117.4.1电路原理图电路原理图 图172 一体化红外遥控接收器控制芯片选择AT89S52单片机,控制系统按最小化工作模式设计,P1.0接红外线发射键,P1.6和P1.7接两个发光二极管用来指示遥控器的工作状态,P3.4和P3.5用来接收和发射红外线。红外接收采用一体化红外遥控接收器(以SM0038为例).该接收器形状如图17-2所示。图17-1 基于AT89S52学习型红外线遥控器系统框图 一体化红外接收器的内部包括:红外光敏二极管、谐振电路、放大电路、解码器、滤波器等,只要再加上+5V电源,输出引脚直接输出不带副载波的负极性RC-5信号.具有电路简单,灵敏度高,抗干扰性好等优

5、点。综上所述,可设计出多功能红外线遥控器电路图如图17-3所示。17.4.2元件清单元件清单 基于AT89S52学习型红外线遥控器元件清单如表17-1所示。表17-1 基于AT89S52学习型红外线遥控器元件清单元件名称型号数量用途元件名称型号数量用途单片机AT89S521个控制核心一体化红外遥控接收器SM00381块红外接收晶振12MHz1个晶振电路电源+5V/0.5A1个提供+5V电容30pF2个晶振电路电阻3002个限流电阻上拉电阻电解电容10F/10V1个复位电路按键2个按键电路电阻10k2个复位电路上拉电阻发光二极管LED2个信号指示电路驱动器74LS071块发射电路红外线发射器1个

6、发射电路图17-3 基于AT89S52学习型红外线遥控器电路原理图17.5 软件设计软件设计当红外遥控器的某个按键按下时,发射出一组串行二进制遥控编码脉冲,该脉冲由引导码、系统码、功能码和反码组成,通过设置这些编码以及码长便可区分不同的红外遥控器。红外接收器负责红外信号的接收和放大并解调出TTL电平信号送至微处理器进行处理,微处理器通过比较和识别接收来的红外遥控编码便可执行相应的遥控功能。本系统的设计思想是不考虑红外编码方式,仅利用单片机AT89S52对多个红外遥控编码的脉冲宽度进行测量,并原封不动地把发射信号中高、低电平的时间宽度记忆至存储区的指定地址。当要发射红外信号时,从存储区中还原出相

7、应的红外遥控编码,并调制到38KHz的载波信号上,最后,通过74LS07驱动红外发光二极管发射红外信号,达到学习和发射的目的,从而实现一个遥控器控制多种红外遥控设备的功能。217.5.1程序流程图程序流程图在程序中主程序用完成初始化、扫描按键和调用信号发躲程序的功能。学功能通过中断0来完成。程序具体流程如图17-4所示。图17-4 基于AT89S52学习型红外线遥控器程序流程图17.5.2 程序清单程序清单基于AT89S52学习型红外线遥控器清单如下所示。#include reg51.h#include intrins.h /延时函数用#define uchar unsigned char#d

8、efine uint unsigned intsbit studylamp=P16;/学习状态指示灯sbit lamp=P17;/发射指示灯sbit studykey=P32;/学习键(中断口)sbit remotein=P34;/遥控信号输入口sbit remoteout=P35;/遥控输出口sbit txkey=P10 ;/发射键uint i,j,m=255,n,k,s;uchar idata remotedata206;/存肪冲宽度数据用uint head;/存起始位用uint remdata;delay1ms(uint t)/1毫秒延时程序for(i=0;it;i+)for(j=0;j

9、120;j+);clearmen()/初始化函数studylamp=0;/关学习灯lamp=0;/关发射指示remoteout=0;/关遥控输出remotein=1;/for(i=0;i0;i-);remoteout=0;ET1=0;TR1=0;n=0;while(1)if(remotedatan=0 x00)delay1ms(10);break;/数据为0结束 for(i=remotedatan;i0;i-)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();lamp=lamp;n+;/偶地址不发脉冲

10、/ET1=1;TR1=1;/奇地址发调制脉冲 for(i=remotedatan;i0;i-);remoteout=0;ET1=0;TR1=0;n+;main()/主函数clearmen();/初始化while(1)keywork();/按键扫描 void time_intt1(void)interrupt 3/定时中断T1 remoteout=remoteout;void intt0(void)interrupt 0/外中断0ET1=0;TR1=0;EX0=0;EA=0;head=0;studylamp=1;lamp=0;while(studykey=0);/等待键释放while(remot

11、ein=1);/等待遥控码输入head=0;/读入起始位while(remotein=0)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();head+;n=0;remdata=0 x0000;4while(1)while(remotein=1)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_no

12、p_();_nop_();_nop_();_nop_();_nop_();remdata+;if(remdatam)/高电平5毫秒退出 remotedatan=0 x00;EX0=1;EA=1;goto end;remotedatan=remdata;n+;/存高电平脉宽数据 remdata=0 x0000;/脉宽计数器清零 while(remotein=0)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()

13、;remdata+;/低电平计数 remotedatan=remdata;n+;remdata=0 x00;/存低电平脉宽数据 end:lamp=1;studylamp=0;17.6系统调试及仿真系统调试及仿真1、系统调试、系统调试单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起。硬件的调试主要是把电路各种参数调整到符合设计要求。先排除硬件电路故障包括设计性错误和工艺性故障。一般原则是先静态后动态。利用万用表或逻辑测试仪器,

14、检查电路中的各器件以及引脚是否连接正确,是否有短路故障。先要将单片机AT89S52芯片取下,对电路板进行通电检查,通过观察看是否有异常,然后用万用表测试各电源电压,这些都没有问题后,接上仿真机进行联机调试观察各接口线路是否正常。单片机AT89S52是系统的核心,利用万用表检测单片机电源VCC为(40脚)+5V、晶振是否正常工作(可用示波器测试、也可以用万用表检测两引脚电压一般为1.8V2.3V之间)、复位引脚RST(复位时为高电平,单片机工作时为低电平)、是否为+5V(高电平),这样一来单片机就能工作了,再结合电路图,检测故障就很容易了。2、用用Proteus软件仿真软件仿真经过Keil软件编译通过后,在ProteusISIS编辑环境中绘制仿真电路图,将编译好的“XM17.hex”文件加载到AT89C52里,然后启动仿真,就可以看到仿真效果。5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁