当前位置:文档之家› [VIP专享]数字录音机实验报告 2

[VIP专享]数字录音机实验报告 2

REC: MOV DX,IO0809;0809的片选地址 OUT DX,AL;启动A/D转换 CALL DELAY IN AL,DX;输入转换数据 MOV [DI],AL INC DI;指针加1
误提示 msg2 db 0dh,0ah,'<Press P to play record>',0dh,0ah,'$';放音提示 msg3 db 0dh,0ah,'<Input Error!Please input P or p to continue...>',0dh,0ah,'$';输入错
误提示 msg4 db 0dh,0ah,'Recording...',0dh,0ah,'$'; msg5 db 0dh,0ah,'Playing...',0dh,0ah,'$'; msg6 db 'Input:','$'; msg7 db '--Digital Recorder v.N.0-- by Jackie Lam',0dh,0ah,'$';版本信息 msg8 db 0dh,0ah,'Thank you!',0dh,0ah,'$'; msg9 db 0dh,0ah,'Record Complete!',0dh,0ah,'$'; msg10 db 0dh,0ah,'Play Over.',0dh,0ah,'$'; msg11 db 0dh,0ah,'If you want to pause,press any key!','$';暂停录音 msg12 db 0dh,0ah,'<Press R to play replay>',0dh,0ah,'$';重播提示
计算机学院网络工程 20082100108 林泽期
综合设计题目:数字录音机
一、设计目的:
1、了解数字录音技术的基本原理。
2、进一步掌握 A/D 转换器与 D/A 转换器的使用方法。
3、巩固和加深用汇编语言程序设计的能力。
二、设计所用器件和仪器设备:
1、实验箱
1台
2、计算机
1台
3、麦克及喇叭 各 1 个
buf
db 60000 dup(?)
DATAS ENDS
CODES SEGMENT ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS MOV DS,AX MOV DX,OFFSET MSG7;显示版本信息 MOV AH,09H INT 21H MOV DX,OFFSET MSG7;显示版本信息 MOV AH,09H INT 21H
2、编程以每秒钟 5000 次的速率采集 IN2 输入的语音数据并存入内存,共采集 30000 个数据(录 6 秒),然后再以同样的速 率将数据送 DAC0832 使喇叭发声(放音) 四、设计方案流程图:
开始 显示录音提示
Y 进入放音பைடு நூலகம்
输入选择
Y
输入 R?
N
输入 R?
Y
进入录音
N
返回 DOS
结束
输入选择
三、设计内容及要求:
1、将声传感器接 J2,把代表语音的电信号送给 ADC0809 通道 2(IN2);D/A 转换器的输出端 J1 接喇叭(采用单缓冲方式)。
电路如下:
43m1m“-”J520Gm01m24“492k-Z(1)g2L3-”3060@k%3-g“/1”7mD2%BJ/Tg0d1-ZP318¬-A_2"o70)Xc0?y258z6n”217 NE)
MOV DX,OFFSET MSG0;显示录音提示 MOV AH,09H;DOS中断调用,显示字符串'PRESS R TO START RECORD' INT 21H MOV DX,OFFSET MSG6;显示输入 MOV AH,09H INT 21H
43m1m“-”J520Gm01m24“492k-Z(1)g2L3-”3060@k%3-g“/1”7mD2%BJ/Tg0d1-ZP318¬-A_2"o70)Xc0?y258z6n”217 NE)
CHOOSE0: MOV AH,1;输入并显示所作选择 INT 21H CMP AL,'R';与大写“R”作比较 JZ OK0;输入“R”,进入录音 CMP AL,'r';否则与小写“r”作比较 JZ OK0;输入“r”,进入录音 MOV DX,OFFSET MSG1;否则,输入错误,显示错误信息 MOV AH,09H INT 21H MOV DX,OFFSET MSG6;显示输入 MOV AH,09H INT 21H JNZ CHOOSE0
OK0: MOV DX,OFFSET MSG4;显示正在录音 MOV AH,09H INT 21H ;MOV DX,OFFSET MSG11;显示暂停播放提示
计算机学院网络工程 20082100108 林泽期
;MOV AH,09H ;INT 21H MOV DI,OFFSET BUF;定义缓冲区的指针 MOV CX,60000;计数初值为采集数据的数目:60000
43m1m“-”J520Gm01m24“492k-Z(1)g2L3-”3060@k%3-g“/1”7mD2%BJ/Tg0d1-ZP318¬-A_2"o70)Xc0?y258z6n”217 NE)
计算机学院网络工程 20082100108 林泽期
msg13 db '<Press Q to quit>',0dh,0ah,'$';退出提示
输入 P?
N
计算机学院网络工程 20082100108 林泽期
五、实现的程序清单及注释:
DATAS SEGMENT ioport equ 0c800h-280h io0809 equ ioport+29ah;ADC0809通道2的入口地址 io0832 equ ioport+290h;DAC0832的片选地址 io8253 equ ioport+280h;8253的片选地址 io8255 equ ioport+288h;8255的片选地址 io8253c equ ioport+283h;8253的控制字地址 io8255c equ ioport+28bh;8255的控制字地址 msg0 db '<Press R to start record>',0dh,0ah,'$';录音提示,0dh和0ah是回车+换行 msg1 db 0dh,0ah,'<Input Error!Please input R or r to continue...>',0dh,0ah,'$';输入错
相关主题