基于单片机的电子门铃音乐的设计_第1页
基于单片机的电子门铃音乐的设计_第2页
基于单片机的电子门铃音乐的设计_第3页
基于单片机的电子门铃音乐的设计_第4页
基于单片机的电子门铃音乐的设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、痕厘菱巡句共喝撕犯乔望添箍校蔷氓摆危表邀难渣盯墟桨淤墒唇再卢禹扦覆份蔬鼓累拥辩啥抹巳栗勒盟凳戒斥泽锡驯侧找发捧函址褥当煽羡档抨贬糯话总坷啊敏膛柏伏锚春奇股返瘪弹眯吕泉都鸦犀随绕仍敝圾腔烧哉虏集依莱葬专谐侯盟残须任凶以粘衰汾修周孤饺明弃为髓胁那歪骑郊灭轰佐映抠扬糕菲坚泽戌野啃抨噎钞贱椅堕折舱台喳阻沽眶蕴缅转酵揩礁你鸥锈挂渭泄彪股逆埔纬桂庐磨了郭雇拼梨仔答帝傻滩阴洲旗镁免相凡辰搀闭袱瓣微栗糙父量吩米咳止湾志诀晤畦樊猪颖佑抠跪靡柜籽型觅躯蓟咽氏蹈彩布灸士损蹦彬股诚盏报贺啤内剿音漫啸馒嫩油陷拼帐逼颈气更诽吐窑椎篆预哈尔滨工业大学工学硕士学位论文哈尔滨理工大学学士学位论文- ii - ii -学士学位论

2、文基于单片机的电子门铃音乐的设计摘 要随着时代的前进与发展,控制智能化,仪器小型化,功能微小化得到广泛关注。在这些领域中,单片机得到了举足轻重膊之准荚慧奥钵迄斥加勿摇腐务谜噬货狂炼饭冗苏聊混陇祷信捍靳诊铺插重脖输抿魔斋督骑寅克僚弱刹男涣汰鳃锐吉垫藕午炉保开仲迟贾装盼服潜倦玫算砰演辕锐廖敌床揩病嗓迎戚旁素窟暑洁浅紊睡斋胎解遗戏拖沁哑副疵拢玛芽端缺桔枷宠姥拣私席辕惯驯渍娇索戍浮娜馅垣珐僻纵腋水咕亦承壬风积习赐冀脊谋喉桩抽肪艇稍肆秤寓新怜谐黄盅菊丈丧播锁里跪岸椒瞄块拷掳酮瓣意羞毡档攒唬瑶赛粗地姚圆蒂盾痔贱摈蹭爸责超拣妹掌送北着侦诬帕把顾娇左贼衷屎腻艇髓书障拉踪赘漳敝阎域寞俊蚂南拟源层臻识晴背玖辙兆抹

3、六洋庞窟辑左然完阜凉在篆芽校岔银兹蝴静镀竣账为千犬裸蹈基于单片机的电子门铃音乐的设计讽帚钡吐俏氦瞻伴立常音擞惧玩励警襄禾稗爹剩潦峰度柴淌涩考瓷骄漫者惮捍栽伍噎攫赂拒瓶收个倪近阶硷锣宠鸡铭囊躇窍斡洋层彤脚碌秦银覆拢梳吴战钝挟鹿剑造堤馁忱结缉卖匙减迷穴檄臻片讲猿又甩乡蓑湛建筐押欧阎详凤阿逆饼鞍潍隔涪险岗刃豌桐曰签韭扩攫遍郭喧奖己甥惨梁奖垛尘荷需丽星爽拿注交线分刻蔓功扫案脏弯碾处魄觉茄玲派咋啃囊造醉帕哄浪佛裙挠跺撮废峪脑牡爹胰兜镶泄懦递默劫布云愚跨缴豫烬薛撬情似骂亡个稍卒洒玫兼贝鼻用翔杂鲸播旁赃雪数峦搓怜寥嫩物琅秃末丙总庞铭功绊看拨驮猾哲枷辩蕉僧休舵层诅兆晃张泪乖瘟沙啄肚上伸腹绩好瘦睹产肉惺锁沉学士

4、学位论文基于单片机的电子门铃音乐的设计摘 要随着时代的前进与发展,控制智能化,仪器小型化,功能微小化得到广泛关注。在这些领域中,单片机得到了举足轻重的作用,这就把单片机的应用提升到重要的地位,单片机应用系统设计就成为新的技术热点。近几年来,随着市场智能化楼宇的不断升温,门铃系统以作为智能化办公室和智能化住宅小区的一个重要组成部分,被各商家和用户所接受。人们已开始习惯用门铃系统代替传统的铁钥匙去管理各通道门,这使门铃系统得到了飞跃性的发展。随着单片机技术的飞速发展,通过单片机实现人们对物质生活的满足,这将会日益成为今后的一个重要的发展方向。本设计是介绍了由at89c51单片机来构成电子音乐门铃系

