资源描述:
《数字录音机实验设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数字录音机(微机原理与接口技术-课程设计)设计题目:数字录音机一、设计目的:1、了解数字录音技术的基本原理。2、进一步掌握A/D转换器与D/A转换器的使用方法。3、巩固和加深用汇编语言程序设计的能力。二、设计所用器件和仪器设备:1、实验箱 1台2、计算机 1台3、麦克及喇叭三、设计内容及连接电路:1、将声传感器接J2,把代表语音的电信号送给ADC0809通道2(IN2);D/A转换器的输出端J1接喇叭。电路如下: 2、编程以每秒钟5000次的速率采集IN2输入的语音数据并存入内存,共采集600
2、00个数据(录12秒),然后再以同样的速率将数据送DAC0832使喇叭发声(放音)四、总体设计方案流程图1、 2、 3、4、 五、程序清单及注释Datasegmentimportequ0dd80h-280hio0809a equimport+29ah;AD0809的地址io0832a equimport+290h;DAC0832的入口地址io8253a equimport+280h;8253的入口地址io8253c equimpo
3、rt+283h;8253的控制字地址io8255a equimport+288h;8255的入口地址io8255c equimport+28bh;8255的控制字的地址word0db0dh,0ah,'按r键开始录音',0dh,0ah,24hword2db0DH,0AH,'按p键开始放音',0dh,0ah,24hword3db0DH,0AH,'按t键开始重播,否则按任意键退出',0dh,0ah,24hbuf db60000 dup(?);开辟内存空间存放数据 DataendsCodesegment Assumecs:code,ds:dat
4、aStart: Movax,data; Movds,ax; Movds,offsetword0;显示录音提示 Movah,09h; Int21hTest1: Movah,1;等待键盘输入 Int21h Cmpal,’r’ Jnztest1;与’r’比较,若是则执行下面的录音,不是则等待 Movdi,offsetbuf;定义缓冲区指针 Movcx,60000Begin: Movdx,io0809a;ADC0809的地址 Outdx,al;启动一次A
5、/D转换器 Call delay;调用延时子程序 In al,dx;从端口读入数据 Mov[di],al;将数据放入缓冲区中 Inc di Loopbegin;循环装入60000个数据 Movdx,offsetword2;显示放音提示 Movah,9 Int21hTest2: Movah,1 Int21h Cmpal,’p’ Jnztest2;与’p’比较,若是则执行放音,不是则等待Play: Movdi,offsetbuf;取缓冲区的入口地
6、址 Movcx,60000Begin1: Movdx,io0832a;DAC0832的入口地址 Moval,[di];将要转换的数据从内存中取出 Outdx,al;将数据打入寄存器 Call delay;调用延时子程序 Incdi Loopbegin1 Mov dx,offsetword3;显示循环放音提示 Movah,9 Int21h Movah,1 Int21h Cmpal,’t’ Jz play;与’t’比较,若是则重新播放,
7、不是则退出 Movah,4ch Int21h Delay procnear Pushdx;保存dx的内容 Movdx,io8253c;8253的控制字地址 Moval,00010000b;计数器0只读低字节以方式0工作,二进制计数 Outdx,al Movdx,io8253a;8253的入口地址 Moval,200;写入循环计数初值 Outdx,al Movdx,io8255c;8255的控制字的地址 Moval,10010000b;D7=1控制字标
8、志位,D6D5=00方式0,;D4=1表示A口输入 Outdx,al Movdx,io8255a;8255的入口地址Check: