基于AT89S52的学习型红外遥控器的设计说明_第1页
基于AT89S52的学习型红外遥控器的设计说明_第2页
基于AT89S52的学习型红外遥控器的设计说明_第3页
基于AT89S52的学习型红外遥控器的设计说明_第4页
基于AT89S52的学习型红外遥控器的设计说明_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、 . PAGE1 / NUMPAGES20 . 单片机系统开发与应用工程实习报告选题名称:基于STC89C52的学习型红外遥控器的设计系(院):专 业:班 级:姓 名:学 号:指导教师:学年学期: 2009 2010 学年 第 2 学期2014年12月08日摘要:学习型红外线遥控器,通过自学习而拥有对多台电器的遥控功能。该遥控器有两种状态:学习状态和控制状态。处于学习状态时,使用者每按一个控制键红外接收电路就开始接收外来红外信号,并将其转换为电信号,然后经过检波、整形、放大,再由单片机定时对其采样,将每个采样点的二进制数据以8位为一个单位,分别存放到指定的存储单元中去,供以后对该设备控制使用;

2、处于控制状态时,使用者每按一个控制键单片机从指定的存储单元中读取二进制数据,串行输出(位和位之间的时间间隔等于采样的时间间隔)给信号保持电路,同时由调制电路进行信号调制,将调制信号经放大后,由红外线发射二极管进行发射,从而实现对该键对应设备功能的控制。关键词:学习型;红外线遥控器;学习状态;控制状态;STC89C52目 录 TOC o 1-2 h z u HYPERLINK l _Toc2629377321 课题综述 PAGEREF _Toc262937732 h 1HYPERLINK l _Toc2629377331.1 课题来源与意义 PAGEREF _Toc262937733 h 1HY

3、PERLINK l _Toc2629377341.2 预期目标 PAGEREF _Toc262937734 h 1HYPERLINK l _Toc2629377351.3 面对的问题 PAGEREF _Toc262937735 h 1HYPERLINK l _Toc2629377361.4 需解决的关键技术 PAGEREF _Toc262937736 h 1HYPERLINK l _Toc2629377372 系统分析 PAGEREF _Toc262937737 h 1HYPERLINK l _Toc2629377382.1 涉与的基础知识 PAGEREF _Toc262937738 h 1H

4、YPERLINK l _Toc2629377392.2 解决问题的基本思路 PAGEREF _Toc262937739 h 2HYPERLINK l _Toc2629377402.3 总体方案 PAGEREF _Toc262937740 h 3HYPERLINK l _Toc2629377412.3 功能模块框图 PAGEREF _Toc262937741 h 3HYPERLINK l _Toc2629377423 系统设计 PAGEREF _Toc262937742 h 4HYPERLINK l _Toc2629377433.1电路原理图 PAGEREF _Toc262937743 h 4H

5、YPERLINK l _Toc2629377443.2实现方法 PAGEREF _Toc262937744 h 5HYPERLINK l _Toc2629377453.3 详细流程图 PAGEREF _Toc262937745 h 5HYPERLINK l _Toc2629377464 代码编写 PAGEREF _Toc262937746 h 6HYPERLINK l _Toc2629377474.1 STC89C52单片机与各模块电路的连接端口分配 PAGEREF _Toc262937747 h 6HYPERLINK l _Toc2629377484.2 复位电路的设计 PAGEREF _T

6、oc262937748 h 6HYPERLINK l _Toc2629377494.3 按键电路设计的实现 PAGEREF _Toc262937749 h 7HYPERLINK l _Toc2629377504.4 中断程序的实现 PAGEREF _Toc262937750 h 8HYPERLINK l _Toc2629377514.5 主函数的实现 PAGEREF _Toc262937751 h 10HYPERLINK l _Toc2629377525 程序调试 PAGEREF _Toc262937752 h 10HYPERLINK l _Toc2629377536 运行与测试 PAGERE

