基于单片机的红外遥控电子钟设计1_第1页
基于单片机的红外遥控电子钟设计1_第2页
基于单片机的红外遥控电子钟设计1_第3页
基于单片机的红外遥控电子钟设计1_第4页
基于单片机的红外遥控电子钟设计1_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机和红外遥控智能闹钟设计摘 要本设计主要是先对红外遥控电子钟进行系统方案的设计,进而进行系统硬件(电路图)以及系统软件(程序)两个方面的设计。使其具有显示年、月、日、时、分、秒的基本功能之外,还具有温度显示功能、整点报时功能、闹钟功能和红外遥控控制基于蜂鸣器的闹铃音乐播放和切换功能。在本设计中首先选用文献法,查找有关红外遥控电子钟设计的资料,了解此次设计中可以应用到的各种单片机、电子时钟芯片等等;然后选用比较法,针对此次设计的要求,逐一进行比较,分析选用不同单片机、电子时钟芯片应用时的优缺点,选用优点最多,缺点最少的单片机、电子时钟芯片;最后选用实验法进行设计方案的决定。最终确定本设计

2、的产品是基于DS1302时钟芯片和并用红外遥控进行设置的电子钟温度计,以STC89C54单片机为控制核心,并用1602液晶显示作为人机交互界面。可以利用红外遥控进行闹钟的设定和时间的调整。本次基于单片机设计的红外遥控电子钟与传统的机械钟相比,更具有走时准确、显示直观、性能稳定、携带方便、无机械传动装置等优点,因而得到广泛应用。目 录前 言1第一章 系统总体方案设计31.1 系统的设计功能31.2 方案的选择与比较31.2.1 系统的基本方案选择31.2.2 单片机的选择31.2.3 时钟芯片的选择41.2.4 温度采集模块的选择51.2.5 显示模块的选择51.2.6 红外发射接收模块的选择5

3、1.2.7 电源模块的选择51.2.8 声光报警模块的选择61.3 系统的总体设计方案6第二章 系统硬件设计72.1 单片机控制模块72.1.1 STC89C54单片机的简介72.1.2 时钟电路的设计82.1.3 复位电路的设计92.2 时钟芯片DS1302模块92.2.1 DS1302简介92.2.2 DS1302的工作原理102.2.3 DS1302的应用102.3 温度采集DS18B20模块112.3.1 DS18B20简介112.3.2 DS18B20的主要特征122.3.3 DS18B20的应用122.4 液晶显示屏LCD1602模块122.4.1 LCD1602液晶显示屏简介12

4、2.4.2 LCD1602液晶显示屏的应用132.5 红外发射接收模块142.5.1 红外发射接收简介142.5.2 红外发射接收的应用152.6 电源模块152.7 声光报警模块16第三章 系统软件设计173.1 软件总体框图173.2 各部分软件介绍183.2.1 1602液晶显示程序183.2.2 DS1302时钟芯片程序183.2.3 程序193.2.4 红外遥控按键程序20第四章 结论224.1 系统调试224.2 系统实物图224.3 结论25参考文献26致 谢27附录28附录一、原理图28前 言数字钟是采用数字电路实现对数字显示的计时装置,它具有显示年、月、日、时、分、秒的功能,

5、由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大的扩展了钟表的报时功能。电子钟在工业控制和日常生活中是很重要的,它不仅可以用于计时、提醒,又可用于对机器的控制,在自动化的过程中必然有电子钟的参与,因此电子钟的应用会越来越广泛,而且向着精确、低功耗,多功能发展。基于单片机设计的数字中精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。从而,使数字钟的精度仅仅取决于单片机的产生机器周期电路和定时器硬件电路的精确度。另外,程序较为简洁,具有可靠性和较好的可读性。

6、如果我们想将它应用于实时控制之中,只要对上述程序和硬件电路稍加修改,便可以得到实时控制的实用系统,从而应用到实际工作与生产中去。在国内,电子钟在很多电子报刊杂志上都可以见到,最简单的只是单纯显示年、月、日、时、分、秒,在此基础上,还可以增加闹铃功能、温度显示功能、校时功能、整点报时功能、闰年显示功能、红外遥控修改时间功能、倒计时功能等等,所以设计者可以根据自己的需要,结合其中的几项功能进行设计,但即使是具有同一种功能的电子钟设计所用的单片机、电子时钟芯片等等也或许不同。现在很多高校把简单点、功能要求少点的电子钟设计当做课程设计题目,把复杂点、功能要求多些的电子钟设计当做毕业设计题目。其中红外遥