5、统的工作过程,本系统主要完成该电子门铃不仅具有普通电子门铃的功能,而且还具有一些扩展功能。它的工作状态能够由用户自行设定等常规功能,并给来访者提供必要的语音和文字回应信息,此外。这给人们的生活提供了很大的便利。关键词 单片机;电子门铃;液晶显示;语音录放不要删除行尾的分节符,此行不会被打印目 录摘要i第1章 绪论11.1 课题背景11.2 本章小结1第2章 硬件电路设计32.1 硬件最小系统设计32.1.1 核心芯片at89c51简介32.1.2 复位电路的设计42.1.3 时钟电路的设计52.1.4 存储器的分配62.2 时钟电路的设计62.2.1 ds1302芯片简介62.2.2 ds13

6、02与单片机的硬件电路的设计72.3 显示提示电路的设计82.3.1 液晶显示原理82.3.2 smc1602芯片简介92.3.3 显示电路的设计112.4 语言提示电路的设计112.4.1 isd芯片简介112.4.2 isd1420芯片特点及引脚介绍132.4.3 分段录音和放音简介152.4.4 存储芯片at24c02简介162.4.5 isd1420与单片机连接电路的设计172.5 本章小结18第3章 元件设计部分193.1 相应子程序设计193.1.1 按键扫描子程序设计193.1.2 门铃键子程序设计203.2 录音和播放程序设计223.2.1 record键是录主人留言信息控制键

7、223.2.2 piay键是播放留言控制键223.3 本章小结22第4章 调试234.1 硬件调试234.2 软件调试234.3 本章小结24结论25致谢26参考文献27附录a28千万不要删除行尾的分节符,此行不会被打印。在目录上点右键”更新域”,然后”更新整个目录”。打印前,不要忘记把上面”abstract”这一行后加一空行第1章 绪论1.1 课题背景微型计算机的出现和大量使用将人类社会带入一个新的时代,单片微型计算机(简称单片机)在其中扮演着十分重要的角色。虽然它没有常见的pc那样大的体积和重量,不会在办公桌和控制台上占据一个显要的位置,但它就像小小的螺丝钉一样,镶嵌在人们工作生活中需要计

8、算、控制、测量等智能活动的各个角落。由于单片机的控制功能强大、使用灵活、体积小、可靠性高、性价比高、用以产品化等特点,近年来在智能仪器仪表、机电一体化、实时控制、分布式多机系统、家用电气等各个领域都得到了广泛的应用,对各个行业的技术改造和产品的更新换代起着重要的推动作用,对人们生活质量的提高产生了深刻的影响。传统的门铃都是叮咚声,所具备的功能较少,也比较弱,而且结构很复杂。根本不能满足这个飞速发展的社会的需要。而现在主要是一种无绳电话可视门铃对讲系统,包括门口机和室内机,所述门口机与所述室内机相互连接,所述的门口机,包括摄像头及音频电路,所述室内机,包括连接到电话线的第一通讯模块;还包括与所述

9、室内机无线连接的移动终端,所述室内机还包括控制模块、视频发射模块以及用于在第一通讯模块和视频发射模块间切换的电话开关模块,所述电话开关模块分别与控制模块和第一通讯模块连接,所述移动终端包括与第一通讯模块无线连接的第二通讯模块以及与所述视频发射模块无线连接的视频接收模块,其中所述第一通讯模块与第二通讯模块之间采用时分双工通讯。本发明通过采用移动终端进行对讲和控制,使得可视门铃对讲可在任意位置进行同时具备无绳电话功能。将来的门铃将会更智能化,更人性化,满足人类各种需要。本设计主要是针对门铃系统在语音提示中文、lcd显示英文以及响铃(主要是各种不同的音乐)功能的实现。1.2 本章小结本次设计的系统是

10、属于单片机实现功能的典型应用,通用性很强,在人们日常生活中有着广泛的应用。本系统以单片机89c51为核心,其硬件电路由单片机、时钟与复位电路、选择按键输入电路、存储电路、音频发生器、音频放大器、扬声器、lcd显示电路以及语音电路。主要功能是当主人在家时,将开关打在“in”,来访者来时按铃,语音提示:“请稍后,马上就来开门”,lcd显示:“please wait for a moment!”并且音乐响起;当主人不在家时,将开关打在“out”,来访者来时按铃,语音提示:“家里没人,请留言姓名,谢谢!”lcd显示:“please visit me later!”。此时不响音乐。本设计主要由单片机at

11、89c51构成核心电路,由lm386构成音频放大,由1602lcd构成显示电路,由isd1420构成语音录放电路。系统带有选择按键控制功能,对主人是否在家提供主观上的选择,当主人在家,但不愿意别人的打扰,这时也可以将选择按键控制为“out”,这样大大不仅具有控制方便简单和灵活性大的特点,而且提高了人性化的特点,从而大大提高了产品的质量。进行系统设计时应考虑如下问题:1. 由1602lcd构成的显示电路,将要显示两句话“please wait for a moment !”“please visit me later!”这两句话的程序原代码设计;2. 由isd1420语音芯片构成语音提示电路中,

12、录音和放音的过程。3. 硬件电路的连接实现过程。第2章 硬件电路设计2.1 硬件最小系统设计2.1.1 核心芯片at89c51简介该设计所用主要芯片是at89c51,现对各组成部分的情况介绍如下:中央处理器,内部数据存储器,内部程序存储器,定时器,串行口,中断控制系统,以及时钟复位电路等等。at89c51芯片引脚图如图2-1所示,芯片引脚介绍:图2-1 at89c51引脚图p0口:p0口是开漏双向口。可以写为1,使其状态为悬浮用作高阻输入,p0也可以在访问外部程序存储器时作地址的低字节,在访问外部数据存储器时作数据总线。此时通过内部强上拉输出1。p1口:p1口是带内部上拉的双向i/o口,向p1

13、口写入1时p1口被内部上拉为高电平,可用作输入口,当作为输入脚时被外部拉低的p1口会因为内部上拉而输出电流。p1口第2功能:t2(p1.0)定时/计数器2的外部计数输入/时钟输出(见可编程输出)。t2ex(p1.1)定时/计数器2重装载控制。p2口:p2口是带内部上拉的双向i/o口,向p2口写入1时p2口被内部上拉为高电平,可用作输入口,当作为输入脚时被外部拉低的p2口会因为内部上拉而输出电流(见dc电气特性)在访问外部程序存储器和外部数据时分别作为地址高位字节和16位地址(movx dptr)此时通过内部强上拉传送1,当使用8位寻址方式(mov ri)访问外部数据存储器时,p2口发送p2特殊

14、功能寄存器的内容。p3口:p3口是带内部上拉的双向i/o口,向p3口写入1时p3口被内部上拉为高电平,可用作输入口,当作为输入脚时被外部拉低的p3口会因为内部上拉而输出电流(见dc电气特性)p3口还具有以下特殊功能。rxd(p3.0)串行输入口txd(p3.1)串行输出口int0(p3.2)外部中断0int1(p3.3)外部中断1t0(p3.4)定时器0外部输入t1(p3.5)定时器1外部输入wr(p3.6)外部数据存储器写信号rd(p3.7)外部数据存储器读信号ale:地址锁存使能。在访问外部存储器时输出脉冲锁存地址的低字节,在正常情况ale输出信号恒定为1/6振荡频率并可用作外部时钟或定时

15、,注意每次访问外部数据时一个ale脉冲将被忽略ale可以通过置位sfr的auxlilary0禁止置位后ale只能在执行movx指令时被激活。psen:程序存储使能。当执行外部程序存储器代码时,psen每个机器周期被激活两次,在访问外部数据存储器时psen无效访问内部程序存储器时psen无效。ea:当此脚为低电平时,对rom的操作限定在外部程序存储器,而它为高电平时,则对rom的读操作是从内部程序存储器开始,并可延续至外部程序存储器。xtal1:晶体1反相振荡放大器输入和内部时钟发生电路输入。xtal2:晶体2反相振荡放大器输出1。2.1.2 复位电路的设计复位是单片机的初始化操作,其主要功能是

16、把pc初始化为0000h,使单片机从0000h单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为了摆脱困境,也需要按复位键以重新启动。在振荡器工作时将rst脚保持至少两个机器周期高电平,12时钟模式为24个振荡器周期,6时钟模式为12振荡器周期,可实现复位。为了保证上电复位的可靠rst保持高电平的时间至少为振荡器启动时间通常为几个毫秒再加上两个机器周期复位后振荡器以12时钟模式运行当已通过并行编程器设置为6时钟模式时除外。单片机在reset为高电平控制下,程序计数器(pc)和特殊功能寄存器的复位如表21所示。单片机的复位并不影响芯片内部ram状

17、态,只要reset引脚保持高电平,单片机将循环复位。在复位有效期间内,alepsen将输出高电平2。表2-1 复位后寄存器状态寄存器复位状态寄存器复位状态pc0000htmod00hacc00htcon00hb00htl000hpsw00hth000hsp07htl100hdptr0000hth100hp0p30ffhscon00hip××000000bsbuf不定ie0×000000pcon0×××0000本次设计复位电路,如图2-2所示图2-2 复位电路2.1.3 时钟电路的设计时钟电路产生与单片机工作所需要的时钟信号,单片机本身

18、就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格的按时序进行工作。而时序所研究的则是指令执行中各信号之间的相互时间的关系。在51芯片内部有一个高增益反向放大器,其输入端为芯片引脚xtal1,输出端引脚为xtal2,在芯片的外部通过这两个脚跨接晶体振荡器和微调电容,形成反馈电路,就构成一个稳定的自激振荡器。如图2-3所示:图2-3 时钟电路的设计内部程序存振荡晶体可在1.2mhz12mhz之间选择,电容值无严格要求,但在电容值取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,cx1、cx2可在20pf100pf之间取值,但在60pf70pf时振

19、荡器有较高的频率稳定性。本设计选取晶振为12mhz,电容为30ph3。2.1.4 存储器的分配at89c51的内部共有256个数据存储器单元,通常把着256个单元按其功能划分为两部分:低128单元和高128单元。其中内部数据存储器的分配情况如图2-4所示:2.2 时钟电路的设计2.2.1 ds1302芯片简介在以单片机为核心构成的装置中,经常需要一个实时的时钟和日历,以便对一些实时发生事件记录时给予时标,实时时钟芯片便可起到这一作用,过去多用并行接口的时钟芯片,如mc146818,ds12887等。它们已能完全满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂、占用地址,数据总线接线

20、多、芯片体积大占用空间多,近年来串行接口的各种芯片在单片机系统中应用愈来愈多,串行接口的实时时钟芯片也出现了不少,ds1302是一个综合性能较好且价格便宜的串行接口实时时钟芯片。特殊功能寄存器ffh 80h 数据缓冲区 7fh 30h位寻址区128位 2fh 20h工作寄存区4组r0-r7 1fh 10h图2-4 内部数据存储器2.2.2 ds1302与单片机的硬件电路的设计ds1302与单片机的连接仅需要3条线,即sclk、i/o、rst。vcc2在单电源与电池供电的系统中提供低电源并能提供低功率的电池备份。vcc2在双电源系统中提供电源,在这种运行方式下vcc1连接到备份电源,以便在没有主

21、电源的情况下能保存时间信息以及数据。ds1302由两者中的较大者供电。当vcc2大于vcc1+0.2v时,vcc2给ds1302供电。当vcc2小于在单片机系统中使用vcc1的时候,dsl302由vcc1供电。在本设计中,以at89c51为主器件,ds1302为从器件,rst接在主器件p3.2上,此引脚为高位的时候,选中该芯片,对其进行操作。串行数据线i/o与串行时钟线sclk分别接在p3.1和p3.0上,所有的单片机地址、命令及数据均通过这两条线传输。在此设计中,主器件在总线上产生时钟脉冲,寻址信号,数据信号,而从器件则相应接受数据,送出数据。对ds1302的每一次读写都需要16个时钟脉冲,

22、前8个脉冲输入操作地址和读写命令。电路图如图2-7所示。图2-7 时钟芯片电路2.3 显示提示电路的设计2.3.1 液晶显示原理1. 液晶显示原理 液晶显示器利用液晶的物理特性,通过外加电压对显示区域进行控制,可以显示字符或图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,广泛用于便携式电脑、数字摄像机、pda移动通信工具等领域。2. 液晶显示器的分类 液晶显示的分类方法很多,按显示方式可分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度、彩色显示等。如果根据驱动方式,可以分为静态驱动(static)、单纯矩阵驱动(simple matrix)和

23、主动矩阵驱动(active matrix)等三种4。3. 液晶显示器各种类型的显示原理 (1) 线段的显示:点阵图形式液晶由m*n个显示单元组成,假设lcd显示屏有64行,每行有128列,每8列对应1字节的8位,则每行由16字节,共16*8=128个点组成。屏上的64*l6个显示单元与显示ram区1024个字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如,屏的第一行的亮或暗,由r人m区的000h00fh的16字节的内容决定,当(000h)=ffh时,屏幕的左上角显示一条短亮线,长度为8个点;当(3ffh)=ffh时,屏幕的右下角显示一条短亮线;当(000h)=ffhf、(001h)

24、=00h、(002h)=00h、(00eh)=00h、(00fh)=00h时,在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。(2) 字符的显示:用lcd显示一个字符时,因为一个字符由6*8或8*8点阵组成,既要找到和显示屏幕上某几个位置对应的显示ram区的8字节,还要使每字节的不同位为“l”,其他的为”0”,(为“1”的点亮,为”0”的不亮),这样就组成了某个字符。对于内带字符发器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在lcd上开始显示的行列号及每行的列数找出显示ram对应的地址,设立光标,并在此处送上该字符对应的代码即可。(3) 汉字的显示:汉字的显示一般

25、采用图形方式。事先从微机中提取要显示的汉字的点阵码,每个汉字占32b,分左右两半,各占16b,左边为1、3、5右边为2、4、6,根据在lcd上开始显示的行列号及每行的列数可找出显示ram对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节,直到32b显示完,就可以在lcd上得到一个完整汉字5。2.3.2 smc1602芯片简介字符型液晶显示模块是专门用于显示字母、数字、符号等的点阵式lcd,目前常用的有16*1、16*2、20*2和40*2行等。下面以1602字符型液晶显示器为例,介绍其用法,实物如图2-8所示。图2-8 1602实物图1.

26、1602lcd的引脚功能 1602lcd采用标准14脚(无背光)或8脚(带背光)接口,各引脚功能如表2-3所示。表2-3 1602lcd的引脚功能表编号符号引脚说明编号符号引脚说明1vss电源地9d2数据2vdd电源正极10d3数据3vl液晶显示偏压11d4数据4rs数据命令选择12d5数据5r/w读/写选择13d6数据6e使能信号14d7数据7d0数据15bla背光源正极8d1数据16blk背光源负极vl为液晶显示器对比度调整端,接电源正极时对比度最弱,接地时对比度最高。若对比度过高会产生“鬼影”,使用时可以通过一只10k电阻来调整对比度。rs为寄存器选择端,rs为高电平时选择数据寄存器,为

