ISD1420语音模块课程设计.docx

上传人:b****8 文档编号:11250562 上传时间:2023-02-26 格式:DOCX 页数:15 大小:137.11KB
下载 相关 举报
ISD1420语音模块课程设计.docx_第1页
第1页 / 共15页
ISD1420语音模块课程设计.docx_第2页
第2页 / 共15页
ISD1420语音模块课程设计.docx_第3页
第3页 / 共15页
ISD1420语音模块课程设计.docx_第4页
第4页 / 共15页
ISD1420语音模块课程设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

ISD1420语音模块课程设计.docx

《ISD1420语音模块课程设计.docx》由会员分享,可在线阅读,更多相关《ISD1420语音模块课程设计.docx(15页珍藏版)》请在冰豆网上搜索。

ISD1420语音模块课程设计.docx

ISD1420语音模块课程设计

机械电子工程系

 

课程设计报告

 

专业班级电信

(2)班

课程微机原理及应用

题目ISD1420语音模块实验

学号

学生姓名

指导教师

2009年3月

西安文理学院机械电子工程系

课程设计任务书

学生姓名专业班级05级

(2)班学号

指导教师职称助教教研室电子信息工程

课程微机原理及应用

题目

ISD1420语音模块实验

开始日期2009.2.23完成日期2009.3.8

一、实验目的

了解ISD1420的性能;与PCI9052的接口逻辑;掌握手动和CPU控制两种录音、放音的基本功能。

二、实验设备

StarPCI9052、DMA$32BITRAM板卡一套、StarES-PCI模块一块、STARES598PCI实验仪一套、PC机一台。

三、实验内容

1、ISD1420语音模块(B1区):

(1)20秒录放音长度,具有不掉电存储功能;

(2)可分1-160段录放音片段

2、具体操作

(1)手动控制方式,通过B1区按键REC录音和按键PLAYE、PLAYL放音

(2)MCU控制方式,通过G6区8个按键控制录、放音:

1~4号键录音各5秒;然后通过5~8号键放音,放音内容顺序对应1~4号键的录音内容

四.实验原理图

五.实验步骤

1、主机连线说明:

2、将JP13,JP14,JP15跳向“MCU”,PCI9052控制,运行演示程序,1~4号键录音,5~8号键放音。

六.演示程序

.MODELTINY

.STACK100;堆栈段

ISD1420_AD1EQU00H;1号键录放音起始地址,每次录音5s

ISD1420_AD2EQU28H;2号键录放音起始地址

ISD1420_AD3EQU50H;3号键录放音起始地址

ISD1420_AD4EQU78H;4号键录放音起始地址

ISDCOMMEQU0F000H;录放音地址/操作模式输入地址,0F000H是接到CS1上的地址

I8255_CtrEQU0E003H;8255控制端口地址

I8255_PAEQU0E000H;键盘数据输入口

I8255_PCEQU0E002H;ISD1420控制输出口

.DATA

KeepModeDB7;保存REC、PLAYE、PLAYL当前值

bNewKeyDB0;有键按下标志位,清0-无键按下

KEYnoDB0;按键缓存

KeyTabDWKEY1,KEY2,KEY3,KEY4,KEY5,KEY6,KEY7,KEY8;录音键、放音键子程序入口地址

.CODE;程序段

START:

MOVAX,@DATA

MOVDS,AX

NOP

CALLMainInit;主程序初始化

Main:

CALLScanKey;扫描按键

JNBMain

Main1:

CALLKeyRun;按键处理

CMPbNewKey,0;是否有新的键按下

JZMain

MOVbNewKey,0;清按键标志

JMPMain1;循环进行实验内容介绍与ISD1420功能测试

;主程序初始化

MainInitPROCNEAR

MOVbNewKey,0;有键按下标志位,清0-无键按下

MOVDX,I8255_Ctr;8255初始化

MOVAL,90H;PA为输入,PC的低四位为输出

OUTDX,AL

CALLISD_INIT;ISD1420初始化

RET

MainInitENDP

;********************************

;录放音子程序

;********************************

KEY1PROCNEAR

MOVAL,ISD1420_AD1;1号键录音首地址

