红外遥控器控制电子表单片机课程设计.docx

上传人:b****6 文档编号:7356813 上传时间:2023-01-23 格式:DOCX 页数:15 大小:589.84KB
下载 相关 举报
红外遥控器控制电子表单片机课程设计.docx_第1页
第1页 / 共15页
红外遥控器控制电子表单片机课程设计.docx_第2页
第2页 / 共15页
红外遥控器控制电子表单片机课程设计.docx_第3页
第3页 / 共15页
红外遥控器控制电子表单片机课程设计.docx_第4页
第4页 / 共15页
红外遥控器控制电子表单片机课程设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

红外遥控器控制电子表单片机课程设计.docx

《红外遥控器控制电子表单片机课程设计.docx》由会员分享,可在线阅读,更多相关《红外遥控器控制电子表单片机课程设计.docx(15页珍藏版)》请在冰豆网上搜索。

红外遥控器控制电子表单片机课程设计.docx

红外遥控器控制电子表单片机课程设计

绪论

随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。

二十一世纪的今天,最具代表性的计时产品就是LED电子钟,它是近代世界钟表业界的第三次革命。

第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。

第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。

第三次革命就是单片机数码计时技术的应用,使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,它符合消费者的生活需求!

因此,LED电子钟的出现带来了钟表计时业界跨跃性的进步。

  

我国生产的LED电子钟有很多种,总体上来说以研究多功能电子钟为主,使电子钟除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。

商家生产的LED电子钟更从质量,价格,实用上考虑,不断的改进电子钟的设计,使其更加的具有市场。

本次课程设计以软件,硬件相结合的方法,设计红外遥控LED电子钟。

除了采用集成化的时钟芯片DS1302外,还采用MCU的方案,利用AT89C52单片机芯片设计制作主控电路,控制LED数码管输出,分别用来显示时、分、秒,同时利用AT89C52芯片设计红外遥控器,控制时、分、秒的增加和减少。

其最大特点是:

硬件电路简单,安装方便易于实现,软件设计独特,可靠。

AT89C52是由ATMEL公司推出的一种小型单片机。

95年出现在中国市场。

其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,可以很快被中国广大用户接受。

 

一、系统原理

由AT89C52的P2口8位控制数码管的段选,P0.0至P0.7口的8位控制数码管位选;DS1302芯片的I/O、SCLK、RST口分别连接单片机P1.0、P1.1、P1.2三口;蜂鸣器连接P3.0口;红外遥控接收头连接P3.2口。

工作原理最基本部分是利用DS1302芯片的时钟功能,单片机只需要给DS1302初值,然后不断的从DS1302中读取数据并在数码管中显示,减少了单片机内部资源的占用。

红外遥控器由AT89C52芯片和4*4键盘构成,通过内部编的二进制码与电子钟芯片进行通讯,控制电子钟时,分,秒的增加和减少。

 

二、硬件设计

本系统采用单片机AT89C52为控制核心,系统主要包括显示模块、红外遥控模块和DS1302芯片模块。

系统硬件的结构框图

 

2.1芯片介绍

2.1.1AT89C52芯片

AT89C52是一个低功耗,高性能CMOS8位单片机,片内含具有如下特点:

40个引脚(引脚图如图1-1所示),4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDTC)电路,片内时钟振荡器。

此外,AT89C52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。

空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。

同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

单片机复位时只要保持RST引脚接2us的高电平即可。

在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。

当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。

随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。

根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。

单片机系统自动复位。

外接晶振引脚XTAL1和XTAL2接外部晶振和微调电容的一端。

振荡电路的频率就是晶体的固有频率。

晶振电路结合单片机内部电路产生单片机所需的时钟频率。

晶振提高频率越高,单片机运行速度越快。

单片机一切指令的执行都是建立在晶振提供的时钟频率上。

AT89C52单片机引脚图如图1

图1单片机引脚图

2.1.2DS1302芯片

DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路.提供秒分时日日期.月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式.DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:

1RES复位,2I/O数据线,3SCLK串行时钟.时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。

各引脚功能如下:

●Vcc1:

