用8253+8255+0832+0809实现数字录音机.doc_第1页
用8253+8255+0832+0809实现数字录音机.doc_第2页
用8253+8255+0832+0809实现数字录音机.doc_第3页
用8253+8255+0832+0809实现数字录音机.doc_第4页
用8253+8255+0832+0809实现数字录音机.doc_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机原理与接口技术 8253 8255 0809 0832实现数字录音机软件0604张健061201101主要硬件话筒-实现声音信号的采集,ADC0809-实现声音模拟信号到数字信号的转换,存储器-实现数字信号在内存的存储,ADC0832-实现数字信号到模拟信号的转换,并行接口芯片 8255A、计数器芯片8253实现相关功能的控制及录放音延时 相关技术:1) 调用录放音子程序首先DOS功能调用,先是录音、放音、退出提示信息。然后BIOS功能调用,读键盘缓冲区字符,等待键盘输入,若无按下,继续等待;由按键,则更具按键信息,进行相关操作,如为r则调用录音子程序,如为p则调用放音子程序,如为esc则退出,其他则显示警告信息。录音时间可以达到20秒或更长,通过两次或两次以上的磁盘存取来实现。放音则通过将磁盘文件的内容读到缓冲区,将缓冲区的内容再送到ADC0832的数据端口2) A/D录音子程序根据对8253的计数器0的初始化,ADC0809要以每秒5000的速率才给语音数据,共采集20秒或更长时间。选择IN2通道进行数据采集(ADDC=0,ADDB=1,ADDC=0),寻址A/D转换器的端口地址,CPU向IN2通道执行一条输出指令,启动一次A/D转换。寻址EOC状态端口地址,读取EOC状态,测试转换是否结束,没完成转换则继续等待,转换完后,则寻址ADC0809转换结果端口,CPU执行一条输入指令,取A/D转换结果。将转换结果通过写文件的方式保存到磁盘中。将EOC状态输入到8255A的PC0,通过检查CP0的状态判断转换是否结束。A/D转换端口地址:29AH3) D/A放音子程序置数据缓冲区的首址至DI,从文件中取数送入到缓冲区中,CPU执行一条输出指令进行D/A转换,由于缓冲区的大小有限,一次不能将文件中的所有数据取出,所以要分多次取数到缓冲区中,本系统实现两次存取就可以实现数据的存取转换。端口地址:290H4) 延时子程序DELAY是延时0.2秒的子程序。将8253计数器0的OUT0输入到8255A的C端口,测试PC1是否为1,若为1,则表示8253A未计数完成,继续查询,如果为1,则表示8253A计数完成,定时时间到设计内容及连接电路:1、将声传感器接J2,把代表语音的电信号送给ADC0809通道2(IN2);D/A转换器的输出端J1接喇叭。电路如下2、编程以每秒钟5000次的速率采集IN2输入的语音数据并存入内存,共采集60000个数据(录12秒),然后再以同样的速率将数据送DAC0832使喇叭发声(放音) 设计源码(完整):;DIGITAL RECORDER DESIGN;Use nested procedure to program;Press r to record.;Press p to play.;Press ESC to quit.;72H is an ASCII of r;70H is an ASCII of p;1BH is an ASCII of ESC key;Set flag BL.When BL=1,it means you can play it which you had recorded before,;otherwise itll display a message of WARNING;11*DATA SEGMENT ioport equ 0dd80h-280h io8253a equ ioport+280h;8253的A口地址 io8253b equ ioport+283h;8253的控制字 io8255a equ ioport+288h;8255的A口地址 io8255b equ ioport+28bh;8255的控制字 io0832a equ ioport+290h;DAC0832入口地址 io0809a equ ioport+29ah;ADC0809的IN2通道的地址 RECMSG1 DB Press r to record.,0dh,0ah,$ RECMSG2 DB 0dh,0ah,Record complete!Congratulation!,0dh,0ah,0dh,0ah,$ PLYMSG1 DB Press p to play.,0dh,0ah,$ PLYMSG2 DB 0dh,0ah,Play complete!Congratulation!,0dh,0ah,0dh,0ah,$ EXITMSG DB Press ESC to quit.,0dh,0ah,$ WARNMSG DB 0dh,0ah,Havent record anything yet!,0dh,0ah,Or wrong input character!,0dh,0ah,0dh,0ah,$ BUF DB 60000 DUP(?)DATA ENDS;30*CODE SEGMENT ASSUME CS:CODE,DS:DATA;-MAIN PROC FARSTART: PUSH DS SUB AX,AX PUSH AX SUB BX,BX PUSH BX;41 MOV AX,DATA MOV DS,AXNOTICE: MOV DX,OFFSET RECMSG1;显示录音提示Press r to record. MOV AH,09H INT 21H MOV DX,OFFSET PLYMSG1;显示放音提示Press p to quit. MOV AH,09H INT 21H MOV DX,OFFSET EXITMSG;显示退出提示Press ESC to quit. MOV AH,09H INT 21HCONTROL: MOV AH,1;键盘输入并回显 INT 21H CMP AL,72H;小写r的ASCII码 JE REC;若是r则转AD CMP AL,70H;小写p的ASCII码 JE FLAG CMP AL,1BH;ESC键的ASCII码 JE EXIT;若是ESC键,则退出 JNE WARNINGREC: CALL RECORDING;调用录音子程序 MOV DX,OFFSET RECMSG2;显示录音完毕提示Record complete!Congratulation! MOV AH,09H INT 21H MOV BL,1;BL=1表明程序已经进行了录音,可以执行放音,否则显示WARNING信息 ;MOV AL,0;AL清零 JMP NOTICEFLAG: CMP BL,1;判断BL是否为1 JE PLY;若是1,则转PLAY JNE WARNINGPLY: CALL PLAY;调用放音子程序 MOV DX,OFFSET PLYMSG2;显示放音完毕提示Play complete!Congratulation! MOV AH,09H INT 21H JMP NOTICEWARNING: MOV DX,OFFSET WARNMSG MOV AH,09H INT 21H ;显示警告信息Havent record anything yet!Or wrong input character! JMP NOTICEEXIT: MOV AH,4CH INT 21H RETMAIN ENDP;94-RECORDING PROC NEAR;录音子程序 PUSH SI PUSH AX PUSH CX PUSH DX MOV SI,OFFSET BUF MOV CX,60000AD: MOV DX,io0809a;ADC0809IN2通道地址29ah OUT DX,AL;启动一次AD转换 CALL DELAY;调用延时子程序 IN AL,DX MOV SI,AL INC SI LOOP AD POP DX POP CX POP AX POP SI RETRECORDING ENDP;118-PLAY PROC NEAR;放音子程序 PUSH DI PUSH AX PUSH CX PUSH DX MOV DI,OFFSET BUF MOV CX,60000 MOV DX,io0832a;DAC0832的入口地址DA: MOV AL,DI OUT DX,AL CALL DELAY INC DI LOOP DA POP DX POP CX POP AX POP DI RETPLAY ENDP;141-DELAY PROC NEAR;延时子程序 PUSH AX PUSH DX MOV DX,io8253b;8253的控制字 MOV AL,00010000B;计数器0以方式0工作,二进制计数 OUT DX,AL MOV DX,io8253a;8253的A口地址 MOV AL,200 OUT DX,AL MOV DX,io8255b;8255的控制字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论