基于单片机的语音存储与回放系统最终.doc

上传人:可****阿 文档编号:42289513 上传时间:2022-09-15 格式:DOC 页数:24 大小:349.50KB
返回 下载 相关 举报
基于单片机的语音存储与回放系统最终.doc_第1页
第1页 / 共24页
基于单片机的语音存储与回放系统最终.doc_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《基于单片机的语音存储与回放系统最终.doc》由会员分享,可在线阅读,更多相关《基于单片机的语音存储与回放系统最终.doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于单片机的语音存储与回放系统摘要随着科技的不断发展,人们对语音的存储系统也有了更高的要求,从最初的磁盘(唱片),到流行一时的磁带、CD等等。但是这些语音的存储系统都有一定的缺陷,不是存储形式过时,就是不容易将语音存入。因此,我们需要用新的理念设计一个语音的存储与回放系统。本设计采用了MCS-51单片机,利用A/D、D/A转换将声音信号(模拟量)转成数字信号(数字量)存储起来并实现随时回放功能。关键字:MSC-51单片机、A/D转换、D/A转换、声音信号、数字信号一、总体设计方案介绍1.1语音编码方案:人耳能听到的声音是一种频率围为20 Hz20000 Hz ,而一般语音频率最高为3400Hz

2、。语音的采集是指语音声波信号经麦克风和高频放大器转换成有一定幅度的模拟量电信号,然后再转换成数字量的全过程。根据“奈奎斯特采样定理”,采样频率必须大于模拟信号最高频率的两倍, 由于语音信号频率为3003 400 Hz ,所以把语音采集的采样频率定为8 kHz。从语音的存储与压缩率来考虑,模型参数表示法明显优于信号波形表示法4。但要将之运用于单片机,显然信号波形表示法相对简单易实现。基于这种思路的算法,除了传统的一些脉冲编码调制外,目前已使用的有VQ技术与一些变换编码和神经网络技术,但是算法复杂,目前的单片机速度底,难以实现。结合实际情况,提出以下几种可实现的方案。(1)短时平均跨零记数法 该方

3、案通过确定信号跨零数,将语音信号编码为数字信号,常用于语音识别中。但对于单片机,由于处理数据能力底,该方法不易实现。(2)实时副值采样法 采样过程如图2.1所示。抽样量化存储图2.1 采样过程具体实现包括直存取法、欠抽样采样法、自相似增量调制法等三种基本方法。其中第三种实现方法最具特色,该方法可使数据压1:4.5,既有调制的优点,又同时兼有PCM编码误差较小的优点,编码误差不向后扩散。1.2 A/D、D/A与存储芯片的选择单片机语音生成过程,可以看成是语音采集过程的逆过程,但又不是原封不动地恢复原来的语音,而是对原来语音的可控制、可重组的实时恢复。在放音时,只要依原先的采样直经D/A 接口处理

4、,便可使原音重现。(1)A/D转换芯片的选择 根据题目要求采样频率fs=8KHZ,字长=8位,可选择转换时间不超过125s的八位A/D转换芯片。目前常用的A/D转换实现的方法有多种,鉴于转换速度的要求,我们采用A/D转换芯片AD574。该芯片是高速12位逐次比较型A/D转换器,置双极性电路构成的混合集成转换显片,具有外接元件少,功耗低,精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件即可构成一个完整的A/D转换。(2)D/A转换芯片的选择 D/A转换芯片的作用是将存储的数字语音信号转换为模拟语音信号,由于一般的模拟转换器都能达到1s的转换速率,足够满足题目的要求,故我们在

5、此选用了通用D/A转换器DAC0832。(3)数据存储器的选择 当采样频率s=8KHZ,字长为8位时,一秒钟的语音需要8K字节的存储空间,则存储器至少需要有80k容量。在这里我们选用闪速存储器AT29C040作为存储器,一片该芯片可存储60秒钟的语言。(4)主控芯片的选择 本设计采用AT89C51芯片,如图2-1-1图2-1-189C51有40个引脚,4个8位并行输入/输出(I/O)端口:P0、P1、P2、P3,其中,P1是完整的8位准双向I/O口,两个外中断,2个16位可编程定时/计数器,两个全双向串行通信口,一个模拟比较放大器。此外,89C51的时钟频率可为零,即具备可用软件设置的睡眠省电

