红外遥控智能数字钟的设计

时间:2022-04-24 08:52:28

红外遥控智能数字钟的设计

摘要:本文介绍了单片机红外遥控智能数字钟的工作原理、硬件电路及软件设计思路,对设计、制造新型单片机红外遥控智能数字钟具有一定的参考作用。

关键词:单片机;红外遥控;智能数字钟;设计

中图分类号:TN764文献标识码:A文章编号:1007-9599 (2010) 16-0000-02

The Design of Infrared Remote Control Intelligent Digital Clock

Song Jianying

(Qingdao Technical College,Qingdao266555,China)

Abstract:This paper introduces MCU infrared remote control intelligent digital clocks works,hardware and software design,to design,manufacture new MCU infrared remote control intelligent digital clocks as reference.

Keywords:MCU;Infrared remote control;Intelligent digital clocks;Design

数字钟的设计在很多电子期刊杂志、教材上都有介绍,但大多数在断电后都要重新设置时间等参数,给使用带来不方便。也有的用后备电池作为备用电源,但往往体积较大。本文介绍的智能数字钟克服了以往的弊端,而且采用了家电通用的红外遥控器进行控制,使用方便灵活。有一路闹铃输出,可以通过遥控器设置闹铃时间及允许与否。

一、工作原理

在硬件电路设计中采用流行的价格比较低廉的单片机AT89C2051和达拉斯公司的DS1302实时时钟芯片等;显示部分采用高亮LED数码管动态显示,显示亮度高且显示部分硬件成本低;红外遥控部分则采用成品组件,这样可大大简化硬件电路的设计和软件编程的工作量,并大大提高系统的稳定性和可靠性。

AT89C2051作为主控芯片,一是对接收到的红外遥控编码进行判断识别,并执行相应的处理;第二就是定期的读取时钟芯片DS1302中的时间并把小时和分显示在4位LED中;第三就是对设置的闹铃时间与实时时间进行比较,如果时间相同且闹铃允许,那么蜂鸣器就会以1S的周期鸣响1min,提醒使用者。如果要停止鸣闹,只要按遥控器相应键就可以关闭闹铃,闹铃时间保存在DS1302自带的RAM中,不需要单独的EEPROM。DS1302的主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32768Hz晶振。

二、硬件电路设计

(一)DS1302实时时钟芯片介绍及接线图

1.DS1302引脚及功能。

DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,内部有31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分DS1302的外部引脚分配时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5-5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行电流充电的能力。DS1302的外部引脚分配如图1所示。[1]

Vcc1:主电源;

Vcc2:备份电源。当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2

SCLK:串行时钟,输入;

I/O:三线接口时的双向数据线;

/RST:复位/片选线,通过把/RST输入驱动置高电平来启动所有的数据传送。/RST输入有两种功能:首先,/RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,/RST提供终止单字节或多字节数据的传送手段。当/RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中/RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

2.应用电路设计。

DS1302在硬件系统中接线图如图2所示。要特别说明的是备用电源BT1,可以用3.6V可充电的锂电池。

(二)TK190芯片介绍及接线图

TK190为三脚的塑封一体化红外接收头,内含红外检测二极管、前置放大器、限幅放大器、检波器和比较触发器,能直接输出二进制信号,送单片机的中断引脚。其接线图如图3所示。其引脚功能为:[2]

GND:电源地;

VCC:电源+5V;

OUT:数据输出管脚。

(三)LED数码管动态显示电路

LED1-LED4为高亮度共阳极数码管,调整R1可以改变数码管显示亮度。Q1-Q4三极管采用9012PNP管,提供数码管对应笔画段点亮所需的导通电流。P1口接数码管的八字段。数码管左两位显示时,右两位显示分,当显示的是闹铃时间时闪动。第二位和第三位的小数点作为秒闪动,注意第三位数码管按图一布好印制片后安装时要旋转180度,以便让时和分之间出现“:”,最后一位小数点作为闹铃开关标志,亮表示闹铃开启。

(四)CPU电路

CPU电路如图5所示。AT89C2051所用的晶振Y1为10MHz~12MHz均可,采用不同频率的晶振,只要修改程序中的延时参数,让其保持显示延时时间不变就行。

另外,风鸣器B1采用小型自带音源的成品件。DS1302在第一次加电后需进行初始化操作,保证初始化就可以按正常方法调整时间和闹铃。

三、软件

软件部分的重点是对DS1302的操作以及红外遥控的解码。

(一)对DS1302的操作

1.DS1302内部几组寄存器及功能。

DS1302有关日历、时间的寄存器共有14个,其中有7个寄存器(读时寄存器81h-8Dh,写时寄存器80h-8Ch),存放的数据格式为BCD码形式,小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是,当为1时,表示PM。在24小时模式时,位5是第二个10小时位。

秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。

控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一寄存器的写操作。

2.读写操作说明。

DS1302是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。

要想与DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。

位6:如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;

位5至位1(A4~A0):指示操作单元的地址;

位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。

控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。

(二)红外遥控的解码及设置说明

单片机解码部分,因有很多文章介绍,这里主要对设置部分作一些说明:遥控器采用长虹K11F型遥控器,遥控器按照16位地址码,8位数据码以及8位数据码的反码发送。表1列出了各按键的编码及本电子钟对应的动作。如果采用其它遥控器,需对程序相应部分的编码作修改。[3]

操作方法中,任意是指该键第一次按后,进入该状态,再次按键后退出该状态。

时间设置:按“菜单”键进入设置状态,LED只显示正常时间的小时,按“”、“”键调整数值,按“”、“”键可在闹铃与正常时间之间移动。任意时刻再次按“菜单”键退出设置。

闹铃设置:闹铃时间在时间设置中进行。闹铃允许和取消可在任意时刻按“静音”键。显示开关:可在任意时刻按“显示”键开启和关闭显示器。

初始化:在按“菜单”键进入设置状态后任意时刻按“日历”键,初始化后的时间为:“2002年1月1日12:00:00”。

四、结束语

在该系统设计中,采用AT89C2051、达拉斯公司的DS1302实时时钟芯片和遥控器来控制使得硬件成本降低,时间稳定且精度高,软件编写相对简单,用户使用方便,对各种万年历和数字钟的设计具有指导和参考意义。

参考文献:

[1]茹国宝.单片机原理与应用实验指导书.武汉大学出版社,2009

[2]赵建领.51单片机开发与应用技术详解.电子工业出版社,2009

[3]李建华.实用遥控器原理与制作.人民邮电出版社,1996

作者简介:宋剑英(1969-),女,山东青岛人,青岛职业技术学院讲师,研究方向:电子测量及仪器。

上一篇:基于RSA门限密码体制 下一篇:多媒体技术在创新能力培养中的应用