7、F _Toc262937753 h 11HYPERLINK l _Toc262937754总 结 PAGEREF _Toc262937754 h 12HYPERLINK l _Toc262937755参考文献 PAGEREF _Toc262937755 h 131 课题综述1.1 课题来源与意义目前,人们的物质文化生活水平日益提高,各种各样的家用电器走进了千家万户,其中,大多数的家用电器都有各自不同的遥控器,人们常常为了控制某台电器到处寻找其对应的遥控器,这样就给人们的生活带来了很多步便。为了解决这个问题,笨项目提出了一个多功能遥控器的设计方案:该遥控器可以通过自学习而拥有对多台电器的遥控功能

8、,既省时又省力,从而使人们免除同时面对众多遥控器的苦恼。1.2 预期目标设计一种基于STC89C52单片机控制的红外线遥控器,具有以下功能:1、适用于编码式红外线遥控型家用电器2、可遥控多台家用电器3、具有一个学习/控制复用键4、可通过一个设备选择键和各个功能控制键实现对多台设备的常用功能的学习和控制5、成本低,抗干扰能力强1.3 面对的问题1、对于STC89C52单片机的了解与应用2、对于抗干扰能力的解决1.4 需解决的关键技术本项目是通过扫描按键的状态、单片机外中断0和定时/计数器程序来判断遥控器处于什么状态,实现什么功能,因此,对于功能键的设计和中断程序的设计是难点。同时,对于红外发射和

9、红外接收的工作原理和设计对于我们来说也是陌生的,都要从头开始,对其进行了解、掌握与使用,所以也是一个难题。2 系统分析2.1 涉与的基础知识通过对本项目的了解,为了实现该项目的各个功能,必须要掌握以下知识点:1、电源原理与设计2、单片机复位电路工作原理与设计3、单片机晶振电路工作原理与设计4、按键电路的设计5、驱动74LS07的特性与使用6、一体化红外遥控接收器的特性与使用7、STC89C52单片机引脚8、单片机C语言程序设计2.2 解决问题的基本思路2.2.1 STC89C52单片机的基本知识功能特性:STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flas

10、h 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得STC89C52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 STC89C52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片晶振与时钟电路。另外,STC89C52 可降至0Hz 静态逻 辑操作,支持2种软件可选择

11、节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash STC89C52。主要性能:与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。 HYPERLINK :/photo.

12、blog.sina .cn/showpic.html l blogid=49013b4801009rfc&url= :/static14.photo.sina .cn/orignal/49013b4845103b035ea5d t _blank 图2-1STC89C52引脚图2.2.2 对于抗干扰能力的解决该项目中采用一体化红外遥控接收器HX1838,该接收器的部包括红外光敏二极管、谐振电路、放大电路、解码器、滤波器等,其工作电压为+5V,输出引脚直接输出不带副载波的负极性RC-5V信号,具有电路简单、灵敏度高、抗干扰性好等优点。2.3 总体方案学习型红外线遥控器,通过自学习而拥有对多台电器的

13、遥控功能。该遥控器有两种状态:学习状态和控制状态。处于学习状态时,使用者每按一个控制键红外接收电路就开始接收外来红外信号,并将其转换为电信号,然后经过检波、整形、放大,再由单片机定时对其采样,将每个采样点的二进制数据以8位为一个单位,分别存放到指定的存储单元中去,供以后对该设备控制使用;处于控制状态时,使用者每按一个控制键单片机从指定的存储单元中读取二进制数据,串行输出(位和位之间的时间间隔等于采样的时间间隔)给信号保持电路,同时由调制电路进行信号调制,将调制信号经放大后,由红外线发射二极管进行发射,从而实现对该键对应设备功能的控制。2.3 功能模块框图遥控器由红外接收与红外发射电路、复位电路

14、、控制器STC89C52、按键与状态指示电路组成,其组成框图如图2-1所示。STC89C52控制器红外接收电路状态指示电路复位电路电源电路红外发射电路图2-2基于STC89C52学习型红外线遥控器系统框图3 系统设计3.1电路原理图控制芯片选择STC89C52单片机,控制系统按最小化工作模式设计,P1.0接红外线发射,P1.6和P1.7接两个发光二极管用来指示遥控器的工作状态,P3.4和P3.5用来接收和发射红外线。红外接收采用一体化红外遥控接收器(HX1838)。其原理图如图3-1所示。图3-1 基于STC89C52学习型红外遥控器原理图3.2实现方法当红外遥控器的某个按键按下时,发射出的一

