文档库 最新最全的文档下载
当前位置:文档库 › MCU语音型电子万年历的开发

MCU语音型电子万年历的开发

第4卷第3期2004年9月

浙江工贸职业技术学院学报

J O U R N A L O F Z H E J I A N GI N D U S T R Y&T R A D E PO【ⅣTB C H N I C

V bl.4N O.3

S e p.2004 M C U语音型电子万年历的开发

余威明

(浙江工贸职业技术学院,浙江温州325003)

摘要:介绍一种基于A T89C51单片机控制的电子万年历,该系统结合了红外遥控技术和语音录放技术,除具备传统的万年历所具有的时间显示功能之外,该系统还兼有语音报时,遥控设定时间等功能。

关键词:同步串行通信I SD l420红外编码红外解码语音报时

中图分类号:T P31文献标识:B文章编号:1672—0105(2004)一03—20一06

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

l系统总体设计方案

图l系统总体设计框图

系统总体设计框图如图l所示。本系统的硬件结构主要由主控芯片A T89C51单片机、一体化红外接收头组成的红外线接收电路、实时时钟芯片D S l302、语音录放芯片I SD l420以及数码管显示驱动电路等组成。

收稿E t期:2004—04—28

作者简介:余威明(1979一),男,助教。

叁壁塑:丝竺旦堡重型皇三互兰望塑墅垄

该系统利用实时时钟芯片D Sl302产生年、月、日、时、分、秒、星期等时间信息,通过单片机对时间信息进行处理后送数码管显示驱动电路;红外接收电路用以接收和解调红外遥控器发送的控制信号,经单片机识别后发出调时或语音报时命令;语音录放芯片ISD l420在接收到放音命令后根据单片机发送过来的语音信息地址,对存放的语音数据进行组合,发出与时间相对应的语音信息,实现语音报时功能。2系统中关键器件的选用

2.1A T89C51单片机

A T89C51为A T M E L公司生产的5l系列单片机,其内部资源及端口定义与M C S一51单片机兼容,另外该片内置的f l as h R O M允许进行重复1000次以上的编程烧写,适合在开发阶段的使用。

2.2串行时钟芯片D Sl302

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

2.3语音录放芯片I SD l420

I SD l420芯片采用C M O S技术,单片录放时

间为20秒,音质好。在录放操作结束后,芯片

自动进入低功耗节电模式、功耗仅0.5uA。芯

片采样频率从5.3,6.4到8.0K H z,片内信息可

保存100年(无需后备电源),E E PR O M单片

可反复录音十万次。I SD l420的内部结构框图

如图2所示,其中A7。A0为内部存储器地址选

择线,通过A7和A6的不同设置可以实现操作模

式和直接寻址方式的切换,当A6,A7都为1时进入操作模式,ISD l420有多达5种

操作模式;而当A6,A7不全为1时,I SD l420进人直接寻址方式。在本设计中采

用了直接寻址方式。

I SD l420的录放操作通过/R E C,/PL A Y E,/PL A Y L,/R EL E D进行控制。/RE C为

录音控制端,低电平有效。只要/R E C变低,芯片即开始录音。当/R EC变高或

内存录满后,录音周期结束,芯片自动写入一个结束标志(E O M),使以后

的重放操作可以及时停止,实现分段录音的功能。/P LA Y E为边沿触发放音端,

出现下降沿时,芯片开始放音。放音持续至U EO M标志或内存结束,之后芯片图3一体化红外接收头

21

浙江工贸职业技术学院学报

自动进入节电状态。在录音或放音结束后芯片均自动进入节电状态。录音指示(/R EC LED)在录音状态时,此端为低,可驱动LE D。此外,放音遇到EO M标志时,此端输出低电平脉冲。

2.4一体化红外线接收头

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

3.系统硬件设计

3.1系统电路原理图

系统电原理图如图4所示。

3.2系统原理分析(1)显示部分

22图4系统电原理图

,,O Ⅱ

余威明:M C U语音型电子万年历的开发

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

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

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