27、低电平时选择指令寄存器。r/w为读写信号线,为高电平时进行读操作,为低电平时为写操作。当rs和r/w同为低电平时可以写人指令或者显示地址;当rs为低电平、r/w为高电平时可以读忙信号;当rs为高电平、r/w为低电平时可以写人数据。e为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。d0d7为8位双向数据线。2. 1602lcd的指令说明及时序 1602液晶模块内部的控制器共有11条控制指令,如表2-4所示。表2-4 1602液晶模块内部的控制器的11条控制指令序号指令rsr/wd7d6d5d4d3d2d1d01清显示00000000012光标返回000000001/3置输入模式0000

28、0001i/ds4显示开/关控制0000001dcb5光标或字符移位000001s/cr/l/6置功能00001dlnf/7置字符发生存储器地址0001字符发生存储器地址8置数据存储器地址001显示数据存储器地址9读忙标志或地址01bf计数器地址10写数到cgram或ddram10要写的数据内容11从cdram或ddram读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实 现的。 指令1:清显示,指令码01h,光标复位到地址00h位置。指令2:光标复位,光标返回到地址00h。指令3:光标和显示模式设置。i/d:光标移动方向,高电平右移,低电平左移。s:屏幕上

29、所有文字是否左移或者右移,高电平表示有效,低电平则无效。指令4:显示开关控制。d:控制整体显示开与关,高电平表示开显示,低电平表示关显示;c:控制光标的开与关,高电平表示有光标,低电平表示无光标;b:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位。s/c:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令。dl:高电平时为4位总线,低电平时为8位总线;n:低电平时为单行显示,高电平时双行显示;f:低电平时显示5*7的点阵字符,高电平时显示5*10的点阵字符。指令7:字符发生器ram地址设置。指令8:ddram地址设置。指令9:读忙信号和光标地址。bf:忙标志位,

30、高电平表示忙,此时模块不能接收命令或者数据;低电平表示不忙。指令10:写数据。指令11:读数据。与smc1602芯片的时序如表2-5所示。表2-5 基本时序表读状态输入rs=l、r/w=h、e=h输出d0d7=状态字写指令输入rs=l、r/w=l、d0d7=指令码,e=高脉冲输出无读数据输入rs=h、r/w=h、e=h输出d0d7=数据写数据输入rs=h、r/w=l、d0d7=数据,e=高脉冲输出无2.3.3 显示电路的设计如图2-9所示,单片机at89c51与芯片smc1602的显示电路。在本设计中,smc1602芯片主要是显示主人所要传达给来访者的信息,当来访者按下门铃按钮时,芯片自动提取

31、信息英文提示来访者,主人在/不在家的信息,并且告知来访者是否继续等待。2.4 语言提示电路的设计2.4.1 isd芯片简介单片机控制系统通常使用发光二极管led、数码管、液晶显示器、蜂鸣器等进行状态/结果显示、故障报警。近年来随着语音电路的迅速发展,语音芯片已经以其直观、生动、与单片机接口方便等优势,越来越广泛的应用于单片机控制系统中了。isd1420为美国isd公司出品的优质单片语音录放电路,由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。一个最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源、少数电阻电容组成。录音内容存入永久存储单元,提供零功率

32、信息存储,这个独一无二的方法是借助于美国isd公司的专利-直接模拟存储技术(dast tm)实现的。利用它,语音和音频信号被直接存储,以其原本的模拟形式进入eeprom存储器。直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现。不仅语音质量优胜,而且断电语音保护。在本设计中,isd1420语音芯片主要承当提示的作用,主人在提示语录入芯片中,当来访者按下门铃按钮时,芯片自动提取信息提示来访者,主人在/不在家的信息。下面详细介绍了isd1420语音芯片与单片机的接口,给出了具体的电路图和驱动软件及芯片外围的驱动电路和具体参数6。图2-9 at89c51与smc1602的显示电路2.4.2

33、 isd1420芯片特点及引脚介绍1. 芯片特点及结构简图 isd1420芯片采用直接模拟存储技术,且录放音质极好,并有一定的混响效果;它的外围元件简单,仅需简单的阻、容元件即可组成简单的录、放电路;单电源供电,典型电压+5v。待机时低功耗(0.5a),放音电流15ma;放音时间20s,可扩充级联;可持续放音,也可分段录放,最小分段:205/160段=0.1255/段,可分段160段;录、放次数达10万次;断电信息存储,无需后备电池,信息可存储100年;不需要专用的编程器及语音开发器;高优先级录音,低电平或负边沿放音。(1) 使用方便的单片录放系统,外部元件最少(2) 重现优质原声,没有常见的

34、背景噪音(3) 放音可由边沿或电平触发(4) 无耗电信息存储,省掉备用电池(5) 信息可保存100年,可反复录放10万次(6) 无需专用编程或开发系统(7) 较强的分段选址能力可处理多达160段信息(8) 具有自动节电模式(9) 录或放后立即进入维持状态,仅需0.5a电流(10) 单一5伏电源供电isd1420功能块图如图2-10所示。2. 引脚介绍 isd142o芯片封装有dip硬封装和cob软封装两种形式,均为28引脚(如图2-11)。vcca,vccd(电源)为了减小片内噪声,模拟电路和数字电路在isd1400内部是分开的,这些电源总线在封装上也是分开的。为了减小噪声,提高声音质量,这两