CALLKEY_REC

RET

KEY1ENDP

KEY2PROCNEAR

MOVAL,ISD1420_AD2;2号键录音首地址

CALLKEY_REC

RET

KEY2ENDP

KEY3PROCNEAR

MOVAL,ISD1420_AD3;3号键录音首地址

CALLKEY_REC

RET

KEY3ENDP

KEY4PROCNEAR

MOVAL,ISD1420_AD4;4号键录音首地址

CALLKEY_REC

RET

KEY4ENDP

;录音子程序

KEY_RECPROCNEAR

MOVCX,20;录音时间长度,5s

CALLISD_REC;调用录音子程序

KEY_REC1:

CALLDelay_025S;延时

CMPbNewKey,0;检测按键是否有键按下

JNZKEY_REC2

LOOPKEY_REC1;录音时间,根据CX的值决定

CALLISD_STOP;停止录音

KEY_REC2:

RET

KEY_RECENDP

;放音子程序

KEY5PROCNEAR

MOVAL,ISD1420_AD1;5号键放音首地址

CALLKEY_PLAY

RET

KEY5ENDP

KEY6PROCNEAR

MOVAL,ISD1420_AD2;6号键放音首地址

CALLKEY_PLAY

RET

KEY6ENDP

KEY7PROCNEAR

MOVAL,ISD1420_AD3;7号键放音首地址

CALLKEY_PLAY

RET

KEY7ENDP

KEY8PROCNEAR

MOVAL,ISD1420_AD4;8号键放音首地址

CALLKEY_PLAY

RET

KEY8ENDP

KEY_PLAYPROCNEAR

MOVCX,20

CALLISD_PLAY;调用录音子程序

KEY_PLAY1:

CALLDelay_025S;用于进度显示的时间参照

CMPbNewKey,0

JNZKEY_PLAY2;检测按键是否有键按下

LOOPKEY_PLAY1

KEY_PLAY2:

RET

KEY_PLAYENDP

KeyRunPROCNEAR

LEABX,KeyTab;有键按下,跳到相应处理程序

MOVAL,KEYno;KEYno--按键值

SHLAL,1;×2倍

XORAH,AH

ADDBX,AX

CALL[BX];[BX]=对应按键子程序入口地址

RET

KeyRunENDP

;按键扫描

ScanKeyPROCNEAR

MOVDX,I8255_PA;8255.PA----检测按键输入

INAL,DX;键扫描

CMPAL,0FFH

JNZScanKey1

ScanKey4:

CLC;无按键按下

RET

ScanKey1:

CALLScanKey2;有按键,取抖动处理

JNBScanKey4

ScanKey3:

MOVBL,KEYno

CALLDelay20ms;消抖动

CALLDelay20ms

CALLScanKey2

JNBScanKey4

CMPBL,KEYno

JNZScanKey3

ScanKey5:

MOVDX,I8255_PA

ScanKey6:

INAL,DX

CMPAL,0FFH

JNZScanKey6

STC

RET

ScanKeyENDP

;按下的键(1~8)转化为对应的键值(0~7),便于多分支程序处理

ScanKey2PROCNEAR

PUSHBX

XORBL,BL

MOVDX,I8255_PA

INAL,DX

TESTAL,01H

JZScanKey21

INCBL

TESTAL,02H

JZScanKey21

INCBL

TESTAL,04H

JZScanKey21

INCBL

TESTAL,08H

JZScanKey21

INCBL

TESTAL,10H

JZScanKey21

INCBL

TESTAL,20H

JZScanKey21

INCBL

TESTAL,40H

JZScanKey21

INCBL

TESTAL,80H

JZScanKey21

CLC

JMPScanKey22

ScanKey21:

STC;有键按下,置有键按下标志

MOVKEYno,BL;获得键值

ScanKey22:

POPBX

RET

ScanKey2ENDP

;延时

Delay20msPROCNEAR

PUSHCX

MOVCX,2640

LOOP$

POPCX

RET

Delay20msENDP

;延时0.25s(兼有键盘检测功能)

Delay_025SPROCNEAR

PUSHAX

PUSHCX