7、控电子钟在某些电子时钟设计大赛上也出现过类似设计,此类设计对于制造新型单片机红外遥控LCD电子钟具有一定的参考作用。这是单纯就红外遥控电子钟的设计而言的,对于在此基础上进一步的扩展与应用,还可以在一些实际生活所用的小物品上应用到,例如红外遥控电子钟设计还可以扩展为LED数字电子钟,可以根据不同的需要,制作成旋转等样式。电子钟随处可见,随身携带的可以随时修改时间、设定闹铃等等,但是现在出现很多挂在墙上的电子钟,这样修改时间很不方便,于是便利用红外遥控技术,利用它来控制电子钟,使修改时间、设定闹铃不再需要把电子钟拿下来,而是一件很随意的事情。随着国内外科学技术的发展,电子钟的各项功能越来越接近人们

8、的生活需求,不仅可以具用红外遥控进行控制的功能,还可以具有播放歌曲、播放电影、播放美丽图画的功能。这些先进的技术使人们的生活更加精彩。这些只是简单的,如果说把红外遥控电子钟的设计原理进行解剖,进入90年代以来,红外遥控这一技术有了新的发展,应用范围也更加广泛。在国外,首先,现在不用电缆、微波或卫星就可将视频、音频和数据信息从一个地点传递到另一个地点。其次,红外通信系统的数据系统在美国国家航天和空间管理局97年举办的因特网国际展览会大厅和会议中心之间提供了链路。同时,由于红外通信具有隐蔽性、保密性强的特点,故国外通信机构也很重视这一技术的开发与应用。本次所设计的红外遥控电子钟是基于DS1302时

9、钟芯片和并用红外遥控进行设置的电子钟温度计,以STC89C54单片机为控制核心,以1602液晶显示作为人机交互界面。系统可以对周围环境温度进行实时监测,除此之外还具有闹钟功能和整点报时功能。时间调整和闹铃时间设定等所有产品功能都可由红外遥控进行设置。 第一章 系统总体方案设计1.1 系统的设计功能本次设计是以单片机为核心,扩展显示和红外接口,进行红外遥控电子钟的软硬件设计。使之具有显示年、月、日、时、分、秒和温度的功能,同时具有闹钟和整点报时的功能,并且可以通过红外遥控器进行基本时间的调整和闹钟的设定。温度的检测精度为0.5,显示精度为0.1。1.2 方案的选择与比较1.2.1 系统的基本方案

10、选择红外遥控电子钟设计的总体结构框图如图1-1所示。1.2.2 单片机的选择方案一:采用AT89C52系列单片机。它是一个低电压、高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。这些特点可以满足此次设计的要求,但是考虑到现有电路板上没有现成的这个单片机,所以不采用此方案,考虑其他方案。方案二:采用STC89C54系列单片机。STC89在8051基础上增加了许多功能,内置fla

11、sh ROM可以反复擦写10万次,内置硬件看门狗,极大地提高了MCS51家族的性能,STC89由美国设计,在台湾生产,是目前在相同性能条件下价格最优的一个品种,且具有高性能、低价格的特点。由于其功能已经够满足我们对于产品的需要,所以我们选择性价比更高的STC89C54。图1-1 系统总体框图1.2.3 时钟芯片的选择方案一:选择DS12C887。DS12C887是一种新型的时钟日历芯片,它能够自动产生世纪、年、月、日、时、分、秒等时间信息,而且它自带有锂电池,外部掉电时,其内部时间信息还能够保持十年之久,对于一天内的时间记录,有12小时制和24小时制两种模式。对于这个新型的时钟芯片应用于电子中

