资源描述
石家庄铁道大学四方学院毕业设计
带录音功能的电子琴研究与实施
Electronic Piano with Recording Research and Practice
2011 届 电气工程 系
专 业 电子信息工程
学 号 20076063
学生姓名 杨晓栋
指导教师
完成日期 2011年 5 月 25 日
毕业设计成绩单
学生姓名
杨晓栋
学号
20076063
班级
方0709-1
专业
电子信息工程
毕业设计题目
带录音功能的电子琴研究与实施
指导教师姓名
指导教师职称
评 定 成 绩
指导教师
得分
评阅人
得分
答辩小组组长
得分
成绩:
院长(主任) 签字:
年 月 日
毕业设计任务书
题 目
带录音功能的电子琴研究与实施
学生姓名
杨晓栋
学号
20076063
班级
方0709-1
专业
电子信息工程
承担指导任务单位
电气工程系
导师
姓名
尚燕
导师
职称
讲师
一、主要内容
通过录音模块ISD4003芯片或者BMP5008类似功能芯片与单片机stc89系列实现数字录音的功能。建立自己的音色库,实现电子琴的演奏功能。
二、基本要求
1、单片机完成与语音模块。建立音色库,完成电子琴的设计;
2、驱动键盘,可选驱动力度键盘;
3、使用Keil C编程。实现相关逻辑控制;
4、电路原理图设计,protel印刷电路图设计;
5、提出系统设计框图,提出相应的解决方案;
6、需单片机和芯片,开发电路板以相关传感器,价格<200元。
三、主要技术指标
1、完成主要功能;
2、电路原理图;
3、使用说明书撰写;
4、论文正文不少于1.5万字,查阅文献资料不少于15篇,其中外文文献2篇以上,翻译与课题有关的外文资料不少于3000汉字。
四、应收集的资料及参考文献
C语言开发;
关于STC89系列相关单片机开发文档;
相关传感和显示器件使用手册和接口电路。
五、进度计划
第1周—第2周 开题报告和任务分配
第3周—第7周 需求分析,概要设计
第8周—第12周 详细设计,中期考核
第13周—第14周 写论文
第15周—第16周 上交论文,答辩
教研室主任签字
时 间
年 月 日
毕业设计开题报告
题 目
带录音功能的电子琴研究与实施
学生姓名
杨晓栋
学号
20076063
班级
方0709-1
专业
电子信息工程
一、研究背景
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,在现代音乐中扮演着重要的角色,成为无数热爱艺术孩童的必备品,是古典文化与现代文明的一个浓缩体。而单片机因其强大的控制功能和灵活的编程特性,已经成为电子琴的主要核心部件。电子琴因其体积小,易于携带,经济适用,是一般家庭能够承受的了的经济投入,且电子琴键盘操作直观容易掌握,对于初学者来说很容易弹奏,因而成为人们生活中不可替代的一部分。带录音功能的电子琴的硬件电路简单,软件功能完善,控制系统可靠,性价比较高,具有一定的实用价值,因此具有开发的价值。
二、预期达到的目标
经过对任务书的分析,本次毕业设计以STC89C52单片机为主控核心,与16个按键的矩阵键盘,ISD4004语音芯片等构成核心主控制模块,设计一个带录音功能的电子琴。通过录音模块ISD4004芯片与单片机STC89C52之间的数据通信,实现数字录音功能,以及电子琴的演奏功能。设计电子琴要求由键盘来输入某种乐器的音节,将输入的音节数据存储到存储器当中,而后通过音频功放芯片去驱动喇叭发音,从而实现可存储式音乐演奏功能,并有可控录音、放音、播放音乐的功能。用单片机来实现数字录音功能,将录入的音节和音乐建立自己的音色库,实现按键弹奏,且能播放一段音乐。
按键输入要求:当按下录音键时,录入一个音节,按下暂停键停止当前录入,再按下录音键,录入下一个音节,这样依次录入7个音节,当第8次按下时录入一段音乐,并将这8次录入存储到芯片当中。我们为这8次输入分别设置了8个按键,当按下某一个按键时,即调出录入的相应的音节或音乐,并能从喇叭内清晰准确的发出声音,而且能延迟一段时间。若是此时按下另一按键,当前音节发音停止,从喇叭内发出刚才按下的音节。当按下放歌按键的时候,喇叭即可演奏单片机内录入的音乐。按下录音按钮后再播放音乐或某一音节,会对当前播放的内容进行存储,并能放奏出来。按下暂停按钮,一切音乐立刻停止,这样便实现了电子琴的弹奏功能以及录音放音功能。
数码管和LED灯显示要求:当按下某一音节按键时,显示对应的阿拉伯数字;当按下播放音乐的按键是显示8;按下录音按键是显示0;按下暂停按键是显示A;按下放音按键是显示9。当按下第一行任意按键时,最后一LED灯闪亮一下,松开后熄灭;当按下第二行任意按键时,倒数第二个LED灯闪亮一下,松开后熄灭;当按下任意音节或音乐按键(分别依次对应前八个LED灯),相应的LED灯状态取反,再次按下同一按键,状态再次取反;当按下录音键时,前八个LED灯状态同时取反。
三、研究方案
1、通过STC89C52芯片实现对按键的读取并将所对应的音节或音乐送至喇叭,将所对应的按键在数码管上显示,LED灯做相应的变化;
2、语音芯片ISD4004完成语音模块,实现电子琴的弹奏,播放音乐以及录音放音功能;
3、采用矩阵式4*4键盘,可选驱动力度键盘;
4、采用8位共阴极的数码管和10个LED灯,以显示按键相应的值;
5、使用Keil C软件编程,用软件实现相关逻辑控制;
6、电路原理图设计,protel印刷电路图设计,电气功能测试;
7、提出系统设计框图,提出相应的解决方案。
四、主要技术指标:
1、完成题目要求的主要功能;
2、软件方面完成程序流程图;
3、硬件方面完成电路原理图;
4、使用说明书撰写;
5、论文正文不少于1万字,查阅文献资料不少于10篇,其中外文文献2篇以上,翻译与课题有关的外文资料不少于3000汉字。
五、进度计划:
第1周—第2周 开题报告和任务的合理分配
第3周—第4周 需求分析,整体框架的设计
第5周—第7周 指导老师针对性指导
第8周—第12周 详细设计,中期考核
第13周—第14周 写论文
第15周—第16周 上交论文,答辩
六、系统模块设计:
此次的毕业设计主要由4个大的模块构成,分别是主控模块、语音芯片模块、LED灯及数码管显示模块、键盘控制模块,其中主控模块是此次毕业设计的核心模块,主要是指STC89C52芯片,它控制整个系统的运行,利用其各个口分别控制其他模块,使其他模块能够成为一个整体,实现功能的需要;语音模块主要指ISD4004芯片和LM386芯片,用ISD4004来实现录音功能,LM386是实现功率放大;而LED灯及数码显示模块是整个系统的辅助模块,用来显示音节以及表示录音开始及结束;按键控制模块则是用按键来控制实现的是哪个功能,对应录音、放音、暂停。
指导教师签字
时 间
年 月 日
摘 要
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在现代音乐扮演着重要的角色,已经融入到现代人们的生活中,成为不可替代的一部分。随着科技的日益发展,电子琴的录音放音功能已越来越受到人们的喜欢。
本设计介绍了基于单片机和语音芯片的带录音功能的电子琴的设计,对系统软件设计和硬件实现进行了详细的描述,主要内容是用STC89C52单片机为核心控制元件,ISD4004语音芯片为录音模块,以流水灯和数码管为显示模块,以4*4矩阵键盘为输入设备,扬声器为语音输出设备,设计一个带录音和放音功能的电子琴。单片机具有强大的控制功能和灵活的编程实现特性,以单片机作为主控核心,与ISD4004语音模块、4*4矩阵键盘组成核心主控制模块,流水灯、数码管模块组成扩展控制模块。在主控模块上设有16个按键,一个可以重复实现录音放音功能的语音模块,在扩展模块中设有流水灯和数码显示管。主控模块利用了STC89C52单片机的P3的I/0输出口,以实现键盘对录音和放音的控制功能;以P2口的端口与语音芯片相连,实现了两个芯片之间数据的传输。扩展模块分别利用了STC89C52单片机的P0和P1的I/0输出口,以实现数码管和LED灯的显示功能。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:单片机 语音芯片 录音放音功能 流水灯 喇叭
Abstract
Electronic piano is the combination product of modern electronic technology and music, it plays an important role in modern music as a new type of keyboard musical instruments, it has been integrated into the life of modern people and has become an irreplaceable part. With the increasing development of technology, the playback and recording function of the keyboard has been more and more liked by people.
This paper introduce the design of electronic piano with recording function, which is based on MCU and voice chip, the system software design and hardware implementation are described in detail. Main content of the design is STC89C52 microcontroller as the core control elements, ISD4004 voice chip for recording module, running lights and digital tube for display module, with 4 * 4 matrix keyboard as input devices and speakers for voice output device, design a electronic piano with the playback and recording function. MCU has a strong control function and flexible programming features, MCU, which is the master core, with ISD4004 voice module and 4 * 4 matrix keyboard compose the main core control module, water lamp and digital tube control module is as the expansion modules. In the main control module, there are 16 buttons and a voice module with playback and recording repeated functions. The expansion module have running water lights and digital display tube. Main control module uses STC89C52 microcontroller P3 I/O output port to achieve control function of the keyboard for recording and playback function; the port P2 is connected with the voice chip to achieve the transmission of data between two chips. Extension module uses STC89C52 MCU P0 I/ O output port to achieve the digital tube display; use STC89C52 P1 I/O output port to achieve the water lights display. The system is stable, the advantages of it are simple hardware circuit, software functions, the control system is reliable, high cost performance, and has a practical and reference value.
Keywords: Microcontroller Voice chip 4 * 4 matrix keyboard Speaker
目 录
第1章 绪 论 1
1.1 课题研究的背景 1
1.2 课题研究的意义 1
1.3 课题研究的主要内容 1
1.4 课题研究的工作原理 2
第2章 系统总体方案设计 4
2.1 功能要求 4
2.2 设计思路 4
2.3 方案选择 4
2.3.1 控制模块选择方案 4
2.3.2 按键选择方案 5
2.3.3 芯片选择方案 5
2.4 总体设计框图 6
第3章 系统硬件设计 7
3.1 概述 7
3.2 主控模块 7
3.2.1 STC89C52芯片的简介 7
3.2.2 主控模块电路原理图 10
3.3 语音芯片模块 10
3.3.1 ISD4004芯片简介 10
3.3.2 LM386芯片简介 12
3.3.3 语音芯片模块电路原理图 13
3.4 LED灯及数码管显示模块 14
3.4.1 LED及数码管简介 14
3.4.2 LED灯及数码管显示模块电路原理图 15
3.5 按键控制模块 16
3.5.1 按键控制模块电路原理图 16
第4章 系统软件设计 17
4.1 录音模块设计 18
4.2 放音模块设计 18
4.3 键盘扫描模块设计 19
第5章 系统分析与调试 20
第6章 结论与展望 22
参考文献 23
致 谢 24
附 录 25
附录A 外文资料 25
附录B 硬件原理图 33
附录C 程序清单 34
第1章 绪 论
1.1 课题研究的背景
随着电子科技的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,电子科技与音乐的结合也越来越不断加深,电子琴就是现代电子与音乐结合产物,是一种新型的键盘乐器。它在现代音乐中扮演着重要的角色,是古典文化与现代文明的一个浓缩体。因此开发本系统希望能够给人们多带来一点生活上的乐趣。
1.2 课题研究的意义
电子琴因其体积小,易于携带,经济适用,是一般家庭能够承受的了的经济投入,且电子琴键盘操作直观容易掌握,对于初学者来说很容易弹奏,而成为人们生活中不可替代的一部分。硬件电路简单,软件功能完善,控制系统可靠,性价比较高,具有一定的实用价值,因此具有开发的价值。
基于当前市场上的玩具市场需求量大,其中电子琴就是一个很好的应用方面。单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。
1.3 课题研究的主要内容
本论文主要是对C语言和单片机的一些基本知识、概念的应用学习和研究,以及STC89C52芯片模块和ISD4004语音模块的开发设计,该设计的目的是设计一实现带录音功能的电子琴,可播放系统内部录入的音符和音乐,也可以实现录音和放音功能(如录入人的声音)。为了使按键时分析方便,我们加以数码管和流水灯,当按下某一按键时数码管显示相应的按键值,同时对应的流水灯点亮。本设计的主要工作有以下几个方面:
(1)整体方案的设计
方案的选择要符合芯片功能的要求,既要保证操作简单符合人们平时的操作习惯,又要体现出本产品的特点,本文研究设计的带录音功能的电子琴是采用STC89C52单片机和ISD4004语音芯片,用来实现已存入芯片内的音符和音乐的播放以及录音和放音功能。
(2)程序流程图及软件设计
一个程序要想实现其功能,不能没有次序而盲目下手,必须对其有一个全面的了解后画出流程框图,然后逐个模块的实现其功能,最终把模块之间合理的连接起来,构成完整程序。本设计的软件设计主要包括系统的初始化设计、延时子程序的设计、键盘扫描模块的设计、录音子模块的设计、放音子模块的设计、两个芯片之间通信的设计、流水灯的点亮和数码管的显示设计、中断程序设计、以及把各个子模块组合成一个完整程序的设计等。整个系统程序采用模块化结构设计程序相对比较优化易修改和调试系统软件的开发是用C语言设计的。
(3)系统原理图及硬件调试实验
本设计在进行硬件原理分析后,需要连接实物进行实际操作,检验自己的设计是否可以行得通。需要在protel99SE环境下画出硬件原理图并进行电气测试,检测无异议后进行硬件系统的调试实验,为了保证系统的可靠性分析查找,硬件的调试整个系统进行了模拟试验。
1.4 课题研究的工作原理
当物体振动时,能够发出声音,振动的频率不同,声音的音调就不同。在电子琴里,虽然没有振动的弦、簧、管等物体,却有许多特殊的电装置,每个电装置一工作,就会使扬声器发出一定频率的声音。当按动某个琴键时,就会使与它对应的电装置工作,从而使扬声器发出某种音调的声音。简单的说就是按键触发信号发给处理器,再由处理器调用音色库音色通过功 放电路输出或者通过数码接口进行数字输出。控制面板上的按钮来选择处理器对音色、音量、输出方式、伴奏的控制。振荡器是根据需要产生一定频率的振荡信号,振荡信号通过分频器分解成不同频率的信号输送到放大器,放大器将信号放大,推动扬声器发出声音。键盘实际上就是一些开关,如果没有键盘,许多种频率的信号一齐进到放大器里,通过扬声器发出的声音就会乱七八糟,不成音乐。按下键盘的某一按键,就等于接通相应的开关,只允许某一种频率的信号通过到放大器里去,扬声器就发出一个音来。这样,按照一定的演奏规律来按键,就能奏出美妙的音乐来。
本设计主要是通过对电子琴主体部分的电路进行模仿设计,达到电子琴固有的播放音符和音乐的基本功能,并且加以语音模块,使其实现录音放音功能,故称为带录音功能的电子琴。
该设计较以往设计有所不同,它所建的音色库不是通过对某一音节设置固定的频率来实现,而是通过某一乐器的放音,利用语音模块的录音将1、2、3、4、5、6、7和一段音乐录入到电子琴中,从而建立音色库,当某一按键被按下时,通过键盘扫描识别出该按键,并从音色库中调出与此按键相对应的音调,发出声音。处理器会在发音期间继续检测键盘,若此时又有键被按下,若被按下的仍为原键则声音不变,否则键盘会译出被按下的另一个键的音调。当按下录音按键时,可以录入一段声音,如人声等,还可以在录音时让电子琴发声或音乐,并将其录入,通过发音键将刚才录入的一段声音播放出来。本电路中的硬件比较简单,其功能的实现主要由软件完成。软件的设计思路通过框图形式说明在正文中会有介绍。它可模仿多种音色,甚至可以奏出常规乐器所无法发出的声音(如人声)。电子琴常作为独奏乐器出现,具有鲜明时代特色,但电子琴的局限性也十分明显:旋律与和声缺乏音量变化,过于协和、单一;在模仿各类管、弦乐器时,音色还不够逼真,模仿提琴类乐器的音色时,失真度更大,还需要不断改进。
第2章 系统总体方案设计
2.1 功能要求
1、通过STC89C52芯片实现对按键的读取并将所对应的音节或音乐送至扬声器;将所对应的按键在数码管上显示,LED灯做相应的变化;
2、语音芯片ISD4004完成语音模块,实现电子琴的弹奏,播放音乐以及录音放音功能;
3、采用8位共阴极的数码管,显示按键的值;
4、采用10个LED灯显示,显示相对应的按键;
2.2 设计思路
电路总体上分为芯片控制部分和语音芯片部分。以STC89C52单片机最小系统作为核心控制电路,控制4*4的矩阵键盘对播放音乐和录音放音的选择,以及控制LED点亮和数码管的显示,具体显示内容及方式由软件来完成。语音部分由ISD4004芯片来实现,它是一个多功能的语音芯片,可以多次重复录放,本设计正是运用此特点,完成录音和放音功能的。具体步骤是:先录入7个音符和一段音乐,存储到芯片内部,建立自己的音色库,并且具体锁定到键盘的某一按键上,通过按下不同的按键发出不同的声音。再对录音和放音功能设置具体的按
键,通过按键实现其功能。
2.3 方案选择
2.3.1 控制模块选择方案
方案一:用可控硅制作电子琴。将220V交流电经变压器降压,再经过整流滤波,获得+13.5V直流电压。将单向可控硅SCR和电阻、电容组成驰张振荡器电路。但该设计方案制作成本高且复杂。
方案二: 采用AT89C51单片机进行控制,由于AT89C51不具备ISP功能,
因此Atmel公司已经停产在市面上已经不常见,况且其ROM只有4K在系统将来升级方面没有潜力。
方案三:采用STC89C52单片机进行控制,由于其性价比高,完全满足了本作品智能化的要求,它的内部程序存储空间达到8K,使软件设计有足够的内部使用空间并且方便日后系统升级,使用方便,抗干扰性能提高。
鉴于上述对比与分析,本设计采用方案三
2.3.2 按键选择方案
方案一:采用STC89C52的独立键盘,但其独立键盘只有4个按键,按键数量不够,无法满足本课题的要求,产生不出7个音阶及录放音功能。
方案二:采用STC89C52的矩阵键盘,其矩阵键盘具有16个按键,数量够用,能够满足课题的要求。
故采用4*4矩阵键盘。通常在键盘中按键数量较多时,为了减少I/O口的占用,将按键排列成矩阵形式,在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(本模块用到的是P3口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
2.3.3 芯片选择方案
方案一:AT89C51是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。其片内的4K程序存储器是FLASH工艺的,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护我们的劳动成果。再者,AT89C51目前的售价比8031还低,市场供应也很充足。AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。只要程序长度小于4K,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需lOms。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。PO口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。
方案二:STC89C51系列单片机的指令系统和AT89C51系列的完全兼容,但实际操作起来却存在很多问题:
(1)AT89C51不带ISP下载,要用下载器才行,STC89C52可以用你的USB转串口下载,下载软件可以到STC厂家网上去下。
(2)STC单片机执行指令的速度很快,大约是AT的3-30倍,尽管快是好事,但这样一来,你在AT上好使的程序在STC上不一定好用,最典型的例子就是那些对时序有严格要求的模块,用STC时注意得加长延时,大约是AT的10—30倍就差不多,这一点自己调试就知道了。
(3)STC单片机对工作环境的要求比较低,电压低于5伏时仍然正常工作,甚至3伏到4伏之间都还可以工作,然而这样的环境下AT肯定不行了,所以当一个系统用STC单片机好用,但用AT的单片机不工作时,直接查最小系统,看单片机的供电是否正常。
比较这两种方案,由于在学校期间学过数字电路、单片机原理、C语言程序设计,综合考虑单片机的各部分资源和作为学生能够获得的资源,经过对比此次设计要求,我选择用STC系列芯片完成。而且学校也提供了相应的硬件操作平台,实际操作起来比较方便,故STC为更合理的选择。
2.4 总体设计框图
按照系统功能的具体要求,在保证实现其功能的然础上,尽可能降低系统成本。总体设计方案围绕上述思想,初步确定系统的方案如图2-1所示。
图2-1 系统初步方案
从图中可以看出,系统有微处理器模块、数码管显示模块、4*4矩阵键盘模块和LED灯显示模块组成。在方案设计中,遵循简洁至上的原则,因此所有的外围模块采用串行方式与微处理器模块接口。该设计以STC89C51系列单片机为控制核心,实现电子琴的弹奏和录音放音基本功能。在设计系统时,为了更好地采用模块化设计法,分步的设计各个单元功能模块,系统的硬件部分可以分为键盘设定、单片机控制、LED灯显示和数码管显示四大部分。
第3章 系统硬件设计
3.1 概述
此次的毕业设计主要由4个大的模块构成,分别是主控模块、语音芯片模块、LED灯及数码管显示模块、键盘控制模块,其中主控模块是此次毕业设计的核心模块,主要是指STC89C52芯片,它控制整个系统的运行,利用其各个口分别控制其他模块,使其他模块能够成为一个整体,实现功能的需要;语音模块主要指ISD4004芯片和LM386芯片,用ISD4004来实现录音功能,LM386是实现功率放大;而LED灯及数码显示模块是整个系统的辅助模块,用来显示音节以及表示录音开始及结束;按键控制模块则是用按键来控制实现的是哪个功能,对应录音、放音、暂停。
3.2 主控模块
3.2.1 STC89C52芯片的简介
功能特性:STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,如图3-1所示。STC89C52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O口线,看门狗定时器,2 个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
主要性能:与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz 、三级加密程序存储器 、32个可编程I/O口线 、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
图3-1 STC89C52芯片
管脚说明:
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为STC89C52的一些特殊功能口,如下表所示:
管脚备选功能:
表3-1 P3口的第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
/INT0(外部中断0)
P3.3
/INT1(外部中断1)
P3.4
T0(记时器0外部输入)
P3.5
T1(记时器1外部输入)
P3.6
/WR(外部数据存储器写选通)
P3.7
/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.2.2 主控模块电路原理图
单片机主程序模块通过对键盘扫描程序信号的读取,再通过对应的地址,取出数码管显示编码和录放音初始值以产生不同的声音信号。在这一过程中,对数码管编码是直接赋值,对声音信号则是通过循环程序进行控制,如图3-2所示。
图3-2 STC89C52模块电路原理图
3.3 语音芯片模块
3.3.1 ISD4004芯片简介
ISD4004语音系列芯片是美国ISD公司推出的产品,与普通的录音/重放芯片相比,ISD4004具有如下特点:首先是记录声音没有段长度限制,并且声音记录不需要A/D转换和压缩。其次,快速闪存作为存储介质,无需电源可保存数据长达100年,重复记录10000次以上。此外,ISD4004具有记录时间长(可达16分钟,本文采用的为8分钟的ISD4004语音芯片)的优点。最后,ISD4004开发应用具有所需外围电路简单的优点,这一点从本文介绍的其在实际应用中可以体会到。ISD4004芯片如图3-3所示。
图3-3 ISD4004芯片
引脚介绍:
电源(VCCA, VCCD):为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并A分别引到外封装的不同管脚上模拟和数字电源端最好分别走线尽可能在靠近供电端处相连,而去藕电容应尽量靠近器件。
地线(VSSA, VSSD):芯片内部的模拟和数字电路也使用不同的地线。
同相模拟输入(ANA IN+):这是录音信号的同相输入端。输入放大器可用单端或差分驱动。单端输入时,信号由藕合电容输入,最大幅度为峰峰值32mV,藕合电容和本端的3KΩ电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰峰值16mV,为ISD33000系列相同。
反相模拟输入(ANA IN-):差分驱动时,这是录音信号的反相输入端。信号通过藕合电容输入,最大幅度为峰峰值16mV
音频输出(AUD OUT):提供音频输出,可驱动5KΩ的负载。
片选(/SS):此端为低,即向该ISD4004芯片发送指令,两条指令之问为高电平。
串行输入(MOSI):此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。
串行输出(MISO):ISD的串行输出端。ISD未选中时,本端呈高阻态。
串行时钟(SCLK):ISD的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。数据在SCLK上升沿锁存到ISD在下降沿移出ISD。
中断(/INT):本端为漏极开路输出。ISD在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持。中断状态在下一个SPI周期开始时清除。中断状态也可用RINT指令读取。OVF标志一指示ISD的录、放操作已到达存储器的未尾。EOM标志一只在放音中检测到内部的EOM标志时此状态位才置1。
行地址时钟(RAC): 漏极开路输出。每个RAC周期表示ISD存储器的操作进行了一行(ISD4004系列中的存贮器共2400行)。该信号175ms保持高电平,低电平为25ms。快进模式下,RAC的218.75 µs是高电平,31.25µs为低电平。该端可用于存储管理技术。
外部时钟(XCLK):本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校,误差在+1%内。商业级芯片在整个温度和电压范围内,频率变化在+2.25%内。工业级芯片在整个温度和电压范围内,频率变化在-6/+4%内,此时建议使用稳压电源。若要求更高精度,可从本端输入外部时钟(如前表所列)。由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频
展开阅读全文