微机原理及应用ISD1420语音模块课程设计Word格式文档下载.docx
- 文档编号:7451972
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:15
- 大小:137.94KB
微机原理及应用ISD1420语音模块课程设计Word格式文档下载.docx
《微机原理及应用ISD1420语音模块课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《微机原理及应用ISD1420语音模块课程设计Word格式文档下载.docx(15页珍藏版)》请在冰点文库上搜索。
然后通过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
MOVDX,I8255_Ctr;
8255初始化
MOVAL,90H;
PA为输入,PC的低四位为输出
OUTDX,AL
CALLISD_INIT;
ISD1420初始化
RET
MainInitENDP
********************************
录放音子程序
KEY1PROCNEAR
MOVAL,ISD1420_AD1;
1号键录音首地址
CALLKEY_REC
KEY1ENDP
KEY2PROCNEAR
MOVAL,ISD1420_AD2;
2号键录音首地址
CALLKEY_REC
KEY2ENDP
KEY3PROCNEAR
MOVAL,ISD1420_AD3;
3号键录音首地址
KEY3ENDP
KEY4PROCNEAR
MOVAL,ISD1420_AD4;
4号键录音首地址
KEY4ENDP
录音子程序
KEY_RECPROCNEAR
MOVCX,20;
录音时间长度,5s
CALLISD_REC;
调用录音子程序
KEY_REC1:
CALLDelay_025S;
延时
检测按键是否有键按下
JNZKEY_REC2
LOOPKEY_REC1;
录音时间,根据CX的值决定
CALLISD_STOP;
停止录音
KEY_REC2:
RET
KEY_RECENDP
放音子程序
KEY5PROCNEAR
5号键放音首地址
CALLKEY_PLAY
KEY5ENDP
KEY6PROCNEAR
6号键放音首地址
KEY6ENDP
KEY7PROCNEAR
7号键放音首地址
KEY7ENDP
KEY8PROCNEAR
8号键放音首地址
KEY8ENDP
KEY_PLAYPROCNEAR
MOVCX,20
CALLISD_PLAY;
KEY_PLAY1:
用于进度显示的时间参照
CMPbNewKey,0
JNZKEY_PLAY2;
LOOPKEY_PLAY1
KEY_PLAY2:
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;
无按键按下
ScanKey1:
CALLScanKey2;
有按键,取抖动处理
JNBScanKey4
ScanKey3:
MOVBL,KEYno
CALLDelay20ms;
消抖动
CALLDelay20ms
CALLScanKey2
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
TESTAL,04H
TESTAL,08H
TESTAL,10H
TESTAL,20H
TESTAL,40H
TESTAL,80H
CLC
JMPScanKey22
ScanKey21:
STC;
有键按下,置有键按下标志
MOVKEYno,BL;
获得键值
ScanKey22:
POPBX
ScanKey2ENDP
Delay20msPROCNEAR
PUSHCX
MOVCX,2640
LOOP$
POPCX
Delay20msENDP
延时0.25s(兼有键盘检测功能)
Delay_025SPROCNEAR
PUSHAX
PUSHDX
MOVCX,33000
CALLScanKey
JNBDL1S_2
MOVbNewKey,1
DL1S_2:
POPDX
POPAX
Delay_025SENDP
录音子程序
AL--存放操作方式设置值,CX--录几秒
ISD_INITPROCNEAR
MOVDX,I8255_PC
MOVAL,KeepMode
ORAL,7;
语音模块初始化,关闭录放音功能
MOVKeepMode,AL
MOVDX,ISDCOMM
XORAL,AL
OUTDX,AL;
允许手动录放音,当A6,A7为高时,无法手动放音
ISD_INITENDP
操作模式,AL-操作模式设置值
ISD_MODEPROCNEAR
语音模块初始化,将REC,PLAYE,PLAYL置位,并设置操作模式
MOVDX,ISDCOMM;
设置操作模式:
分段录音
设置操作模式命令在AL中
ANDAL,0FBH
ORAL,4
给PLAYL一个上升沿,锁存命令
ISD_MODEENDP
录音
ISD_RECPROCNEAR
设置录音起始地址
ANDAL,0FEH
REC变低,即开始录音
ISD_RECENDP
AL--放哪段音
ISD_PLAYPROCNEAR
暂停之前的录放音操作
设置放音起始地址
ANDAL,0FDH
0->
PLAYE开始放音,边沿放音模式
ORAL,2
1->
PLAYE
ISD_PLAYENDP
停止录放音
ISD_STOPPROCNEAR
PLAYL:
一个负脉冲停止放音
CALLDelay50ms
ORAL,3;
REC,PLAYE
关闭所有操作指令
ISD_STOPENDP
Delay50msPROCNEAR
MOVCX,13200
Delay50msENDP
ENDSTART
七、实验结果
JP13、JP14、JP15:
设置操作模式,MCU:
CPU控制方式;
MANUAL:
手动(REC、PLAYL、PLAYE)控制方式。
REC:
录音按键,低电平有效;
PLAYE:
电平放音按键,低电平有效,直到放音内容结束停止放音
PLAYL:
边沿放音按键,下降沿有效,并在下一个上升沿停止放音
MCU控制方式,通过G6区8个按键控制录、放音:
然后通过5~8号键放音,放音内容顺序对应1~4号键的录音内容。
八、心得体会
作为一名电子信息工程专业的大四学生,我觉得做课程设计是十分有意义的,而且是十分必要的。
在已度过的大学时间里,我们大多数接触的是专业课。
我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?
如何把我们所学的专业基础课理论知识运用到实践中去呢?
我想做类似的课程设计就为我们提供了良好的实践平台。
在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。
为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。
我们是在做课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。
其次,在这次课程设计中,我们运用到了以前所学的专业课知识,虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。
这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的辛勤指导下,终于游逆而解。
同时,在老师的身上我学得到很多实用的知识,在次我表示感谢!
同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 应用 ISD1420 语音 模块 课程设计