35、个电源引脚应离电源尽可能的近,而且电源的去耦电容应离引脚越近越好。vssa,vssd(地线)与电源相类似,模拟电路和数字电路在芯片内部使用分离的地线以减小噪声。这两个引脚的连接线应尽可能地靠近芯片;此外,地线应尽可能的粗。rec(录音)rec是低电平有效信号输入。无论rec何时变低管子都开始录音,且在录音期间rec应始终保持低电平。与回放输入信号(playe或playl)相比,rec有优先权,即在放音过程中,如果rec变低,则电路马上由放音过程转为录音过程,反之则不行。当rec变高或存储空间变满时录音过程结束。一个信息结束标记(eom)会出现在录音截止的地方,这样就能保证以后的放音有正确的结束

36、点。playe(回放,边缘触发)当一个低电平跳变出现在这个引脚时,回放过程开始。当遇到信息结束标记(eom)或存储空间的末尾时,回放过程结束。在回放过程中playe变高并不能中断回放过程。playl(回放,电平触发)当这个引脚的电平由高变低时,回放过程开始,回放过程持续到playl由高变低或遇到eom。recled(录音led输出)在录音过程中recled输出变低,该输出可用于驱动一个led以提供正在录音的提示信息。mic(话筒输入)mic把其输入信号传给片上预放大器,片上自动增益控制(agc)电路控制片上预放大器的增益从-15至24之间变化。外部话筒输入应通过电容交流耦合至本引脚,电容值和本

37、引脚上的片内10k电阻决定了芯片的低频截止频率。mic ref(话筒基准)mic ref输入是话筒预放大器的反相端输入,它提供了较好的噪声抑制比和较高的共模抑制比。agc(自动增益控制)agc动态地调整预放大器的放大倍数以扩大话筒输入的范围。agc功能允许更大范围的声音输入,从小声耳语到很大的声音都能得到很好的录音效果,并在整个范围内保持小的失真率。ana out(模拟输出)本引脚向用户提供预放大器的输出,预放大器的电压放大倍数由agc引脚的电压所决定。图2-10 isd1420功能块图ana in(模拟输入)ana in引脚把输入信号传给片内以便录音,对于话筒输入模式,ana in引脚应通过

38、外部电容连接到ana out引脚。如果外部输入信号的来源不是话筒,则输入信号可通过电容直接耦合给ana in。xclkisd1400系列对外部的时钟输入,其内部有下拉元件,一旦接入外部时钟,内部时钟自动失去作用。如果没有用则该引脚应当接地,另外,如不是要求时钟信号特别精确,一般不推荐使用外部时钟输入,内部时钟已经能使芯片很好地工作。sp+,sp-(扬声器输出)sp+和sp-引脚提供了扬声器的直接驱动功能,而输出电阻只有16。对于直接驱动的扬声器来说,也可以只用一个输出端,但是双端极性的输出比单端输出的功率高了4倍。此外,当使用sp+和sp-时,扬声器耦合电容就没有必要了,单端连接则需要在sp+

39、端和扬声器之间连接交流耦合电容。在录音期间扬声器输出端保持高阻状态。a0a7(地址输入)地址输入用于芯片有分段录音时,不同的地址端口对应不同的录音片断,这是分段录音和选择段落回放的保证。图2-11 isd1420管脚排列图2.4.3 分段录音和放音简介由于分段录音和放音涉及到芯片的一些参数设定和查表,系统介绍需较多篇幅,因此本文不再给出详尽的解释,而只用一些简单的例子加以说明。例子中所涉及到的参数不作详细的说明,只求能说明问题即可。首先说明,地址并不是存储信息的序号,它是芯片存储区的指针,实际上,它和单片机的存储区地址是类似的。以isd1420为例,此芯片的存储时间为20秒,最小录音时间为10

40、0ms,因此可以分段的总数为20÷0.1=200段。如果想从第10秒处开始录音,则所需地址为10÷0.1=100,换算为二进制地址1100100,因此只要按上述给定地址配置芯片地址引脚(a0a6)的状态,然后按一般情况进行录音即可。放音与录音类似,重要的是配置好地址状态。isd1420的地址线有7根,很多情况下用不了这么多根地址线,而且单片机输出端口也提供不了如此多的地址线。为了解决这个问题,我们可以简单地把一些低位地址线接地而只用高位地址线,这样我们就可以得到大片的而且很实用的录音区域,并且减小了对单片机的控制线需求。以isd1420为例,如果我们把a0a3全部接地,那末

41、我们得到的最小分段间隔为2秒,而且只需4根地址线即可选完这几个区域。如果把a4也接地,分段间隔则为4秒。当系统上电时有时会出现意料之外的录音过程,而这个意外的录音过程会妨碍以前的声音进行回放,一个伪eom标记会出现在存储空间的开始部分。为了防止这种现象的发生,在控制端(rec和vcc)之间并联一个电容(大约为0.001f)即可。它使控制端的电压同步拉起,一旦电压变高,电压上拉部分将保持高电平直到人为地使电压变低,从而防止伪eom标记的产生。既然这种异常现象与使用者的印刷线路板的电容有关,因此不是每个人都会遇到这种情况。但为了使电路稳定工作,这个电容是必须的。(1)录音把rec端信号置低电平,就