PUSHDX

MOVCX,33000

LOOP$

MOVCX,33000

LOOP$

CALLScanKey

JNBDL1S_2

MOVbNewKey,1

DL1S_2:

POPDX

POPCX

POPAX

RET

Delay_025SENDP

;录音子程序

;AL--存放操作方式设置值,CX--录几秒

ISD_INITPROCNEAR

MOVDX,I8255_PC

MOVAL,KeepMode

ORAL,7;语音模块初始化,关闭录放音功能

OUTDX,AL

MOVKeepMode,AL

MOVDX,ISDCOMM

XORAL,AL

OUTDX,AL;允许手动录放音,当A6,A7为高时,无法手动放音

RET

ISD_INITENDP

;操作模式,AL-操作模式设置值

ISD_MODEPROCNEAR

PUSHAX

CALLISD_STOP;语音模块初始化,将REC,PLAYE,PLAYL置位,并设置操作模式

MOVDX,ISDCOMM;设置操作模式:

分段录音

POPAX

OUTDX,AL;设置操作模式命令在AL中

MOVDX,I8255_PC

MOVAL,KeepMode

ANDAL,0FBH

OUTDX,AL

ORAL,4

OUTDX,AL;给PLAYL一个上升沿,锁存命令

MOVKeepMode,AL

RET

ISD_MODEENDP

;录音

ISD_RECPROCNEAR

MOVDX,ISDCOMM

OUTDX,AL;设置录音起始地址

MOVDX,I8255_PC

MOVAL,KeepMode

ANDAL,0FEH

OUTDX,AL;REC变低,即开始录音

MOVKeepMode,AL

RET

ISD_RECENDP

;放音子程序

;AL--放哪段音

ISD_PLAYPROCNEAR

PUSHAX

CALLISD_STOP;暂停之前的录放音操作

POPAX

MOVDX,ISDCOMM;设置放音起始地址

OUTDX,AL

MOVDX,I8255_PC

MOVAL,KeepMode

ANDAL,0FDH

OUTDX,AL;0->PLAYE开始放音,边沿放音模式

ORAL,2

OUTDX,AL;1->PLAYE

MOVKeepMode,AL

RET

ISD_PLAYENDP

;停止录放音

ISD_STOPPROCNEAR

MOVDX,I8255_PC

MOVAL,KeepMode

ANDAL,0FBH

OUTDX,AL;PLAYL:

一个负脉冲停止放音

ORAL,4

OUTDX,AL

CALLDelay50ms

ORAL,3;1->REC,PLAYE

OUTDX,AL;关闭所有操作指令

MOVKeepMode,AL

MOVDX,ISDCOMM

XORAL,AL

OUTDX,AL;允许手动录放音,当A6,A7为高时,无法手动放音

RET

ISD_STOPENDP

;延时

Delay50msPROCNEAR

PUSHCX

MOVCX,13200

LOOP$

POPCX

RET

Delay50msENDP

ENDSTART

七、实验结果

JP13、JP14、JP15:

设置操作模式,MCU:

CPU控制方式;MANUAL:

手动(REC、PLAYL、PLAYE)控制方式。

REC:

录音按键,低电平有效;

PLAYE:

电平放音按键,低电平有效,直到放音内容结束停止放音

PLAYL:

边沿放音按键,下降沿有效,并在下一个上升沿停止放音

MCU控制方式,通过G6区8个按键控制录、放音:

1~4号键录音各5秒;然后通过5~8号键放音,放音内容顺序对应1~4号键的录音内容。

八、心得体会

作为一名电子信息工程专业的大四学生,我觉得做课程设计是十分有意义的,而且是十分必要的。

在已度过的大学时间里,我们大多数接触的是专业课。

我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?

如何把我们所学的专业基础课理论知识运用到实践中去呢?

我想做类似的课程设计就为我们提供了良好的实践平台。

在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。

为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。

我们是在做课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。

其次,在这次课程设计中,我们运用到了以前所学的专业课知识,虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。

这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的辛勤指导下,终于游逆而解。

同时,在老师的身上我学得到很多实用的知识,在次我表示感谢!

同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1