基于凌阳单片机的多路语音灯光控制_第1页
基于凌阳单片机的多路语音灯光控制_第2页
基于凌阳单片机的多路语音灯光控制_第3页
基于凌阳单片机的多路语音灯光控制_第4页
基于凌阳单片机的多路语音灯光控制_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河南科技学院2010届本科毕业论文(设计)论文题目:基于凌阳单片机语音识别的多路灯光控制系统学生姓名:张双洋所在院系:机电学院所学专业:应用电子技术教育导师姓名:徐君鹏完成时间:2010年5月01日摘要随着人们生活水平的提髙,对于智能家居的要求也越来越高,为了帮助那些 行动不方便的残疾人,和老年人方便的实现开灯与关灯,本文是以一种具有 dsp(数字信号处理)功能的16位凌阳单片机spce061a为核心处理器的语音识别 系统,它能完成针对特定人的若干命令(特定的孤立词)的语音识别。本设计在 具体实践时,以汉语的短命令为识别对象,体现汉语特征;本系统设计、制作了 系统硬件电路,然后对系统软件进行了

2、设计,其中硬件电路包括:电源模块,凌 阳单片机的最小系统,语音输入模块,语音输出模块,无线发射部分,无线接收 部分;软件部分主要包括:主程序,语音识别子程序,语音存储,语音播放程序, 等;本系统该系统结构简单,具有很高的性价比,便于推广和应用。关键字:spce061a,特定人语音识别,pt2262/2272 ,无线收发模块based on sunplus speech recognition lighting control systemabstractwith the improvement of living standard, the requirements for the smart

3、 home become more sophisticated and less mobile in order to help those with disabilities, and olderly people to facilitate the realization of lights and turn off the lights, this is a kind of dsp (digital signal processing) functions sunplus 16-bit mcu spce061a core processor speech recognition syst

4、em that can complete a number of orders for a particular person (a specific isolated word) speech recognition. in practice this design when, in the chinese language short order to identify the object, reflects chinese characteristics; the system is designed and manufactured hardware circuit, then th

5、e system software design, hardware which includes: power module, mcu of sunplus minimum system,voice input module, voice output module, wireless transmitter, wireless receiver part; software part includes: the main program, speech recognition subroutine, vice storage, voice, player, etc.; the system

6、 is simple, with very high cost, ease of promotion and application.keyword : spce061a, specific speech recognition, pt2262/2272, wireless transceiver目录 11绪论2设计要求13方案论证13整体方案选择14系统硬件电路设计24spec061a 简介24.2 spec061a 芯片特性34.3 spec061a 最小系统44.4电源电路54.5音频输出模块64.7无线发射模块74.8无线接收模块85系统软件设计85程序流程图85.2 flash存储器

7、读写105.3 i口 曰"u丨i5.4语音播放模块186结束语20致谢20参考文献21附录一系统原理图22附录二主程序231绪论语音识别技术就是让机器通过识别和理解把语音信号转变为相应的文本或 命令的技术。语音识别是一门交叉学科,正逐步成为信息技术中人机接口的关键 技术,语音识别技术与语音合成技术的结合,使人们能够甩掉键盘,通过语音命 令进行操作。近年来语音学研究的深入和数字信号处理软硬件技术的发展,语音 技术的应用己经逐步具备走出实验室,服务于社会的能力。尤其在孤立词语音识 别技术已基本成熟,逐渐开始应用于家电产品、智能玩具等对识别率要求不是极 其严格的领域。现在的灯光控制系统中,

8、只是简单的通过手动开关来控制不同位 置的灯,或者是采用声光控的方式实现灯光的控制,手动的控制方式对于病人, 老人以及残疾人等这些特殊群体,开关灯光控制系统的弊端就体现出来了。如果 是声光控的方式,它比较适合楼道,厕所等公共场所,不适合在家庭,房间里安 装,而且控制起来比较单一,触发需要一定的条件。而本文提供的语音控制的灯 光系统它可以安装在房间里的任何一个位置,具有特定人的语音识别功能,不仅 给人们的生活带来了极大的方便,而且让人们体验到了高科技带来的神奇方便的 生活。2设计要求系统具体设计要求:硬件电路部分:(1) spec061a单片机最小系统;(2) 语音a/d输入部分;(3) spec