15、组串行二进制编码脉冲,该脉冲由引导码、系统码、功能码和反码组成,通过设置这些编码以与码长便可区分不同的红外遥控器。红外接收器负责红外信号的接收和放大并解调出TTL电平信号送至微处理器进行处理,微处理器通过比较和识别接收来的红外遥控编码便可执行相应的遥控功能,本系统的设计思想是不考虑红外编码方式,仅利用单片机STC89C52对多个红外遥控编码的脉冲宽度进行测量,并原封不动地把发射信号中高、低电平的时间宽度记忆至存储区的指定地址。当要发射红外信号时,从存储区中还原出相应的红外遥控编码,并调制到38kHz的载波信号上,最后,通过74LS07驱动发光二极管发射红外信号,达到学习和发射的目的,从而实现一

16、个遥控器控制多种遥控设备的功能。3.3 详细流程图在程序中主程序完成初始化、按键扫描和调用信号发射程序的功能,学习功能通过中断0来完成。程序的具体流程图如图3-2所示。Y结束?中断开始开学习指示灯等待键释放读遥控码存学习标志,关指示灯结束NY开始初始化扫描按键?信号发射N(a)主程序流程图 (b)中断程序流程图图3-2 基于STC89C52学习型红外线遥控器程序流程图4 代码编写4.1 STC89C52单片机与各模块电路的连接端口分配P1.6和P1.7分别接学习灯指示灯和发射指示灯sbit studylamp=P27;/学习指示灯sbit lamp=P26;/发射指示灯sbit studyke

17、y=P32;/学习键(中断口)sbit remotein=P11;/遥控信号输入口sbit remoteout=P12;/遥控信号输出口sbit txkey=P10;/发射键4.2 复位电路的设计复位电路实现的是对单片机以与整个电路的初始化 uint i,j,n;/定义各个变量uint idata FH55; /存脉冲宽度高电平数据用 uint idata FL55; /存脉冲宽度低电平数据用 uint head,head2;/存起始位用clearmen()/初始化函数studylamp=1;/关学习指示灯lamp=1;/关发射指示灯remoteout=1;/关遥控输出remotein=1;h

18、ead=0; /起始位1 清0head2=0; /起始位2 清0for(i=0;i55;i+)/清存 FHi=0 x0000;FLi=0 x0000;IE=0 x00;/中断允许控制寄存器置0IP=0 x01;/定义中断优先级TMOD=0 x21;/8位自动重装模式和定时器0为16位模式TCON=0 x00;/定时器溢出位清零TH1=0 xf3;/40khz初值TL1=0 xf3;IT0=1;/脉冲触发方式,负跳变有效EX0=1;/外中断允许EA=1;/开总中断定义延时1ms子程序delay1ms(uint t)/1ms延时子程序for(i=0;it;i+)for(j=0;j120;j+);4

19、.3 按键电路设计的实现通过扫描按键来判断实现的功能,并通过按键进入中断程序void keywork()/键功能键if(txkey=0) delay1ms(100);if(txkey=0)remoteout=1; /关闭红外输出口 TH0=head/256;TL0=head%256;ET1=1;TR1=1;/ 产生脉冲TR0=1;while(TF0=0);TR0=0;TF0=0;ET1=0;TR1=0;/ 不产生脉冲remoteout=1; /关闭红外输出口 TH0=head2/256;TL0=head2%256;TR0=1;while(TF0=0);TR0=0;TF0=0;n=0;while

20、(1)TH0=FLn/256;TL0=FLn%256;ET1=1;TR1=1;/ 产生脉冲lamp=lamp;TR0=1;while(TF0=0);TR0=0;TF0=0;ET1=0;TR1=0;/ 不产生脉冲remoteout=1; /关闭红外输出口TH0=FHn/256;TL0=FHn%256;lamp=lamp;TR0=1;while(TF0=0);TR0=0;TF0=0;if(FHn=0)lamp=0;break;n+;4.4 中断程序的实现4.4.1定时器中断T1的服务程序定时器中断T1的服务程序,实现控制红外发射灯是否发射。当remoteout为低电平时,红外发射处于工作状态,会发

