《智能仪器理论与应用》
课程设计
学生姓名:
学 号:
专业班级:测控技术与仪器2班 指导教师:
2008年12月18日
目 录
一.课程设计目的…………………………………………………第2页
二.课程设计题目描述和要求……………………………………第2页
三.课程设计主要内容……………………………………………第2页
四.实验主程序……………………………………………………第3页
五.总结与心得……………………………………………………第6页
一.课程设计的目的:
1. 巩固掌握所学的知识,熟悉单片机的汇编程序;
2. 认识与掌握ZY1420A的性能与使用;
3. 锻炼动手能力,为毕业设计与日后的工作与科研做基础。
二.课程设计的题目描述与要求:
本课程设计要求实现单片机控制语音模块的应用。具体要求如下:
1. 了解语音模块的应用,查阅ZY420A的应用资料;
2. 利用单片机控制ZY1420A实现分段录音和放音;
3. 利用按键选择录放音段,利用LCD提示录放音的作用。
三.课程设计主要内容:
首先我们对ZY420A进行了系统的了解,在老师的指导下我们查阅了ZY1420A的实用手册:
ZY1420是广州致远电子有限公司开发的优质微型语音录放模块ZY1420,内部使用ISD1420作为主控芯片,且具备ISD1420的全部优良性能。如大容量的EEROM存储器,消噪的话筒,放大器自动增益调节AGC电路,专用语音滤波电路,高稳定性的时钟震荡电路和语音处理电路。除此以外ZY1420还对ISD1420的标准外围电路作了优化,并全部集成于模块内部,同用户使用标准ISD1420的DIP40封装IC相比较,ZY1420可以提供更加稳定可靠的性能,更低的价格,更方便的使用,同时还可以减小实际的体积。ZY1420提供6.4K取样频率,取样的语音直接存储到片内的不挥发存储器内部,不需要数字化和压缩的其它手段,直接模拟存储能提供真实自然的语音,音乐声音。不象其它的固态数字录音质量要受到影响。
ZY1420 使用上来也十分简单,按住录音按键(REC 保持低电平)电路进入录音状态(录音指示LED亮),当REC变高或录音存储器录满时电路退出录音状态进入准备状态,轻按PLAYE按键,这样给PLAYE脚一个低电平脉冲电路进入触发放音状态直到放音结束按下PLAYL按键,PLAYL脚保持为低电平,电路进入电平放音状态,直到PLAYL变高或放音结束,电路重新进入准备状态。注意:REC的优先级大于PALYE 和PLAYL。
ZY1420A的录音与放音是可以通过手动控制的。本次课程设计是要通过汇编程序,用单片机代替手动来控制该语音模块的分段录音与放音。
ZY1420A主要有三个功能,录音,电平控制放音,脉冲触发放音。
1. 录音子程序
控制录音主要有两个数据:1.录音的开始地址 2.录音的时间 。把这两个数据都控制了,就可以控制录音时把声音录到那几段里头,注意REC信号将被延迟50ms防止开关抖动引起重复触发。录音子程序原代码如下 :
名称:RECORD
功能:录音
入口:R7(开始地址),R6(H),R5(L)(录音时间,单位:ms)
RECORD:
MOV A,R7
CALL ADDR_OUT
CLR REC
RECORD2:
LCALL DELAY1MS ;延时 1ms
DJNZ R5,RECORD2 ;录音时间控制
DJNZ R6,RECORD2
RECORD3:
SETB REC ;释放录音按键
RET
2. 电平控制放音子程序
电平控制放音中开始地址和播放时间也是必不可少的,只要控制了这两个参数就可以确定播出内容。不过需要注意的是,播放的时候总是从一段的开头开始播放的,当需要分段播放控制时,录音时每一个内容的开头必须从一个段的开头开始。电平控制放音子程序原代码如下:
名称:PLAYL
功能:电平控制放音
入口:R7(开始地址),R6(H),R5(L)(放音时间,单位:ms)
PLAYL:
MOV A,R7
LCALL ADDR_OUT ;设定开始播放地址
CLR P1.1 ;控制播放
PLAYL1:
LCALL DELAY1MS ;延时 1ms
DJNZ R5,PLAYL1 ;播放时间控制
DJNZ R6,PLAYL1
PLAYL2:
SETB P1.1 ;释放播放按键
RET
3. 脉冲触发放音子程序
脉冲触发放音与电平控制放音有些不同,脉冲触发放音不能够由单片机来控制放音的时间,只能够控制放音的开始地址。脉冲触发放音开始后就一直播放到遇到结束符或语音芯片的尽头。所以一般在分段语音控制里头不常用。
四.实验的主程序:
结合上面,我们写出实验的主程序:
A0 BIT P3.2
A1 BIT P3.3
A2 BIT P3.4
REC BIT P1.0
PLL BIT P1.1
ORG 8000H
LJMP MAIN
ORG 8100H
MAIN:
LCALL MATH
MOV R7,A
MOV R6,#1
MOV R5,#1
LCALL RECORD
LCALL MATH
MOV R7,A
MOV R6,#1
MOV R5,#1
LCALL PLAYL
RECORD:
MOV A,R7
CALL ADDR_OUT
CLR REC
RECORD2:
LCALL DELAY1MS ;延时 1ms
DJNZ R5,RECORD2 ;录音时间控制
DJNZ R6,RECORD2
RECORD3:
SETB REC ;释放录音按键
RETI
PLAYL:
MOV A,R7
LCALL ADDR_OUT ;设定开始播放地址
CLR P1.1 ;控制播放