




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验题目:数字录音机实验目的:1、了解数字录音机的基本原理 2、进一步掌握A/D转换器与D/A转换器的使用方法 3、巩固和加深汇编语言程序设计的能力实验平台:1、实验箱 1台 2、计算机 1台 3、麦克风及喇叭 各一个内容要求:编程实现以每秒5000次的速率采集ADC0809的IN2输入的语言数据并存入内存,共采集30000各数据(录音6秒),然后再以同样的速率将数据送DAC0832使喇叭发声实验原理:一、各芯片的使用及工作方式1、 ADC0809在本次设计中的作业及工作方式ADC0809作数据采集用,用麦克6秒的语音信号并保存到相应的存储单元。对ADC0809的8个模拟通道,这里是用数据总线的低8位D2、D1、D0来控制ADC的通道选择信号ADDC、ADDB、ADDA,以实现选择其中之一模拟通道输入。在本次设计中,初始值为010(D2=0,D1=1,D0=0),即选择IN2通道进行数据采集,其地址为29aH。然后使ADC0809的ALE、START有效,START和ALE信号通过CPU向选中的通道口执行一条输入指令,启动A/D转换。2、 DAC0832在本次设计中的作用及工作方式在本次设计中,DAC0832的ILE信号与+5V连在一起,WR1和WR2 均接地,总是有效的,DAC0843的输入寄存器和DAC寄存器均处于选通状态,只要CPU想88H端口执行一条输入指令,就会使XFER有效,CPU输出繁荣数字量就会顺利通过DAC0832的两个寄存器,然后进行D/A转换,在运算放大器的输出端得到转换结果。 3、8253、8255A在本次设计中的作业及工作方式 8253在本次设计中用作定时,工作于方式0,与8255A连接使用完成定时操作。8255A采用工作方式0进行输入操作,工作方式0是8255A个端口的基本输入输出方式,CPU可从指定端口输入信息,也可向指定端口输出信息。当8253写入方式0控制字后,计数输初端OUTO立即变为低电平,并且在计数过程中一直保持低电平,当计数完成时,OUTO输出百年未高电平,8253计数器0的OUTO与8255A的PAO连接,因此可通过查询PAO是否为1,判断计数是否完成。计数完成,则表示定时时间到。 二、管脚接线图 1、ADC0809:3、 DAC0832:三、实验流程图 四、实物连接图:五、程序设计代码data segmentioportequ 1200h-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:,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 int 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个数据 mov 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,40 ;写入计数器初值40movdx,io8253boutdx,almovdx,io8255c ;设8255的A口为输入moval,9bhoutdx,almovdx,io8255d ;从8255的A口输入delay1:inal,dxandal,1 ;判断PA0是否为1jzdelay1 ;若PA0不为1,转de_laypopdxret ;子程序返回delay endpcode endsend begin六、问题分析在实验中,主要遇到了以下两个问题:1) 由于试验设备的问题,造成了试验的不成功。刚开始还不知道是此问题,以为是自己的程序有错误,所以一直在检测自己的程序,后来利用老师的检验测验,才发现时试验设备出现问题,换一台设备就可以了。2) 入口地址错误,在A/D转换中,由于接线时姐在INT2口,而在程序中用了ioport+298h这个地址,所以造成录音不成功。经过排查,把ADC0809设置成为ioport+29ah就可以了。七、试验小结本次试验室一个综合型设计试验,所以做起来相对来说有点难度,刚开始时还不知道从何入手,但是通过参考8253、8255、ADC0809和DAC0832等芯片的使用方法及原理,以及参阅试验指导书后,发现本设计实验其实并不难,于是首先画出个芯片的接线方法,然后写成程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 平板电脑在教育中的应用
- 2025-2030年新能源汽车动力电池回收利用技术趋势报告
- 工业信息化安全培训课件
- 道路公共基础试题及答案
- 2025年新能源行业企业绿色生产成本控制策略报告
- 平板WPS课件标注智能画笔
- 无锡一模理综试卷及答案
- 基础护理期末试题及答案
- 网络金融基础试题及答案
- 新材料产业园区相关行业投资规划报告范本
- 医疗器械管理制度
- 《思想道德与法治》(23版):绪论 担当复兴大任 成就时代新人
- 弘扬志愿服务精神主题班会
- 血透病人高血压护理查房
- 电瓶车撞车调解协议书(2篇)
- 2024版非ST段抬高型急性冠脉综合征诊断和治疗指南解读
- EPC工程总承包项目部人员岗位职责
- 《中国马克思主义与当代》课后题答案
- 爆炸物品生产安全操作规程
- 中华人民共和国统计法
- 热电厂输煤作业安全培训
评论
0/150
提交评论