9、061a的dac音频输出;(4) pt2262/2272无线发射接收部分软件部分:(1) 主程序的设计;(2) 语音训练,存储,子程序的设计;(3) 音频播放程序的设计;(4) 语音识别程序的设计;3方案论证3.1整体方案选择方案一:基于dsp的孤立词语识别系统,随着语音信号处理技术的不断发 展与成熟,语音识别正逐步成为信息技术中人机接口的关键技术,dsp芯片,即 数字信号处理器,是专门为快速实现各种信号处理算法而设计的,具有特殊结构 的微处理器,其处理速度比最快的cpu还快1050倍,整个系统核心以dsp芯 片,语音输入采用tlc320ad50c进行a/d转换,但是这种方案成本较髙,同 时使

10、用的嵌入式操作系统也会占用一部分额外的硬件资源,这样会大大的提高开 支。目前情况下我们不考虑这种方案。方案二:基于arm+dsp的语音识别子系统,由于多数的嵌入式系统都使 用了 arm、dsp等高速的芯片,本系统采用arm为系统的主控芯片,dsp芯 片负责对语音信号的隐马尔可夫模型建立,从而使得嵌入式系统的语音识别更 为方便简捷,但是由于该系统的技术要求较髙,在现阶段灵活使用这些高端芯片 有一定的困难,因此目前我们也不采用该方案。方案三:基于spec061a的语音识别系统,系统采用凌阳spce061a单片 机作为语音识别系统的主控芯片。这是一款包含dsp功能并集成了 a/d, d/a等 一系列

11、功能的语音处理专用soc,通过硬件电路设计和软件代码部分成功的设 计并实现了一种具有语音识别功能、语音提示(语音合成)及语音回放(语音编码 记录)功能的嵌入式语音识别系统。语音识别模型采用(dhmm)离散隐马尔可夫 模型,利用baum-welth重估算法、前向后向算法、viterbi算法来完成语音模板 的训练和语音识别的任务,系统硬件框图如图1所示:图1语音识别系统的硬件框图4系统硬件电路的设计4.1 spce061a 简介spce061a是凌阳科技研发生产的性价比很高的一款十六位单片机,具有易 学易用且效率较高的一套指令系统和集成开发环境。在此环境中,支持标准c语 言,可以实现c语言与汇编语

12、言的互相调用,并且,提供了语音录放和语音识别 的函数库,只要了解库函数的使用方法,就可以很容易完成语音录放,为软件开 发提供了方便的条件。spce061a主要包括输入/输出端口、定时器/计数器、数/模转换、模/数转 换、串行设备输入/输出、通用异步串行接口、低电压监测和复位等电路,并且 内置在线仿真电路ice接口,使其能够快速地处理复杂的数字信号。spce061a片内还集成了一个ice (在线仿真电路)接口,使得对该芯片的 编程、仿真变得非常方便,而ice接口不占用芯片上的硬件资源,结合凌阳科技 提供的集成开发环境(unspide),用户可以进行在线调试、仿真;而程序的下 载(烧写)也是通过该

13、接口完成。spce061a内部结构图如图2所示。ioa15-0iob15-0图2 spce061a内部结构图4.2 spce061a芯片特性 16位"nsp微处理器;工作电压:内核工作电压vdd为3.03.6v(cpu), i/o口工作电压vddh为vdd 5.5v(i/o); cpu时钟:0.32mhz49.152mhz;内置2k字sram;内置32k闪存rom;可编程音频处理;晶体振荡器;系统处于备用状态下(时钟处于停止状态); 2个16位可编程定时器/计数器(可自动预置初始计数值); 2个10位dac (数-模转换)输出通道; 32位通用可编程输入/输出端口; 14个中断源可来

