基于单片机的语音存储及回放系统_第1页
基于单片机的语音存储及回放系统_第2页
基于单片机的语音存储及回放系统_第3页
基于单片机的语音存储及回放系统_第4页
基于单片机的语音存储及回放系统_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的语音采集及回放系统设计1总体设计方案介绍:语1音编码方案:人耳能听到的声音是一种频率范围为20Hz〜20000Hz,而一般语音频率最高为3400Hz。语音的采集是指语音声波信号经麦克风和高频放大器转换成有一定幅度的模拟量电信号,然后再转换成数字量的全过程。根据“奈奎斯特采样定理”,采样频率必须大于模拟信号最高频率的两倍,由于语音信号频率为300〜3400Hz,所以把语音采集的采样频率定为8kHz。从语音的存储与压缩率来考虑,模型参数表示法明显优于信号波形表示法[4]。但要将之运用于单片机,显然信号波形表示法相对简单易实现。基于这种思路的算法,除了传统的一些脉冲编码调制外,目前已使用的有VQ技术及一些变换编码和神经网络技术,但是算法复杂,目前的单片机速度底,难以实现。结合实际情况,提出以下几种可实现的方案。(1)短时平均跨零记数法该方案通过确定信号跨零数,将语音信号编码为数字信号,常用于语音识别中。但对于单片机,由于处理数据能力底,该方法不易实现。(2)实时副值采样法 采样过程如图2.1所示。图2.1采样过程具体实现包括直存取法、欠抽样采样法、自相似增量调制法等三种基本方法。其中第三种实现方法最具特色,该方法可使数据压1:4.5,既有AM调制的优点,又同时兼有PCM编码误差较小的优点,编码误差不向后扩散。A/D、D/A及存储芯片的选择单片机语音生成过程,可以看成是语音采集过程的逆过程,但又不是原封不动地恢复原来的语音,而是对原来语音的可控制、可重组的实时恢复。在放音时,只要依原先的采样直经D/A接口处理,便可使原音重现。A/D转换芯片的选择 根据题目要求采样频率 s,字长位,可选择转换时间不超过125吃的八位 转换芯片。目前常用的 转换实现的方法有多种,鉴于转换速度的要求,我们采用 转换芯片 5。该芯片是高速12位逐次比较型A/D转换器,内置双极性电路构成的混合集成转换显片,具有外接元件少,功耗低,精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件即可构成一个完整的A/D转换⑶。转换芯片的选择 转换芯片的作用是将存储的数字语音信号转换为模拟语音信号,由于一般的模拟转换器都能达到1ps的转换速率,足够满足题目的要求,故我们在此选用了通用转换器02()数据存储器的选择当采样频率用,字长为位时,一秒钟的语音需要字节的存储空间,则存储器至少需要有x8容量。在这里我们选用闪速存储器2作为存储器,一片该芯片可存储秒钟的语言。系统总体结构数字化语音存储与回放系统的基本思想是通过拾音器将声音信号转化成电信号,再经过放大器放大,然后通过带通滤波器滤波,模拟语音信号通过模数转换(A/D)转换成数字信号,再通过单片机控制将数据从存储器中读出,然后通过数模转换(D/A)转换成模拟信号,经放大再扬声器或耳机上输出。整个系统框架图如图3.1所示:图3.1整体框图系统组成如图所示,由输入通道、AT89C51单片机和输出通道三部分组成。输入通道部分由拾音器、前置放大电路和带通滤波器组成;输出通道由带通滤波器、后级放大电路组成⑼。拾音器输出的毫伏信号实测其范围约为20〜25mV,此电信号太小不能够进行采样,后级A/D转换输入信号的动态范围为0〜5V,语音信号的范围与采样范围的比较得出放大器的放大倍数应为200倍左右,此处将信号通过一增益为46dB的放大器,将其放大到伏特量级,输出级放大电路亦采用这种电路,两级放大电路都采用增益可调的典型电路。考虑到语音信号的固有特点,将低于300Hz和高于3.4kHz的分量滤掉后语音质量仍然良好。此处将其通过一增益为46dB的放大器,因此,将带通滤波器设计为典型的300Hz〜3.4kHz,输出级带通滤波器亦为300Hz〜3.4kHz,这样既可滤掉低频分量又可滤掉D/A转换带来的高频分量,很好的滤除掉噪声。根据奈奎斯特抽样定理知欲使采样信号无失真,抽样频率最低为6.8kHZ,考虑到留有一定的余地,这样就足够保证语音质量。经量化后,微处理器将数据存到处理器,需要时再将其回放,存入与放出由开关通过微处理器来控制实现。存储器的容量选择视所存语音信号的时间长短而定。为了使A/D的输入信号稳定在其动态范围内,在输入级加上了自动增益控制电路,同时也使音量稳定。2硬件电路设计:2.拾1音器拾音器是一种声传感器,声传感器是把外界声场中的声信号转换成电信号的传感器。它在通讯、噪声控制、环境检测、音质评价、文化娱乐、超声检测、水下探测和生物医学工程及医学方面有广泛的应用[10]。它的种类很多,按其特点和频率等,将它划分为超声传感器、声压传感器和声表面波传感器等。单纯的磁性拾音器工作的电学原理为当声音在铜丝绕制的线圈内震动切割被该线圈所缠绕的磁芯产生的磁感线时,线圈内感应出电信号并流出。感应电流的强弱取决于切割磁感线的多寡(振幅)、切割频率(震动频率)和磁感线自身的强弱。拾音器包括拾音头(换能装置、唱针)和音臂等附件。其换能装置主要有压电式、电磁式、电容式以及半导体等[11]。电磁式拾音头,用电磁感应原理,将机械振动变换成电信号的幅度响应拾音头。主要由线圈和磁钢等组成。唱针耦合在线圈上的称动圈式,耦合在磁钢上的称动磁式。此外,也有将唱针耦合在衔铁上的称为动铁式,也称可变磁阻式。在本设计中决定采用动圈式拾音器2.放2大器的设计(1)增益放大器 拾音器输出的毫伏信号实测其范围约为20〜25Mv此电信号太小不能够进行采样,后级A/D转换输入信号的动态范围为0〜5V,语音信号的范围与采样范围的比较得出放大器的放大倍数应为200倍左右,此处将信号通过一增益为46dB的放大器,将其放大到伏特量级,输出级放大电路亦采用这种电路,两级放大电路都采用增益可调的典型电路[12]。为了将从拾音器

获得的微弱语音信号放大,采用两极高输入阻抗的同向放大器,电路图如图所示,每级放大器的放大倍数按下式计算:A=1+R/RV1 P1 3A=1+R/RV2 P2 5(2)输出放大器经带通滤波器输出的声音回放信号,其幅度为0〜5V,足以用耳机来接收听,可不接任何放大器。但考虑到实际中经常回用到喇叭外放,故在本系统中增加外放功能,前端放大器采用通用型音频功率放大器LM386来完成[13]。电路如图4.1。该电路增益为50〜200,连续可调,最大不失真功率为325mW。输出端接C4、R9串联电路,以校正喇叭的频率特性,防止高频自激.脚7接220uF去偶电容,以消除低频自激.为便于该功放在高增益情况下工作,这里将不使用输入端脚2对地短路.图图4.3图4.2输出放大器有3源带通滤波器设计滤波器是一种能使有用频率信号通过同时抑制(或大为衰减)无用频率信号的电子装置。工程上常用它来作信号处理、数据传输和抑制干扰等。这里主要讨论模拟滤波器。以往这种滤波电路主要采用无源元侬、L和C组成,60年代以来,集成运放获得了迅速发展,由它和R、C组成的有源滤波电路,具有不用电感、体积小、重量轻等优点[14]。此外,由于集成运放的开环电压增益和输入阻抗都很高,输出阻抗又底,构成有源滤波电路后还具有一定的电压放大和缓冲作用。但是,集成运放的带宽有限,所以目前有源滤波电路的工作频率难以作的很高,这是它的不足之处。对于幅频响应,通常把能够通过的信号频率范围定义为通带,而把受阻和衰减的信号频率范围定义为阻带,理想滤波电路在通带内应具有零衰减的幅频响应和线形的相位响应,而在阻带内应具有无限大的幅度衰减(卜(刑]=0)。按照通带和阻带的相互位置不同,滤波器可分为低通滤波器、高通滤波器、带通滤波器、带阻滤波器。通常用幅频响应来表征一个滤波器的特征,欲使信号通过滤波器的失真很小,则相位和延时响应亦须考虑。当相位响应①Q)作线性变化,即时延响应tQ)为常数时,输出信号才可能避免失真。u](t) >滤波电路 >u0(t)

式)式)二需,A(j3)=|A(j3]e.)(S=j3)这里IA(j3)为传递函数的模,①Q)为其相位角。延时向量T(©): T(©)=-那Q(s)d3声音信号经动圈拾音器转有源滤波器换成电压信号,通过前级放大,在对其进行数据采集之前,有必要经过带通滤波器除带外杂波,选定该滤波器的通带范围为300Hz~3.4KHz.其作用是:.保证300〜3400Hz的语音信号不失真的通过滤波器;.滤除带外的低频信号,以减少带外功频等分量的干扰,大大减少噪声影响,该下限频率可下延到270Hz左右;.便于滤除带外的高次谐波,以减少因8kHz采样率而引起的混叠失真,根据实际情况,该上限频率可在2700Hz左右,带通滤波器按品质因数Q的大小为窄带滤波器(Q>10)和带通滤波器(Q<10两种,本题中,上限频率fh=3400Hz,通带滤波器中心频率f0与品质因数Q分别为 F0 F0f0=FhF1=<3400义300=1010Hz Q== =0.326BWFh-f1显然,Q<10,故该带通滤波器为宽带带通滤波器.带宽带通滤波器由高通和低通滤波器级联构成,鉴于Butterworth滤波器带内平坦的响应特性,我们选用二阶Butterworth带通滤波器,电路如图4.3所示.实验证明,该滤波器能有效的滤除低频分量,大大减少噪声干扰,与之同时也绿除了多余的高频分量,消除了高频失真,性能足以满足要求[15]。图4.4图4.4带通滤波器可4调稳压电源的设计这里介绍的稳压电源,采用三端可调稳压集成电路LM317,外围电路十简单,便于制作。该稳压电源,电压可调范围1.5〜25V,最大负载电流1.5A[16]。电路如图4.4所示:220V交流电经变压器T降压,得到24V交流电,再经VD1〜VD4组成的全桥整流,由C1滤波后得到33V左右的直流电压口力。该电压经集成电路LM317后得稳压输出,调节电位器RP,即可连续调节输出电压。图中C2用以消除寄生振荡,C3的作用是抑制纹波,C4是用以改善稳压电源的的暂态响应,VD6、VD7在输出端电容漏电或调整端短路时起保护作用。VD5为本电源的工作指示灯,电阻R1是限流电阻。输出端接微型电压表PV,可以直观的指示输出电压值。各元件具体参数如图所标。VD6长1N4001LM317VD1-VD4IN4004X4图VD6长1N4001LM317VD1-VD4IN4004X4图4.5可调直流稳压电源一 系列单片机单片微型计算机(Sing-ChipMicrocomputer)简称单片机。它是在一块芯片上集成中央微处理器(CentralProcessingUnit,CPU)、随机存取存储器(RandomAccessMemory,RAM)、只读存储器(ReadOnlyMemory,ROM)、定时/计数器及I/O(Input/Output)接口电路等部件,构成一个完整的微型计算机。它的特点是:高性能,高速度,体积小,价格低廉,稳定可靠,应用广泛[18]。正是由于单片机具有上述显著的特点,使单片机的应用范围日益扩大。单片机的应用打破了人们传统设计思想,原来很多用模拟电路、脉冲数字电路和逻辑部件来实现的功能,现在均可以使用单片机,使用软件来实现。使用单片机具有体积小、可靠性高、性能价格比高和容易产品化的优点。2.5.189C51简介

89C51是一种带4K字节片内程序存储器,且是高性能CMOS8位微处理器,俗称单片机[19]。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。Pl.0Pl.1Pl.2Pl.3Pl.4Pl.5Pl.0Pl.1Pl.2Pl.3Pl.4Pl.5Pl.6Pl.7KESETEXD/P3.0TKD/P3.1INT0/P3.2INT1/P3.3T0/P3.4T1/P3.5WP3.6M/P3,7KTAL2KTAL1PDIPVee1040239338437536635734S33q3210311130122913281427152616251724IS2313222021EFLFLEEFLFLFLFLEFLFLEFLEFLFLJVcc]PO.O/ADO3PO.1/AD1]PO.2/AD23PO.3/AD3JPO.4/AD4]PO.5/AD53PO.6/AD6]7/AD73EA/VppJALE/PROt3PSENJP2.7/AD15]P2.6/AD143P2.5/AD13JP2.4/AD123P2.3/AD11JP2.2/AD10]P2.1/AD33P2.O/ADS图4.6 89C51引脚图89C51有40个引脚,4个8位并行输入/输出(I/O)端口:P0、P1、P2、P3,其中,P1是完整的8位准双向I/O口,两个外中断,2个16位可编程定时/计数器,两个全双向串行通信口,一个模拟比较放大器。此外,89C51的时钟频率可为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入工作状态,省电模式中,片内RAM将被冻结,时钟停止震荡,所有功能停止工作,直至系统被硬件系统复位方可继续工作2.引脚介绍Vcc:接+5V电源正端:接地。口:口为一个位漏级开路双向 口,每脚可吸收 门电流。当口的管脚第一次写时,被定义为高阻输入。能够用于外部程序数据存储器,它可以被定义为数据地址的第八位。在 编程时, 口作为原码输入口,当 进行校验时, 输出原码,此时外部必须被拉高。1口:1口是一个内部提供上拉电阻的位双向口,1口缓冲器能接收输出门电流。1口管脚写入1后,被内部上拉为高,可用作输入,1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在编程和校验时,1口作为第八位地址接收。口:口为一个内部上拉电阻的位双向口,口缓冲器可接收,输出个门电流,当口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。口当用于外部程序存储器或1位地址外部数据存储器进行存取时,口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,口输出其特殊功能寄存器的内容。口在 编程和校验时接收高八位地址信号和控制信号。口:口管脚是个带内部上拉电阻的双向 口,可接收输出个门电流。当口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平, 口将输出电流()这是由于上拉的缘故。口也可作为 的一些特殊功能口,如下表 所示:表4.1P3口管脚的特殊功能引脚第二功能P3.0RXD (串行输入口)P3.0TXD (串行输出口)P2.0INTO (外部中断0请求输入端)P3.3INT1 (外部中断1请求输入端)P3.4T0 (定时器/计数器0记数脉冲输入端)P3.5T1 (定时器/计数器1记数脉冲输入端)P3.6WR (片外数据存储器写选通信号输出端)P3.7RD (片外数据存储器读选通信号输出端)s复位输入。当振荡器复位器件时,要保持脚两个机器周期的高电平时间。 :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在编程期间,此引脚用于输入编程脉冲。在平时,端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个脉冲。如想禁止的输出可在 地址上置。此时,

只有在执行指令是 才起作用。另外,该引脚被略微拉高。只有在执行指令是 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 禁止,置位无效。:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 有效。但在访问外部数据存储器时,这两次有效的信号将不出现。:当保持低电平时,则在此期间外部程序存储器( )F不管是否有内部程序存储器。注意加密方式时, 将内部锁定为 S当端保持高电平时,此间内部程序存储器。在 编程期间,此引脚也用于施加 编程电源()。A反向振荡放大器的输入及内部时钟工作电路的输入。A来自反向振荡器的输出。3.主要性能指标a.与MCS-51兼容b.4K字节可编程闪烁存储器c.寿命:1000写/擦循环数据保留时间:10年d.全静态工作:0Hz-24Hza三级程序存储器锁定f.128*8位内部RAMg.32可编程I/O线h.两个16位可编成定时器/计数器i.5个中断源j.可编程串行通道k.低功耗的闲置和掉电模式.片内振荡器和时钟电路,时钟频率1.2—12MHz;可有时钟输出m.有强的位寻址'位处理能力单片机的主要组成部分CPU是单片机的核心部分他的作用是读入和分析每条指令根据每条指令的功能要求控制各个部件执行相应的操作。 单片机内部有一个位的,它是由运算器和控制器组成。运算器运算器主要包括算术、逻辑运算部件、累加器、寄存器、暂存器、 、程序状态寄存器、布尔处理器及十进制调整电路等。运算器主要用来实现数据的传送、数据的算术运算、逻辑运算和位变量处理等。控制器控制器包括时钟发生器、定时控制逻辑、指令寄存器指令译码器、程序计数器、程序地址寄存器、数据指针寄存器和堆栈指针等。控制器是用来统一指挥和控制计算机进行工作的部件。它的功能是从程序存储器中提取指令,送到指令寄存器,再进入指令译码器进行译码,并通过定时和控制电路,在规定的时刻发出各种操作所需要的全部内部控制信息及外部所需要的控制信号,如、、、等,使各部分协调工作,完成指令所规定的各种操作。(2存)储器程序存储器程序存储器用于存放编好的程序、表格和常数。程序存储器的寻址范围可以有 与此相应程序存储器的编址自 开始最大可至F程序存储器的编址规律为;先片内、后片外,片内、片外连续,两者一般不作重叠。对于片内有程序存储器的芯片,的控制器专门提供一个控制信号来区分,当为无高电平时,复位后单片机先执行片内有程序存储器中程序,当程序计数器的内容超过 时,将自动转去执行片外程序存储器的程序而当指令,当为低电平时,将强行执行片外程序存储器中的程序。此时多在片外程序存储器中存放调试程序,使计算机工作在调试状态。这里应该注意的是,片外程序存储器存放调试程序的部分,其编址与片内程序存储器的编址是可以重叠的,就借的换接可实现分别访问。在程序存储器中,有7个单元具有特殊用途。— 0是所有执行程序的入口地址, 单片机复位后, 总是从 单元开始执行程序。0外部中断入口。0定时计数器溢出中断入口。1外部中断入口。1定时计数器溢出中断入口。2串行口中断入口。2定时器计数器溢出或 端负跳变。使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断程序起始地址,或者从 起始地址跳转到用户设计的初始程序上。数据存储器片内数据存储器有位,寻址范围也可达 。故片外数据存储器的容量可大到与程序存储器一样,其编址自 开始最大可至。单片机数据存储器有片内数据存储器 和特殊功能寄存器:前者有个字节,其编址为一,可以读、写任何数据;后者也占 个字节,其编址位 一;两者连续而不重叠。片内数据存储器的容量很小,常需扩展片外数据存储器。如扩展少量片外数据存储器,容量不超过25个6单元,则也

