为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

儿童卡片学习机.doc

2017-09-27 45页 doc 364KB 12阅读

用户头像

is_954223

暂无简介

举报
儿童卡片学习机.doc儿童卡片学习机.doc 第5页 共32页 编号 摘 要 随着社会的发展,儿童智力的开发越来越受到家长们的重视。学习机种类繁多,不同种类的学习机适合不同年龄的儿童。儿童卡片学习机适合3到6岁儿童使用,对开发儿童的智力有一定的促进作用。 在对单片机控制技术以及语音录放技术进行研究的基础上,设计了儿童卡片学习机。该学习机由中央控制电路、语音录放电路、卡片译码电路、信息识别电路以及模式选择电路组成。中央控制器根据卡片译码以及信息识别的结果控制语音电路播放预存的提示音,达到益智的目的。该卡片学习机有学习和测试两种模式。在学习模...
儿童卡片学习机.doc
儿童卡片学习机.doc 第5页 共32页 编号 摘 要 随着社会的发展,儿童智力的开发越来越受到家长们的重视。学习机种类繁多,不同种类的学习机适合不同年龄的儿童。儿童卡片学习机适合3到6岁儿童使用,对开发儿童的智力有一定的促进作用。 在对单片机控制技术以及语音录放技术进行研究的基础上,了儿童卡片学习机。该学习机由中央控制电路、语音录放电路、卡片译码电路、信息识别电路以及模式选择电路组成。中央控制器根据卡片译码以及信息识别的结果控制语音电路播放预存的提示音,达到益智的目的。该卡片学习机有学习和测试两种模式。在学习模式下,儿童点击卡片上的信息,通过语音电路播放该信息的内容;在测试模式下,首先播放测试问题,儿童进行应答,答对时给出表扬;答错时给出批评,最后根据儿童的表现情况给出测试结果以及。 测试结果表明,儿童卡片学习机符合设计要求,达到了设计目标,而且具有一定应用价值。 关键词:卡片识别;语音录放;模式选择 Abstract With the development of society, the intelligence development of children has been greatly valued by patents. There are various kinds of learning machines that have been designed according to the interest and ages of children. The learning machine with cards is one of them, which is suitable for the children ageing from 3 to 6 years old. The principle of learning machine with cards for children is studied in this article, based on which the learning machine has been designed. The designed learning machine with cards is comprised of central control circuit, voice recording circuit, card translator circuit, message identification circuit and mode selection circuit. The central control circuit controls the prestored alert tone played by the sound circuit according to the result of card translator and message identification, so that the purpose to improve the intelligence of children can be realized. The modes of this machine can be divided into two: leaning mode and test mode. In the learning mode, the children click the information on the card and then the information can be heard by the sound circuit. In the test mode, question is played first, and then the children give the answer. If the answer is right, the child will be praised; if the answer is wrong, the child will be criticized. The test results show that the designed leaning machine with cards for children has been compliances with the design requirements and reached the prospective goal finally. Moreover, certain practical value can be discovered from the designed learning machine with cards for children. Key words: Card Identification; Voice Record and Reproducing; Mode Selection. 目 录 引言 ..................................................................... 1 1 系统概述 ............................................................. 2 1.1 系统结构 .............................................................. 2 1.2 系统工作原理 .......................................................... 2 1.3 设计 .............................................................. 2 2 硬件电路设计 ......................................................... 3 2.1中央控制电路 .......................................................... 3 2.2卡片译码电路 .......................................................... 4 2.3信息识别电路 .......................................................... 5 2.4语音录制及播放电路 .................................................... 6 2.5 模式选择电路 .......................................................... 7 3 软件设计 ............................................................. 8 3.1 主程序 ................................................................ 8 3.2 卡片识别子程序 ........................................................ 9 3.3 按键识别子程序 ........................................................ 9 3.4 测试/学习模式子程序 .................................................. 11 3.5 语音电路发送数据子程序 ............................................... 13 3.6 定点录/放音子程序 .................................................... 14 4 系统测试 ............................................................ 16 4.1 硬件调试 ............................................................. 16 4.2软件调试 ............................................................. 16 4.3功能验证 ............................................................. 17 5 结论 ................................................................. 19 谢辞 .................................................. 错误~未定义书签。20 参考文献 ............................................................... 20 附录 .................................................................... 21 第1页 共32页 引言 我国是世界上最大的玩具制造国和出口国,全球70,的玩具是在我国境内制造的。国内市场的玩具约有3万多个品种,从业人员超过400万,年产值1000多亿元,产量占世界总产量的70,以上。中国14岁以下人口为3亿多,构成了庞大的玩具消费群体,玩具市场蕴藏着巨大商机。随着玩具市场的不断发展,玩具智能化逐渐成为玩具行业的发展新趋势。益智玩具,顾名思义就是可以让孩子在玩的过程中开发智力的玩具,能够提高孩子的观察、思考、想象、记忆和实践能力,能够增强孩子的自信心和成就感。益智玩具不同于普通的玩具,在设计上要通过一定的科学原理,使孩子在玩益智玩具的过程中能够锻炼逻辑思维能力、记忆力、耐力、意志力等等,而且将一些基础知识融入其中,能达到寓教于乐的效果。启发创造自由的想象空间,培育和刺激孩子的想象力的益智玩具正逐渐受到家长和孩子的宠爱。 目前,国内外市场上的益智类玩具已有数千种,其中比较有效的益智类玩具有200多种,这样,大量的产品中,克隆国外和中国传统益智类玩具的产品比较多,产品质量参差不齐,缺乏相应的和本土品牌,制约了我国益智类玩具的发展。 近年来,随着家长们对孩子情商、智商培养的逐渐重视,益智类玩具悄然走俏。而对于国内生产的琳琅满目的益智类玩具缺乏行业评判标准、质量参差不齐等问题,很多家长望而却步。中国玩具协会的相关人士表示,亟待制定儿童益智类玩具市场准入标准,为孩子提供最安全可靠的玩具。 本课题研究基于单片机、语音芯片、触摸按键设计的儿童卡片学习机。每张卡片上固定位置有各种字符、图案供儿童识别,每张卡片边沿固定位置有8位识别码(比如卡片上有孔位置表示数字0,无孔则表示数字1),当卡片插入学习机时,即可以根据卡片孔的位置识别该卡片。该学习机有学习和测验两种模式。在学习模式,当儿童点击卡片某字符或图案时,提示这是什么;在测验模式时,先问某某在哪儿,当儿童点击后给出正确或错误的评判,最后给出总的得分,并根据得分给出表示鼓励或赞扬的评语。 高科技智能化玩具不仅满足了儿童的好奇心,加强了孩子和玩具的互动,同时也激发了孩子的求知欲。智能化玩具将计算机、电子、通讯等领域内的先进技术“嫁接”到玩具产品中,突破了传统玩具的局限性,赋予玩具 “听”、“说”功能,可以与人进行互动。智能化玩具的形式多样、内容丰富,可以在与孩子们进行“情感”交流的同时培养孩子们良好的习惯,真正达到寓教于乐的目的。 第2页 共 32页 1 系统概述 本课题对儿童卡片学习机进行研究和设计。系统以MCS-51系列单片机作为核心控制器件,由语音录放电路,卡片译码电路,模式选择电路,信息识别电路组成。系统有两种模式,即:学习模式和测试模式。 1.1 系统结构 本系统包括中央控制电路,语音录制及播放电路,卡片译码电路,模式选择电路以及信息识别电路五部分组成,系统总框图如图1.1所示。 卡片译码电路 中 央 控 信息识别电路 语音录制及播放电路 制 电 模式选择电路 路 图1.1 系统总体框图 1.2 系统工作原理 本系统由5个部分组成:中央控制电路,语音录制及播放电路,卡片译码电路和模式选择电路以及信息识别电路五部分组成。其中语音录制及播放电路由单片机控制ISD1760语音芯片实现,按键则用来实现模式切换和同张卡片上图案及文字识别。卡片上设置有长方形的孔,通过弹片给开关进行译码识别卡片。用户在学习机上插入卡片后,弹片开关通过译码识别是哪张卡片,进行模式选择。进入学习模式时,当用户按下图案或文字时,中央控制器控制语音芯片播放对应图案或文字的语音;进入测试模式后,首先播放测试问题,儿童进行应答,答对时给出表扬;答错时给出批评,最后根据儿童的表现情况给出测试结果以及评价。 1.3 设计方案 在儿童卡片学习机系统中,中央控制电路是整个系统的核心。系统所有电路都是在它的控制下工作的。AT89S52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory),高性能CMOS8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 语音录制及播放电路用来录制和播放语音,在学习模式下播放图案或者文字等语音信息;在测试模式下播放图案或者文字等语音信息的基础上,给出正确、错误的提示及 第3页 共 32页 其相应得分,最后给出评价鼓励等语音信息。ISD1700 系列不仅在录音时间上有更多的选择(从20 秒到240 秒)而且在功能上继承14 及25 系列的所有录放功能,并增加了一些更加人性化的提示功能及对存储的精确操作。ISD1700 的音质也较1400及2500系列有明显的提高。选择的ISD1760录音时间为90秒,可以满足设计的要求。 在单片机的开发应用系统中,汇编语言作为传统的嵌入式系统的编程语言,已经不能满足实际需要,高级语言被逐渐引入,C语言就是其中之一。C语言是一种通用的计算机程序设计语言,它既有高级语言的各种特征,又能直接操作系统硬件。对于大多数51系列单片机,使用C语言首先不需要了解处理器的指令集,也不必了解存储器结构;其次可使用与人的思维更相近的关键字和操作函数,最重要的是C语言可移植性好且非常普及可实现模块化编程技术,从而可将已编制好的程序加入到新程序中。8051系列单片机作为工业标准地位,从80年代开始就有了51单片机的C语言编译器。C语言可以调用汇编语言的子程序或子函数。因本系统界面比较庞大,控制较多且单片机的工作时序没有严格要求,故在本系统中,单片机程序采用C语言编写。 2 硬件电路设计 本系统硬件电路包括中央控制电路,语音录制及播放电路,卡片译码电路,模式选择电路以及信息识别电路五部分组成,下面分别介绍这五部分。 2.1中央控制电路 本文设计的儿童卡片学习机是用AT89S52作为中央处理器,控制整个系统。中央控制电路如图2.1所示。 图2.1中央控制电路 中央控制器的P0口经过上拉电阻接到弹片开关,当卡片插入弹片上时,卡片有孔的地方弹片弹起,没孔的地方弹片按下,上电后P0口的各个引脚就有相应的高低电平,再经过中央处理器处理后就实现了对卡片译码电路的控制,从而调用相应的语音段,等 第4页 共 32页 待有图案或文字下的按键按下。如果有调用相应的语音,发出声音。本文所设计的系统语音电路的连接采用了按键模式和SPI模式,与P1.2—P1.6脚所连的按键控制语音芯片按键模式下的录放音,例如按下与P1.2脚所连的按键,语音芯片录音;P1.7脚控制功能切换,系统刚启动时为学习模式,如果按下与P1.7脚所连的按键,系统进入测试模式,同时由中央处理器处理后与P3.5脚相连的指示灯会亮; P2.0—P2.3脚与SPI模式下的录放音接口相连,实现中央处理器控制下的录放音功能;P2.4—P2.5脚控制与放卡片区域的按键相连,当卡片插入弹片开关上时,按下图案或文字对应的按键,中央处理器就进行相应的译码处理,从而调用相应的语音,控制语音芯片发出相应的语音; P3.0—P3.3脚与SPI模式下的串口相连,实现中央控制器对语音的分配地址、录放音、寻址等功能,从而控制语音芯片的工作。 2.2卡片译码电路 卡片译码电路主要由单片机和弹片开关来实现。 每张卡片边沿固定位置有8位识别码,8位识别码有些有空有些没孔。有孔的地方弹片弹起,弹片所对应的单片机的管脚经过上拉电阻变为高电平;卡片上没有孔的地方弹片按下,开关接通,所对应的单片机的管脚为低电平,经过中央控制电路的处理,从而能够实现8位译码,总共能够识别256张卡片。但由于语音芯片录音时间的限制,只能实现识别5张卡片。卡片译码电路如图2.2所示。 图2.2 卡片译码电路 第5页 共 32页 2.3信息识别电路 信息识别电路由单片机和四个按键组成,单片机实时扫描四个按键的状态。在测试模式以及学习模式下的具体原理分别叙述如下: 插入卡片,卡片学习机自动进入学习模式。在学习模式下,儿童随机按下卡片下面四个按键中的任意一个按键的上面对应的图案或者文字,中央控制电路控制语音电路播放对应的信息。例如,第一张卡片上面按顺序从数字1到4分别画有桃子,苹果,香蕉,橘子,按下1号键,语音会提示 “桃子”; 按下2号键,语音会提示“苹果”; 按下3号键,语音会提示“香蕉”; 按下4号键,语音会提示“橘子”。 插入卡片,按下功能选择按键S6,学习机进入测试模式。在测试模式下,首先播放第一段提示音用来询问儿童,儿童按下正确的按键,提示回答正确,如果儿童回答错,提示回答不正确。接着播放第二段提示音,用来询问儿童,儿童按下正确的按键,提示回答正确,如果儿童回答错,提示回答不正确。接着播放第三段提示音,用来询问儿童,儿童按下正确的按键,提示回答正确,如果儿童回答错,提示回答不正确。最后播放第四段提示音,用来询问儿童,儿童按下正确的按键,提示回答正确,如果儿童回答错,提示回答不正确。四段语音播放完毕之后,根据儿童的回答情况,给出评价。信息识别电路如图2.3所示。 图2.3 信息识别电路 第6页 共 32页 2.4语音录制及播放电路 语音录制及播放电路的主要作用是方便的录制以及播放用于学习以及测试模式下的语音提示。电路图如图2.4所示。 图2.4 语音电路 为了调试方便,在语音芯片接口电路设计中使用了独立按键和SPI模式。在独立按键模式下,与2脚相连的LED1为录放音指示灯,与按键S1相连的第24脚为录音控制端,低电平有效,就是按压S1不松手,使24脚保持低电平,才能进行录音,在录音时LED1会一直保持长亮状态,直到录音结束。一旦将按键松开,该引脚变成高电平,录音就会停止,由于选择的采样电阻为120K,因此理论上可以录音90秒左右,实测总的录音时间为84秒左右。与按键S2相连的第23脚为放音控制端,下降沿有效,就是按压一下按键S2,给23脚一个下降沿脉冲,该芯片就能进入放音状态,直到一段声音放完为止,在放音的过程中,指示灯会一直闪亮直到放音完毕。芯片的10、11脚为录音输入端,MIC为本地录音话筒,第13、15脚为放音输出端,虽然该芯片内部输出的声音信号非常微弱,但是在13、15脚之前已经皆有内部功率放大,因此输出声音仍然很清晰。 在SPI模式下采用主控单片机,主要通过四线(SCLK,MOSI,MISO,/SS)SPI协议对ISD1760进行串行通信。ISD1700作为从机,几乎所有的操作都可以通过这个SPI协议来完成。为了兼容独立按键模式,一些SPI命令:PLAY,REC,ERASE,FWD,RESET和GLOBAL_ERASE的运行类似于相应的独立按键模式的操作。另外,SET_PLAY,SET_REC,SET_ERASE命令允许用户指定录音、放音和擦除的开始和结束。并且该芯片提供多项新功能,包括内置专利的多信息管理系统,新信息提示(vAlert),双运作模式(独立&嵌入式),以及可定制的信息操作指示音效。芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能。具体说来,就是单 第7页 共 32页 片机的P2.3脚与语音芯片的第23脚相连,实现放音;单片机的P2.2脚与语音芯片的第24脚相连,实现录音;单片机的P2.1脚与语音芯片的第25脚相连,实现擦出;单片机的P2.0脚与语音芯片的第26脚相连,实现快进;单片机的P1.1脚与语音芯片的SS相连,单片机的P3.0脚与语音芯片的SCLK相连,单片机的P3.1脚与语音芯片的MOSI相连,单片机的P3.2脚与语音芯片的MISO相连,实现单片机与语音芯片ISD1760串行通信。 2.5 模式选择电路 S6键为模式选择按键。系统默认为学习模式。按下S6键系统进入测试模式,模式选择指示灯LED亮;再次按下按键S6,系统重新回到学习模式。模式选择电路如图2.5所示。 图2.5 模式选择电路 第8页 共 32页 3 软件设计 3.1 主程序 在主程序中首先完成ISD1760的初始化工作,然后进行卡片识别即根据孔的位置识别是那张卡片,ISD1760按键模式下的录放音按键识别,录放音按键没有按下时,进入学习模式;功能选择按键S6按下时,系统进入测试模式,执行相应的测试指令,完成相应的测试功能。主程序流程图如图3.1所示。 图3.1主程序流程图 图3.1 主程序流程图 第9页 共 32页 3.2 卡片识别子程序 为了确保调用函数时P0口为高电平,开始时将P0口赋值0xff,读取P0口的值,将P0口的值取反后,即是卡片的个数。因为按下按键时,对应的P0口为低电平;没有按下按键时,对应的P0口为高电平。取反后恰好是按下按键时,对应的P0口为高电平,没有按下按键时,对应的P0口为低电平。通过这种方法就达到了卡片式别的目的。本系统所使用的卡片数是指卡片上孔的个数,因此恰好对应起来。卡片识别子程序流程图如图3.2所示。 图3.2卡片识别子程序流程图 3.3 按键识别子程序 按键识别子程序可以分为两种:一种是ISD1760按键模式下的功能键的识别;另一种是信息识别。 在ISD1760按键模式下,按下SW1键即REC键,REC管脚电平变低后开始录音,直到松开按键使电平拉高或者芯片录满时结束。录音结束后,录音指针自动移向下一个有效地址,而放音指针则指向刚刚录完的那段语音地址。放音操作有两种模式,分别是边沿触发和电平触发,都由PLAY 管脚触发。这里采用边沿触发模式,具体操作如下:如果SW1按下时即点按一下PLAY 键,PLAY 管脚电平变低便开始播放当前段的语音,并在遇到EOM 标志后自动停止。放音结束后,播放指针停留在刚播放的语音起始地址处,再次点按放音键会重新播放刚才的语音。在放音期间,LED灯会闪烁直到放音结束时熄灭。如果在放音期间点按放音键会停止放音。擦除操作分为单段擦除和全体擦除两种擦除方式当按下SW3即ERASE 键,将/ERASE 管脚电平拉低超过2.5 秒钟,会触发全体擦除操作,删除全部语音信息。如果SW4按下,ISD1760进入复位模式。用RESET控制此管脚,当/RESET被触发,芯片将播放指针和录音指针都放置在最后一段语音信息的位置。ISD1760没有录满语言,则进入录音模式;如果SW6按下,进入测试/学习模式转换。按键的时候,延时一秒左右,形成确定的低电平,从而启动放音功能。流程图如图3.3所示。 第10页 共 32页 图3.3语音按键识别子程序流程图 在信息识别按键模式下,如果key1按下,卡片对应段的第一段语音;如果key2按 下,卡片对应段的第二段语音;如果key3按下,卡片对应段的第三段语音;如果key4 按下,卡片对应段的第四段语音;因为有四个按键所以在程序中卡片数*4,因为我在录 音开始录入了测试模式的语言,所以从第8段语音开始即加7。流程图如图3.4所示。 第11页 共 32页 图3.4 信息识别流程图 3.4 测试/学习模式子程序 学习机有测试和学习两种功能,主要通过软件来实现功能切换。 在测试模式下,首先播放第一段提示音用来询问儿童,儿童按下正确的按键,提示回答正确,如果儿童回答错,提示回答不正确。接着播放第二段提示音,用来询问儿童,儿童按下正确的按键,提示回答正确,如果儿童回答错,提示回答不正确。接着播放第三段提示音,用来询问儿童,儿童按下正确的按键,提示回答正确,如果儿童回答错,提示回答不正确。最后播放第四段提示音,用来询问儿童,儿童按下正确的按键,提示回答正确,如果儿童回答错,提示回答不正确。四段语音播放完毕之后,根据儿童的回答情况,给出评价。流程图如图3.5所示。 在学习模式下,按下图案文字识别按键就会播放相应的语音。因此学习模式子函数主要是调用图案文字识别按键的识别子函数。在学习模式下,儿童随机按下卡片下面四个按键中的任意一个按键的上面对应的图案或者文字,中央控制电路控制语音电路播放对应的信息。例如,第一张卡片上面按顺序从数字1到4分别画有桃子,苹果,香蕉, 第12页 共 32页 橘子,按下1号键,语音会提示 “桃子”; 按下2号键,语音会提示“苹果”; 按 下3号键,语音会提示“香蕉”; 按下4号键,语音会提示“橘子”。学习模式流程 图如图3.6所示。 图3.6 测试模式流程图 第13页 共 32页 图3.5 学习模式流程图 3.5语音电路发送数据子程序 在SPI命令输入到ISD1700前,SPI端口的状态应该保持如下状态:/SS=HIGH ,SCLK=HIGH ,MOSI=LOW,所以函数开始进行初始化SCK=1.因为ISD1700系列的SPI串行接口操作遵照以下协议: 1(一个SPI处理开始于/SS管脚的下降沿。 2(在一个完整的SPI指令传输周期,/SS管脚必须保持低电平。 3(数据在SCLK的上升沿锁存在芯片的MOSI管脚,在SCLK的下降沿从MISO管脚输出,并且首先移出低位。 4(SPI指令操作码包括命令字节,数据字节和程序字节,这决定于1700的指令类? 5(当命令字及数据输入到MOSI管脚时,同时状态寄存器和当前行信息从MISO管脚移出。 6.一个SPI处理在/SS变高后启动。 7(在完成一个SPI命令的操作后,会启动一个中断信息,并且持续保持为低,直到芯片收到CLR_INT命令或者芯片复位。 SPI时序图如图3.7所示。 图3.7 SPI时序图 第14页 共 32页 所以令SS=0使能ISD1760的SPI. 图3.7描述了SPI处理的格式。指令数据以数据队列的形式从MOSI移入芯片,第一个移入的字节是命令字节,这个字节决定了紧跟其后的数据类。与此同时,芯片状态以及当前行信息以数据队列的方式通过MISO被返给主机。MOSI是SPI接口的“主机输出从机接收端”A。数据在SCLK的上升沿锁存进芯片,并且低位首先移出。1700的SPI指令格式依赖于命令的类型,根据不同类的命令,指令可能是两个字节,也可能多达7个字节。MOSI的一般序列由下表列出,送到芯片的第一个字节是命令字节,这个字节确定了芯片将要完成的任务。其中命令字节的C4确定LED功能是否被激活。当C4=1,LED指示被开启,功能开启后,每一个SPI指令启动后,LED灯会闪亮一下。在命令字节之后,与之相关联的数据字节有可能包括对用来存储信息进行精确操作 8次,实现一的起始和结束。所以发送每个字节时于上0x01,接收字节时或上0x80,循环个字节的发送与接收。向中央处理器发送数据与读回数据流程图如图3.8所示。 图3.8语音电路发送数据子程序流程图 3.6定点录/放音子程序 定点录放子程序主要是读取ISD1760寄存器的状态。 在定点录音子程序下语音芯片读取寄存器的状态,重点检查寄存器SR0的低位和SR1的低位,直到满足SR0的低位为0且SR1的低位为1时读取寄存器的值才有效,将数据存到ISD1760中。流程图如图3.9所示: 在定点放音子程序中,语音芯片读取寄存器的状态,重点检查寄存器SR0的低位和SR1的低位,知道满足SR0的低位为0且SR1的低位为1时读取寄存器的值才有效。把数据存到ISD1760中。定点录音流程图如图3.10所示。 第15页 共 32页 图3.9 定点录音流程图 图3.10 定点放音流程图 第16页 共 32页 4 系统测试 在前面几章中,本文详细介绍了儿童卡片学习机的软件、硬件设计,要想系统真正运行起来并达到预期的指标和功能,进行调试是必不可少的。 4.1 硬件调试 焊接前要对电阻、电容的量值进行测量、筛选,选择与电路中参数值最接近的元件。芯片选择时要注意封装。元件焊接完成进行整板测试,但是测试的条件是不上电。此时需要对每个器件逐个引脚进行检查,一方面是检查有没有引脚虚焊或与其他信号线短路,另一方面是对器件引脚功能的再检查,查看设计是否正确。整板测试可以按照先电源和地,再逐个器件引脚的顺序测试。 硬件电路装配、焊接完成后,可能不能正常工作。为了方便调试,采用分块调试的方法。电路由多个模块组成,包括电源模块、复位电路、输入输出接口电路、语音电路、下载接口电路等。上电测试是调试的关键部分,按照系统方案设计的模块化思想,应该分模块测试系统。首先还是应该测试电源部分,系统上电以后,测试各个电源端口和器件的电源部分是否工作正常,同时应注意系统中有无器件过热情况,如果有的话,可能是相应的器件损坏或电路中有短路,需要处理之后再加电。如果没有问题,则可以进行功能的检测。 单片机处理器是系统的灵魂,所以先对单片机进行检测调试。首先,利用下载口检测单片机,如果检测不到,一般是单片机的复位电路、下载口、以及晶振的问题。开始的时候遇到的问题是下载器无法检测到芯片,后来经过仔细检查电路发现,原理图里面下载器接口的复位引脚没有和单片机复位电路相连,连接之后下载口可以识别芯片。通常分别对这三个端口进行检测,基本都可以解决问题。 其次,对语音芯片进行检测。首先检测芯片的电源连接情况,使能控制端的情况。然后写一个通过单片机控制ISD1760的独立按键模式的程序,进行录音,放音,擦除等操作。这些问题都解决以后,一切正常,就可以进行软件调试了。 4.2软件调试 硬件调试完成以后,软件调试就非常重要了。系统软件调试时也要分模块来进行调试,这样才能使进程有条不紊的进行下去,而不至于出现混乱。 首先测试单片机是否正常工作。写一个控制LED闪烁的程序,烧录进入单片机,观察LED是否闪烁。LED灯可以正常闪烁,单片机能够正常工作。 在ISD1760语音芯片能正常工作的情况下,进行ISD1760 SPI 模式下的调试。首先,对ISD1760进行初始化。上电后,复位并设置APC模拟通道寄存器,设置音量为最大,即D0D1D2位分别为000,MIC录音方式,开启PWM输出方式。定点录放的子程序写好后,为测试方便,开始时只对一段地址进行操作,结果录放音不能成功,通过查阅芯片资料,得知语音芯片ISD1700系列存储是从第一个提示音的地址0x0000开始计算,但是地址0x000-0x00F平时保留给了4个提示音。从0x010地址开始到0x07EF地址结束才是非保留 第17页 共 32页 的存储区,即真正的录音区。可见存储区的地址分错了,应该分为:第1段语音地址:0x0010,0x0017单段的录放操作成功后,把语音存贮地址分为60段进行录放测试,即分为第1段语音地址:0x0010, 0x0017;第2段语音地址:0x0018,0x001f;第3段语音地址:0x0020,0x0027;第4段语音地址:0x0028,0x002f;第5段语音地址:0x0030,0x0037;„„;第59段语音地0x01e0,0x01e7;第60段语音地址:0x01e8,0x01ee。还有开始的时候由于芯片资料没有看仔细,导致在程序中设置APC模拟通道寄存器时将D0D1D2设置为111,输出声音很小,后面将其更正为000,声音恢复正常。 接下来是卡片的识别。插入卡片后,通过读P0口的开关状态识别卡片的号码。每张卡片对应固定地址段的四个语音,按下卡片下的键,应播正常的语音提示。但不是预想的声音。返回程序中查看,发现必须首先录入测试模式下的声音,按照如下顺序录入:对,错,25分,50分,75分,100分,接下来是学习模式下的图案或文字的语音,播放预想的语音。 4.3功能验证 首先在卡片的选取上面费了很大功夫。曾经使用过作为衬衣包装的硬纸片但是效果不好,容易折断,反复验证过后采用电话卡制作了5张卡片,电话卡材质较硬且不容易折断,效果比较好。每张卡片上面分别有个数不同的长方形的孔,这些孔经过卡片译码识别电路被中央控制电路识别。同时每个卡片上面还有4个图案或者文字供儿童识别。由于语音电路选择的语音芯片ISD1760中采样电阻选取的是120千欧,采样率为5.4千赫兹,最大录音时间为90秒左右,所以总共制作了5张卡片,录制了60段语音。 由于要录制多段语音,需要使用SPI模式,因此把语音存贮地址分段。这里总共分为60段进行录放测试,即分为:第1段语音地址:0x0010,0x0017;第2段语音地址:0x0018,0x001f;第3段语音地址:0x0020,0x0027;第4段语音地址:0x0028,0x002f;第5段语音地址:0x0030,0x0037;„„;第59段语音地0x01e0,0x01e7;第60段语音地址:0x01e8,0x01ee。 系统上电插入卡片后,儿童卡片学习机的初始状态功能选择灯熄灭,为学习模式。按下功能选择按键,功能选择灯亮,为测试模式。 在学习模式下,按下卡片上面的图案或者文字,经过信息识别电路采集,中央控制电路,确定按键上面的图案或者文字内容,然后控制语音电路,寻址预先存储在其中的相应语音内容,将其播放出来。 第一张卡片上面按顺序从数字1到4分别画有桃子,苹果,香蕉,橘子,按下1号键,语音会提示 “桃子”; 按下2号键,语音会提示“苹果”; 按下3号键,语音会提示“香蕉”; 按下4号键,语音会提示“橘子”。 第二张卡片上面画有老鼠,大象,兔子,老虎,与上面的验证过程一样,按下1号键,语音会提示 “老鼠”; 按下2号键,语音会提示“大象”; 按下3号键,语音会提示“兔子”; 按下4号键,语音会提示“老虎”。 第18页 共 32页 相似的,又验证了第三张卡片、第四张卡片、第五张卡片,都得到预期的结果。 由上述验证过程可知学习模式功能验证成功。 在测试模式下,插入第一张卡片后,第一次语音提示“桃子”,当按下1号键时,语音会提示“正确”,当按下其它键时,语音会提示“错误”; 第二次语音提示“苹果”, 当按下2号键时,语音会提示“正确”,当按下其它键时,语音会提示“错误”; 第三次语音提示“香蕉”, 当按下3号键时,语音会提示“正确”,当按下其它键时,语音会提示“错误”; 第四次语音提示“橘子”,当按下4号键时,语音会提示“正确”,当按下其它键时,语音会提示“错误”。最后系统给出总分语音。 插入第二张卡片后,第一次语音提示“老鼠”,当按下1号键时,语音会提示“正确”,当按下其它键时,语音会提示“错误”; 第二次语音提示“大象”, 当按下2号键时,语音会提示“正确”,当按下其它键时,语音会提示“错误”; 第三次语音提示“兔子”, 当按下3号键时,语音会提示“正确”,当按下其它键时,语音会提示“错误”; 第四次语音提示“老虎”, 当按下4号键时,语音会提示“正确”,按下其它键,语音会提示“错误”。最后系统给出总分语音。 相似的,又验证了第三张卡片、第四张卡片、第五张卡片,都得到预期的结果。由上述验证过程可知测试模式功能验证成功。 综上所述,学习和测试模式均符合设计要求,达到了设计目标。 第19页 共 32页 5 结论 本次毕业设计研究的是基于单片机控制技术以及语音录放技术的儿童卡片学习机,在设计和制作的过程中遇到了很多困难。首先是对于弹片的选择,本打算用早教机中的弹片,但市面上很难买到,挑选了一个比早教机中的弹片差,而比普通开关好的带弹片的开关,能够实现早教机中的弹片的功能,有孔的地方弹片弹起,开关打开,没孔的地方弹片按下,开关闭合。然后是对于卡片种类的选择,进行了多次试验,最终选择了电话卡制作成卡片,电话卡是用塑料做成的不易折断,而硬纸很容易折断。最重要的是学到了很多以前在课本上学了但在平时没有用到的知识。通过本次毕业设计,使得自己的动手能力及主动性得到提高,并积累了很多宝贵的经验。 系统主要实现的功能如下:卡片学习机有学习和测试两种模式。在学习模式下,儿童点击卡片上的信息,通过语音电路播放该信息的内容;在测试模式下,首先播放测试问题,儿童进行应答,答对时给出表扬;答错时给出批评,最后根据儿童的表现情况给出测试结果以及评价。 系统的缺陷如下: 1(由于购买的弹片开关不合适,弹跳功能欠佳,因此卡片做得不美观。 2. 由于选择的语音芯片ISD1760的录音时间最多只有90秒,无法满足进一步给出 赞语或者鼓励的提示。 3. 由于当时设计时没有考虑到ISD语音电路输出放大不足的问题,导致扬声器输 出音量欠佳。 针对上述系统缺陷,可以进行下面的功能完善。 1. 可以自己用弹性较好的铜片制作弹片开关,避免购买的弹片不合适的问题; 2. 选择录音时间更长的语音芯片以解决录音时间不够的问题,例如采用ISD1790; 3. 应该在ISD语音电路输出端增加由运算放大器构成的放大电路,以达到外足够 大的功率驱动扬声器,使音质更加完美; 制作的儿童卡片学习机可以向点读机方向探索,就是不用卡片,直接将幼儿园儿童使用的课本放置于学机上,用手指点击文字或者图案,就可以识别所点击的文字或者图案,并用语音提示。这样既环保,节约资源,又方便灵活,不受到卡片内容的限制,丰富了儿童学习的内容,达到教育与娱乐的完美结合。 第20页 共 32页 参考文献 [1] 白驹珩,雷晓平(单片计算机及其应用[M](成都:电子科技大学出版社,2004: [2] 阎石(数字电子技术基础[M](北京:高等教育出版社,2004:1,492( [3] 李昌立,吴善培.数字语音:语音编码实用教程[M](北京:人民邮电出版社,2004.11 [4] 荀殿栋等编著. 数字电路设计实用手册[M]. 北京:电子工业出版社,2003 [5] 宋军. 儿童益智玩具设计原则之研究[J]. 包装工程,2007,28(12):241-243. [6] 王常力,罗安主编. 分布式控制系统(DCS)设计 [M]. 北京:电子工业出版社,2004 [7] 马忠梅.《单片机的C语言应用程序设计》,北京航空航天大学出版社,1999 [8] 陈尚松,雷加,郭庆(电子测量与仪器[M](北京:电子工业出版社,2004 [9] 劳五一, 劳佳编著. 模拟电子电路分析、设计与仿真[M]. 北京:清华大学出版社,2007.5 [10] 廖文婷. 现代儿童玩具的安全性设计[J].企业技术开发,2009,28(10):60-61. [11] Schultz. C and the 8051: Programming and Multitasking. PTR Prentice-Hall. 1993:33,52 第21页 共 32页 附 录 附录一 系统原理图 第22页 共 32页 图1 系统原理图 附录二 系统PCB图 第23页 共 32页 图2 系统PCB图 附录三 程序代码 #include "AT89X52.H" void delayms(unsigned int z) { unsigned int x,y; x = z; while(x--) { y = 100; while(y--); } } void delayus(unsigned int i)//延时函数 { while(i--); } /************************************************************************** * 函数原型: void ISD_SendData(uchar BUF_ISD); * 功 能: 发送数据 第24页 共 32页 **************************************************************************/ uchar ISD_SendData(uchar BUF_ISD){ uchar i,dat=BUF_ISD; SCLK=1; SS=0; for(i=0;i<8;i++){ SCLK=0; delayus(1); if(dat&0x01){ MOSI=1; } else{ MOSI=0; } dat>>=1; if(MISO){ dat|=0x80; } SCLK=1; delayus(1); } MOSI=0; return(dat); } /************************************************************************** * 函数原型: void ISD_PU(void); * 功 能: 上电 **************************************************************************/ void ISD_PU(void){ ISD_SendData(PU); ISD_SendData(0x00); SS=1; delayms(50); } /************************************************************************** 第25页 共 32页 * 函数原型: void ISD_Reset(void); * 功 能: 复位 **************************************************************************/ void ISD_Reset(void){ ISD_SendData(RESET); ISD_SendData(0x00); SS=1; delayms(50); } /************************************************************************** * 函数原型: void RdStatus(void); * 功 能: 读取状态 **************************************************************************/ void RdStatus(void){ ISD_SendData(RD_STATUS); ISD_SendData(0x00); ISD_SendData(0x00); SS=1; delayms(10); //延迟10ms SR0_L =ISD_SendData(RD_STATUS); SR0_H =ISD_SendData(0x00); SR1 =ISD_SendData(0x00); SS=1; delayms(10); } /************************************************************************** * 函数原型: void ClrInt(void); * 功 能: 清除中断 **************************************************************************/ void ClrInt(void){ ISD_SendData(CLI_INT); ISD_SendData(0x00); SS=1; delayms(10); //延迟10ms } 第26页 共 32页 * 函数原型: void GetToneAdd(uchar cNum, Uint * ipStartAdd, Uint * ipEndAdd); * 功 能: 取出当前语音的首末地址 **************************************************************************/ void GetToneAdd(uchar cNum, uint *ipStartAdd, uint *ipEndAdd) { *ipStartAdd = audio_add[cNum*2]; *ipEndAdd = audio_add[cNum*2+1]; } /************************************************************************** * 函数原型: void SetPLAY(uchar cNum); * 功 能: 定点播放 **************************************************************************/ void SetPLAY(uchar cNum){ uint Add_ST, Add_ED; uchar Add_ST_H, Add_ST_L, Add_ED_H, Add_ED_L; do{ RdStatus(); }while((SR0_L&0x01)||(!(SR1&0x01))); // ClrInt(); GetToneAdd(cNum, &Add_ST, &Add_ED); Add_ST_L=(uchar)(Add_ST&0x00ff); Add_ST_H=(uchar)((Add_ST>>8)&0x00ff); Add_ED_L=(uchar)(Add_ED&0x00ff); Add_ED_H=(uchar)((Add_ED>>8)&0x00ff); ISD_SendData(SET_PLAY); ISD_SendData(0x00); ISD_SendData(Add_ST_L); //S7:S0 开始地址 ISD_SendData(Add_ST_H); //S10:S8 ISD_SendData(Add_ED_L); //E7:E0 结束地址 ISD_SendData(Add_ED_H); //E10:E8 ISD_SendData(0x00); SS=1; delayms(10); //延迟10ms } /************************************************************************** 第27页 共 32页 * 函数原型: void SetREC(uchar cNum); * 功 能: 定点录音 **************************************************************************/ void SetREC(uchar cNum){ uint Add_ST, Add_ED; uchar Add_ST_H, Add_ST_L, Add_ED_H, Add_ED_L; do{ RdStatus(); }while((SR0_L&0x01)||(!(SR1&0x01))); // ClrInt(); GetToneAdd(cNum, &Add_ST, &Add_ED); Add_ST_L=(uchar)(Add_ST&0x00ff); Add_ST_H=(uchar)((Add_ST>>8)&0x00ff); Add_ED_L=(uchar)(Add_ED&0x00ff); Add_ED_H=(uchar)((Add_ED>>8)&0x00ff); ISD_SendData(SET_REC); ISD_SendData(0x00); ISD_SendData(Add_ST_L); //S7:S0 开始地址 ISD_SendData(Add_ST_H); //S10:S8 ISD_SendData(Add_ED_L); //E7:E0 结束地址 ISD_SendData(Add_ED_H); //E10:E8 ISD_SendData(0x00); SS=1; delayms(10); //延迟10ms } /************************************************************************** * 函数原型: void Erase_All(void); 能: 全部删除 * 功 **************************************************************************/ void Erase_All(void){ ISD_SendData(G_ERASE); ISD_SendData(0x00); SS=1; delayms(100); //延迟10ms } 第28页 共 32页 /************************************************************************** * 函数原型: void ISD_Init(void); * 功 能: 初始化 **************************************************************************/ void ISD_Init(void){ ISD_Reset(); do{ ISD_PU(); RdStatus(); }while((SR0_L&0x01)||(!(SR1&0x01))); //if(SR0_L^0==1){system Err} ClrInt(); } //----------------------功能键------------------------- void key_scan(uchar num) { P2 = 0xff; if( (key1&key2&key3&key4) == 0) { delayms(10); if( key1 == 0 )SetPLAY(num*4 + AP_STADD); if( key2 == 0 )SetPLAY(num*4+1 + AP_STADD); if( key3 == 0 )SetPLAY(num*4+2 + AP_STADD); if( key4 == 0 )SetPLAY(num*4+3 + AP_STADD); while( (key1&key2&key3&key4) == 0); delayms(500); } } //---------------------------------------- void SW_scan(void) { P1 = 0xff; if( (SW1&SW2&SW3&SW4&SW5&SW6) == 0) { delayms(10); if( SW1 == 0 ) 第29页 共 32页 { SetREC(audio_num); audio_num++; if(audio_num == 60)audio_num = 0; } if( (SW2 == 0) && (audio_num > 0))SetPLAY(audio_num-1); if( SW3 == 0 )Erase_All(); if( SW4 == 0 )ISD_Reset(); if( SW6 == 0 )SW6_flag = 1; while( (SW1&SW2&SW3&SW4&SW5&SW6) == 0); delayms(500); } } //-------------------------------------------------- void card_scan(void) { P0 = 0xff; card_num = ~P0; } //-------------------------------------------------- void test_module(void) { LED = 1; if(card_num > 0) { point_counter = 0; delayms(2000); //---------------------------------- SetPLAY((card_num - 1)*4 + AP_STADD); while((key1&key2&key3&key4) == 1); if( key1 == 0 ) { SetPLAY(AUDIO_RIGHT); point_counter++; } 第30页 共 32页 else SetPLAY(AUDIO_WRONG); delayms(2000); //---------------------------------- SetPLAY((card_num - 1)*4 + 1 + AP_STADD); while((key1&key2&key3&key4) == 1); if( key2 == 0 ) { SetPLAY(AUDIO_RIGHT); point_counter++; } else SetPLAY(AUDIO_WRONG); delayms(2000); //---------------------------------- SetPLAY((card_num - 1)*4 + 2 + AP_STADD); while((key1&key2&key3&key4) == 1); if( key3 == 0 ) { SetPLAY(AUDIO_RIGHT); point_counter++; } else SetPLAY(AUDIO_WRONG); delayms(2000); //---------------------------------- SetPLAY((card_num - 1)*4 + 3 + AP_STADD); while((key1&key2&key3&key4) == 1); if( key4 == 0 ) { SetPLAY(AUDIO_RIGHT); point_counter++; } else SetPLAY(AUDIO_WRONG); 第31页 共 32页 delayms(2000); //----------------------------------- SetPLAY(AUDIO_POINT_STADD + point_counter); delayms(2000); } LED = 0; } //-------------------------------------------------- void learn_module(void) { if(card_num > 0)key_scan(card_num - 1); } //-------------------------------------------------- void init_flag(void) { audio_num = 0; card_num = 0; point_counter = 0; SW6_flag = 0; } //--------------------------------------------------- void main() { init_flag(); LED = 1; ISD_Init(); delayms(1000); LED = 0; while(1) { card_scan(); SW_scan(); learn_module(); if(SW6_flag == 1) { 第32页 共 32页 SW6_flag = 0; test_module(); } } }
/
本文档为【儿童卡片学习机&#46;doc】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索