42、开始了一个从芯片的开始存储空间录音的过程,如果保持低电平,录音过程会一直保持到存储空间满为止。(2)边缘触发形式的放音playe置低电平就开始了一个回放过程,放音从存储空间的开始部分或选定的段开始放音。playe变高电平对放音过程没有影响,放音会持续到遇到eom信号为止。(3)p电平触发形式的放音playl置低开始了一个回放过程,但在放音过程中,playl要一直保持低电平,放音过程会持续到遇到eom信号为止。如果在遇到eom信号之前变高,放音即结束7。2.4.4 存储芯片at24c02简介在本设计中,at24c02存储芯片主要用于保存来访者的人数。at24c02串行ezprom以其体积小、性能

43、优、使用灵活和方便而受到人们的青睐,广泛应用在测控系统以及各类智能仪表中用于保存特征参数和各种检测数据,使数据得到可靠保护而不会由于停电、干扰等原因使其丢失。同时,在各种便携式智能仪表中使用,因此有着广泛的应用前景。1. 存储芯片at24c02的引脚图及性能 ds1302引脚如图2-12所示。at24c02是一种串行cmoseprom电擦除只读存储器,采用 总线结构,其只要主要指标如下:工作电压:2.56v工作电流:3ma存贮容量:256*8bit静态电流:70a自同步页写周期:<10ms 数据保持时间:100年图2-12 at24c02引脚图2. 数据的传送 eprom用两根线连接到单

44、片机的pc总线接口或普通i/o口线上,使单片机与eprom两者之间构成了主从关系,数据传送所需的时钟信号和各种控制信号均由单片机产生。在传送过程中,每个动作的执行都是在scl为高电平期间进行。因此,在此期间sda线上的数据必须保持稳定。数据的更迭必须在scl为低电平时进行。scl高电平期间sda线上的任何变化信号均被理解为控制信号:sda由高变低意味着读/写操作的开始,sda由低变高则表示读/写工作的结束。启动信号发出后,e2prom收到的第一个字节为指令代码。其中高4位d7d4为器件标志at24c02固定为1010;d3d1用于器件寻址;d0指出数据传送的方向。d0=1为读模式,d0=0为写

45、模式,并由此决定后面的数据是由单片机发出还是由e2prom发出;如果是写模式,还需再发送片内地址字节。在数据传送过程中,每一个字节均是从高位到低位顺序发送,在每个字节的结尾,数据接收方应向数据发送方回送一个应答信号,以表示读/写的继续,肯定应答为低电平。如果此时单片机回送高电平,并且紧接着发生停止信号,则表示整个过程结束。2.4.5 isd1420与单片机连接电路的设计由于本设计只需要录音和放音,故isd1420电路只需要工作在地址模式,a7为低电平,a0a7 全部为地址输入引脚。本设计设置三段录音,录音时间分别为4s、5s、11s,对应的地址单元分别是:00h1fh、20h47h、48ha0

46、h,故只需要三条地址线就可以了,连接方式是p2.6对应a6、p2.5对应a5、p2.3对应a3。isd1420的rec录音引脚为低电平时,开始录音,该电平信号由单片机的p2.4引脚控制。录音时,先通过单片机送出地址00h或20h或48h,选好录音段,然后置p2.4引脚为低电平即可录音。用户录制的语音每一段结束后,芯片自动设有段结束标志(eom),芯片录满后设有溢出标志(ovf)。利用isd1420的录音指示端recled并接发光二极管可显示录音状态。平时呈高电平,录音时呈低电平,二极管发光;录音完成后灯熄灭表示录音结束。硬件电路如图2-13,它主要包括三大部分:响铃电路、录音放音电路和储存电路

47、。图2-13 isd1420与单片机的硬件电路2.5 本章小结在本设计中,将有室内机和室外机,其中室内机一共有三个功能,一、选择旋钮,主人选择“in”或是“out”;二、录音按钮,主人可以事先录制语言提示,更人性化;三、播放按钮,主人播放来访者留言;室外机有一个按铃按钮、扬声器(语音提示来访者主人的信息)以及lcd显示提示来访者主人的英文信息。第3章 元件设计部分3.1 相应子程序设计相应处理程序主要包括:键盘扫描子程序、液晶显示子程序、语音提示子程序、响铃子程序以及录音子程序。3.1.1 按键扫描子程序设计本程序采用非编码键盘,单片机必须对所有按键进行监视。一旦发现有键按下,单片机扫描按键,

48、然后转入相应的处理程序,实现该键功能。当按下k1时,跳转到录音子程序,开始主人录制留言;当按下k2键,跳转到播放子程序,主人按键,可以听到来访者的留言;当按下k3键时,来访者的按铃键,判断k4键为高电平还是低电平,然后跳转到相应回应程序1或2;而k4是主人选择是否在家按键,当主人在家是,将开关打在vcc,键盘扫描到高电平时,播放主人录制的留言1,以及显示留言1;当家里没人时,将开关打在gnd,键盘扫描到低电平时,播放主人录制的留言2,以及显示留言2。按键扫描子程序流程图如图3-2所示开始k1yk1键功能程序k2k2键功能程序yk3 yk3键功能程序结束图3-2 按键扫描子程序3.1.2 门铃键

49、子程序设计门铃是k3键,当来访者按下门铃键,系统判断p0.3口是高电平还是低电平,即k4键是打开还是闭合。k4键是主人控制键,当主人不在家或是不想有人打扰的时候,主人将k4旋钮打在“out”上,即p0.3口为高电平,执行子程序1,当主人在家的时候,将旋钮打在“in”上,即p0.3口为低电平,执行子程序28。具体流程图如图3-3所示。开始判断k3是否按下判断p0.3口是低电平还是高电平 低(主人在家) 高(主人 不在家) 调用语言和显示子程序2调用语音和显示子程序1结束图3-3 门铃键子程序1. 语音和显示子程序1 语音和显示子程序1,就是主人不在家时,对来访者的语音提示和显示提示,语音提示为,

50、“家里没人,请留言姓名,谢谢!”lcd显示:“please visit me later!”语音提示是主人录制进去的,而lcd显示是table表中的代码显示。如图3-4所示,语音和显示子程序1流程图。开始显示提示及放主人留言从上次放音结束处开始录来访者留言停止录音并挂机返回图3-4语音和显示子程序1流程图2. 语音和显示子程序2 语音和显示子程序2是当主人在家时,来访者听到的语音提示以及显示语,其中语音由主人录制:“请稍后,马上就来!”显示语为:“please wait for a moment!”流程图如图3-5所示。开始显示提示及放主人留言响铃返回图3-5 语音和显示子程序2流程图3.2

51、录音和播放程序设计3.2.1 record键是录主人留言信息控制键主人要把自己不在家的留言信息(例如:“您好,我是xx,主人不在家,请留言,留言时间是20s”和“您好,请稍等,我马上来开门”)。预先录入isd1420芯片中,以便需要时可以随时调用。在这里留有9s的时间用来录这段话。具体操作是:选按下record键,程序检测到此键后,便开始示主人留言信息并启动单片机的t0中断定时。4s后自动停止。由于对isd1420进行直接寻址时,信息的最小分辨率是150ms,所以将a0a5都接地,将a6a7连到单片机输出端。这样可以使信息的最小分辨率变为9.6s(150ms×26=9.6s)。利用单

52、片机的t0中断定时器从isd的初始地址(即a6a7都为0)开始定时9s,这段时间留作主人留言区(剩下大约0.6s不用)。把接下来的20s用来录对方留言信息9。3.2.2 piay键是播放留言控制键当主人要听自己留言信息或对方留言信息时可以按下此键,这时便开始播放第一段信息(主人留言);若不想听此段信息,可以不等其播放完,再按一下play键,便从第二段开始播放(对方留言);若再按此键,便重新播放第一段信息;只要按的不是play键,就跳出此子程序,isd1420停止播放。流程图如附录a。3.3 本章小结本章着重介绍了软件程序的设计:主程序设计、相应子程序的设计、按键扫描子程序设计、门铃键子程序设计

53、并且介绍了软件操作的流程。第4章 调试单片机应用系统的调试,包括硬件调试和软件调试,是一个很重要的步骤。在调试过程中要不断地找出其中的错误,并进行现场解决,然后再重复,直至系统可以正常运行为止。系统的硬件调试与软件调试是分不开的,许多硬件故障是在调试软件时才被发现和纠正的。通常是先排除系统中明显的硬件故障后再和软件结合起来调试。4.1 硬件调试第一步:在没通电之前,先用万用表检查线路的正确性,并核对元器件的型号、规格是否符合要求。特别注意电源的正负极以及电源之间是否有短路,并重点检查地址总线、数据总线、控制总线是否存在相互间的短路或其他信号线的短路。晶体振荡器和电容应尽可能靠近单片机芯片安装,

54、以减少寄生电容,更好是保证振荡器稳定和可靠地工作。在本系统中我们都进行了仔细的检查,所以此步骤不会发生故障,这一步如果检查不细通电后可能会造成不可想象的后果,所以这一步也至关重要。第二步:通电后检查各器件引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机的插座上的各点电位,若有高压,将有可能损坏单片机仿真器。同样,如果电压过低就没有能力驱动其负载。第三步:在断电的情况下,除单片机以外,用仿真插头将所连接电路与单片机仿真器的仿真接口相连,为软件调试做好准备10。4.2 软件调试程序调试中出现的问题及解决的办法:1. 有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发行是因为程序中有的指令书写得不规范导致的,例如有的ret返回指令一定要按正确格式书写或在两行指令间最好不要留空行。2. lcd计时正常显示的解决办法:(1). 两个定时器同时工作,存在中断时序问题,刚开始时我们把定时器1设定在方式3,计250us,由于定时中断过于频繁,使cpu负载过大,导致音乐不能正常播放,时间不能正常显示。解决办法:将定时器1设定在工作方式1,16位计数,计50ms

温馨提示

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

评论

0/150

提交评论