12、的设计是绰绰有余的,但是考虑到现有的电路板没有这个芯片,所以不采用这个方案,考虑其他方案。方案二:选择DS1302。DS1302具有实时时钟显示,闹铃调校的功能,且价格便宜。用其组成的串行时钟电路具有接口简单、价格低廉、使用方便的特点,所以被广泛使用,其主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。这些特点均可满足电子钟的设计,而且现有的电路板上也有这个时钟芯片,所以选用这个方案。1.2.4 显示模块的选择方案一:采用LED数码管显示。其颜色鲜艳,易于观察,但是由于产品需要显示的信息较多,个别字符也无法显示,所以不符合此次设计的要求。方案二:采用LCD

13、1602液晶显示。由于课程设计用过LCD1602,所以对1602液晶的操作比较熟悉,其显示功能也比较强大,实用性很强,还可以显示自定义字符,故采用此方案。1.2.5 红外发射接收模块的选择方案一:红外编码和红外解码模块都由自己编程序来实现,好处是可以学习红外发射协议,但是难度大,容易出错。所以不采用此方案。方案二:采用TC9012和PIC3388配对的红外发射和红外接收芯片,其编码译码都由固件来实现。外围电路的搭建稍复杂,但是有利于提高我们的动手能力,故采用此方案。1.2.6 电源模块的选择方案一:采用蓄电池为系统供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。但是蓄电池的体积过于庞

14、大,价格比较昂贵,对于我们的作品性价比不高。方案二:采用12V稳压电源,经过7805的电压变换后为单片机供电。经过实验验证,输出电压供电时,单片机及外设的工作电压不够,性能不稳定。方案三:采用USB串口输出电压,其电压输出稳定,符合产品的需求,故采用此方案。1.2.7 声光报警模块的选择方案一:通过单片机来控制语音芯片来实现提示信息的播报。但是由于语音芯片成本比较高,而且扩展起来比较复杂,增加焊接难度和设计成本。方案二:采用发光二极管和蜂鸣器搭一个简单的电路,成本低,电路比较简单,使用方便,符合我们的系统要求,故采用此方案。1.3 系统的总体设计方案经过反复的探讨和论证我们最终确定如下设计方案

15、:采用STC89C54单片机作为整个电路的控制核心;采用DS1302时钟芯片提供准确的时间;采用蜂鸣器和二极管来完成声光报警功能;采用1602液晶作为人机交互界面;采用USB串口输出电压为系统提供基准电源;采用TC9012和PIC3388配对的红外发射和红外接收芯片完成产品的遥控与接收控制。第二章 系统硬件设计本次设计的时钟电路系统,共分为以下几个模块:STC89C54单片机控制模块,时钟芯片DS1302模块,温度采集DS18B20模块,液晶显示屏LCD1602模块,红外发射接收模块,电源模块及声光报警模块。2.1 单片机控制模块2.1.1 STC89C54单片机的简介STC89C54是一种带

16、有4K字节的闪烁可编程并且可擦除的只读式存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,STC89C54是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。STC89C54的外部引脚分配如图2-1所示。图2-1 STC89C54引脚各引脚功能:按键与单片机引脚的连接:按键K3和K4分别接单片机的P12和P13,按键K

17、5-K8分别接单片机的P23-P20。DS1302时钟芯片与单片机引脚的连接:J13的SCK、I/O和RST分别接单片机的P14、P15和P16。红外遥控器与单片机引脚的连接:J27中的任何一个端口接单片机的P23(int0中端口)。温度传感器与单片机的连接:J48接单片机的P37。蜂鸣器与单片机引脚的连接:J42的B1接单片机的P11。2.1.2 时钟电路的设计STC89C54中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器振荡电路。外接石英晶体(陶瓷谐振器)及电容C1

18、、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,推荐电容使用30Pf10pF,而如使用陶瓷谐振器建议选择40pF10pF。本设计使用的电容是22pF,晶振为11.0592MHz。若采用外部时钟。外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。图2-2 STC89C54振荡电路图本设计采用内部振荡器方式,如图2-2所示。2.1.3 复位电路的设计简单复位电路的好处在于不受工作电压范围的限制,而专用复位集成电路,必须注意复位电压和工作

