数字录音机实验设计Word格式.docx
《数字录音机实验设计Word格式.docx》由会员分享,可在线阅读,更多相关《数字录音机实验设计Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
1、本设计可采用单独的硬件设计,也可以软件与硬件结合设计。
后者的设计方案较为合适,能够达到微机原理与接口技术的目的.
2、单独使用硬件来完成此设计,所使用的硬件材料较多,且不便于调试,而且设计复杂,相对于用软件和硬件想结合而言,后者较为合适。
3、由于我们本期学的课程是微机原理与接口技术课程,掌握了一定的微机原理与接口技术知识.所以此设计采用硬件与软件结合设计,配合通用微机接口实验系统实验箱实现此设计及此设计功能,与此同时也可以对此门课程加深理解和巩固。
为以后的学习和工作打下良好的基础.
四.设计内容及连接电路:
1、将声传感器接J2,把代表语音的电信号送给ADC0809通道2(IN2);
D/A转换器的输出端J1接喇叭。
电路如下:
2、编程以每秒钟5000次的速率采集IN2输入的语音数据并存入内存,共采集60000个数据(录12秒),然后再以同样的速率将数据送DAC0832使喇叭发声(放音)
四、总体设计方案流程图
2、
五.硬件设计
数字录音电路工作原理介绍如下:
按图连接好线路,将传感器(话筒)接T2,由话筒传入语音电信号,把代表语音的电信号传送给ADC0809。
A/D转换芯片通道2(IN2),片选信号CS低电平有效接微机通用实验系统箱地址298H,由298H地址信号控制,低电平表示ADC0809芯片被选中.利用可编程定时/计数器8253,由CLK0计数时钟,输入时钟频率1MHz,再由GATE0门控信号接+5V,通过GATE0端控制计数器的启动计数和停止计数操作;
CS片选信号接实验箱地址280H;
同理,CS低电平有效,若280H为低电平,表示8253芯片被选中.OUT0接PA0;
时间到或者计数结束输出引脚,将8253设置成方式0。
计数值为200(定时0.2mS)。
再利用8255PA0查询OUT0电平,高电平表示定时时间到,CS片选信号接实验箱288H,由它输入。
D/A转换器的输出端下接喇叭。
CS片选信号接地址292H。
总体思想为:
以每秒钟5000次的速率(以8253作为定时)IN2采集输入的语言数据并存入内存。
共采集60000个数据(录12秒钟),然后以同样的速率将数据送入DAC0832使喇叭发声(放音),达到数字录音、放音的效果。
4.1.2芯片简介及管脚功能介绍
(1)、A/D转换器ADC0809
a主要特性 图2
⑴8路8位A/D转换器,即1
分辨率8位。
(2)具有转换起停控制端。
(3)转换时间为100μs
(4)单个+5V电源供电
(5)模拟输入电压范围0~+5V
不需零点和满刻度校准。
(6)工作温度范围为-40~+85℃
(7)低功耗,约15mW。
b、引脚功能介绍及工作过程:
1:
引脚管脚介绍如下
IN0~IN7:
8路模拟量输入端。
D7~D8:
8位数字量输出端。
ALE:
地址锁存允许信号输入端。
通常向此引脚输入一个正脉冲时,可将三位地址选择信号A、B、C锁存于地址寄存器内并进行译码,选通相应的模拟输入通道。
START:
启动A/D转换控制信号输入端。
一般向此引脚输入一个正脉冲,上升沿复位内部逐次逼近寄存器,下降沿后开始A/D转换.
CLK:
时钟信号输入端.
EOC:
转换结束信号输出端.A/D转换期间EOC为低电平,A/D转换结束后EOC为高电平.
OE:
输出允许控制端,控制输出锁存器的三态门.当OE为高电平时,转换结果数据出现在D7~D0引脚.当OE为低电平时,D7~D0引脚对外呈高阻状态.
C、B、A:
8路模拟开关的地址选通信号输入端,3个输入端的信号为000~111时,接通IN0~IN7对应通道。
VR(+)、VR(-):
分别为基准电源的正、负输入端。
VCC:
电源输入端,+5V。
GND:
地。
2:
ADC0809的工作过程是:
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
(2)D/A转换器DAC0832
a:
主要特性:
图3
(1)与TTL电平兼容
(2)分辨率为8位
(3)建立时间为1us
(4)功耗为20mW
(5)电流输出型D/A转换器
b:
DAC0832的引脚图及其引脚功能
1D0~D7:
8位数据输入端。
2ILE:
输入锁存允许信号,高电平有效。
此信号用来控制8位输入寄存器的数据是否能被锁存的控制信号之一。
3CS:
片选信号,低电平有效。
此信号与ILE信号一起用于控制WR1信号能否起作用。
4WR1写信号1,低电平有效。
在ILE和CS有效的情况下,此信号用于控制将输入数据锁存于寄存器中。
5WR2写信号2,低电平有效。
在XFER有效的情况下,此信号用于控制将输入寄存器中的数字传送到8位DAC寄存器中。
6XFER传送控制信号,低电平有效。
7Vcc逻辑电源。
一般在+5V~+10V范围内。
8GND接地。
c:
DAC0832的工作过程如下:
(1)CPU执行输出指令,输出8位数据给DAC0832;
(2)在CPU执行输出指令的同时,使ILE,WR1,CS三个控制信号端都有效,8位数据锁存在8位输入积存器中。
(3)当WR2,XFER二个控制信号端都有效时,8位数据再次被锁存到8位DAC寄存器,这时8位D/A转换器开始工作,8位数据转换为相对应的模拟电流,从IOUT1和IOUT2输出。
(3)芯片8253简介
A:
8253管脚介绍及其功能如下:
图4
1CS:
片选信号,输入,低电平有效,它与译码器输出信号相连接,当CS为低电平时,8253芯片被CPU选中。
2WR:
写引脚,输入,低电平有效,用于控制CPU对8253的写操作,此引脚与CPU系统控制总线的IOW相连。
3RD:
读引脚,输入,低电平有效,用于控制CPU对8253的读操作,此引脚与CPU系统控制总线的IOR相连。
4CLK:
计数时钟,输入。
5GATE:
门控信号,输入,由外部信号通过GATE端控制计数器的启动计数和停止计数的操作。
6OUT:
时间到或计数结束输出引脚。
B:
8253芯片的功能如下:
可编程计数/定时器8253有两个基本功能,即定时和计数。
除此之外还可以作为频率发生器,分频器,实时钟,单脉冲发生器等。
这些功能是通过对8253编程,写入方式控制字来完成的。
本次毕业设计即是采用8253方式0来实现的。
通过计数控制,门控信号的影响和写入新的初植对计数过程的影响来分步完成计数结束和产生中断。
(4):
8255芯片管脚介绍及功能如下:
图5
1PA7~PA0:
A端口数据信号引脚;
2PB7~PBO:
B端口数据信号引脚;
3PC7~PC0:
C端口数据信号引脚.
4CS:
片选信号.CS为低电平时,表示8255A被选中.通常该信号的控制是通过译码电路的输出端控制.
5WR:
写信号,低电平有效,与CPU的RD控制线相连.
6WR:
写信号,低电平有效,与CPU的WR控制线相连.
设计主要是利用8255芯片的CS片选信号,当CS为低电平时,8255被选中.达到数据输出的目的.数据传送到DAC0832芯片中,为D/A转换做好准备.
六、软件设计
Datasegment
importequ0dd80h-280h
io0809a
equimport+29ah;
AD0809的地址
io0832a
equimport+290h;
DAC0832的入口地址
io8253a
equimport+280h;
8253的入口地址
io8253c
equimport+283h;
8253的控制字地址
io8255a
equimport+288h;
8255的入口地址
io8255c
equimport+28bh;
8255的控制字的地址
word0db0dh,0ah,'
按r键开始录音'
0dh,0ah,24h
word2db0DH,0AH,'
按p键开始放音'
0dh,0ah,24h
word3db0DH,0AH,'
按t键开始重播,否则按任意键退出'
buf
db60000
dup(?
);
开辟内存空间存放数据
Dataends
Codesegment
Assumecs:
code,ds:
data
Start:
Movax,data;
Movds,ax;
Movds,offsetword0;
显示录音提示
Movah,09h;
Int21h
Test1:
Movah,1;
等待键盘输入
Cmpal,’r’
Jnztest1;
与’r’比较,若是则执行下面的录音,不是则等待
Movdi,offsetbuf;
定义缓冲区指针
Movcx,60000
Begin:
Movdx,io0809a;
ADC0809的地址
Outdx,al;
启动一次A/D转换器
Call
delay;
调用延时子程序
In
al,dx;
从端口读入数据
Mov[di],al;
将数据放入缓冲区中
Inc
di
Loopbegin;
循环装入60000个数据
Movdx,offsetword2;
显示放音提示
Movah,9
Test2:
Movah,1
Int21h
Cmpal,’p’
Jnztest2;
与’p’比较,若是则执行放音,不是则等待
Play:
取缓冲区的入口地址
Begin1:
Movdx,io0832a;
DAC0832的入口地址
Moval,[di];
将要转换的数据从内存中取出
Outdx,al;
将数据打入寄存器
Incdi
Loopbegin1
Mov
dx,offsetword3;
显示循环放音提示
Cmpal,’t’
Jz
play;
与’t’比较,若是则重新播放,不是则退出
Movah,4ch
Delay
procnear
Pushdx;
保存dx的内容
Movdx,io8253c;
Moval,00010000b;
计数器0只读低字节以方式0工作,二进制计数
Outdx,al
Movdx,io8253a;
Moval,200;
写入循环计数初值
Movdx,io8255c;
Moval,10010000b;
D7=1控制字标志位,D6D5=00方式0,
;
D4=1表示A口输入
Movdx,io8255a;
Check:
Inal,dx;
将数据输入al
Testal,01;
检查PA0的状态是否为高电平
Jzcheck
Popdx;
恢复dx
Ret;
返回到delay入口
Delayendp
Codeends
Endstart
六、实验结果
在本实验中,充分利用学过的汇编语言程序设计能力,在了解了数字录音技术的基本原理后,通过对A/D转换器与D/A转换器的使用,以及利用8253和8255芯片实现延时功能,成功完成了数字录音机的设计。
测试实验结果时,成功实现了12s的录音及放音,达到设计要求。
在本次数字录音机设计中,实现功能有12s录音功能、放音功能、重复放音功能。
其中,提示信息为中文提示,清楚明了。
七、程序调试过程中遇到的问题及解决方法
在调试过程中,出现缺少提示信息的栏目,导致在运行过程中不知道何时开始录音,何时开始放音,如何设置重播音。
发现问题后,马上增加白提示信息,使程序在运行过程中更加流畅,操作更加简单。
八、实验总结和修必意见
这次课程设计让我了解到数字录音技术的基本原理,进一步掌握A/D转换器和D/A转换器的使用方法,并巩固和加深了汇编语言程序设计的能力。
本次设计中,还可以增加更多的功能,由于时间的关系而没有添加上去。
从总体上看,本次实验还是非常成功的。
九.参考文献
1.微型计算机技术马群生
2.微型计算机系统原理及应用周明德
3.微机原理与接口技术冯博琴
4.微型计算机技术孙德文
5.微机原理.外设.接口陈启美