主电源;Vcc2:

备份电源。

当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2

●SCLK:

串行时钟,输入,控制数据的输入与输出;

●I/O:

三线接口时的双向数据线;

●RST:

输入信号,在读、写数据期间,必须为高。

该引脚有两个功能:

第一,RST开始控制字访问移位寄存器的控制逻辑;其次,RST提供结束单字节或多字节数据传输的方法。

DS1302电路引脚如图2;DS1302内部主要寄存器分布表如图3;

图2DS1302电路引脚图

图3DS1302内部主要寄存器分布表

 

2.1.374LS245芯片

74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。

74LS245还具有双向三态功能,既可以输出,也可以输入数据。

当AT89C52单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。

当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。

由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。

P0口与74LS245输入端相连,E端接地,保证数据线畅通。

8051的/RD和/PSEN相与后接DIR,使得RD和PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。

2.2LED数码管显示原理介绍

LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。

这些段分别由字母a,b,c,d,e,f,g,dp来表示。

当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。

如:

显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。

LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。

小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。

发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。

常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。

再一个,数码管相对于LCD1602液晶显示器来说具有亮度大、接口设计比较容易,价格相对较便宜等优点。

且在本次设计中恰好能把我们要显示的数字显示出来。

所以,本次设计采用多个LED数码管显示器来显示数字。

2.3红外遥控编码解码原理介绍

遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本SANYO公司的的LC7461组成发射电路为例说明编码原理。

当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。

这种遥控码具有以下特征:

遥控器发射的信号由一串O和1的二进制代码组成.不同的芯片对0和1的编码有所不同。

通常有曼彻斯特编码和脉冲宽度编码。

采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。

在编写解码程序时.通过判断脉冲的宽度,即可得到0或1。

上述“0”和“1”组成的42位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。

然后再通过红外发射二极管产生红外线向空间发射,如图4所示

图4

LC7461产生的遥控编码是连续的42位二进制码组,其中前26位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。

后16位为8位的操作码和8位的操作反码用于核对数据是否接收准确,如图5所示。

图5

当遥控器上任意一个按键按下超过36ms时,LC7461芯片的振荡器使芯片激活,将发射一个特定的同步码头,对于接收端而言就是一个9ms的低电平,和一个4.5ms的高电平,这个同步码头可以使程序知道从这个同步码头以后可以开始接收数据。

具体发射的时序,以及“0”和“1”的定义如下图6、7所示,注意这里是指编码之后发射,而在接收程序里面,0和1的定义是相反的。

图6

图7

 红外遥控如果不做编解码的话,那么它的抗干扰性能会极低的,如果是用作遥控是肯定不行的,长距的切断式传感也不行,只有像鼠标里那种可以这样用。

红外发射管的参数大约为2V结电压,35mA,和普通LED一样,需要恒流驱动,一般驱动的时候就是一个三极管比如9013来驱动的,使用基极串电阻接控制信号,集电极和正极间接红外发射管,发射极接地,如果担心超过电流限制,发射管上要串限流电阻。

红外遥控接收可采用较早的红外接收二极管加专用的红外处理电路的方法。

较好的接收方法是用一体化红外接收头,它将红外接收二极管、放大、解调、整形等电路做在一起,只有三个引脚.分别是+5V电源、地、信号输出。

红外接收头的信号输出接单片机的INTO或INTl脚.典型电路如图8所示.图中增加了一只PNP型三极管对输出信号进行放大。

图7

 

2.4系统各模块电路图

主控芯片电路图

 

时钟芯片电路图

 

数码管显示电路图

 

红外遥控器电路图

 

三、程序设计

3.1主程序流程图

图3.1主程序流程图

主函数介绍:

系统启动时,先初始化DS1302,外部中断0,定时器0。

然后程序执行WHILE语句,程序不停地扫描WHILE语句,程序处于等待状态,当有红外按键被触发的时候,程序执行对应的红外按键程序,执行完毕后,跳回原来的WHILE语句内,继续等待;如果没有按下红外按键,时钟芯片将数据传给单片机,数码管将数字显示出来,当时钟数字与设定的闹钟相同时,蜂鸣器响一分钟。

 