21、出红外信号;当送入的为高电平时,红外发射不工作。void time_intt1(void) interrupt 3/定时器中断T1remoteout=remoteout;4.4.2 外中断0的服务程序外中断服务程序实现的是接收遥控器发射的红外信号,判断其高低电平,并存入单片机指定的位置,以供当系统处于学习状态时,该红外遥控器进行学习,并控制家电的使用。void intt0(void) interrupt 0/外中断0 接收遥控器发射的红外信号,判断其高低电平,并存入单片机指定的位置ET1=0;/关定时器1中断 TR1=0;/关定时器1 EX0=0;/关外部中断0EA=0; /关总中断 n=0;

22、head=0; /起始位1 清0head2=0; /起始位2 清0for(i=0;i0 x0E) goto end; TR0=0;FHn=TH0*256+TL0;/数据位高电平脉宽宽度测量 n+;/FH和FL共用一个 n end:FHn=0 x0000;studylamp=1; /学习指示灯灭 lamp=0; /发射指示灯亮 TR0=0;TF0=0;TH0=0 x00;TL0=0 x00;EX0=1;EA=1;4.5 主函数的实现主函数只需调用初始化函数实现电路复位,调用按键函数实现学习、控制功能。main()clearmen();while(1)keywork();/按键扫描5 程序调试各个

23、函数实现后,对该函数整体实现,并进行调试了,调试过程中出现了一些低级错误,如变量的书写错误,定义的错误等等,但整体的模块规划设计实现跟设想的还是一样比较完整、正确的,故软件的实现还是比较顺利的。6 运行与测试本项目设计的是一个多功能红外线遥控器,控制电路板的安装与调试在整个系统研制中占有重要位置,它是把理论付诸实践的过程,也是把纸面设计转变成实际产品的必经阶段。在调试过程中药注意以下几个特点。正确使用测量仪器的接地端,仪器的接地端与电路的接地端要可靠连接。在信号较弱的输入端,尽可能使用屏蔽线连线,屏蔽线的外屏蔽层要接到公共地线上,在频率较高时要设法隔离连接线分布电容的电影,例如用示波器测量时应

24、该使用使用示波器探头连接,以减少分布电容的影响。测量电压所用仪器的输入阻抗必须远大于被测处的等效阻抗。测量仪器的带宽必须大于被测量电路的带宽。正确选择测量点和测量。认真观察记录实验过程,包括条件、现象、数据、波形、相位等。出现故障时要认真查找原因。在程序调试成功之后,我将该程序烧入STC89C52芯片中,并对整个系统进行了测试。刚开始时,当按下学习键时,其学习指示灯不亮,于是,我用万能表对焊接的状态指示电路进行了测试,最后发现是与单片机的P1.6端口接入处没有焊实。但经焊实后,发现跟我要系统实现的功能还是不完全,于是我又对程序进行了修改,经多次烧写、运行、调试,终于实现了学习型红外线遥控功能。

25、遥控器在使用时按下学习键,待学习指示灯亮后,用原遥控器对着红外接收头按下某一功能键,当学习指示灯灭时,就可按发射键进行遥控操作了。本设计还有较多的扩展空间,若在系统中扩展一个存储器,再加入相应的按键就可以制作成一个学习型的万能遥控器。总 结本次单片机系统开发与应用工程实习报告前后历时两周。此次工程实习的前一周,我们对整个系统的进行了深入的了解,并对其进行了整体规划,分别划分为STC89C52控制器模块、红外接收电路模块、红外发射电路模块、状态指示电路模块、复位电路模块、电源电路模块。当我把该系统的模块确定以后,就初步画出该系统的硬件电路原理图,经过确定以后,就开始了硬件电路的焊接。经过对焊接的电路运行和测试成功后,就对软件设计进行了简单的设计。实习的第二周主要是将程序烧写入硬件电路中,并对其进行运行与调试。在学习这门课程时,感到单片机的概念抽象,对其中的引脚的分配、寄存器的功能等基本理论也不能很好地理解与掌握。通过本次工程实习,我对学到的单片机知识有了更深一步的深入,而且,本次实习让我对于实践也有了基本认识

温馨提示

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

评论

0/150

提交评论