单片机的P2口接ISD l420的A0一A7,作为地址选择线。I S D l420的/PLA Y L,/R EC,/R ELED分别接单片机的P1.5,P1.6,P1.7口。录音时,单片机通过P2口送出ISD l420录放语音的地址,并通过PI.6口将/R E C 口置为低电平,I SD l420从指定地址开始录音,当P1.6口清零时,停止录音,I SD l420内部自动加入段结束标志E O M。而放音时,单片机从P2口输出指定放音段的地址,并通过P1.5口将/PL A Y L置为低电平,I SD l420

即从指定的地址开始放音,当遇到段结束标志E O M时停止,单片机利用从R E CL E D中输出的EO M 标志启动发出下一段的放音地址,这样连续放音就可以实现语音报时的功能。

4系统软件设计

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

[]衄叫::叫皿皿Ij.0凹咖::皿皿.-.j.且

图5红外遥控编码信号

j r

图6红外接收电路部分

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

通常,红外遥控器的信号调制在38K H Z的载波上。而信号采用的编码形式有多种类型,较常见的有

23

塑兰三墼竖些垫查堂堕兰塑

PW M码(脉冲宽度调制码)和PPM码(脉冲位置调制码),本系统采用的遥控器为PPM码形式,现给与介绍。遥控编码脉冲信号通常由引导码、系统码、系统反码、功能码和功能反码组成(如图5所示)。由宽度为9m s的高电平和宽度为4.5m s的低电平组成引导码。系统码又称为识别码,主要是为了区分不同的控制系统,防止误动作。功能码也称为指令码,其代表相应的控制功能。系统反码和功能反码的加入则是为了校对传输过程中产生的差错提高抗干扰性能。

利用单片机电路首先检测出电视机遥控器中每个按键的8位数据码,然后根据数据码制定各个按键的作用。在这里保留遥控器中各个数字键的功能,并以频道的加减键作为定时时间的加减设置功能,另外以开关键作为语音报时控制键。这样在单片机的外部中断处理程序中判别出操作者所按的功能键,然后转向执行相应的处理程序。硬件电路连接如图6所示。

4.2单片机控制I SD l420的语音报时程序

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

以下语音播放源程序(部分):

,水木木木木木,I c木木木木木木水木木,l c木'l c’I cj I c水木木,I c木术木木木木水木木木木=I c木术水木术水术术水木术木水木水,l c水,I c木木木木木木木术木术枣木木

木名称:pl ayvoi ceO

宰说明:通过调用cacu_voi ce_addr es s0函数在数组voi ce_addr[]

木中产生需播放的语音语素序列及需播放的语素个数voi ce_l engt h

木功能:控制语音芯片I SD l420的放音

木木木木木木=Ic木木木木木木木=Ic木木木木木木木木木半j I c木木水半术术木爿c,l c,Ic木木,Ic木木j I c木木木木木水牛,Ic木木水水水木木木木木木牛木术木木水牛,Ic,l c木,

voi d pl ayvoi ceO

{

uc har addr,i://定义地址及循环变量

cacu_voi ce—addr essO;//调用产生语素序列函数

f or(i=O;i

{

addr=-voi ce_addr[i]*8;//根语音段序号算出地址

余威明:M C U语音型电子万年历的开发

P2=addr;

pl aye=O;

w hi l e(eom==1){) pl aye=1;

del aylm s(10);)

//送出指定语音段的地址

//开启语音播放

//等待该段语音播放结束标志//关闭语音播放

//等待10m s

J

5、结束语

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

参考文献

【1】胡汉才.单片机原理及其接口技术【M].清华大学出版社,1996。

【2】2楼然苗,李光飞.51系列单片机设计实例[M】.北京航空航天出版社,2003。

【3】赵亮,侯国锐.单片机c语言编程与实例【M】.人民邮电出版社,2003。

【4】何立民.单片机与嵌入式系统应用【J】.北京航空航天出版社。2003。

相关文档
相关文档 最新文档