




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计说明书(论文)课程名称: 设计题目: 院 系: 班 级: 设 计 者: 学 号: 指导教师: 设计时间: 课程设计任务书 姓 名: 院 (系): 专 业: 班 号: 任务起至日期: 年 月 日至 年 月 日 课程设计题目: 智能声控小车 已知技术参数和设计要求:已知技术参数:1. 凌阳spce061a型单片机最小开发系统一套,包括电源接口、io接口、音频输出接口、mic输入接口及程序下载接口;2. 小车额定工作电压4.5v(3节干电池)。 设计要求:1. 正确焊接电路板,完成单片机最小系统的调试;2. 利用61板实现语音控制小车的基本功能,包括前进、倒车、左拐和右拐的功能; 3.根据自己能力,完成机器人附加功能。 工作量: 总工作时间为10天; 完成凌阳spce061a型单片机最小系统的焊接与调试工作;设计程序流程图并编写、调试程序;车体与单片机最小系统连接调试,完成设定的功能;最后撰写开题报告和结题报告各一份。 工作计划安排: 同组设计者及分工: 指导教师签字_ 年 月 日 教研室主任意见: 教研室主任签字_ 年 月 日*注:此任务书由课程设计指导教师填写摘要:本文对声控小车概况做了阐述。在硬件设计方面,本文以凌阳科技公司的spce061a单片机为控制核心,以语音小车控制电路板为辅,设计小车的动作。在软件方面,利用c语言进行编程,进行语音的“训练”和“识别”。设计出具有如下功能的语音识别声控小车:能够根据录制的语音命令来控制小车的前进、后退、左拐和右拐。关键词:spce061a 语音识别 声控小车一、 引言所谓声控技术其实也就是利用语音识别技术来达到控制或者操作的一种技术,而语音识别技术这近五年来已经有很大的进步,最新的语音识别技术可以辨识90%以上的人类说出的字。声控技术虽然是一项比较先进的技术,但不可否认的是,声控技术在无线传输时的合成的质量不是很好,它尚需进一步提高,因为无线环境中的背景噪声太大了,当然还有其他方面的因素影响着声控功能的发挥。然而随着微电机技术、计算机技术及传感器技术的迅速发展,现今声控技术应用广泛,这种崭露头角的声控技术,给严重伤残人士的生活带来了极大的方便。伤残人士用声音就可以打开门窗、窗帘、电视机、电灯等。本次试验我们就采用了凌阳spce061a单片机设计并制作了一套基于语音识别技术的声控小车。课设实验介绍声控智能玩具车电路是一种装载到普通的玩具车上对玩具车进行控制的电路。该电路可利用声控口令使玩具车前进,并发出闪烁灯光。设计目的:通过对声控智能玩具车的设计与调试,使学生掌握电子系统的设计方法、调试过程,学会对电机、单片机、扬声器、驱动电路的使用方法。二、 设计要求及技术指标设计一个玩具车控制电路,要求通过口令声或猝发声音信号转换成相应的电信号,控制玩具车启动、前进,通过一段延迟时间后,玩具车自动停止。基本部分:电路由声/电转换电路、声控开关、单稳态触发电路、功率驱动电路和发声电路等组成;采用电容话筒或录音用的微型话筒接收音响;汽车发声可选择发出警车声、救护车声、消防车声等。三、 综合设计方法声控式智能玩具车控制电路如图1所示,主要由三个部分组成。第一部分声音接收和转换电路主要用于接收口令或猝发声音,并将其转换成相应的电信号,经过放大整形驱动后级电路进行控制;第二部分控制电路接收信号后,发出控制信号启动电机,同时启动发声电路,并对玩具车行驶时间进行计时;第三部分主要由发声电路和计时电路组成,发声电路可发出任意一种或多种报警声音,计时电路是对玩具车开动到自动停止的时间段进行计时,时间长短可通过调节控制电路中相应部分来进行。驱动电机发声电路声音接收及转换电路图1 声控智能玩具车电路计时电路控制电路设计方案:设计思路及工作原理采用凌阳spce061a单片机,利用它的高度集成性,完成对小车的控制。结构如图:凌阳单片机l298转向电机动力电机凌阳spce061a单片机选择凌阳单片机的原因:凌阳spce061a单片机内部集成了ice,flash,sram,通用i/o接口,定时器/计数器,中断控制,cpu时钟锁相环,adc,dac输出,uart,sio,低电压监测/低电压复位等模块。它将电路大大简化,节省小车空间,大大减小了系统复杂度。选择l298的原因:由于单片机的io口驱动能力明显不足以驱动电机转动,所以采用l298做一个过渡,一边是单片机,一边是电机,很好的解决了驱动问题。下面是l298的使用电路图。4.3车体介绍主要是对i/o口的读写控制。i./o数据与功能对应如下:i/o口转向电机驱动电机最终效果0010停止正转前进0001停止倒转倒车1010正转正转左拐0110倒转正转右拐 我们用iob的0-3位控制电机,用8-11位控制灯。这是因为进过测试高位的驱动能力要更强,可以直接点亮led灯。i/o口(二进制)i/o(十六进制)功能00000001000000100102前进00000010000000010201倒车0000100000001010080a左拐00000100000001100406右拐四、 系统软件设计具体的主程序:/=#include s480.h#include bsrsd.h#definep_ioa_data (volatile unsigned int *)0x7000 #define p_ioa_dir (volatile unsigned int *)0x7002#define p_ioa_attrib (volatile unsigned int *)0x7003#define p_iob_data(volatile unsigned int *)0x7005 #define p_iob_dir(volatile unsigned int *)0x7007 #define p_iob_attrib(volatile unsigned int *)0x7008 #define p_timera_data(volatile unsigned int *)0x700a #define p_timera_ctrl(volatile unsigned int *)0x700b #define p_timerb_data(volatile unsigned int *)0x700c #define p_timerb_ctrl(volatile unsigned int *)0x700d #define p_watchdog_clear(volatile unsigned int *)0x7012 #define name_id 0x100#define command_go_id 0x101#define command_back_id 0x102#define command_left_id 0x103#define command_right_id 0x104#define s_name0/取名#define s_act11/前进#define s_act22/倒车,请注意#define s_act33/左拐#define s_act44/右拐#define s_rdy 5/yeah#define s_again6/请再说一遍#define s_novoice7/没有听到任何声音#define s_cmddiff8/说什么暗语呀#define s_noisy8/说什么暗语呀#define s_start9/准备就绪,开始辨识#define s_gjg 10/拐就拐extern unsigned int bsr_sdmodel100;/外部变量bsr_sdmodel100,辨识器自带extern void f_flashwrite1word(unsigned int addr,unsigned int value);extern void f_flasherase(unsigned int sector);/=/ 语法格式:void delay();/ 实现功能:延时/ 参数:无/ 返回值:无/=void delay()unsigned int i;for(i=0;i0x3fff;i+)*p_watchdog_clear=0x0001;/=/ 语法格式:void playsnd(unsigned sndindex,unsigned dac_channel);/ 实现功能:语音播放函数/ 参数:sndindex-播放语音资源索引号/dac_channel-播放声道选择/ 返回值:无/=void playsnd(unsigned sndindex,unsigned dac_channel)bsr_stoprecognizer();/停止识别器sacm_s480_initial(1);/初始化为自动播放sacm_s480_play(sndindex, dac_channel, 3);/开始播放一段语音while(sacm_s480_status()&0x0001)!= 0)/是否播放完毕?sacm_s480_serviceloop();/解码并填充队列*p_watchdog_clear=0x0001;/清看门狗sacm_s480_stop();/停止播放bsr_initrecognizer(bsr_mic);/初始化识别器/=/ 语法格式:int trainword(int wordid,int sndid);/ 实现功能:训练一条指令/ 参数:wordid-指令编码/sndid-指令提示音索引号/ 返回值:无/=int trainword(unsigned int wordid,unsigned int sndid)int result;playsnd(sndid,3);/引导训练,播放指令对应动作while(1)result = bsr_train(wordid,bsr_train_twice);/训练两次,获得训练结果if(result=0)break;switch(result)case -1:/没有检测出声音playsnd(s_novoice,3);return -1;case -2: /需要训练第二次playsnd(s_again,3);break;case -3:/环境太吵playsnd(s_noisy,3);return -3;case -4:/数据库满 return -4;case -5: /检测出声音不同playsnd(s_cmddiff,3);return -5;case -6: /序号错误return -6;default:break;return 0;/=/ 语法格式:void trainsd();/ 实现功能:训练函数/ 参数:无/ 返回值:无/=void trainsd()while(trainword(name_id,s_name) != 0) ; /训练名称while(trainword(command_go_id,s_act1) != 0) ; /训练第1个动作while(trainword(command_back_id,s_act2) != 0) ; /训练第2个动作while(trainword(command_left_id,s_act3) != 0) ; /训练第3个动作while(trainword(command_right_id,s_act4) != 0) ;/训练第4个动作/=/ 语法格式:void storesd();/ 实现功能:存储语音模型函数/ 参数:无/ 返回值:无/=void storesd() unsigned int uladdr,i,commandid,g_ret; f_flasherase(0xe000); f_flasherase(0xe100); uladdr=0xe000;/*for(commandid=0x100;commandid0x105;commandid+)g_ret=bsr_exportsdword(commandid);while(g_ret!=0)/模型导出成功?g_ret=bsr_exportsdword(commandid);for(i=0;i100;i+)/保存语音模型sd1(0xe000-0xe063) f_flashwrite1word(uladdr,bsr_sdmodeli);uladdr+=1;/=/ 语法格式:void storesd();/ 实现功能:装载语音模型函数/ 参数:无/ 返回值:无/=void loadsd() unsigned int *p,k,jk,ret,g_ret;p=(int *)0xe000;for(jk=0;jk5;jk+)for(k=0;k100;k+)ret=*p;bsr_sdmodelk=ret;/装载语音模型p+=1;g_ret=bsr_importsdword();while(g_ret!=0)/模型装载成功?g_ret=bsr_importsdword();/=/ 语法格式:void goahead();/ 实现功能:前进子函数/ 参数:无/ 返回值:无/=void goahead() /前进 unsigned int j;playsnd(s_act1,3);*p_iob_data=0x0102;for(j=0;j50;j+)/延时delay();*p_iob_data=0x0000;/=/ 语法格式:void backup();/ 实现功能:后退子函数/ 参数:无/ 返回值:无/=void backup() /倒退unsigned int j;playsnd(s_act2,3);*p_iob_data=0x0201;/延时for(j=0;j50;j+)delay();*p_iob_data=0x0000;/=/ 语法格式:void turnleft();/ 实现功能:左转子函数/ 参数:无/ 返回值:无/=void turnleft() /左转unsigned int j;playsnd(s_gjg,3);*p_iob_data=0x080a;for(j=0;j30;j+)/延时delay(); *p_iob_data=0x0802;for(j=0;j20;j+)/延时delay();*p_iob_data=0x0000;/=/ 语法格式:void turnright();/ 实现功能:右转子函数/ 参数:无/ 返回值:无/=void turnright() /右转unsig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年青海烟草考试真题试卷及答案
- 宿州市下关中学招聘教师笔试真题2024
- 石大学前儿童保育学课件2-1儿童营养
- 社会连接与个人幸福感-洞察阐释
- 基于声波增强的智能家居语音交互系统-洞察阐释
- 绿色园区的定义及发展趋势
- 小学体育与健康跨学科教学策略及实施路径
- 第一中学高中生物 生态系统的稳定性教学设计新人教版必修
- 2025至2030年中国玻璃钢给排水管道行业投资前景及策略咨询报告
- 2025至2030年中国物流配送管理软件行业投资前景及策略咨询报告
- 原发性肝癌诊疗指南(2023年年版)要点
- 商砼混凝土搅拌站可研研究报告
- 关于若干历史问题的决议(1945年)
- 云南省昆明市成考专升本2023年医学综合真题及答案
- 气管切开非机械通气患者气道护理规范(2020年版指南解读)
- 班主任基本功比赛专题培训:育人故事+带班方略+主题班会+案例答辩+才艺展示
- 儿童意外伤害预防
- 尾矿库各岗位安全操作规程安全作业指导书
- 建筑工程施工质量检查与验收手册
- 最全的公路工程施工资料目录整理
- PMS在线粒子监测系统方案
评论
0/150
提交评论