6、功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入工作状态,省电模式中,片RAM将被冻结,时钟停止震荡,所有功能停止工作,直至系统被硬件系统复位方可继续工作。1.3系统总体结构数字化语音存储与回放系统的基本思想是通过拾音器将声音信号转化成电信号,再经过放大器放大,然后通过带通滤波器滤波,模拟语音信号通过模数转换(A/D)转换成数字信号,再通过单片机控制将数据从存储器中读出,然后通过数模转换(D/A)转换成模拟信号,经放大再扬声器或耳机上输出。整个系统框架图如图3.1所示:A/D转换电路带通滤波器D/A转换电路带通滤波器输出放大器耳机电源电路89C51单片机键盘设定存

7、储器数据显示增益放大器拾音器图3.1 整体框图 系统组成如图所示,由输入通道、AT89C51单片机和输出通道三部分组成。输入通道部分由拾音器、前置放大电路和带通滤波器组成;输出通道由带通滤波器、后级放大电路组成9。拾音器输出的毫伏信号实测其围约为2025mV,此电信号太小不能够进行采样,后级A/D转换输入信号的动态围为05V,语音信号的围与采样围的比较得出放大器的放大倍数应为200倍左右,此处将信号通过一增益为46dB的放大器,将其放大到伏特量级,输出级放大电路亦采用这种电路,两级放大电路都采用增益可调的典型电路。考虑到语音信号的固有特点,将低于300Hz和高于3.4kHz的分量滤掉后语音质量

8、仍然良好。此处将其通过一增益为46dB的放大器,因此,将带通滤波器设计为典型的300Hz3.4kHz,输出级带通滤波器亦为300Hz3.4kHz,这样既可滤掉低频分量又可滤掉D/A转换带来的高频分量,很好的滤除掉噪声。根据奈奎斯特抽样定理知欲使采样信号无失真,抽样频率最低为6.8kHZ,考虑到留有一定的余地,这样就足够保证语音质量。经量化后,微处理器将数据存到处理器,需要时再将其回放,存入与放出由开关通过微处理器来控制实现。存储器的容量选择视所存语音信号的时间长短而定。为了使A/D的输入信号稳定在其动态围,在输入级加上了自动增益控制电路,同时也使音量稳定。您在网购吗?您为在繁多的产品中挑选自己

9、合意的商品感到疲倦吗?将您的购物意向发送至findgoods126.,我们为您量身打造符合您网购意向的网购推广单页,帮助您选择优质店铺和好评商品。二、硬件电路设计2.1拾音器拾音器是一种声传感器,声传感器是把外界声场中的声信号转换成电信号的传感器。它在通讯、噪声控制、环境检测、音质评价、文化娱乐、超声检测、水下探测和生物医学工程与医学方面有广泛的应用10。它的种类很多,按其特点和频率等,将它划分为超声传感器、声压传感器和声表面波传感器等。单纯的磁性拾音器工作的电学原理为当声音在铜丝绕制的线圈震动切割被该线圈所缠绕的磁芯产生的磁感线时,线圈感应出电信号并流出。感应电流的强弱取决于切割磁感线的多寡

10、(振幅)、切割频率(震动频率)和磁感线自身的强弱。 拾音器包括拾音头(换能装置、唱针)和音臂等附件。其换能装置主要有压电式、电磁式、电容式以与半导体等11。电磁式拾音头,用电磁感应原理,将机械振动变换成电信号的幅度响应拾音头。主要由线圈和磁钢等组成。唱针耦合在线圈上的称动圈式,耦合在磁钢上的称动磁式。此外,也有将唱针耦合在衔铁上的称为动铁式,也称可变磁阻式。在本设计中决定采用动圈式拾音器2.2放大器的设计(1)增益放大器拾音器输出的毫伏信号实测其围约为2025Mv此电信号太小不能够进行采样,后级A/D转换输入信号的动态围为05V,语音信号的围与采样围的比较得出放大器的放大倍数应为200倍左右,

11、此处将信号通过一增益为46dB的放大器,将其放大到伏特量级,输出级放大电路亦采用这种电路,两级放大电路都采用增益可调的典型电路12。为了将从拾音器获得的微弱语音信号放大,采用两极高输入阻抗的同向放大器,电路图如图所示,每级放大器的放大倍数按下式计算:图4.1 增益放大器(2)输出放大器经带通滤波器输出的声音回放信号,其幅度为05V,足以用耳机来接收听,可不接任何放大器。但考虑到实际中经常回用到喇叭外放,故在本系统中增加外放功能,前端放大器采用通用型音频功率放大器LM386来完成13。电路如图4.1。该电路增益为50200,连续可调,最大不失真功率为325mW。输出端接C4、R9串联电路,以校正