可按位二进制数编址,自 开始,最大可至表4.2不同存储器与所用指令及其寻址方式的对应关系存储器访问性质所用指令及寻址方式依次取指执行程序根据值自动访问程序转移程序转移类指令用户访问指令片内访问整个字节主要为 指令,借工作寄存器间接寻址访问 单元中的某位位操作类指令,借位地址寻址访问整个字节主要为 类指令,直能借直接寻址字节寻址访问中的可寻址位位操作类指令,借位地址寻址片外如容量不大于 单元指令,借工作寄存器间接寻址如容量大于 单元指令,借数据指针寄存器间接寻址片内数据存储器又可分为工作寄存区、位寻址区、数据缓冲器区等三个区域。①工作寄存器区在低的内部中,前个单元(地址为一)为通用工作寄存器区,共分为四组(寄存器0组、1组、2组、3组),每组8个工作寄存器由一组成,共占个单元。选用哪一组由程序状态字中的、这两位的设置决定,若程序并不需要四个4组工作寄存器,那么剩下的工作寄存器可作一般的存储器来使用。②位寻址区一的个单元为位寻址区,该区的每个单元都被赋予了一个位地址,每个单元位,共位。其位寻址范围为一F位寻址区的每一位都可当作软件触发器,由程序直接进行处理。程序中通常把各种程序状态标志、位控变量设在位寻址区。同样,位寻址区的单元也可作为一般的数据存储器按字节单元使用。③数据缓冲区是数据缓冲区,用户 区,共个单元。(3特)殊功能寄存器累加器累加器是一个最常用的位特殊功能寄存器,它既可用于存放操作数,也可用于存放运算的中间结果。大部分单操作数指令的操作数就取自累加器。用表示的符号地址。寄存器寄存器是一个位寄存器,主要用于乘法和除法的运算。乘法运算时,中存放乘法,乘法操作后,乘积的高位又存于中;除法运算时,中存放除数,出发操作后,中又存放余数。在其他指令中,寄存器可作为一般的寄存器使用,用于暂存数据。定时器/计数器①主要特性a.89C51单片机有两个可编程的定时器/计数器—一定时器/计数器0与定时器/计数器1,可有程序选择作为定时器用或作为计数器用,定时时间或记数值也可由程序设定。b.每一个定时器/计数器具有4种工作方式,可用程序选择。c.任一定时器/计数器在定时时间到或记数值到时,可有程序安排产生中断请求信号或不产生中断请求信号。②定时/计数器0和1的控制和状态寄存器特殊功能寄存器TMOD和TCON分别是定时/计数器0和1的控制和状态寄存器,用于控制和确定各定时/计数器的功能和工作模式。③模式控制寄存器TMODTMOD用于控制T0和T1的工作方式和4种工作模式。其中低4位用于控制T0,高4位用于控制T1。其值可用程序决定,其格式如下:C/TC/TGATE位:门控位。当gate=i时,只有Into或INT1引脚为高电平且TR0或tri置1时,相应的定时/计数器才被选通工作;当GATE=0,则只要TR0和TR1置1,定时/计数器就被选通,而不管Into或N1的电平是高还是低C/T位:计数/定时功能选择位。C/T=0,设置为定时器方式,计数器的输入是内部时钟脉冲,其周期等于机器周期。C/T=1,设置为计数器方式,计数器的输入来自T0(P3.4)或TKP3.5)端的外部脉冲。M1、M0位:工作模式选择位。2位可形成4中编码,对应4种工作模式,见下表:表4.3M1、M0工作模式M1M0功能描述00方式0:13位定时器/计数器01方式1:16位定时器/计数器10方式2:具有自动重装初值的8位定时器/计数器11方式3:定时/计数器0分为两个8位定时/计数器,定时/计数器1在此方式无实用意义④控制寄存器TCONTCON用来控制T0和T1的启、停,并给出相应的控制状态,高4位用于控制定时器0、1的运行;低4位用于控制外部中断。格式如下:TF1TR1TF0TR0IE1IT1IE0IT0TF1:定时器1溢出标志。当定时器1溢出时,由硬件置1。使用查询方式时,此位做状态位供查询,查询有效后需由软件清零;使用中断方式时,此位做中断申请标志,进入中断服务后被硬件自动清零。TR1位:定时器1运行控制位。该位靠软件置位或清零,置位时,定时/计数器接通工作,清零时,停止工作。TF0位:定时器溢出标志位,其功能和操作情况类同于TF1。TR0位:定时器0运行控制位,其功能和操作类同于TR1。IE位:外部中断请求标志位。当CPU采样至UINT0非(或INT1非)端出现有效中断请求时,IE0(或IE1)由硬件置1,中断响应完成后转向中断服务时,再由硬件自动清零。IT位:外部中断请求出发方式位。IT0(IT1)=1为脉冲触发方式,后负跳有效。IT0(IT1)=0为电平触发方式,低电平有效。E.定时/计数器的初始化89C51单片机的定时/计数器是可编程的,因此,在进行定时或计数之前也要用程序进行初始化。初始化一般应包括以下几个步骤:a.对TMOD寄存器赋值,以确定定时器的工作模式;b.置定时/计数器初值,直接将初值写入寄存器的TH0,TL0或TH1,TL1;c.根据需要,对寄存器IE置初值,开放定时器中断;d.对TCON寄存器中的TR0或TR1置位,启动定时/计数器,置位以后,定时/计数器即按规定的工作模式和初值进行计数或开始定时。在初始化过程中,要置入定时/计数器的初值,这时要做一些计算。由于计数器是加法计数,并在溢出时申请中断,因此不能直接输入所需的计数值,而是要从计数最大值倒退回去一个计数值才是应置入的初值。设计数器的最大值为M(在不同的工作模式中,M可以为8192,65536,256),则置入的初值可以这样来计算。计数方式时 X=M一记数值定时方式时 (M—X)T=定时值所以 X=M一定时值/T式中,T为计数周期,是单片机的机器周期。T0和T1的4种工作方式方式0:13位定时/计数器,TL1(或丁匕0)的低5位和TH1(或TH0)的8位构成,TL中的高3位弃之未用。当TL的低5位记数溢出时,向TH进位,而全部13位计数器溢出时使计数器回零,并使溢出标志TF置1,向CPU发出中断请求。方式1:16位定时/计数器,其逻辑电路和工作情况与方式0几乎完全相同,唯一的差别就是方式1中TL的高3位也参与了计数。方式2:把TL配置成一个可以自动重装载的8位定时/计数器方式3:仅对T0有意义,将16位定时/计数器分成两个互相独立的8位定时/计数器TL和TH,CPU时钟电路时钟电路用于产生单片机工作所需要的时钟信号。时钟信号可以有两种方式产生:内部时钟方式和外部时钟方式。①内部时钟方式89C51单片机有一个高增益反向放大器,用于构成振荡器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟发生器,见下图,外接晶振时,C1、C2值通常选择为30pF左右;外接陶瓷振荡器时,C1、C2约为47pF°C1、C2对频率有微调作用,震荡频率范围是1.2—12MHz。为了减少寄生电容,更好的保证振荡器稳定可靠的工作,谐振器和电容应尽可能安装的与单片机芯片靠近。内部时钟发生器实质上是一个二分频的触发器,其输出信号是单片机工作所需的时钟信号。②外部时钟方式外部时钟方式是采用外部振荡器,外部振荡信号由XTAL2端接入后直接送至内部时钟发生器。输入端XTAL1应接地,由于XTAL2端的逻辑电平不是TTL的,故建议外接一个上拉电阻。一般情况下,单片机时钟输入均采用内部时钟方式,外接一个震荡电路,本系统采用内部时钟方式,晶振采用12MHz,其电路如下图4.7所示。30PF_―1121JHZ589C51「3CIPF1图4.7的匚51单片机外接晶体的接法复位电路①复位状态计算机在启动时,系统进入复位状态。在复位状态,CPU和系统都处于一个确定的初始状态或成为原始状态,在这种状态下,所有的专用寄存器都赋予默认值。其复位状态见下表。表4.5计算机复位状态表专用寄存器复位状态专用寄存器复位状态PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0—P3FFHSCON00HIPXXX00000BSBUFXXXXXXXXBIE0XX00000BPCON0XXX0000B②复位电路单片机复位电路包括片内、片外两部分,片外复位电路通过引脚加到内部复位电路上,内部复位电路在每个机器周期S5P2对片外信号采样一次,当RST引脚上出现连续两个机器周期的高电平时,单片机就完成一次复位。外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的,AT89C2051通常采用上电自动复位和按键手动复位两种方式。上电复位电路在通电瞬间,在RC电路充电过程中,RST端出现正脉冲,从而使单片机复位。按键手动复位又分为按键电平复位和按键脉冲复位,按键电平复位是将复位端通过电阻与Vcc相连,按键脉冲复位是利用RC微分电路产生正脉冲来达到复位的目的。本系统设计时采用的是上电复位方式。、转换器D/A转换器DAC0832的介绍1、D/A转换器DAC0832的主要性能指标分辨率通常将输入数字量的最低有效位LSB变化1时所引起的输入电压的变化4V称为分辨率,即△V=Vm/2,式中,Vm为输出电压的满度值;n为D/A转换器的二进制数的位数[20]。建立时间当DAC输入数字量发生变换时,输出模拟电压也随之改变,但输出电压变化到稳定值时相对于输入数字量的变化有一段延迟时间,这段延迟时间就称为建立时间,用ts表示。建立时间越短,DAC的转换速度越块。通常用转换时间来反映建立时间,如DAC0832的转换速度为100ns,DAC0832的转换速度为0.1ms。转换误差转换误差可以用绝对误差△或相对误差r来表示。绝对误差△是指DAC的输入端加有固定的数字代码时,实际测得模拟输出值理论值之间的差。相对误差r是指绝对误差△与满度值之比,常用百分数表示。电源抑制比DAC的输出电压的变化量与相对应的电源电压变化量之比定义为电源抑制比。要求电源电压发生变化时,对输出电压的影响越小越好。表4.6DAC0832的引脚符号 引脚 功能符号 引脚 功能D0~77~4,16~13数据输入线Vcc20电源输入线ILE19数据允许信号,高电平有效IOUT1,IOUT211,12电流输出线CS1输入寄存器选择信号,低电平有效AGNDDGND310模拟信号地数字地WR12输入寄存器写选通信号,低电平有效WR218DAC寄存器写选通信号,低电平有效RFB9反馈信号输入线XFER17数据传送信号,低电平有效VREF8基准电源输入线2.DAC0832的引脚介绍DAC0832有20个引脚:ID7~ID0是8位数据输入端;ILE是输入数据允许锁存信号,CS与WR是第一级缓冲器选通信号,这三个信号决定了LE1的电平,LE1位为高电平时,锁存器的输出随输入变化,LE1的负跳变使数据锁存进锁存器,LE1为低点电平时,锁存器的输出不在随输入端数据变化;XFER与WR2是第二级缓冲器选通信号,它们决定了LE2的电平,LE2在不同电平时对锁存器的控制作用与LE2一致;VREF是基准电压源输入端;IOUT1、IOUT2分别是电流输出端1和电流输出端2;RFB是反馈信号输入端;AGND与DGND是模拟地与数字地,两者分开是一项常用的抗干扰措施。DAC0832的两级缓冲器都是8位锁存器,它具有二级锁存控制功能,当多片同用时可实现多参数的同时输出:此时每片DAC0832承担一种参数的D/A转换,各片第一级缓冲器的打开是有先后的,但各片的XFER与WR2信号如分别互连在一起,则多片DAC0832开始D/A转换和有模拟量输出的时间将基本一。A/D转换器AD574介绍的特点及功能是公司生产的位逐次逼近型 它的转换速度为5J转换精度为 可广泛应用在数据采集系统中°由于 芯片内有三态输出缓冲电路,因而可直接与单片机的数据总线相连,而无须附加逻辑接口电路。另外由于与和兼容因而可构成简单的数据采集最小系统。本文细讲述了 的工作原理和硬件与软件设计方法。 为脚双列直插式封装,其引脚分布如图1所示。各主要引脚功能如下:

+VE12/0[CSEAOER/C[CEEV+EREFOUT[+VE12/0[CSEAOER/C[CEEV+EREFOUT[AGNDEREFINEV-LBIPOFF[10VINE20VINE876543210222222222)<寸自口<1234567899876511JJ—JI10123411JJ—JI11STS]DB11/MSB]DB101DB9]DBS]DB71DB6]DB5]DB41DB3JDB2]DB1]DB0)LSB1DGND图4.8 AD574的引脚图片:送。片:启动。读出转换控制。数据输出格式选择脚。当为时 条数据线将同时行输出当为时为位双字节输出。字节选择线。在转换期间当为时进行全位转换转换间为5J 当为时进行位转换转换时间为6J。在读出期间当为时输出高位当为时输出低位并以个作为尾随的4位以补足8位,即当两次读出12位数据时,应遵循左对齐原则。输出状态指示引脚。转换开始时 为高电平并在转换过程中保持高电平。转换完成后 返回到低电平。 可以作为状态信息被查询也可以在它的下降沿向发出中断请求以通知转换已完成同时可以读出转换结果。单片机AT89C51和AD574的接口原理和单片机系统的基本组成主要有单片机、 转换器和计算机接口。其中单片机是系统的核心部分主机通过接口启动单片机工作以使资源向其它请求开放。单片机发出控制信号以启动转换器进行采样然后将转换结果存入双端口 °当中的数据达到一定数量时单片机向计算机发出中断请求。主机接到请求后进入中断服务程序,并向单片机发出命令,以决定是否继续采样同时将内的数据读入内存。系统的硬件设计在连接上应主要考虑三总线控制总线、地址总线、数据总线的连接。图所示是一个转换器与单片机的 接口电路。其中 是个完全的单片式位逐次比较型转换器它带有可以直接与位或 位总线接口的三态缓冲器因而不需要再加锁存器。由于 片内自带高精度参考电压和时钟因此不需要外部电路和时钟就可全速工作是一种比较常用的中速 转换芯片。 完成次全位转换最多需要M 适合于转换速率低于 的应用领域。单片机是 的典型代表。由于该接口系统要求各路信号测量同步即同时启动各 转换器进行转换3因此必须完成同时启动、分别读出转换结果的任务。现将 的主要任务分述如下接收主机的采样命令。即利用 口并采用查询方式等待主机发出采样命令,当其为低电平时,启动采样过程。启动采样。 利用 经过反相后控制 的读出和启动转换控制线 并再经过与非门和反相器来控制片选线低电平有效。当为高电平时所有 都处于待启动状态即设定各的启动地址均 F的、经过与非门接到 的使能端任意有效信号都会使能换读取并存储转换结果。所有转换结束与否的判断均由口的低位来进行,当低内位均为低电平时,表示所有转换都已结束。需要对转换器分配地址,以逐一读出转换结果。进行读取操作时,地址应为对应存储器单元的操作地址,因为存储器单元地址的末尾2位数依次为00、0的、的0、的的,因此,对单元操作也就是表示对相应编号的 转换器进行了读操作。这种方式可以使系统所能操作的数达片之多。(内向启主机发出中断申请。在当前存储区满后,要向主机发出中断请求,以向主机传送数据。因为每一存储区为 所以利用存储数据时 的状态可以判断是否E被完全占用。在图中由于 片内有时钟故无需外加时钟信号。该电路采用单极性输入方式可对〜或〜模拟信号进行转换。转换结果的高位从〜输出低位从〜输出并且直接和单片机的数总线相连。转换遵循左对齐原则〜应接单片机数据总线的高半字节。为了实现启动 转换和转换结果的读出 的片选信号由地址总线的次低位 提供在读写时 应设置为低电平。 的信号由单片机的和 经一级或非门产生。 则由和经一级或非门提供。可见在读写时亦应为低电平。输出状态信号接到 端可供单片机查询判断 转换是否结束。 的由地址总线的最低位 控制可用于实现全的2位转换以并将的2位数据分两次送入数据总线。

图4.9图4.9单片机AT89C51与AD574的接口图存储器的选取在数字化语音存储与回放的设计中可用AT29C040Flash存储器来存储时间,AT29C040具有在线可擦写、非挥发性、信息保存可靠、存储容量大等优点,每片的容量为512K字节,它是国外最新产品,该产品的读写一般与RAM相同,由于89C51一般能寻址64K字节[24]。所以需要利用P1口进行地址扩宽,本系统中另加三根线(P1.1、P1.2、P1.3),作地址线用,使寻址空间扩展到512K字节,并分别采用分而管理方式分配内存,即在总线输出地址之前,先对外加的3根高位地址选页,然后在所选页中进行输入输出操作。AT29C040读取时间仅为70ns,单一+5V电源,双8k字节的引导区,内部程控定时器,硬件和软件数据保护功能,快速扇出程序周期10ms,低功耗:待机为100uA,启动工作为50mA,10000次擦写次数。输入输出全兼容CMOS和TTL电路口]。86527654321OO12DA1A1A1A1AAAAAAAAI/oggGNEEELEEEEEEr-EEELr-09872111」口寸COSES