3.2时钟芯片流程图

图3.2时钟芯片流程图

3.3数码管显示流程图

图3.3时钟芯片流程图

3.4红外遥控按键流程图

图3.4时钟芯片流程图

 

四、系统仿真和调试

4.1仿真软件简介

Proteus是由LabcenterElectronics开发的功能强大的单片机仿真软件,现在最新版本6.9SP5,其演示版本可在其官方网站http:

//www.labcenter.co.uk下载。

Proteus与其他的仿真软件相比较,在下面的优点:

1)能仿真模拟电路、数字电路、数模混合电路;

2)能绘制原理图、PCB图;

3)几乎包括实际中所有使用的仪器;

4)其最大的亮点在于能够对单片机进行实物级的仿真。

从程序的编写,编译到调试,目标版的仿真一应俱全。

支持汇编语言和C语言的编程。

还可配合KeilC实现程序的联合调试,将Proteus中绘制的原理图作为实际中的目标板,而用KeilC集成环境实现对目标板的控制,与实际中通过硬件仿真器对目标板的调试几乎完全相同,并且支持多显示器的调试,即Proteus运行在一台计算机上,而KeilC运行在另一台计算机上,通过网络连接实现远程的调试。

4.2硬件调试

硬件调试是针对单片机部分进行的调试。

在上电之前,先确保电路中不存在断路或短路情况,这一工作是整个调试工作的第一步,也是非常重要的一个步骤。

在这部分调试中主要使用的工具是万用表,用来完成检测电路中是否存在断路或者短路情况的任务。

注意焊点之间,确保焊点没有短接在一起,同时注意焊点的美观,确保没有开路以及短路的现象出现。

在确保硬件电路正常且无异常情况(短路或断路)的情况下方可上电调试,上电调试的口的是检测单片机控制部分、数码管点亮部分、和音频转换电路硬件调试。

1)数码管LED电路调试:

接通电源,随机按下按钮可以看到数码管显示数字。

2)红外遥控键盘单片机控制部分调试:

上电后,随机按动键盘可以发现各个按键对应的音正确。

4.3软件调试

调试主要方法和技巧:

通常一个调试程序应该具有至少四种性能:

跟踪、断点、查看变量、更改数值。

整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初阶段就是把各个子程序进行分别调试。

 

图8为电子表显示截图:

左为时钟,中间为分钟,右为秒钟秒闪效果

图8电子表数字显示

 

图9为电子表总体仿真图

图9电子表总体仿真图

 

五、总结

在这次课程设计中,我学到了很多知识,主要有软件的使用,以及更深的了解单片机和其他器件的使用

软件方面:

proteus、word以及visio都已初步入门,可以完成一些比较简单的设计,并且都有自己的体会和认识

对单片机的理解更深,也懂得一些其他芯片如DS1302的功能及使用,也认识了一些其他的器件的型号和使用范围。

这次课程设计让我印象最深的地方是工作方面,也是最重要的部分,首先做事要按顺序,所谓磨刀不误砍柴功,从最基本的部分慢慢做起,相对而言,总的时间花费其实很少,效率也高了;另外一方面是如何做事,多思考多问,了解每个器件,每个部分的作用,让整个框架在自己心中,不要自以为是,否则到头来一个小问题可能导致整个课程设计陷入泥潭,错误不断,甚至直接导致失败;最后,在整个课程设计中,我认识到了,一个人做事的心态很重要,很多时候,由于眼前的障碍可能太大,容易直接把人压垮,这时候一个健康的心态很重要,能够让自己理性分析一切,做出最正确的选择。

 

 

六、参考文献

【1】张友德,《单片微型机原理应用与实践》(第四版),复旦大学出版社,2000

【2】李朝青.单片机原理及接口技术(第三版).北京航空航天大学出版社.2005.

【3】丁明亮、唐前辉.51单片机应用设计与仿真--基于KeilC与Proteus.北京航空航天大学出版社,2009.

【4】杨长兴、刘卫国.C++程序设计.中国铁道出版社.2010.

 

七、附录

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1