12、喇叭的频率特性,防止高频自激脚7接220uF去偶电容,以消除低频自激为便于该功放在高增益情况下工作,这里将不使用输入端脚2对地短路图4.2 输出放大器2.3有源带通滤波器设计滤波器是一种能使有用频率信号通过同时抑制(或大为衰减)无用频率信号的电子装置。工程上常用它来作信号处理、数据传输和抑制干扰等。这里主要讨论模拟滤波器。以往这种滤波电路主要采用无源元件R、L和C组成,60年代以来,集成运放获得了迅速发展,由它和R、C组成的有源滤波电路,具有不用电感、体积小、重量轻等优点。此外,由于集成运放的开环电压增益和输入阻抗都很高,输出阻抗又底,构成有源滤波电路后还具有一定的电压放大和缓冲作用。但是,集

13、成运放的带宽有限,所以目前有源滤波电路的工作频率难以作的很高,这是它的不足之处。对于幅频响应,通常把能够通过的信号频率围定义为通带,而把受阻和衰减的信号频率围定义为阻带,理想滤波电路在通带应具有零衰减的幅频响应和线形的相位响应,而在阻带应具有无限大的幅度衰减(|A(j)|=0)。按照通带和阻带的相互位置不同,滤波器可分为低通滤波器、高通滤波器、带通滤波器、带阻滤波器。通常用幅频响应来表征一个滤波器的特征,欲使信号通过滤波器的失真很小,则相位和延时响应亦须考虑。当相位响应()作线性变化,即时延响应,为常数时,输出信号才可能避免失真。图4.3这里|A(j)|为传递函数的模,()为其相位角。延时向量

14、:声音信号经动圈拾音器转有源滤波器换成电压信号,通过前级放大,在对其进行数据采集之前,有必要经过带通滤波器除带外杂波,选定该滤波器的通带围为300Hz3.4KHz.其作用是:1.保证3003400Hz的语音信号不失真的通过滤波器;2.滤除带外的低频信号,以减少带外功频等分量的干扰,大大减少噪声影响,该下限频率可下延到270Hz左右;3.便于滤除带外的高次谐波,以减少因8kHz采样率而引起的混叠失真,根据实际情况,该上限频率可在2700Hz左右,带通滤波器按品质因数Q的大小为窄带滤波器(10)和带通滤波器(10两种,本题中,上限频率fh=3400Hz,通带滤波器中心频率f0与品质因数分别为显然,

15、Q10,故该带通滤波器为宽带带通滤波器带宽带通滤波器由高通和低通滤波器级联构成,鉴于Butterworth滤波器带平坦的响应特性,我们选用二阶Butterworth带通滤波器,电路如图4.3所示实验证明,该滤波器能有效的滤除低频分量,大大减少噪声干扰,与之同时也绿除了多余的高频分量,消除了高频失真,性能足以满足要求。图4.4 带通滤波器2.4可调稳压电源的设计这里介绍的稳压电源,采用三端可调稳压集成电路LM317,外围电路十简单,便于制作。该稳压电源,电压可调围1.525V,最大负载电流1.5A16。电路如图4.4所示:220V交流电经变压器T降压,得到24V交流电,再经VD1VD4组成的全桥

16、整流,由C1滤波后得到33V左右的直流电压17。该电压经集成电路LM317后得稳压输出,调节电位器RP,即可连续调节输出电压。图中C2用以消除寄生振荡,C3的作用是抑制纹波,C4是用以改善稳压电源的的暂态响应,VD6、VD7在输出端电容漏电或调整端短路时起保护作用。VD5为本电源的工作指示灯,电阻R1是限流电阻。输出端接微型电压表PV,可以直观的指示输出电压值。各元件具体参数如图所标。图4.5 可调直流稳压电源2.5 D/A、A/D转换器2.5.1 D/A转换器DAC0832的介绍1、D/ A转换器DAC0832的主要性能指标分辨率 通常将输入数字量的最低有效位LSB变化1时所引起的输入电压的

17、变化V称为分辨率,即V=Vm/2,式中,Vm为输出电压的满度值;n为D/A转换器的二进制数的位数20。建立时间 当DAC输入数字量发生变换时,输出模拟电压也随之改变,但输出电压变化到稳定值时相对于输入数字量的变化有一段延迟时间,这段延迟时间就称为建立时间,用ts表示。建立时间越短,DAC的转换速度越块。通常用转换时间来反映建立时间,如DAC0832的转换速度为100ns,DAC0832的转换速度为0.1ms。转换误差 转换误差可以用绝对误差或相对误差r来表示。绝对误差是指DAC的输入端加有固定的数字代码时,实际测得模拟输出值理论值之间的差。相对误差r是指绝对误差与满度值之比,常用百分数表示。电

18、源抑制比 DAC的输出电压的变化量与相对应的电源电压变化量之比定义为电源抑制比。要求电源电压发生变化时,对输出电压的影响越小越好。2. DAC0832的引脚介绍DAC0832有20个引脚:ID7ID0是8位数据输入端;ILE是输入数据允许锁存信号,CS与WR是第一级缓冲器选通信号,这三个信号决定了LE1的电平,LE1位为高电平时,锁存器的输出随输入变化,LE1的负跳变使数据锁存进锁存器,LE1为低点电平时,锁存器的输出不在随输入端数据变化;XFER与WR2是第二级缓冲器选通信号,它们决定了LE2的电平,LE2在不同电平时对锁存器的控制作用与LE2一致;VREF是基准电压源输入端;IOUT1、I

19、OUT2分别是电流输出端1和电流输出端2;RFB是反馈信号输入端;AGND与DGND是模拟地与数字地,两者分开是一项常用的抗干扰措施。DAC0832的两级缓冲器都是8位锁存器,它具有二级锁存控制功能,当多片同用时可实现多参数的同时输出:此时每片DAC0832承担一种参数的D/A转换,各片第一级缓冲器的打开是有先后的,但各片的XFER与WR2信号如分别互连在一起,则多片DAC0832开始D/A转换和有模拟量输出的时间将基本一。2.5.2 A/D转换器AD574介绍1. AD574 的特点与功能AD574 是AD 公司生产的12 位逐次逼近型ADC , 它的转换速度为25s , 转换精度为0. 0

20、5 % , 可广泛应用在数据采集系统中21。由于AD574 芯片有三态输出缓冲电路, 因而可直接与单片机的数据总线相连, 而无须附加逻辑接口电路。另外, 由于AD574 与CMOS 和TTL 兼容, 因而可构成简单的数据采集最小系统。本文细讲述了AD574 的工作原理和硬件与软件设计方法。AD574 为28 脚双列直插式封装, 其引脚分布如图1 所示。各主要引脚功能如下:图4.8 AD574的引脚图CS:片送。CE:片启动。R / C :读出/转换控制。12 / 8 :数据输出格式选择脚。当12 / 8 为1( +5V) 时, 12 条数据线将同时行输出; 当12 / 8 为0(0V) 时,为

21、8 位双字节输出。A0 : 字节选择线。在转换期间, 当A0 为0 时,AD574 进行全12 位转换,转换间为25s ;当A0 为1 时,进行8 位转换,转换时间为16s。在读出期间,当A0 为0 时, 输出高8 位; 当A0 为1 时, 输出低4位,并以4 个0 作为尾随的4 位以补足8 位,即当两次读出12 位数据时,应遵循左对齐原则。STS:输出状态指示引脚。转换开始时,STS 为高电平,并在转换过程中保持高电平。转换完成后,STS返回到低电平。STS 可以作为状态信息被CPU查询;也可以在它的下降沿向CPU发出中断请求, 以通知A /D 转换已完成,同时CPU可以读出转换结果。2.5

22、.3 单片机AT89C51和AD574 的接口原理AD574 和单片机系统的基本组成主要有单片机、A / D 转换器和计算机接口。其中单片机是系统的核心部分, 主机通过接口启动单片机工作, 以使CPU资源向其它请求开放。单片机发出控制信号以启动A /D 转换器进行采样, 然后将转换结果存入双端口SRAM。当RAM中的数据达到一定数量时, 单片机向计算机发出中断请求。主机接到请求后进入中断服务程序,并向单片机发出命令,以决定是否继续采样,同时将SRAM的数据读入存。系统的硬件设计在连接上应主要考虑三总线(控制总线、地址总线、数据总线) 的连接。图2 所示是一个A/ D 转换器与单片机的AT89C

23、51接口电路。其中,AD574 是1 个完全的单片式12位逐次比较型A /D 转换器, 它带有可以直接与8 位或16 位总线接口的三态缓冲器,因而不需要再加锁存器。由于AD574 片自带高精度参考电压和时钟, 因此不需要外部电路和时钟就可全速工作, 是一种比较常用的中速A / D 转换芯片。AD574 完成1 次全12 位转换最多需要35s ,适合于转换速率低于30kb /s 的应用领域。AT89C51 单片机是MCS - 51的典型代表。由于该接口系统要求各路信号测量同步, 即同时启动各A / D 转换器进行转换23。因此, 8031必须完成同时启动、分别读出转换结果的任务。现将AT89C5

24、1 的主要任务分述如下:(1) 接收主机的采样命令。即利用P1. 7 口并采用查询方式等待主机发出采样命令, 当其为低电平时,启动采样过程。(2) 启动采样。AT89C51 利用P2. 7 经过反相后控制AD574 的读出和启动转换控制线R / C , 并再经过与非门和反相器来控制片选线CS(低电平有效) 。当P2.7 为高电平时,所有AD574 都处于待启动状态, 即设定各AD 的启动地址均#FFFFH。AT89C51 的WR、RD 经过与非门接到AD574 的使能端,任意有效信号都会使能AD。(3) 读取并存储转换结果。所有AD 转换结束与否的判断均由P1 口的低4 位来进行,当低4 位均

25、为低电平时, 表示所有转换都已结束。需要对转换器分配地址,以逐一读出转换结果。进行读取操作时,地址应为对应存储器单元的操作地址, 因为存储器单元地址的末尾2 位数依次为00、01、10、11 , 因此,对单元操作也就是表示对相应编号的A / D 转换器进行了读操作。这种方式可以使系统所能操作的A /D 数达10 片之多。(4) 向主机发出中断申请。在当前存储区满后,要向主机发出中断请求, 以向主机传送数据。因为每一存储区为1kB , 所以, 利用存储数据时, P2.2 的状态可以判断是否已被完全占用。在图2 中,由于AD574 片有时钟,故无需外加时钟信号。该电路采用单极性输入方式, 可对01

26、0V或020V模拟信号进行转换。转换结果的高8位从D11D4 输出,低4 位从D3D0 输出,并且直接和单片机的数总线相连。转换遵循左对齐原则,D3D0 应接单片机数据总线的高半字节。为了实现启动A /D 转换和转换结果的读出, AD574 的片选信号CS 由地址总线的次低位A1( P0. 1) 提供, 在读写时,A1 应设置为低电平。AD574 的CE 信号由单片机的WR 和A7( P0. 7) 经一级或非门产生。R /C 则由RD 和A7 经一级或非门提供。可见在读写时,A7亦应为低电平。输出状态信号STS 接到P3. 2 端可供单片机查询判断A / D 转换是否结束。AD574 的A0由

27、地址总线的最低位A0( P0. 0) 控制,可用于实现全12 位转换,并将12 位数据分两次送入数据总线。2.5.4 存储器的选取在数字化语音存储与回放的设计中可用AT29C040 Flash存储器来存储时间,AT29C040具有在线可擦写、非挥发性、信息保存可靠、存储容量大等优点,每片的容量为512K字节,它是国外最新产品,该产品的读写一般与RAM一样,由于89C51一般能寻址64K字节。所以需要利用P1口进行地址扩宽,本系统中另加三根线(P1.1、P1.2、P1.3),作地址线用,使寻址空间扩展到512K字节,并分别采用分而管理方式分配存,即在总线输出地址之前,先对外加的3根高位地址选页,

28、然后在所选页中进行输入输出操作。AT29C040读取时间仅为70ns,单一+5V电源,双8k字节的引导区,部程控定时器,硬件和软件数据保护功能,快速扇出程序周期10ms,低功耗:待机为100uA,启动工作为50mA,10000次擦写次数。输入输出全兼容CMOS和TTL电路。图4.10 AT29C040引脚如下2.6 对数字化语音存储与回放系统的校正首先对频域中的函数进行分析,在频域304030H围的曲线如图所示。由图可见,它近似于阻带增益变化极为缓慢近于恒定的高通滤波器。进一步分析可知,该曲线在频率很高处有大幅度的下降,故可用带通滤波器来拟合该曲线,由于受单片机数据运算处理能力(0.5MPS)

29、的限制,数字滤波不易实现,故这里采用硬件滤波,滤波电路如图所示。图4.12 滤波电路该滤波网络采用简单的无源滤波网络即可实现,图中C1、R1构成初始放大倍数近乎恒定的网络.观察到(/f)/(/f5)在频率较高处有大幅度的衰减,故该网络还应满足在频率较高处的衰减特性,考虑到对于声音信号,过多的高频分量只能增加噪声,所以后接让R2、C1构成低通滤波器,截止频率设在3.4KHz+/-100Hz。该网络在频域由30Hz起,增益缓慢增大,到3.4kHz处幅频。三、程序设计单片机AT89C51通过片选方式读A/D转换数据、写数据存储器以与将数据送入D/A转换器。录音时AT89C51通过定时器控制采样频率。

30、定时将A/D转换数据存入数据存储器中。放音时,单片机AT89C51通过定时器控制,定时的将数据从数据存储器中取出送往D/A转换器进行数摸转换。定时器1中断入口读取定时器服务标志位00HHHH00H00H00H以方式0录音以方式1录音以方式2录音以方式3录音 等待返回图5.2 定时器1中断服务程序流程图键盘中断入口读键值08H08H08H08H08H其他设置方式0录音标志设置方式1录音标志设置方式2录音标志设置录音回放标志 开定时器1中断置位自动录音标志位 返 回 等 待图5.3 键盘中断程序流程主程序如下:BZ1: EQU 20HBZ2: EQU 21HBZ3: EQU 22HMOV 20H,

31、 #00HMOV 21H, #00HMOV 22H, #00HSETB EASETB 1TSETB EX0MAIN: MOV R1, #80HMAIN0: MOV A, 20H CJNE A, #01H, MAIN1 JMP CCMAN1: MOV A, 21H CJNE A, #01H, MAIN2 JMP FFMAIN2: MOV DPTR, #0EFFFH MOVX A, DPTR MOV DPTR, #0DFFFH MOVX DPTR, A MOV DPTR, #0BFFFH MOV A, R1 DEC A MOV R1, A CJNE A, #00H, MAIN0 JMP MAINC

32、C: MOV 21H, #00H MOV R2, #0FFH MOV R3, #0FFHCC0: MOV A, 22H MOV R1, #80H CJNE A,#00H, CC1 MOV 22H, #00H JMP MAINCC1: MOV DPTR, #0FFF7H MOVX A, DPTR MOV DL, R2 MOV DH, R3 MOVX DPTR, A DEC R2 CJNE R2, #00H, CC2 MOV R2, R3CC2: MOV DPTR, #0FFFBH MOVX DPTR, A MOV DPTR, #0FFFEH MOV A, R1 MOVX DPTR, A DEC

33、A MOV R1, A CJNE A, #00H, CC1 JMP CC0FF: MOV 20H, #00H MOV R2, #FFH MOV R3, #0FFHFF0: MOV A, 22H MOV R2, #80H CJNE A, #00H, FF1FF1: CJNE R2, #00H, FF2 JMP MAINFF2: MOV DL, R2 MOV DH, R3 MOVX A, DPTR MOV DPTR, #0FFBH MOVX DPTR, A DEC R2 CJNE R2, #00H,FF3 MOV R2, R3FF3: MOV DPTR, #0FFFEH MOV A, R1 MOV

34、X DPTR, A DEC A MOV R1, A CJNE A,#00H, FF1 JMP FF0中断程序如下:(1) 键盘中断:2D: JNB P10 K1 JNB P11 K2 JNB P12 K3 JNB P13 K4 JNB P14 K5 JNB P15 K6 JMP 2DK1: ACALL DELAY JNB P10 K11 JMP P10 2DK2: ACALL DELAY JNB P11 K21 JMP 2DK3: ACALL DELAY JNB P12 K31 JMP 2DK4: ACALL DELAY JNB P13 K41 JMP 2DK5: ACALL DELAY JN

35、B P14 K51 JMP 2DK6: ACALL DELAY JNB P15 K61 JMP 2DK11: MOV R0, #10H ;置0.2ms/div RET ;返回中断K21: MOV R0, #20H ;置2ms/div RET ;返回中断K31: MOV R0, #40H ;置20ms/div RET ;返回中断K41: MOV 20H, #01H ;置0.2ms/div RET ;返回中断K51: MOV 21H, #01H ;置0.2ms/div RET ;返回中断K61: MOV 22H, #01H ;置0.2ms/div RET ;返回中断(2)A/D转换器中断: 89C

36、51单片机采用中断方式读取转换的结果,A/D转换的程序如下: MOV A,00H ;指定IN0的通道号 MOV DPTR, #OEFFFH ;指向0809的口地址MOVX DPTR,A ;启动0809转换LOOP: AJMP LOOP ;等待转换结束采用中断方式等待转换结束的A/D转换和D/A转换程序如下: ORG 0000H ;复位 AJMP START ORG 0013H ;INT1中断向量地址 AJMP INT1SV ;转中断服务子程序 START: SETB INT1 ;测中断响应信号是否来到 SETB EA ;开中断 SETB EXI ;允许INT1产生中断 MOV DPTR, #O

37、EFFFH ;指向0809的口地址 MOV A, 00H ;0809IN0的通道号 MOVX DPTR, A ;启动0809转换 LOOP: AJMP LOOP ;等待转换 INT1SV: MOV DPTR, #0EFFFH ;指向0809口地址 MOVX A,DPTR ;读A/D转换的结果 MOV DPTR,#7FFFH ;指向DAC0832口地址 MOVX DPTR, A ;启动0832转换MOV DPTR, #0EFFFH ;指向0809以进行下一次MOV A, 00H ;A/D转换(IN0)MOVX DPTR, A ;启动A/D转换RETI;中断返回,进行下一次A/D、D/A的转换,如

38、此周而复始。又由前面数据采集模块的介绍我们已经知道,DAC0832被接成双缓冲方式,已指定了0832的口地址为07FFFH。当P27=0时,由于0832部的两级寄存器的WR1、WR2都与89C51的WR信号直接相连接,当WR来到时,DAC0832完成一次D/A转换,其转换程序如下:MOV DPTR, #7FFFH ;地址指针指向0832的口地址MOV A, #data ;A/D转换的结果data送累加器AMOVX DPTR, A ;累加器A的数字量送DAC0832执行MOVX DPTR ,A这条指令时,可以生成WR信号,DAC0832的输出经运算放大器后可以得到与输入数字量成比例的模拟电压信号

39、。对单片机控制0832产生锯齿波的程序如下:OUTPUT: MOV R1, #0FFH ;送数字量进寄存器;MOV DPTR, #07FFFH ;地址指针指向0832的口地址MOV A, R1 ;寄存器容送累加器AMOVX DPTR, A ;累加器A的数字量送DAC0832CALL DELAY ;调用延迟子程序DEC R1 ;数字量值减1JMP OUTPUT ;往复输出MOV A, DATA ;往累加器A中送延迟常数DELAY:LOOP DELAY ;等待延迟RET ;中断返回四、设计体会经过这学期的刻苦努力,我的课程设计终于取得了阶段性的进展,虽然我们最后未能将此系统做出实际的产品来,但我们

40、觉得在这两个多月之,自己的确尽了最大的努力,去钻研这个系统,从用PROTEL布线布板到收集大量的有关本系统的文献资料再到周期非常长的软件调试,我们接触了真正设计一个电子产品的全部过程,学到了很多实实在在的知识。在元器件的焊接过程中,由于这次都是我们自己设计电路在电路板上的排布格式,而且也要根据电路图自己研究线的连接,所以一开始感觉很困难。尤其是在焊接芯片时,由于他的引脚很多,只要焊错一点就很麻烦。不过进过多次的尝试与总结,终于初步的把电路焊接出来,不过主要是语音处理部分的,其外围电路由于元器件的缺失没有完整的焊接出来。另外,通过这次设计,我最大的体会就是理论的知识看似掌握的很透彻,但真正把它做出产品出来确实遇到很多困难。在完成之际,我首先要向指导老师表示最真挚的意。在课题的写作期间,我经历了不知从何入手的无助和设计过程中遇到的各种困难,都是靠老师在百忙之中抽出时间来对我们悉心指导,为我们提出了各方面的指导意见,为我们提供各方面的重要资料,是我们的工作进程中的中间力量。在此,还要感学校老师一直为我们准备好优越的实验设备,工具,电子元件和实验环境。由于本人学识有限,加之时间仓促,文中不免有错误和待改进之处,真诚欢迎各位师长、提出宝贵

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