版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、实验目的 、了解数字录音技术的基本原理。 、进一步掌握A/D转换器与D/A转换器的使用方法。二、实验内容 、按图41连接电路,将声传感器接J2,把代表语音的电信号送给ADC0809通道2(IN2);D/A转换器的输出端通过K8跳线接喇叭。 、编程,以每秒钟5000次的速率采集IN2输入的语音数据并存入内存,共采集60000个数据(录12秒),然后再以同样的速率将数据送DAC0832使喇叭发声(放音)。三、实验提示 1、将8253设置成方式0,计数200个,(定时0.2ms),利用PA0查询OUT0电平,若高电平表示定时时间到。2、ADC0809通道2(IN2)的口地址为298Hdata s
2、egmentioportequ 01400h-0280hluportequ ioport+29ah ;录音口地址fangportequ ioport+290h ;放音口地址io8253aequ ioport+283hio8253bequ ioport+280hio8255cequ ioport+28bhio8255dequ ioport+288hdata_qu db 60000 dup(?) ;录音数据存放数据区news_1 db 'Press any key to record:',24h ;录音提示news_2 db 0dh,0ah,' Playing:',
3、24h ;放音提示data endscode segmentassume cs:code,ds:data,es:databegin:mov ax,data ;初始化 mov ds,ax mov es,ax mov dx,offset news_1 ;显示录音提示 mov ah,9 int 21htest_1: mov ah,1 ;等待键盘输入 int 16h jz test_1 ;若不是则循环等待 call lu ;调用录音子程序 mov dx,offset news_2 ;显示放音提示 mov ah,9 int 21hfy: call fang ;调用放音子程序 mov ax,0c07h i
4、nt 21h cmp al,20h jz fy mov ah,4ch ;返回DOS int 21hlu proc near ;录音子程序 mov di,offset data_qu ;置数据区首地址为DI mov cx,60000 ;录60000个数据 cldxunhuan:mov dx,luport ;启动A/Dout dx,alcall delay ;延时in al,dx ;从A/D读数据到ALstosb ;存入数据区,使DI加1loop xunhuan ;循环ret ;子程序返回lu endpfang proc near ;放音子程序 mov cx,60000 ;放60000个数据 mo
5、v si,offset data_qu ;置数据区首地址为SI cldfang_yin:mov dx,fangport lodsb ;从数据区取出数据 sub al,30h out dx,al ;放音 call delay ;延时 loop fang_yin ;循环 ret ;子程序返回fang endpdelay procnear ;延时子程序pushdxmoval,10h ;设8253通道0工作方式0movdx,io8253aoutdx,almoval,200 ;写入计数器初值200movdx,io8253boutdx,almovdx,io8255c ;设8255的A口为输入moval,9
6、bhoutdx,almovdx,io8255d ;从8255的A口输入delay1:inal,dxandal,1 ;判断PA0是否为1jzdelay1 ;若PA0不为1,转de_laypopdxret ;子程序返回delay endpcode endsend begino/*/* 数字录音机 */*/#include<stdio.h>#include<conio.h>#include "ApiEx.h"#pragma comment(lib,"ApiEx.lib")void lu();/*录音函数*/void fang();/*放
7、音函数*/void de_lay();/*延时函数*/int i;BYTE *ii;void main()printf("-EXP22_13_LYJ-n");printf("1. MIC = J2n");printf("2. I/O (298-29F) = 0809 (CS)n");printf("3. (JUMP 2 TO 3) of JP2n");printf("4. SPEAKER = J1n");printf("5. I/O (290-297) = 0832 (CS)n&quo
8、t;);printf("6. 8253 (CLK0) = (1MHz) or (2MHz)n");printf("7. TPC (+5V) = 8253 (GATE0)n");printf("8. 8253 (OUT0) = 8255 (PA0)n");printf("9. I/O (280-287) = 8253 (CS)n");printf("10. I/O (288-28F) = 8255 (CS)n");printf("Press any key to begin!nn&quo
9、t;);getch();if(!Startup()/*打开设备*/printf("ERROR: Open Device Error!n");return;ii = (BYTE *)malloc(60000);/*分配空间用于存放录音数据*/if(!ii)printf("No memory!7");exit(0);PortWriteByte(0x28b,0x9b);/*设8255A口为输入方式*/PortWriteByte(0x283,0x10);/*初始化8253通道0为方式0*/printf("Press any key to record!
10、n");/*录音提示*/getch();printf("Playing record!n");lu();/*按任意键后开始录音*/printf("Press any key to playing!ESC is exit!n");/*放音提示*/while(getch() != 0x1b)fang();/*按任意键后开始放音*/printf("Playing end!n");Cleanup();/*关闭设备*/void lu()BYTE data;for(i=0;i<60000;i+)/*启动A/D,采集60000个数据放在ii中*/PortWriteByte(0x29a,0);de_lay();PortReadByte(0x29a,&data);*(ii+i) = data;void fang()BYTE data;for(i=0;i<60000;i+)/*将ii中的60000个从D/A输出*/ data = *(ii+i);PortWriteByte(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年枣庄煤矿医院医护人员招聘笔试试题及答案详解
- 2025年无锡市手外科医院医护人员招聘笔试试题及答案详解
- 2026江苏苏州书香酒店集团招聘4人笔试模拟试题及答案详解
- 2026年阳西县精神病医院医护人员招聘笔试备考题库及答案解析
- 2026年伊川县参加洛阳市中小学面向社会联考招聘教师80人笔试备考题库及答案详解
- 2025年银川市铁路职工医院医护人员招聘笔试试题及答案详解
- 2026山东东营市体育运动学校招聘教师3人笔试备考试题及答案详解
- 2026重庆綦江区青年镇招聘公益性岗位9人笔试备考试题及答案详解
- 2026湖南大学科创港校区劳务派遣岗位招聘46人笔试参考题库及答案详解
- 2026贵州黔南州贵定医疗集团总院各院区面向社会招聘工作人员24人笔试模拟试题及答案详解
- 培训中心建设方案
- 中国临床肿瘤学会(CSCO)食管癌诊疗指南2025
- 启示录概论课件
- GB/T 18324-2025滑动轴承铜合金轴套尺寸和公差
- 建筑设计立意构思
- 2025年南京市中考物理试卷(含答案及解析)
- 2024广东省湛江市技师学院工作人员招聘考试试题及答案
- 篮球社团汇报课件
- 初中特长生考试题及答案
- jha分析培训课件
- 中医急诊急救技术
评论
0/150
提交评论