19、电压是否匹配。这类专用的复位集成芯片除集成复位电路外,还有些集成看门狗、EEPROM存储器等其他功能模块。复位电路可采用简单的电阻、电容及按键开关构成上电自动复位和手动复位,也可选择专用的复位集成芯片。复位电路连接示意图如图2-3所示。图2-3 单片机复位电路2.2 时钟芯片DS1302模块2.2.1 DS1302简介DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通讯,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰

20、年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。DS1302的外部引脚分配如图2-4所示。 图2-4 DS1302的外部引脚分配各引脚的功能为:Vcc1:主电源;Vcc2:备份电源;(当Vcc2Vcc1+0.2V时,由Vcc2向DS1302供电;当Vcc2Vcc1时,由Vcc1向DS1302供电)X1,X2:振荡源,外接32.768kHz晶振;SCLK:串行时钟,输入,控制

21、数据的输入与输出;I/O:三线接口时的双向数据线;GND:接地;RST:复位/片选线;2.2.2 DS1302的工作原理DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为8加最多可达248的数据。2.2.3 DS1302的应用DS1302只需连接SCLK,I/O和RST三个接口即可,如图2-5所示。图2-5 时钟芯片

22、连线图2.3 液晶显示屏LCD1602模块2.3.1 LCD1602液晶显示屏简介1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。LCD1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。图2-8为LCD1602液晶显示屏的引脚图。图2-8 LCD1602引脚图各引脚的功能为:VSS:接地电源;VDD:接5V正电源;VEE:液晶显示器对比度调整端;接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个

23、10K的电位器调整对比度。RS:数据/命令选择端(H/L);高电平时选择数据寄存器,低电平时选择指令寄存器。R/W:读/写选择端(H/L);高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。E:使能信号;当E端由高电平跳变成低电平时,液晶模块执行命令。D0D7:8位双向数据线;2.3.2 LCD1602液晶显示屏的应用LCD1602需要连接RS、RW、E、DOD7共11个接口,如图2-9所示。图2-9 LCD1602连线图2.4 红外发射接收模块2.4.1 红外发

24、射接收简介红外发射芯片TC9012是一块用于东芝系列红外遥控系统中的专用发射集成电路,采用CMOS工艺制造。它可外接32个按键,提供8种用户编码,另外还具有3种双重按键功能。TC9012的管脚设置和外围应用线路都进行了高度优化,以配合PCB的布局和低成本的要求。红外接收芯片的引脚定义及功能如图2-10所示。图2-10 红外接收芯片引脚2.4.2 红外发射接收的应用红外接收需要连接输出OUT一个借口即可,如图2-11所示。图2-11 红外接收连线图2.5 电源模块一个系统稳定性很大程度上取决于稳定的电源模块是否能够提供稳定的电压和电流。各种整流器的输出电压不仅受市电电压变化的影响,还受负载变化的

25、影响。为了保证供电电压稳定不变,几乎所有的电子设备都采用稳压器供电。小型精密电子设备还要求电源非常无纹波、无噪声,以免影响电子设备正常工作。为了满足精密电子设备的要求,应在电源的输入端加入线性稳压器,以保证电源电压恒定和实现有源噪声滤波。电源电路模块图如图2-12所示:图2-12 电源电路2.6 声光报警模块本设计采用扬声器报警,当定时时间到时,蜂鸣器发出声响。蜂鸣器接线如图2-13所示。图2-13 蜂鸣器接线图 第三章 系统软件设计系统程序主要包括主程序、1602液晶显示程序、DS1302时钟芯片程序、程序和红外遥控按键程序。3.1 软件总体框图系统软件总体结构框图如图3-1所示。显示时间图

26、3-1 系统软件总体结构图系统初始化:1602液晶显示器初始化、DS1302时钟芯片初始化、定时器0初始化和外部中断初始化。按键扫描:即外部中断中处理红外遥控器。正常显示时间和温度:包括时间、温度的显示和闹铃的判断、整点报时。3.2 各部分软件介绍3.2.1 1602液晶显示程序LCD1620显示程序包括LCD1620的初始化,读/写操作,及与之相关的字符、数字等的代码调用子程序。本程序可以把从DS1302、DS18B20中读取的时间、温度显示出来,并可以接受红外遥控的按键对于时间及闹钟的修改。对LCD屏做读写操作时,应注意再写入之前,把不能覆盖的内容清掉,否则,出现字符累加效果,不甚清楚。液

27、晶显示流程图如图3-2所示。图3-2 液晶显示流程图3.2.2 DS1302时钟芯片程序从时间芯片DS1302中读出时间(年、月、日、星期、时、分、秒),也需要严格遵守时序逻辑(单总线结构),读出的时间要想显示出来,也必需经过数制的转换(BCD码转换为十进制)。程序流程图如图3-3所示。图3-3 时钟芯片流程图3.2.3 红外遥控按键程序读键程序放在定时器中,50ms扫描一次键盘,程序具有去抖功能,避免了外部因干扰信号而引起的误动作。其读键程序流成图如图3-5所示。图3-5 按键流程图各按键具体功能说明如下:按键CH-:修改时间键,按键EQ:设定闹钟键,按键CH+:为光标移动键,在1602显示

28、屏上显示出来为年月日后面的一个数字,若此数字显示1,则代表可以设定年位,若此数字显示2,则代表可以设定月位,若为3,则代表可以设定日位,若为4,则代表可以设定时位,若为5,则代表可以设定分位,若为6,则代表可以设定秒位,若为7,则代表可以设定星期位。按键1:为光标位加1键,按键2:为光标位减1键,按键CH:为确定退出键。 第四章 结论4.1 系统调试最开始在仿真时,按键按下后,调节光标乱跳,无法正常显示。后来听老师的讲解,分析是由于键盘抖动,需要对键盘消抖。由于键盘消抖可以用硬件和软件两种方法,但由于硬件电路改动不便,于是才有软件消抖,即在按键按下时延时消抖,并加入松手监测。在进行对红外遥控进

29、行编程的时候,根据在网上找到的有关遥控器讲解的视频的学习,最后学习其编程方法,对此次设计中的红外遥控进行编程并下载到板子上调试,但是结果却不对。于是又查看板子所带的光盘里有关红外遥控发射与接收的资料,发现此板子所带的遥控器与网上视频所讲的遥控器在红外编码方面有些不同,于是把程序中有关红外编码的地方改成适合此次所用的遥控器的红外编码,最后下载到板子上成功了。最开始时在往板子上下载程序时,软件上一直提示“仍在连接中,请给MCU上电”的提示,于是上网查找原因,根据与具体情况的一一对应与排除,最后确定是因为在板子的晶振上没有连接一个11.0592MHz的电容。连接上这样一个电容后就下载成功并显示出来了

30、。 4.2 系统实物图图4.1为显示年、月、日、时、分、秒及温度的实物图,年、月、日后的数字为星期键,时、分、秒后的数字为光标移位键(若此数字显示1,则代表可以设定年位,若此数字显示2,则代表可以设定月位,若为3,则代表可以设定日位,若为4,则代表可以设定时位,若为5,则代表可以设定分位,若为6,则代表可以设定秒位,若为7,则代表可以设定星期位)。图4.1 显示时间及温度在图4.1显示屏的基础上,点击红外遥控器上的CH-键或板子上独立按键的K8键,进入图4.2的界面。此时再点击红外遥控器上的CH+键或板子上独立按键的K6键,更改光标移位键,确定后再点击红外遥控器上的1键或板子上的K3键,此位+

31、1(或点击红外遥控器上的2键或板子上的K4键,此位-1)。确定后点击红外遥控器上的CH键或板子上的K7键退出修改时间界面。图4.2 更改时间界面在图4.1显示屏的基础上,点击红外遥控器上的EQ键或板子上独立按键的K5键,进入图4.3的界面。此时再点击红外遥控器上的CH+键或板子上独立按键的K6键,更改光标移位键,确定后再点击红外遥控器上的1键或板子上的K3键,此位+1(或点击红外遥控器上的2键或板子上的K4键,此位-1)。确定后点击红外遥控器上的CH键或板子上的K7键退出设定闹钟界面,此时闹钟已生成,到时间时蜂鸣器会自动发出提示。图4.3 设定闹钟界面图4.4 整体实物图本产品的整体实物图如图4.4所示。4.3 结论至此,已基本完成课题要求。功能上基本达标:年、月、日、时、分、秒及温度的显示、整点报

温馨提示

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

评论

0/150

提交评论