14、自定时器a/b,时基,2个外部时钟源输入,键唤醒;具备触键唤醒的功能;使用凌阳音频编码sacm_s240方式(2.4k位/秒),能容纳210秒的语音数 据;锁相环pll振荡器提供系统时钟信号; 32768hz实时时钟; 7通道10位电压模-数转换器(adc)和单通道声音模-数转换器;声音模-数转换器输入通道内置麦克风放大器和自动增益控制(agc)功 能;具备串行设备接口;低电压复位(lvr)功和低电压监测(lvd)功能;内置在线仿真板(ice, in- circuit emulator)4.3 spce061a最小系统spce061a最小系统包括spce061a芯片及其外围的基本模块,其中外围

15、的 基本模块有:实时时钟模块(osc)、锁相环外围电路(pll)、复位电路(reset)、 指示灯(led)等,如图3所示。实时时钟电路采用晶体振荡电路,外接32768hz 晶振和连个20pf的电容。spec061a锁相环的作用是将系统提供的实时钟基频 (32768hz)进行倍频,调至49.152mhz、40.96mhz. 32.768mhz、24.567mhz 或20.480mhz。系统预设的pll振荡频率为24.567mhz。oscy1j2d4>a>6r-卜s s>lcooi x9 9uo 一園 saohjz hioqj 30-horfz ohorn mlsqm 讨0ih

