电子万年历方案设计开发

随着经济的不断发展,人们对生活质量的要求也在不断地提高。在电子技术方面厂家也不断的推出了各种电子产品以满足人们的需要,而电子万年历则顺应了人们对时间方面的要求。但传统的电子万年历除显示时间之外,功能较为单一,逐渐失去了市场。针对这一现状,本文介绍的电子万年历,采用了基于AT89C51单片机的控制技术,并结合了语音录放模块ISD1420和红外遥控技术,使其具备了遥控调时,语音报时等功能,具有一定的新

随着经济的不断发展,人们对生活质量的要求也在不断地提高。在电子技术方面厂家也不断的推出了各种电子产品以满足人们的需要,而电子万年历则顺应了人们对时间方面的要求。但传统的电子万年历除显示时间之外,功能较为单一,逐渐失去了市场。针对这一现状,本文介绍的电子万年历,采用了基于AT89C51单片机的控制技术,并结合了语音录放模块ISD1420和红外遥控技术,使其具备了遥控调时,语音报时等功能,具有一定的新颖性和实用性,使用也更为方便,具备一定的市场前景。

一、语音电子万年历系统总体设计方案

系统总体设计框图如图1所示。本系统的硬件结构主要由主控芯片AT89C51单片机、一体化红外接收头组成的红外线接收电路、实时时钟芯片DS1302、语音录放芯片ISD1420以及数码管显示驱动电路等组成。该系统利用实时时钟芯片DS1302产生年、月、日、时、分、秒、星期等时间信息,通过单片机对时间信息进行处理后送数码管显示驱动电路;红外接收电路用以接收和解调红外遥控器发送的控制信号,经单片机识别后发出调时或语音报时命令;语音录放芯片ISD1420在接收到放音命令后根据单片机发送过来的语音信息地址,对存放的语音数据进行组合,发出与时间相对应的语音信息,实现语音报时功能。

图1 电子万年历总体设计框图

二、电子万年历系统中关键器件的选用

2.1 AT89C51单片机

AT89C51为ATMEL公司生产的51系列单片机,其内部资源及端口定义与MCS-51单片机兼容,另外该片内置的flashROM允许进行重复1000次以上的编程烧写,适合在开发阶段的使用。

2.2串行时钟芯片DS1302

DS1302是DALLAS公司推出的一个内含实时时钟/日历和31字节静态RAM的时钟芯片,通过串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、星期、月、年等时间信息,每个月的天数和闰年的天数可自动调整,时钟操作通过AM/PM标志位决定采用24或12小时时间格式。DS1302与单片机之间能采用同步串行的方式进行通信,仅需复位线RST、I/O数据线、SCLK串行时钟线3根线即可完成数据的通讯。DS1302数据传送方式有单字节和多字节传送方式,根据控制命令字和数据传送的时序,单片机可以对DS1302重新设置时间和读取实时时间。DS1302工作时功耗很低,保持数据和时钟信息时,功率小于1mW。DS1302广泛应用于电话、传真、便携式仪器以及电池供电的仪器仪表等产品领域。

2.3语音录放芯片ISD1420

ISD1420芯片采用CMOS技术,单片录放时间为20秒,音质好。在录放操作结束后,芯片自动进入低功耗节电模式、功耗仅0.5uA。芯片采样频率从5.3,6.4到8.0KHz,片内信息可保存100年(无需后备电源),EEPROM单片可反复录音十万次。

ISD1420的录放操作通过/REC,/PLAYE,/PLAYL,/RELED进行控制。/REC为录音控制端,低电平有效。只要/REC变低,芯片即开始录音。当/REC变高或内存录满后,录音周期结束,芯片自动写入一个结束标志(EOM),使以后的重放操作可以及时停止,实现分段录音的功能。/PLAYE为边沿触发放音端,出现下降沿时,芯片开始放音。放音持续到EOM标志或内存结束,之后芯片自动进入节电状态。在录音或放音结束后芯片均自动进入节电状态。录音指示(/RECLED)在录音状态时,此端为低,可驱动LED。此外,放音遇到EOM标志时,此端输出低电平脉冲。

2.4一体化红外线接收头

红外线遥控系统的接收部分采用一体化红外线接收头LT0038,用以接收以电视机遥控器发送过来的控制信号。LT0038是塑封一体化红外线接收器,它是一种集红外线接收、放大、整形于一体的集成电路,不需要任何外接元件就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,收到红外线信号时为低电平,没有则为高电平,适用于各种红外遥控系统和红外线数据传输。遥控发射器专用芯片很多,根据编码格式可以分成脉冲宽度调制和脉冲相位调制两大类。在本系统中直接利用了电视机的遥控器作为发射部分,并直接利用了其各按键的代码。

电子万年历方案开发

三、电子万年历硬件设计

(1)显示部分:为了减少对单片机端口的占用和满足对数码管的驱动电流的要求,本系统采用了串并转换芯片74LS164作为驱动芯片,在单片机处于工作模式0时对单片机串行口输出的数据进行串并转换,作为数码管的段码用以驱动数码管显示数据。由于万年历使用的数码管多达十几个,在此处用两个74LS164扩展,分别驱动上下两组数码管。数码管显示采用动态扫描技术,利用P0口对数码管进行逐个点亮。

(2)时钟接口部分:串行时钟芯片的SCLK,RST,I/O口分别与单片机的P1.0,P1.1,P1.2相连。根据DS1302数据传送的时序图利用软件模拟完成串行数据传送。DS1302的VCC2接3.6V的锂电池作为主电源掉电后的备用电源。

(3)红外遥控接收接口部分:一体化红外接收头的输出端接单片机的外部中断0口,当遥控器发出控制命令后,一体化红外接收头对接收的信号进行解调,解码并向单片机发出中断请求,以使单片机响应遥控器发出的命令要求。

(4)语音录放接口部分:单片机的P2口接ISD1420的A0-A7,作为地址选择线。ISD1420的/PLAYL,/REC,/RELED分别接单片机的P1.5,P1.6,P1.7口。录音时,单片机通过P2口送出ISD1420录放语音的地址,并通过P1.6口将/REC口置为低电平,ISD1420从指定地址开始录音,当P1.6口清零时,停止录音,ISD1420内部自动加入段结束标志EOM。而放音时,单片机从P2口输出指定放音段的地址,并通过P1.5口将/PLAYL置为低电平,ISD1420即从指定的地址开始放音,当遇到段结束标志EOM时停止,单片机利用从RECLED中输出的EOM标志启动发出下一段的放音地址,这样连续放音就可以实现语音报时的功能。

四、电子万年历系统软件设计

该系统的软件设计采用单片机C语言编程实现。主要包括DS1302与单片机接口程序、单片机响应红外遥控信号的中断处理程序、单片机控制IS1420的语音录放程序以及单片机串行输出送74LS164的显示驱动程序等几个程序模块组成。串行时钟芯片DS1302与单片机的接口程序以及单片机串行口处于工作模式0通过74LS164实现串并转行程序在各种书籍上介绍较多,本文不再给与重复介绍。本文主要介绍有关单片机响应红外遥控信号并进行解码的处理原理以及单片机控制ISD1420进行语音录放程序的编写。

4.1外遥控信号编码组成解单片机解码设计

通常,红外遥控器的信号调制在38KHZ的载波上。而信号采用的编码形式有多种类型,较常见的有PWM码(脉冲宽度调制码)和PPM码(脉冲位置调制码),本系统采用的遥控器为PPM码形式,现给与介绍。遥控编码脉冲信号通常由引导码、系统码、系统反码、功能码和功能反码组成。

由宽度为9ms的高电平和宽度为4.5ms的低电平组成引导码。系统码又称为识别码,主要是为了区分不同的控制系统,防止误动作。功能码也称为指令码,其代表相应的控制功能。系统反码和功能反码的加入则是为了校对传输过程中产生的差错提高抗干扰性能。利用单片机电路首先检测出电视机遥控器中每个按键的8位数据码,然后根据数据码制定各个按键的作用。在这里保留遥控器中各个数字键的功能,并以频道的加减键作为定时时间的加减设置功能,另外以开关键作为语音报时控制键。这样在单片机的外部中断处理程序中判别出操作者所按的功能键,然后转向执行相应的处理程序。

4.2单片机控制ISD1420的语音报时程序

在语音录放芯片ISD1420中预先按段录制需要实时报时的语音语素,经过对所有语句的拆字分析,需要以下17字段和语素:嘟(00)、零(01)、一(02)、二(03)、三(04)、四(05)、五(06)、六(07)、七(08)、八(09)、九(0A)、十(0B)、分(0C)、秒(0D)、点(0E)、北京(0F)、时间(10)。在录制的时候相邻两语音段之间的地址间隔为8,即每个语音段的录音时间控制在1秒之内,所用的17个字段和语素分布在17秒的录音区间内,没有超出ISD1420二十秒的最大录制时间。下面举例说明通过单片机程序实现语音报时功能。假设现在时间是16点47分,我们需要语音电路发出的报时声为“嘟,北京时间十六点四十七分”。电路中的单片机对内部的时,分单元数据进行拆分,并根据语音芯片中语音段的段位序号和命令格式在内部产生如下的代码:00 0F 10 0B 07 0E 05 0B 08 0C。以上数据均为16进制表示,“00”表示提示音“嘟”,“0F”表示“北京”,“10”是表示“时间”,“0B”“07”“0E”“05”“0B”“08”“0C”分别表示“十”“六”“点”“四”“十”“七”“分”。这样只要将上述各段语音顺序播放出来,即完成了语句的合成和播放。

结束语

本设计实现的电子万年历采用单片机作为主控芯片,外接语音录放芯片ISD1420、一体化红外接收头以及时钟芯片DS1302,使该万年历不仅具备了计时精确、功能易扩展的特点,而且还具备了遥控调试,语音报时的功能,使得该产品具备了方便、趣味和生动的特点,适合家庭计时,报时等方面的应用。通过软件调试及硬件测试,本系统各部分均达到了预期的功能。另外在该语音电路设计的基础上加以改动还可以应用到工业测量控制、水利监测、公安报警系统、智能电话系统、计价器、银行报号系统、公路收费系统等各系统当中。