单片机课设语音播报测重值报告.docx
- 文档编号:9891087
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:29
- 大小:2.20MB
单片机课设语音播报测重值报告.docx
《单片机课设语音播报测重值报告.docx》由会员分享,可在线阅读,更多相关《单片机课设语音播报测重值报告.docx(29页珍藏版)》请在冰点文库上搜索。
单片机课设语音播报测重值报告
摘要
随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的要求。
为了改变传统称重工具在使用上存在的问题,在本设计中将智能化、自动化、人性化用在了语音电子秤重的控制系统中。
本系统主要由单片机来控制,测量物体重量部分由称重传感器及A/D转换器组成,加上显示单元和语音播报部分,此语音电子秤俱备了功能多、性能价格比高、功耗低、系统设计简单、使用方便直观、速度快、测量准确、自动化程度高等特点。
本系统以AT89S52单片机为主控芯片,外围附以称重电路、显示电路、语音播报电路等构成智能称重系统电路板,从而实现自动播报和自动称重系统的各种控制功能。
可以说,此设计所完成的语音电子秤很大程度上满足了应用需求。
关键词:
AT89S52单片机称重传感器A/D转换器语音芯片
目录
侯佳星
1绪论3
2总体方案设计3
2.1功能需求3
2.2数据需求3
3硬件设计4
3.1压力测量工作原理4
3.2语音芯片5
3.3电路设计7
3.4功能模块设计7
4软件设计9
4.1主程序9
4.2压力测量模块设计10
4.3语音芯片模块设计10
4.3.1地址分配10
5系统综合调试11
8总结及课设体会11
附录一13
附录二20
参考文献23
1绪论
在我们生活中经常都需要测量物体的重量,于是就用到秤,但是随着社会的进步、科学的发展,我们对其要求操作方便、易于识别。
随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。
人们为其方便还加入了语音播报的功能,语音电子秤向提高精度和降低成本方向发展的趋势引起了对低成本、高性能模拟信号处理器件需求的增加。
通过分析近年来电子衡器产品的发展情况及国内外市场的需求,电子衡器总的发展趋势是小型化、模块化、集成化、智能化;其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性。
随着科技的日益发展,语音电子秤的得到了广泛应用,使用语音电子秤也越来越被重视,语音电子秤在国内外有着良好的发展前景。
语音电子秤日益成熟完善,带动了语音电子秤的广泛普及,可见,语音电子秤有着广阔的发展空间。
这次的课程设计就是实现将砝码放在称重传感器上,实现在led上显示其砝码大小,并用语音芯片播报其数据的过程。
此过程还用到了A/D转换模块。
2总体方案设计
2.1功能需求
本次课程设计的语音电子秤功能需求主要是通过计算机软硬件实现语音播报称得的重量大小。
要求能够称量出物件的重量大小,同时播报出显示的重量大小,实现语音电子秤的基本功能,能够达到要求目的。
2.2数据需求
硬件数据需求方面,需要压力测量测得重量,故需要压力测量模块。
同时还需要语音ISD1420芯片录制准备播报的数据,故需要语音ISD1420芯片。
软件数据需求方面,需要语音录制播报的数据,故需要编制程序录制语音。
3硬件设计
3.1压力测量工作原理
实验采用的压力传感器为电阻应变式压力(称重)传感器。
电阻应变式称重传感器的原理:
弹性体(弹性元件,敏感梁)在外力作用下产生弹性变形,使粘贴在他表面的电阻应变片(转换元件)也随同产生变形,电阻应变片变形后,它的阻值将发生变化(增大或减小),再经相应的测量电路把这一电阻变化转换为电信号(电压或电流),从而完成了将外力变换为电信号的过程。
电阻应变式称重传感器有多种形式,使用最多的为桥路形式,如图1。
R1~R4:
为应变片
RX:
10K多圈调零电位器
R0:
温度补偿电阻
E:
传感器桥压
△V:
传感器输出
图1桥路压力传感器
当桥路中的某臂电阻发生变化时,桥路就不平衡,桥路输出的变化量就反映了压力的变化量。
该变化量通过二级放大,将微弱信号放大到A/D转换器可以分辨的模拟信号。
A/D将模拟信号转换成数字信号,利用CPU采集并存储采集到的数据。
本实验使用的压力传感器量程为600g,将压力传感器输出的小信号经过放大和低通滤波后,送至A/D转换器ADC0809转换成8位数字量信号。
设定空载时(0.0Kg)变换放大电路输出模拟量为0.0V,510g输出模拟量为4.9805V,平均每2g对应1LSB变化量。
压力的报警值为500g。
在测量过程中,当压力超过容限后,通过电压比较器开通硬件报警电路报警。
另外,在当压力超出量程后,输入A/D的模拟信号也有过压保护,不会损坏A/D转换器。
82加压和降压可以采用增加和减少砝码来实现。
本实验需要用到CPU模块(F3区)、压力测量模块(A4区)、并行模数转换模块(D7区)、8279显示模块(E7区)。
压力测量电路原理参见图2。
图2压力测量电路
上图中,RW5A为测压系统零点调节器,用户可以利用该电位器调节零点。
调零方法:
用万用表测量压力测量模块的P-Detect端电压,调节电位器RW5A,使之为零伏。
RW6A为测压系统放大倍数调节器,系统出厂时已设定好,用户不要随意调节。
放大倍数调节方法:
先调零,托盘放200g法码,用万用表测量P-Detect端电压,调节电位器RW6A,使之为2.00伏。
3.2语音芯片
现在以系列中的ISD1420芯片为例,介绍语音电路与单片机的应用接口。
其它系列型号芯片与此基本相同。
1、ISD1420芯片的特点
①.外围组件简单,仅需少量阻容组件、麦克风即可组成一完整录放系统。
②.模拟信息存储重放音质极好,并有一定混响效果。
③.待机时低功耗(0.5uA),典型放音电流15mA。
④.放音时间20s,可扩充级联。
⑤.可持续放音,也可分段放音,最小分段20s/160段=0.125s/段,可分段数160段。
⑥.录放次数达10万次。
⑦.断电信息存储,无需备用电池,信息可保100年。
⑧.操作简单,无需专用编程器及语音开发器。
⑨.高优先级录音,低电平或负边沿触发放音。
⑩.单电源供电,典型电压+5v
2、ISD1420的内部逻辑结构
ISD1420系列语音集成电路的内部结构由内部时钟电路,自动增益控制电路,前置控制电路,滤波器,差动功率放大电路,电源电路,内存EEPROM,地址译码电路,存储控制电路等组成。
3、ISD1420的封装引脚及含义
ISD1420系列语音芯片最后2位数字表示语音录放时间的长度,录放时间最长为20s。
ISD1420系列语音芯片的封装引脚如图3所示。
它是有28条引脚的双列直插式芯片。
各条引脚的功能含义说明如下。
A0~A7:
引脚1~6,9,10,地址输入端或控制命令输入端。
A7,A6同时为高电平时,A4~A0为控制命令;否则,A7~A0为地址。
SP-,SP+:
扬声器连接端,输出音频信号。
DGND:
引脚12,数字信号地线。
AGND:
引脚13,模拟信号地线。
V+:
模拟信号电源,+5V。
MIC:
引脚17,话筒输入端。
MICREF:
引脚18,话筒参考输入端。
AGC:
引脚!
9,自动增益控制端。
ANAIN:
引脚20,模拟信号输入端。
ANAOUT:
引脚21,模拟信号输出端。
PLAYL/:
引脚23,放音控制电平触发端。
当该端为低电平时,芯片进入放音周期;当该端为高电平时,停止放音。
PLAYE/:
引脚24,放音控制脉冲触发端。
该端输入由高电平向低电平跳变的下降沿时,芯片进入放音周期。
RECLED/:
引脚25,录音显示端。
该端接发光二极管,在录音时作录音指示灯。
XCLK:
引脚26,时钟控制端。
REC/:
引脚27,录音控制端。
该端为低电平时,芯片进入录音状态,录音期间该端必须保持低电平。
REC/信号的优先级高与PLAYL/和PLAYE/两种放音信号。
图3语音芯片引脚图
3.3电路设计
图4电路设计图
3.4功能模块设计
根据分析整个系统主要划分两个主模块,即:
语音芯片模块和压力测量模块,功能模块图如图2所示。
图5系统功能模块图
(1)语音芯片模块
该模块实现设置播报数据存储的地址和延时的子程序模块。
(2)压力测量模块
该模块实现将压力转换成数字在LED上显示出来。
(3)调用子程序模块
设置初始地址模块,语句如下:
MOVA,R7
LCALLADDR_OUT:
设定开始播放地址
延时50ms模块,语句如下:
MOVR7,#250:
延时50ms
PLAYE1:
LCALLDELAY1MS
DJNZR7,PLAYE1
8279初始化模块,语句如下:
MOVLEDDBuf,#12H
LCALLINIT8279
显示字符模块,语句如下:
MOVR7,A
CALLM125D64:
ADHEX*500/256 =*125/64
CALLHB2:
换成bcd
CALLTODISP:
拆开显示
LCALLDISPLAY:
显示在LED上
延时模块,语句如下:
Lcalldelay:
一段时间的延时
4软件设计
4.1主程序
图6主程序流程图
4.2压力测量模块设计
图7压力测量模块设计图
4.3语音芯片模块设计
图8语音芯片模块设计图
4.3.1地址分配
通过硬件电路原理图可知,单片机AT89S52的P1口直接与ISD1420连接,实现对ISD1420的多种控制与操作,其语音接口地址为P1口。
P1.6置低电平为放音(同时P1.7为高电平),P1.7置低电平为录音(同时P1.6为高电平),A0、A1固定接地,单片机输出数据P1.0~P1.7与ISD1420录放控制码对应关系如下表。
次课设分11段,每段时间长度为1s。
ISD1420的地址空间分配表
地址
录音值
A0
A1
A2
A3
A4
A5
A6
A7
时间/s
0x6F
‘0’
0
1
1
0
1
1
1
1
1
0x7F
‘1’
0
1
1
1
1
1
1
1
1
0x10
‘2’
0
0
0
1
0
0
0
0
1
0x18
‘3’
0
0
0
1
1
0
0
0
1
0x20
‘4’
0
0
1
0
1
0
0
0
1
0x28
‘5’
0
0
1
1
0
0
0
0
1
0x30
‘6’
0
0
1
1
0
0
0
0
1
0x38
‘7’
0
0
1
1
1
0
0
0
1
0x40
‘8’
0
1
0
0
0
0
0
0
1
0x5F
‘9’
0
1
0
1
1
1
1
1
1
0x4F
‘10’
0
1
0
0
1
1
1
1
1
5系统综合调试
1.压力测量模块遇到的问题:
显示的值和砝码的值不一样
解决方法:
经过查阅资料不断地改进程序,了解到了测量时会产生误差,所以显示的值和所放的砝码值不一致,通过对显示进行修正,使显示正确。
2.语音芯片模块遇到的问题:
在录制语音时不同地址播报一样的数据
解决方法:
经过查阅资料不断地改进程序,了解到地址的分配时是不一样的,所以我在选择地址时要注意,前四位变化,后四位均为0,因此解决了此问题。
8总结及课设体会
随着集成电路和计算机技术的迅速发展,使电子仪器的整体水平发生巨大变化,传统的仪器逐步的被智能仪器所取代。
因此,只有充分了解有关智能仪器、单片机、传感器以及各部分之间的关系才能达到要求。
经过两周的努力,终于按照课程设计要求完成了语音电子秤控制系统的任务。
在做课程设计的过程中,虽然碰到了不少的困难,但是在老师的指导以及自己的努力下,终于取得了一定成果。
一、主要工作及结论
1、熟悉AT89S52单片机功能及工作特性,掌握其接口扩展方法。
2、通过对数据采集的分析,了解了各种传感器、放大器及A/D转换器和V/F转化器对信号的转换、传输有了更深的认识。
3、对键盘和显示器进行选型比较,得出各种型号优劣比。
4、对语音芯片的录制和播报也有深刻是认识。
二、存在的问题
1、电子电路的设计中对各种影响因素的考虑不够完全,比如在对过电压情况的处理中未作防范措施。
2、系统设计不够优化,有待改善。
3、动手能力不强,语音电子秤的精确度有待提高。
这些都为我今后的学习和工作留下了积极的影响。
为期两周的单片机课程设计结束了。
在这段日子里,充分了解了理论联系实际的重要性。
以往在书本上学的都是理论知识,如果没有实践的结合只能了解到皮毛,理解起来也不具体,身份抽象。
让我们明白做事要认真小心细致,不得有半点马虎。
同时也培养了我们坚强不屈的本质,不到最后一秒决不放弃的毅力!
同时,在实习的过程中也知道毅力的重要性,对于遇到的困难我们不能就此放手,一定要越挫越勇。
附录一
;功能:
压力测量显示播报
;接线:
用导线连接压力测量模块的P-Detect到并行模数转换模块的IN-0;
;用导线对应连接并行模数转换模块的CS_0809到CPU模块的8000H
;并行模数转换模块的接压力测量模块的Vref电源。
;用导线对应连接语音接口模块的REC、PLAYE、PLAYL到CPU模块的P32、P33、P34
;用导线对应连接语音接口模块的A0~A7到CPU模块的P10~P17。
;//****************************************************************
RECBITP3.2
PLEBITP3.3
PLLBITP3.4
Z8279EQU08701H;8279状态/命令口地址
D8279EQU08700H;8279数据口地址
LEDMODEQU00H;左边输入八位字符显示
;外部译码键扫描方式,双键互锁
LEDFEQEQU36H;扫描速率
LEDCLSEQU0C1H;清除显示RAM
LEDWR0EQU80H;设定的将要写入的显示RAM地址
WEIGHTEQU60H
LEDDBufEQU30H
D0809EQU8000H;通道0地址
ORG0000H
JMPSTART
ORG0100H
START:
MOVLEDDBuf,#12H
LCALLINIT8279
MLOOP:
MOVDPTR,#D0809
MOVA,#0
MOVX@DPTR,A
ADIN:
LCALLDELAY
MOVXA,@DPTR;读入结果
MOV@R0,A
NOP
MOVR7,A
LCALLM125D64;ADHEX*500/256 =*125/64
MOVWEIGHT,R7
LCALLHB2;转换成bcd
LCALLTODISP;拆开显示
LCALLDISPLAY
Lcalldelay
LCALLDELAY
LCALLDELAY
Lcalldelay
LJMPMLOOP
INIT8279:
;8279初始化子程序
PUSHDPH;保存现场
PUSHDPL
PUSHACC
LCALLDELAY;延时
MOVDPTR,#Z8279
MOVA,#LEDMOD;置8279工作方式
MOVX@DPTR,A
MOVA,#LEDFEQ;置键盘扫描速率
MOVX@DPTR,A
MOVA,#LEDCLS;清除LED显示
MOVX@DPTR,A
LCALLDELAY;延时
POPACC;恢复现场
POPDPL
POPDPH
RET
;显示字符子程序
;输入:
R4,位置R5,值
DISLED:
PUSHDPH;保存现场
PUSHDPL
PUSHACC
MOVA,#LEDWR0;置显示起始地址
ADDA,R4;加位置偏移量
MOVDPTR,#Z8279
MOVX@DPTR,A;设定显示位置
MOVDPTR,#LEDSEG;置显示常数表起始位置
MOVA,R5
MOVCA,@A+DPTR;查表
MOVDPTR,#D8279
MOVX@DPTR,A;显示数据
POPACC;恢复现场
POPDPL
POPDPH
RET
DISPLAY:
MOVR0,#LEDDBUF
MOVR1,#2
MOVR4,#4
NEXTBIT:
MOVA,@R0
MOVR5,A
LCALLDISLED
INCR0
INCR4
DJNZR1,NEXTBIT
MOVR5,#12H
MOVR4,#0
LCALLDISLED;显示'g'
LCALLSPLIT
LCALLMOD1
RET
DELAY:
;延时子程序
PUSHR0;保存现场
PUSHR1
MOVR0,#0
DELAY1:
MOVR1,#0
DJNZR1,$
DJNZR0,DELAY1
POPR1;恢复现场
POPR0
RET
LEDSEG:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;'0,1,2,3,4,5,6,7'
DB7FH,67H,77H,7CH,39H,5EH,79H,71H;'8,9,A,B,C,D,E,F'
DB00H,73H,6FH;',P,g'
M125D64:
;A*125/64
MOVB,#125
MULAB
MOVR7,A;积低位
MOVR6,B;积高位
MOVR3,#6;右移6次为除64
DIV2:
CLRC
MOVA,R6
RRCA;R6、R7值除2
MOVR6,A
MOVA,R7
RRCA;R7值右移
MOVR7,A
DJNZR3,DIV2
RET
;功能:
双字节十六进制整数转换成双字节BCD码整数
;入口条件:
待转换的双字节十六进制整数在R6、R7中。
;出口信息:
转换后的三字节BCD码整数在R3、R4、R5中。
HB2:
CLRA;BCD码初始化
MOVR3,A
MOVR4,A
MOVR5,A
MOVR2,#10H;转换双字节十六进制整数
HB3:
MOVA,R7;从高端移出待转换数的一位到CY中
RLCA
MOVR7,A
MOVA,R6
RLCA
MOVR6,A
MOVA,R5;bcd码带进位自身相加,相当于乘2
ADDCA,R5
DAA;十进制调整
MOVR5,A
MOVA,R4
ADDCA,R4
DAA
MOVR4,A
MOVA,R3
ADDCA,R3
MOVR3,A;双字节十六进制数的万位数不超过6,不用调整
DJNZR2,HB3;处理完16bit
RET
TODISP:
MOVA,R4
MOVLEDDBUF+2,A
MOVA,R5
SWAPA
ANLA,#0FH
MOVLEDDBUF+1,A
MOVA,R5
ANLA,#0FH
MOVLEDDBUF+0,A
ToRET:
RET
;名称:
PLAYL
;功能:
电平控制放音
;**************************************
PLAYL:
MOVA,R7
LCALLADDR_OUT;设定开始播放地址
CLRPLL;控制播放
MOVR5,#1;控制延时2s
PLAYL1:
LCALLDELAY1S
DJNZR5,PLAYL1
SETBPLL;释放播放按键
RET
;**************************************
;名称:
ADDR_OUT
;功能:
发送地址
;入口:
A(地址)
;**************************************
ADDR_OUT:
movp1,A
RET
;**************************************
;名称:
延时程序
;**************************************
DELAY1MS:
;延时1ms
MOVR4,#249
DELAY1MS1:
NOP
NOP
DJNZR4,DELAY1MS1
RET
DELAY1S:
MOVR4,#4
Delayloop:
movr6,#0
DelayLoop1:
movr7,#0
DelayLoop2:
NOP
NOP
djnzr7,DelayLoop2
djnzr6,DelayLoop1
djnzr4,Delayloop
ret
;*****************************************
SPLIT:
MOVA,WEIGHT
MOVB,#0AH
DIVAB
RET
MOD1:
JNZMOD2;A有无,若有到MOD2
JZMOD4;A无
MOD2:
;11-19
CJNEA,#1,MOD3
LCALLMOD10
JMPMOD4
MOD3:
MOVDPTR,#LANDATA
MOVCA,@A+DPTR
LCALLDELAY1S
MOVR7,A;播放录音
LCALLPLAYL
LCALLMOD10
MOVA,B
JNZMOD
JMPMOD5
MOD10:
LCALLDELAY1S
MOVR7,#4fH;第十段录音播放
LCALLPLAYL
RET
MOD4:
;单音
MOVA,B
MOD:
MOVDPTR,#LANDATA
MOVCA,@A+DPTR
LCALLDELAY1S
MOVR7,A;播放录音
LCALLPLAYL
MOD5:
RET
LANDATA:
DB6FH,7FH,10H,18H,20H,28H
DB30H,38H,40H,5FH
END
附录二
图9显示10克界面
图10显示20克界面
图11显示50克界面
图12显示60克界面
图13显示70克界面
参考文献
[1]汪道辉
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 语音 播报 测重值 报告