16、oi s9680-t00230一日osco osc1 23vddlc30 qeice sc isice sdh vss10ttdac t7dac dac2 1 3vref214avs65vddreset |r204.7kres_bzz5=c15104vss4.4电源电路八go 6opi 17 mk(dr!i micnio20s - s i > c x32o( x32i t test nc : vdd nc ice iceclk icesda vss pvin dac1 dac2 v2vref avss agc opi micout mk?n pfus星 c9 lspce06ia-iqfp

17、80u5evoi cvo 一 -volovoissa unu=naqqx二寸zvrt 冋vcm zz"mi cpit"寸vo 一lvo-9 vo io50>0-fioio-ssao 一 ss>csq>oia(】anciob1 1iob12iob131ob14iob15sleepncvssioncncioa15ioa14ioa13ioa12ioa1 1ioaiokm9nc oo nc <601ob1 1 58"1ob1257 iobi3 iob14 55k)b15 sleep53 vss50 ioa1 5 4810 al 4 47 ioai3

18、 ioai2 1oa1 1 441oa1qioa9ti-powerj4125vc22+220u££joa4 计 io a3 冋-oa2 hs>- 冋一 oao 诃xvssltt 冋v=c 刊vdd a3s一三邑sf vss 鬥vss 鬥ioa7-oa6计 ioa5图3 spce061a最小系统spy0029c131()4dic32 +2201+5vvdd avdd_pvddvddh3 vddhvssavss1avss2spce061a板采用3节5号电池进行供电,由j4接入,其中前后两组电容 用来去耦滤波,使其供给芯片的电源更加干净平滑。为了获得标准的3.3伏电压, 在

19、电路上加入spy0029三端稳压器和两个二极管,是为了防止误将电源接反造成 不必要损失而设置的。在操作过程中千万不要将电源接反,因为反向电压超过一 定值,二极管将会被损坏,达不到保护的目的。后面的零电阻及其电源分成不同 的几路是为了减少电磁干扰设置的。图1是电源部分的电路,4.5v直流电压经 过spy0029后产生3.3v给整个系统供电。spy0029是凌阳公司设计的电压调 整ic,采用cmos x艺。spy0029具有静态电流低、驱动能力强、线性调整出 色等特点。图中的vddh3为spce061a的i/o电平参考,接spce061a的51 脚,这种接法使得i/o输出高电平为3.3v; vdd

20、p为pll锁相环电源,接 spce061a的7脚;vdd和vdda分别为数字电源与模拟电源,分别接 spce061a的15脚和36脚;avss1是模拟地,接spce061a的24脚;vss是 数字地,接spce061a的38脚;avss2接音频输出电路的avss2。61板电源模块电路如图4, spce061a的内核供电为3.3v,而i/o端口可接 3.3v5v,所以在电源模块(61板上)中有一个端口电平选择跳线,如图中的j5。 本系统需要的端口高电平为3.3v,所以图8中的j5跳线需要跳到2和3上。4.5音频输出模块音频输出(d/a)部分的原理图如图5所示,可以直接听喇叭输出的声音。 图中的s

21、py0030也是凌阳公司的产品。它的详细说明可以参见spy0030 data sheeto和lm386相比,spy0030还具有下述优势,比如lm386工作电压需在4v 以上,spy0030仅需2.4v即可工作(两颗电池即可工作);lm386输出功率1 oomw 以下,spyoo3o约700mw。芯片将声音处理后输出(j2),经spyoo3o音频放大 输出(j3)通过扬声器还原为声音。spy0030a是凌阳公司开发的专门用于语音放大的芯片。spy0030的输入电 压的范围是2.46.0伏,该电路中采用的电压是3.3伏。spce061a内置2路10位 dac,只需要外接功放电路即可完成语音的播放

22、。4.6音频输入模块音频输入部分如图6所以,micjn通道的信号从micjn引脚输入,adc 最大参考电压为vdd,模拟信号电压范围也是0vdd.经过寄存器后有agc将 micn信号控制在制定的范围内,agc的电压增益倍数可通过外部电路调整。avss)r3vmic+1k22oulr7r21of1ok1 kc21t c231224vcm+ c27 cz5-p22u 224avss1agcmicpmicc24224"r183k|avssimicn图6音频输入电路4.7无线发射模块发射模块的电路如图7所示,本系统的发射部分采用pt2262发射模块,不仅 可以实现自动控制,还能够强制进行灯光

23、控制。无线发射模块4-12图7无线发射模块4.8无线接收部分无线接收模块电源电路如图8所示,无线接收模块如图9所示,接收部分是 控制灯光和插座的开关的。首先,对于整个模块的供电部分采用阻容降压的方式, 实现模块+5v的供电,接收模块采用pt2272,并通过cd4013电路进行控制,实现 无线控制。u1r2 51/ iw474/ 630vc15v47u/16ttvin+12v+5vc224)4图8无线接收电源模块图9无线接收模块+5vq n5系统软件设计5.1程序流程图在主函数中调用相关函数完成特定人语音的训练,然后在训练成功后进行 语音识别,根据识别的命令执行相关的操作。程序流程框图如图10所

24、示:开始1初始化i/o擦除指定的flashsir置相关标志位语音识别初始化设置触发是否为触发状态?是否为触发名称?判断是第几组命令?牌第烽第燈第名ab全全a第一第一第二第二称.组组亮灭组 .路亮路灭路亮路灭组训练是否超时?清除触发标志训练银按卜否擦除flash标志根据flash中的标志位来进行判断是否为第一次下载。使用库函数 bsr_exportsdword(uicommandid)将训练好的语音模型导出存储到flash中进 行操作,然后再调用读写flash函数。在进行语音识别时,首先读取flash将 语音模型取得,然后调用bsr_importsdword(uicommandid)函数将语音资

25、源载 入内存。在识别出命令后,执行相关操作,及打开某路灯,或者是关闭某路灯。5.2 flash存储器读写spec061a有32k字的内嵌入闪存(flash存储器),这32k字内存给划分为 128个页,每个页的存储容量为256字,第一页的范围为0x800ox8off,最后一页 的地址范围为0xff000xffff。它们在cpu空闲状态下均可通过编程被设置为 只读或出/写方式。全部32k字均可在ice工作方式下被编程写入或被擦除。flash存储器的控制端的地址为0x7555 (p_flash_ctri = 0x7555; flash存储器 的匹配数据为0xaaaa(c_flash_match =

26、oxaaaa); flash存储器的页擦除控 制字为0x5511 (c_flash_page_erase = 0x511) ; flash存储器字的写入控制 字为0x5533 (c_flash_1word_pgm = 0x5533) ; flash存储器的顺序写入多 字的控制字为0x5544 (c_flash_sequent_pgm = 0x5544)。(1) flash存储器的页擦除的过程如图11所示:厂结束32kb的内嵌式闪存地址从0x8000开始被划分为128页(每页存储容量为 256b),它们在cpu正常运行状态下均可通过程序擦除或写入。全部32kb闪存均 可在ice工作方式下被编程写

27、入或擦除。擦除一页的流程是:先给命令用户接口地址0x7555里送oxaaaa,然后给命 令用户接口地址0x7555里送0x5511,在给要擦除页地址送任意数,约20ms即可 完成擦除操作,然后可以执行其他操作。例如,擦除第六页(0x8500ox85ff) 流程如下:先向0x7555送oxaaaa;在向0x7555送0x5511;最后向0x85xx至 oxxxxx送任意数即可。flash存储器页擦除程序:函数:f_flasherase()语法:void f_flasherase(sector)/描述:擦除256字节/参数:擦除页的起始地址/返回:无.public _f_flasherasef f

28、lasherase: .procpush bp to spbp = sp + 1rl = c_flash_match/aaaap_flash_ctrl = rlrl = c_flash_page_erase/5511pflashctrl = rlrl = bp+3擦除一页rl = rlpop bp from sprctf .endp.end(2) flash存储器的写入一个字的过程:写入一个字的流程是:先给命令用户接口地址0x7555里送oxaaaa,然后给 命令用户接口地址0x7555里送0x5533,再给要写入地址送数据,约40us即可写入 操作,然后可以执行其他操作。例如,向0x8000

29、写入oxffff流程如下:0x7555 到oxaaaa; 0x7555到0x5333; 0x8000到oxffff。程序流程图如图12所示。z 结束 、丿图12 flash写入字流程flash存储器的写入字的程序:函数:fflashwrite 1 word()语法:void f_flashwrite 1 word(int addr,int value)描述:写一个字到flash中参数:1、被写数据的存储地址2、被写数据返回:无.public _f_flashwritelwordf_flashwrite 1 word:.procpush bp to spbp = sp+1rl = c_flash

30、_match/aaaapflashctrl = rlrl = c_flashword_pgm/5533p_flash_ctrl = rlrl = bp+3/flash addressr2 =bp+4/datarl=r2pop bp from spretf.endp(3)flash存储器的顺序写入字:在flash存储器按顺序写入多字的子程序中,当写入字结束时,需要写入一 个数据(可为任意数)到p_flash_ctrl寄存器当中,以结束当前多字节写入状态。 以上各子程序当中,延时由硬件完成,用户无需在软件当中做软件延时。在没有 写入flash存储器时,(如果flash存储器已经被擦除)读出oxao

31、oo的数据是oxffff, 所以在开始时读出的数据是oxffffo写多个字节流程是:先给命令用户接口地址0x7555里送oxaaaa,然后给命 令用户接口地址0x7555里送0x5544,再给要写入字首地址送数据,约40us即可完 成1个字节写入操作。在给命令用户接口地址0x7555里送0x5544,给写入字节地 址数据,等40us即可,循环操作,即可完成多字的写入。程序流程图如图13所示。图13 flash存储器顺序写入多flash存储器的顺序写入字的程序:函数:f_flashwrite()语法:f_flashwrite(int sector,int &num,int size)/描

32、述:顺序写多个字/参数:1、被写数据的起始地址/2、被写数据/3、写数据的数量返回:无.public _f_flashwrite _f_flashwrite: .procpush bp to sp/flash base address/data多个字节/aaaabp = sp+1rl = bp+3r2 = bp+4r3 = bp+5r4 = c_flash_matchpflashctrl = r4l_flashwriteloop:r4 = c_flash_sequent_pgm /5544p_flash_ctrl = r4r4 = r2+rl+ = r4r3 -= 1写结束jnz l_flas

33、hwriteloop p_flash_ctrl = r3 pop bp from sp retfendp 5.3语音训练模块当程序检测到训练标志位uiflagfirst为1时,就会要求使用者对它进行训练 操作,训练采用两次训练获取结果的方式,以训练控制器的名称为例:控制器首 先会提问”给我取个名字吧”,这是训练者告诉控制器一个名字。让后就会提示 “再说一遍”,这是再次告诉控制器的名字,如果两次输入的差别不大,控制器 就能成功的建立模型,此时训练名字成功;如果没有成功建立模型,会提示你错 误的原因,平要求重新训练。一条训练命令成功训练后,会给岀下一个要训练名 称的提示。可以根据相关的提示进行训练

34、。训练系程序流程如图14所示:图14语音训练程序流程图训练子程序:unsigned int trainword(unsigned int wordid,unsigned int sndlndex)int result;playsnd(sndlndex); 引导训练,播放指令对应动作while(l)result = bsr_train(wordid,bsr_train_twice); 训练两次,获得训 练结果if(rcsult=o) break;switch(result)case -1:playsnd(s_novoice);return -1;case -2:需要训练第二次playsnd(s_

35、again);break;case -3:/环境太吵playsnd(s_noisy);return -3;case 4:数据库满return -4;case 5:/检测出声音不同if(wordid = named)playsnd(s_namedif);/两次输入名称不同没有检测出声音else playsnd(s_comdif); 两次输入命令不同case 6:return -5;序号错误return -6;default:break;return 0;5.4语音播放模块在系统正常工作时,会根据语音输入的命令做出相应的应答,并执行相应的 操作,去控制其中一路灯光的打开或关闭,语音播放采用sacm

36、_480格式的语音 自动播放模式,程序流程图,如图11所示。; 返回xu/图11语音播放程序流程图语音播放程序操作步骤:1. 新建一个工程,在工程里建立一个新的c语言文件。2. 程序中会用到语音识别的api函数,先拷贝语音识别库bsrv222sdl.lib到工程 文件夹。3. 拷贝语音识别头文件bsrsd.h、bsrsd.inc到工程文件夹。4. 拷贝语音播放库sacmv26e.lib和头文件a480.h、a480.inc到工程文件夹。5. 拷贝支持sacmv26e.lib的汇编语言文件hardware.asm和头文件hardware.h> hardware.inc到工程文件夹。6. 在

37、 ide 集成开发环境的 projcct/sctting/link 中链接 bsrv222sdl.lib 和 sacmv26c.lib库到工程中。7. 添加hardware.asmfiq.asm、hardware.asm. main.c、flash.asm等文件到工程 文件的"source files” ,添加bsrsd.h、bsrsd.inc、a480.h、a480.inc、hardware.h、 hardware.inc头文件到"head files”。&拷贝语音资源,并加载到工程当中;9. 按照程序流程图编写程序。10. rebuild all©11

38、. 按照硬件连接图连接硬件。12. 下载程序,运行。s acm_480格式自动播放程序如下:void playsnd(unsigned int sndlndex)bsr_stoprccognizcr();sacm_s480jnitial(l);sacm_s480_play(sndindex,3,3);while(sacm_s480_status()&0x0001) != 0)sacm_s480_scrviccloop();(unsigned int *)0x7012 = 1;sacm_s480_stop();bsr_initrecognizer(bsr_mic);bsr_enablec

39、puindicator();6结束语时间过得真快,转眼几个月的时间已经过去了,我的毕业设计也基本上实现 了课题的要求,及能对控制器进行语音训练,使其识别特定人的语音,并通过无 线发射接收模块,进行相应的灯光控制。本系统的设计主要是应用到家庭里,比 如在客厅的一个位置放置一个控制器,能方便的通过语音来控制某个房间或地点 的灯光开关或闪烁;该系统还可以为老人或行动不方便的残疾人使用,在漆黑的 夜晚开灯或关灯对于行不方便的人来说确实比较困难,如果把该系统给他们使 用,将会给他们带来极大的方便,并体会到科技带来的快乐。因此该系统具有较 普遍的推广性和实用性。不过目前本系统采用的凌阳单片机对一些语音的识

40、别还 不是太好特别是一些发音比较相近的汉字来说,很容易造成混淆,在使用该系统 时,要尽量使用发音产别较大的词语,来进行区分以不至于导致系统的混乱。 致谢我的这次毕业设计是在老师的精心指导和大力支持下完成的。在课题选定、 理论基础和方案的论证上,老师为我们做了认真的分析和耐心的讲解,从理论指 导到实际操作徐老师也给我提供了极大的帮助。至此论文定稿之际,对老师表示 衷心的感谢!感谢老师能在繁忙的教学之中抽出时间为我提供耐心的指导,帮我 们解决在设计过程中遇到的种种问题。这次的毕业设计是由我个人独立完成的,在这个过程中我还是得到了许许多 多同学的帮助和老师的指导,对于凌阳单片机来说,我是没有接触过的

41、,在得到 这个题目的时候,我首先要做的是了解一下这个单片机,这个单片机和我们以前 学的51单片机的区别在哪儿,它的最小系统是什么,它应该怎么开发,它的编译 环境是什么,它的下载方式有是什么,等等一系列的问题摆在了我的面前。从徐 老师那儿领到这块开发板开始,我先把元器件焊接好,把单片机的最小系统调整 好,开发板焊接好的时候,通电红色的发光亮了说明电源正常,呵呵,心里还是 有点高兴的,不过接着的问题是一个接一个的,我按照书上讲的下载方式连接号 下载线时,可不知为什么怎么都下不进去程序,我怀疑是不是板子没焊好,还是 电脑没有配置好,搞了好长一段时间都不明白,还是在同学的帮助下,原来是我 的单片机没有

42、安好,处于悬空中,是接触非接触,哎,总算把问题找到了,程序 下进去了,可是怎么搞就是播放不出声音,我就通过凌阳单片机论坛通过一些网 友帮助,经过一些有经验的学长指导,原来是i/o口参考电压的问题,总算把单 片机的最小系统弄明白了,接着一些相关的问题也迎刃而解。真是有点万事开头 难啊,经过不断的努力我的系统终于实现了基本功能,在此向给我提供过帮助的 老师,同学,网友等等表示我忠心的谢意!参考文献:1李朝青.单片机原理及接口技术m.北京航空航天出版社,1999.32候媛彬.凌阳单片机原理及其毕业设计精选m.科学出版社,2006.13卢胜利.基于凌阳spce061a设计实验平台综合设计教程m.机械工

43、业出版社,2007.14肖玲妮.protel 99 se印刷电路板教程m.清华大学出版社,2003.85谭浩强.c语言程序设计教程m.清华大学出版社,2005.76龙佑喜.c语言程序设计教程m.湖南教育出版社,2004.97康华光.电子技术基础m.高等教育出版社,2005.78赵明富.eda技术基础m.北京大学出版社,2007.69薛均义.凌阳16位单片机原理及应用m.北京航空航天大学出版社2003.710易克初等.语音信号处理.国防工业出版社m.2000.1111胡航.语音信号处理.哈尔滨工业大学出版社mj.2000.812康华光,邹寿彬.电子技术基础(第五版)m.高等教育出版社.20051

44、3朱勇单片机原理与应用技术m清华大学出版社.200614高峰.单片微机应用系统设计及实用技术m.北京:机械工业出版社.200415何希才,伊兵,杜煜.实用电子电路设计m.北京:电子工业出版社,199816康华光电子技术基础模拟部分(第五版)m.高等教育出版社,2005.717康华光电子技术基础数字部分(第五版)m.高等教育出版社,2005.718王远.模拟电子技术m.北京:北京机械出版社,199419潭博学,苗江静.集成电路原理及应用.北京:电子工业出版社.200320楼然苗,李光飞.51系列单片机设计实例.北京航空航天大学出版社.2006附录一:rindbsrllri5oscpi2262无线

45、发射模块蚪2l;ldb22dbidbi»y114oscocl 2«p3 76smoscic2 20pri6ilvssre正r20 4 7kvwris b乂15】x.vssvwj2d 5yoo= cc.ck2h0130 oes2.20hl e 3 vss 】ufdacm2osco osc12ice wu5b.jc dao 13vrek1iavsmopi 1?oz uz o 一 aa>q-flo-so-soso-982 sc-3一0一 so- so-20-oho 一hrgjnuu>duu> n-oum-acvo- o5a> ox一a> 2ss>

46、; 2ss> r-<0 一 9vo_ s<0_ pvo 一 ;o 一 <0- -<0- 0«0一 ss>on u<1av dmxr/ mav>6ukbii kbi2 kb1356 kbi4io8i5$5"52 vss51mis 48iam4 4? mi345 mu44 mio45 mottdacdach,kwuvsssnxjoini ixavss2j3sfvokw图15主控电路原理图无线接收模块图16无线发射电路附录二:子程序:include ”bsrsd.h”include ns480.hninclude ”robot.h”

47、void lightsystemlnit(void);unsigned int isfirstdownload(void);void formatflash(void);void trainfivecommand(void);void savefivecommand(unsigned int uiaddr);void importfivecommand(unsigned int uiaddr_import);unsigned int trainword(unsigned int wordid,unsigned int sndlndex);void playsnd(unsigncd int sn

48、dlndcx);extern void sacm s480 serviceloop();extern unsigned int sacm_s480_status();extern void f flasherase(int);extern void f flashwrite 1 word(unsigned int,unsigned int);void lightsystemlnit(void)*(unsigned int *)0x7012 = 1;*p iob data = oxffff;*pob_attrib = oxffff;*p iob dir = oxffff;ob_data = ox

49、ffff;unsigned int isfirstdownload(void)unsigned int uiflagfirst_sub;unsigned int uiflashdata;unsigned int *p;p = (unsigned int *)oxfcloo; uiflashdata = *p;ifuiflashdata = oxffff)uiflagfirst_sub = 1; return uiflagfirstsub;else iffuiflashdata = oxaaaa) uiflagfirst_sub = 0; return uiflagfirstsub;elseui