0123456HI23456_11189HlHI1HI1HIHI3231配29282786527654321OO12DA1A1A1A1AAAAAAAAI/oggGNEEELEEEEEEr-EEELr-09872111」口寸COSES

0123456HI23456_11189HlHI1HI1HIHI3231配29282721C7431O76543-兀1H1891-E1_EOQQ°口r-irnr-ir-ir-ir-ir-ir-ir-ir-ii-ir-ir-ir-ir-ii-i图图4.10AT29C040引脚如下图图4.10AT29C040引脚如下2.7对数字化语音存储与回放系统的Cf/f)/sinGf/f)校正s首先对频域中的Gf/f)/sinGf/f)函数进行分析,Gf/f)/sin(f/f)在频ss ss域30〜4030H范围内的曲线如图所示。由图可见,它近似于阻带内增益变化极为缓慢近于恒定的高通滤波器。进一步分析可知,该曲线在频率很高处有大幅度的下降,故可用带通滤波器来拟合该曲线,由于受单片机数据运算处理能力(0.5MPS)的限制,数字滤波不易实现,故这里采用硬件滤波,滤波电路如图所示。图4.11函数分析图10kOhm-Vv%图4.11函数分析图10kOhm-Vv%R21kOhm-VvV图4.12滤波电路该滤波网络采用简单的无源滤波网络即可实现,图中C、R构成初始放大11倍数近乎恒定的网络.观察到//f)/(f/f)在频率较高处有大幅度的衰减,故该ss网络还应满足在频率较高处的衰减特性,考虑到对于声音信号,过多的高频分量只能增加噪声,所以后接R、C构成低通滤波器,截止频率设在3.4KHz土100Hz。22该网络在频域由30Hz起,增益缓慢增大,到3.4kHz处幅频。3程序设计:单片机AT89C51通过片选方式读A/D转换数据、写数据存储器以及将数据送入D/A转换器。录音时AT89C51通过定时器T控制采样频率。定时将A/D转0换数据存入数据存储器中。放音时,单片机AT89C51通过定时器T控制,定时0的将数据从数据存储器中取出送往D/A转换器进行数摸转换。图图5.3键盘中断程序流程图5.2定时器1中断服务程序流程图主程序如下:

CC0:MOVA,22HMOVR1,#80HCJNEA,#00H,CC1MOV22H,#00HJMPMAINCC1:MOVDPTR,#0FFF7HMOVXA,@DPTRMOVDL,R2MOVDH,R3MOVX@DPTR,ADECR2CJNER2,#00H,CC2MOVR2,R3CC2:MOVDPTR,#0FFFBHMOVX@DPTR,AMOVDPTR,#0FFFEHMOVA,R1MOVX@DPTR,ADECAMOVR1,ACJNEA,#00H,CC1JMPCC0FF:MOV20H,#00HMOVR2,#FFHMOVR3,#0FFHFF0:MOVA,22HMOVR2,#80HCJNEA,#00H,FF1FF1:CJNER2,#00H,FF2JMPMAINFF2:MOVDL,R2MOVDH,R3MOVXA,@DPTRMOVDPTR,#0FFBHMOVX@DPTR,ADECR2CJNER2,#00H,FF3MOVR2,R3FF3:MOVDPTR,#0FFFEHMOVA,R1MOVX@DPTR,ADECAMOVR1,ACJNEA,#00H,FF1中断程序如下:(1)键盘中断:1:1 MO,V#1R00

温馨提示

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

评论

0/150

提交评论