50、flagfirstsub = -1; return uiflagfirstsub;void formatflash(void)f_flasherase(0xf700);f_flasherase(0xf700+100);f_flasherasc(0xf700+200);f_flasherase(0xf700+300);f_flasherase(0xf700+400);存储第一组命令的flash空间每条命令占用96个字,用函数导出占用100个字f_flasherase(0xf900);f_flasherasc(0xf900+100);f_flasherase(0xf900+200);f_flash

51、erase(0xf900+300);f_flasherase(0xf900+400);存储第一组命令的flash空间每条命令占用96个字,用函数导岀占用100个字f_flasherasc(0xfb00);f_flasherase(0xfb00+100);f_flasherase(0xfb00+200);f_flasherase(0xfb00+300);f_flasherase(0xfb00+400);void trainfivecommand(void)bsr deletesdgroup(o);playsnd(o);存储第一组命令的flash空间每条命令占用96个字,用函数导出占用100个字初

52、始化存储器ram播放提示音1whilc(trainword(name_id,0) != 0);while(trainword(command_one id,1) != 0);while(trainword(command_two_id,2) != 0);while(trainword(command_three_id,3) != 0);while(trainword(command_four_id,4) != 0);void savefivecommand(unsigned int uiaddr)unsigned int uicommandld;unsigned int uicount;unsigned int uircs_export;for(uicommandid = ox 100;uicommandid<0x 105;uicommandid+)uires export = bsr exportsdword(uicommandld); while(uires_export)uircs_export = bsrexportsdword(uico

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论