版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连东软信息学院高职毕业设计(论文)论文题目论文题目:语音导游机器人设计与实现系所:电子工程系专业:嵌入式系统工程学生姓名:学生学号:指导教师:导师职称:讲师完成日期:2014年4月25日大连东软信息学院DalianNeusoftUniversityofInformation大连东软信息学院毕业设计(论文)摘要IV语音导游机器人设计与实现摘要自主反应式智能系统是一种应用广泛的控制系统。对电路的分析和验证工作依靠智能化来完成,效率高。因此它的研究与开发是一项非常有意义的工作。本系统采用STC89C52RC作为主控制芯片,采用L298N芯片作为直流电机驱动器,通过改变单片机产生的PWM方波占空比,来控制智能机器人的速度。除此之外机器人导游的运行状态和旅游景点温度值都可以通过LCD1602显示器进行显示。机器人还安装了红外接收模块和语音模块,可以通过红外遥控器对机器人随时进行控制,并且语音模块会按照指令播报导游词。四者的结合使机器人更加智能化,自动化。整个系统在设计中注意低功耗处理和力求高性价比等细节,电路结构简单,可靠性高,无论在结构和技术上都具有较好的科学性。关键词:单片机,语音模块,红外遥控,导游机器人大连东软信息学院毕业设计(论文)AbstractDesignandImplementationofVoiceIntelligentRobotAbstractSelf-reactiveintelligencesystemisawidelyusedcontrolsystems.Analysisandverificationofcircuitsrelyintelligenttocomplete,highefficiency.Soitisaverymeaningfulresearchanddevelopmentwork.ThesystemusesAT89S52asthemaincontrolchip,usingL298NchipastheDCmotordrives,bychangingthePWMdutycycleofthesquarewavegeneratedbythemicrocontrollertocontrolthespeedofintelligentrobots.InadditiontorunningtherobotandattractionstemperaturevaluescanbedisplayedguidedbyLCD1602Monitor.Robotsalsoinstalledinfraredreceivermoduleandvoicemodule,infraredremotecontrolcancontroltherobotatanytime,andvoicemodulewillfollowtheinstructionguidewordsbroadcast.Thefourcombinedtomakemoreintelligentroboticsandautomation.Notethattheentiresystemisalow-powerprocessing,andstrivetohighcostandotherdetailsinthedesign,simplecircuitstructure,betterstabilityandcapability,bothinstructureandtechnicallyhaveabetterscientific.Keywords:Microcontroller,Voicemodule,Infraredremotecontrol,GuidedRobotics大连东软信息学院毕业设计(论文)目录目录TOC\o"1-3"\u摘要 IAbstract II第1章项目概述 11.1项目背景 11.2项目简介 11.3应用范围 1第2章项目实施方案 22.1概述 22.1.1设计主要内容 22.1.2主要器件选择 22.2开发环境 32.3硬件设计 32.3.1硬件系统框图 32.3.2原理图设计 32.4软件设计 132.4.1软件主流程图 132.4.2红外解码模块子流程图 152.4.3温度测量模块子流程图 16第3章项目实施过程 173.1硬件实现过程 173.1.1AltiumDesigner设计原理图 173.1.2硬件实现步骤 183.2软件实现过程 193.2.1Keil集成开发环境 193.2.2主函数介绍 203.2.3子函数介绍 223.3调试过程 233.3.1硬件调试 233.3.2软件调试 24第4章项目成果 284.1硬件成果物 284.1.1硬件原理图 284.1.2硬件实物图 284.2软件成果物 29第5章结论 33参考文献 34致谢 35附录 36大连东软信息学院毕业设计(论文)-第1章项目概述1.1项目背景改革开放带动了中国旅游业的高速发展,越来越多的人喜欢旅游,随之导游这个职业受到了更多人的关注与喜爱。但是导游总负责介绍同一个景点,导致了工作积极性和热性度日益下降。而且近年来游客投诉现象日益增多,主要集中于导游与游客之间的冲突,人工导游已经不能满足消费者多种多样的需求,造成了游客本身的游玩意愿不能得以较好的实现。针对相对之后的导游服务之间存在的矛盾,本文设计了一种语音导游机器人的设计方案。1.2项目简介语音导游机器人全程由12V2.6A锂电池组供电。锂电池组接到带有LM2576HVT-5.0开关电源稳压器的电源模块上为其他模块供电。游客可以使用红外遥控器对语音导游机器人进行远程遥控。在红外遥控模式中红外接收头选用1838T,当遥控器有按键按下时,红外模块按时序进行接收信号,再将信号传给单片机进行处理,最后将处理信号传给驱动模块、语音模块和显示模块。驱动模块采用L298N驱动芯片来驱动4个直流电机,语音模块采用ISD1730芯片,并且兼容SIP模式操作和独立按键操作,连接主板和8Ω0.5W的喇叭,通过上位机软件可以对语音模块进行录音、播放、擦除等操作。显示模块采用LCD1602液晶显示器来显示机器人运行状态,不仅如此机器人还能够通过温度采集模块全程监控周围环境,而温度传感器采用DS18B20,DS18B20集温度测量和A/D转换于一体,直接输出数字量。1.3应用范围主要应用于旅游业、图书馆、博物馆进行解说之需要。结合公园和展馆的景区景点分布情况,语音导游机器人能够对公园景区以及陈列历史文物等内容以音频和文字的形式展示给游客。语音导游机器人本身就是一种讲解专用设备,所以也适用于家庭、学校、公司等场合。使用户在边看边听中,汲取知识,了解内涵,享受文化。不仅如此,日常生活中还可以当做儿童玩具,使得孩子在玩耍中,加强了儿童掌握语言运用的能力。在工农等领域可以用来监管库房、养殖基地、生产线的环境指数。除此之外还可以进行高危作业,可进行探测和导航工作。第2章项目实施方案2.1概述2.1.1设计主要内容智能机器人系统的设计所涉及的主要内容有:(1)STC89C52RC单片机最小系统的设计。(2)驱动芯片L298N的应用:驱动模块的设计、驱动模块与单片机和直流电机的接口电路设计,对驱动机器人和PWM的程序设计。(3)语音芯片ISD1730的应用:搭配ISD1730芯片组成的语音模块的设计,语音模块与单片机和扬声器的接口电路的设计。(4)液晶显示器LCD1602的应用:LCD1602与单片机的接口电路的设计,对LCD1602显示的程序设计,包括对LCD1602的初始化、写指令,写数据,检测忙,写字符串等。(5)温度传感器DS18B20的应用:DS18B20与单片机接口电路的设计,对DS18B20采集温度的程序设计,包括对DS18B20温度传感器的初始化、设定精度,读取温度值等。(6)红外接收头1838T电路的设计:电路连接,红外接收模块与红外遥控器的解码程序设计,模式切换等设计。2.1.2主要器件选择(1)单片机采用STC89C52RC型号单片机。由于STC系列单片机具有51单片机内核,并且价格便宜,便于程序的下载。(2)液晶显示器采用LCD1602,显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。相对于显示字母和数字比较方便,控制简单,成本较低。(3)驱动芯片选择L298N,内部包含4通道逻辑驱动电路,可以方便驱动两路直流电机,可以直接用单片机的I/O口提供信号,而且电路简单,使用比较方便。(4)温度传感器采用DS18B20。DS18B20集温度测量和A/D转换于一体,直接输出数字量,传输距离远,可以很方便地实现多点测量,硬件电路结构简单,与单片机接口几乎不需要外围元件。(5)语音芯片选择ISD1730,ISD语音芯片精度高,抗干扰性强,在恶劣的环境下依旧正常进行语音播放,断电后信息仍然可以保留很长时间。并且应用非常灵活,有两种控制方式,两种录音输入方式,两种放音输出方式。(6)红外接收头选用1838T。内置专用IC,抗干扰能力强,低工作电压,能抵挡环境干扰光线,硬件电路结构简单,易于操作。2.2开发环境硬件环境:笔记本电脑,USB转串口下载线,电源线,音频线,喇叭,车模,锂电池组,万用表,电烙铁。软件环境:AltiumDesignerWinter电路绘制软件,Keil集成开发软件,VoiceReader语音合成软件,ISD1700VoiceChip录音软件,Windows7。2.3硬件设计2.3.1硬件系统框图基于单片机的语音导游机器人系统及其硬件电路方框图如图2.1所示。硬件电路有9部分组成,即电源电路、单片机最小系统电路、温度采集电路、语音电路、红外接收电路、驱动电路、液晶显示电路等。分别由两个单片机控制。图2.1硬件系统框图2.3.2原理图设计1.单片机最小系统电路单片机最小系统电路采用STC系列单片机作为核心处理器。单片机控制系统基本由最小系统和外围信号I/O口组成,其中最小系统包括电源(地),CPU时序电路(一般使用11.0592M或者12M和30P电容组成),复位电路。有了以上三块,单片机就能够正常工作。时钟电路接M1单片机18、19引脚,复位电路接M1单片机9引脚,VCC接电源,VSS接地。STC89C52RC为8位单片机,片内含有8K字节的可编程Flash存储器。STC89C52RC具有以下功能:32位I/0口线,512字节RAM,复位电路,看门口定时器,3个16位定时器/计数器,4个外部中断等,使得STC89C52RC为众多的应用系统提供高效的解决方案。其应用范围广,性能良好,可用于解决复杂的控制问题。利用STC89C52RC的I/O端口对传感器信号进行实时判断监控来控制各模块做出相应的反映。如图2.2是较为常见的单片机最小系统图。图2.2单片机最小系统2.时钟电路单片机的时钟产生有两种方法:内部时钟方式和外部时钟方式。本系统选用内部时钟方式,如图2.3所示。STC89C52RC含有一个放大器,放大器的输入端为引脚XTAL1,输出端为XTAL2,分别为M1单片机的18、19引脚。在其两端外接晶振振荡器和两个微调电容,就构成了自激振荡器。电容的大小会影响晶体振荡器频率的高低和稳定性,振荡器的频率范围一般为1.2MHz-12MHz,时钟频率的高低取决于晶振频率的高低。因此,此系统电路的晶体振荡器的值为11.0592MHz,电容值通常取30PF。图2.3时钟电路3.复位电路复位电路有两种复位方式,分别为上电自动复位方式和按钮复位方式。所谓上电复位,是指计算机加点瞬间,要在RST_51引脚出现大于10MS的正脉冲,使单片机进入复位状态。按钮复位是指用户按下“复位”按钮,使单片机进入复位状态。如图2.4是上电复位及按钮复位的一种实用电路。复位电路由电阻、电容、按键组成,其中RST_51接M1单片机9引脚。上电时,+5V电源立即对单片机芯片供电,同时经电阻R对电容C3充电,C3上电压建立的规程就产生一定宽度的负脉冲,经反向后,RST_51上出现正脉冲使单片机实现了上电复位。按钮按下时,RST_51上同样出现高电平,实现了按钮复位。图2.4复位电路4.红外接收电路设计红外接收电路使用一体化红外接收头1838T,其电路如图2.5所示。VCC和GND分别接主控电路的电源和地处,VCC与GND之间接一个瓷片电容104(即去耦电容),DOUT即解调信号的输出端,直接与M1单片机的外部中断引脚INT0(即P3.2口)相连。有红外编码信号发射时,输出为检波整形后的方波信号,并直接提供给单片机。图2.5红外接收电路5.语音电路设计 采用ISD1730芯片来构成高音质录放的语音电路,其电路如图2.6所示。语音芯片的工作电压范围为2.V-5.5V,最高不能超过6V,该种芯片支持两种工作模式,分别为按键模式和SIP模式。其中按键模式不需要连接单片机,/RESET为芯片复位端,/FWD为快进控制端,短时间按K1键播放指针指向下一语音段。/ERASE为擦除控制端,短时间按K2键擦除当前语音段,长时间按K2键整片擦除。/REC为录音控制端,接K2键可实现录音功能,长时间按K3录音,释放按键录音结束。/PLAY为播放控制端,短时间按K4键可播放当前语音段。在独立芯片模式下,/FT一直为低电平时,Analn直通线路被激活,该管脚有一个内部上拉和一个内部防抖动设计。在SPI模式下,SPI不考虑这个输入,直通线会直接被APC寄存器的DO所控制,接K5键实现直通功能。/VOL为音量控制端,一共7个档可选择,短时间按K6键音量减少4db。图2.6语音电路VCC和GND分别接主控电路的电源和地处。MISO是SPI接口的串行输出端,接单片机P1.1口,用于存放SCLK下降沿半个周期前的数据,数据在SCLK的下降沿时移出。MOSI是SIP接口的数据输入端,接M1单片机P1.2口,用于存放SCLK上升沿半个周期前的数据,此管脚没有数据输出的时候是高电平。SCLK为SIP接口的时钟端,接M1单片机P1.3口,用来同步MISO和MOSI端各自的数据输入和输出,此管脚没有数据输出的时候是高电平。/SS为选择控制端,接M1单片机P1.4口,为低电平时,芯片成为当前被控制的设备并且启动SIP接口,所以空闲时被处于高电平。震荡电阻ROSC连接一个80K的电阻接地,决定了语音芯片的采样率,从而改变语音芯片的录放时间和录放音质。ISD1730芯片的震荡电阻调节范围为60KΩ-160KΩ,对应的采样率为12KHz-4KHz,录音时间为20-60秒。Analn为辅助模拟输入端,连接音频插座,插上音频线,可实现与上位机通信。AUX/AUD为辅助输出端,用来输出一个AUX或AUD输出,两者都能用来驱动一个外部扬声器。SP+和SP-为喇叭正负输出端接8Ω0.5W的喇叭,MIC+和MIC-为麦克风的输入端。(1)独立按键工作模式ISD1730的独立按键工作模式只需要通过按键就可以轻松实现录放功能,调节音量、快进、直通放音、复位、擦除等功能。①录音操作当REC按键被按下时,/REC管脚变为低电平开始录音,直到/REC管脚为高电平或者超过录音时长时结束。操作完毕,放音指针会指向刚才录音段的首地址,录音指针会指向下一有效地址,即为下一段语音段的首地址。②放音操作/PLAY管脚的触发方式有两种,一种为边沿触发,另一种为电平触发。当按下PLAY键则进行放音操作,在放音过程中PLAY按键再次被按下则停止播放。a、边沿触发方式:按一下PLAY键,/PLAY管脚电平变低开始播放当前放音地址的语音段,当遇到EOM标志后停止放音。放音结束后,放音地址会指向刚才播放的语音段的首地址处,再次按下PLAY键会重新播放刚才的语音。b、电平触发方式:如果一直按PLAY键,此时/PLAY管脚一直为低电平,则语音芯片会循环播放所有语音段,直到/PLAY管脚为高电平。播放停止,播放指针会指向当前停止语音段的首地址处。③快进操作点按一下FWD键,此时/FWD管脚为低电平,播放指针就会指向下一个语音段的首地址进行播放,如果播放的语音段为最后一段,进行快进操作,播放指针会指向第一个语音段的首地址进行播放,快进操作要取决于芯片当时所处状态:a、如果芯片处于掉电状态并且当前播放指针指向的语音段不为最后一段,则指针会指向下一个语音段的首地址。b、如果芯片正在播放最后一段语音,此时播放停止,芯片将播放第一个语音段。④擦除操作ISD1730芯片有两种擦除方式:单个擦除和整体擦除,两者区别如下所示:a、单个擦除:只能擦除第一段和最后一段的语音,如果芯片处于空闲状态并且播放指针指向第一段或者最后一段语音,此时点按ERASE键,/ERASE管脚为低电平,则会删除第一段或者最后一段语音,播放指针将会指向执行擦除操作前的第二段语音的首地址。如果芯片处于空闲状态并且播放指针没有指向第一段或者最后一段语音,则不会进行擦除操作,播放指针不发生改变。b、整体擦除:当ERASE键或者/ERASE管脚为低电平的时间超过2.5S,则执行整体擦除,所有语音信息将被删除。⑤音量操作点按一下VOL键或者/VOL管脚为低电平就会改变输出音量的大小。总共有8个档可选择,每按一次按键就会调节一个档,复位操作会将声音调为最大音量。(2)ISD1730的SPI模式①微机接口单片机的I/O口与语音模块的SCLK,MOSI,MISO,/SS相连,单片机通过SPI协议对语音模块进行串行通信。通过发送一些SIP命令,用户可以指定录音、放音、和擦除等操作。除此之外还可以用一些命令访问APC寄存器,用来设置芯片模拟输入的方式。②SPI协议总述ISP1730的SPI串行接口必须遵循下列协议:a、只有当/SS管脚处于下降沿时,才能进行SPI。b、执行完一个SPI指令,/SS管脚电平必须为低。d、根据ISP1730指令类型,SPI指令操作码可包括数据字节,地址字节和命令字节。e、在SCLK上升沿时,数据被锁存到MOSI管脚中。在SCLK下降沿时,数据从MISO管脚输出,并且先移出低位。(3)ISD1730SPI指令表如表2.1所示。表2.1ISD1730SPI指令表指令名称命令字节描述ISD1700_PU0x01芯片上电ISD1700_STOP0x02停止操作ISD1700_REST0x03复位操作ISD1700_CLR_INT0x04清楚中断信号和EOM信号ISD1700_RD_STAUS0x05返回状态寄存器内容ISD1700_RD_PLAY_PTR0x06在1,2数据字节返回状态寄存器信息,在2,3数据字节返回播放指针ISD1700_PD0x07芯片下电ISD1700_RD_REC_PTR0x08清楚中断信号和EOM信号ISD1700_DEVID0x09返回状态寄存器内容ISD1700_PLAY0x40清楚中断信号和EOM信号ISD1700_REC0x41返回状态寄存器内容ISD1700_ERASE0x42清楚中断信号和EOM信号ISD1700_G_ERASE0x43返回状态寄存器内容ISD1700_FWD0x48将播放指针指向下一段语音的首地址ISD1700_SET_PLAY0x80从首地址<S10:S0>开始放音,到<E10:E0>停止放音ISD1700_SET_REC0x81从首地址开始录音<S10:S0>,到<E10:E0>停止录音ISD1700_SET_ERASE0x82从首地址开始擦除<S10:S0>,到<E10:E0>停止擦除6.驱动电路设计驱动芯片选用L298N。该芯片持续工作电流为2A,最高工作电压为46V,能够控制4个直流电机的转向和转速,如图2.7所示。VCC,VS均为电源管脚,VSS管脚接电源模块12V,VS接电源模块5V,GND管脚接电源模块输出端的负极。ISENA、ISENB分别为电流反馈引脚,P3用跳线帽跳上,使其两引脚接地。IN1、IN2、IN3、IN4为数据输入端,分别接M1单片机的P3.4、P3.5、P3.6、P3.7口。OUT1、OUT2、OUT3、OUT4为数据输出端,OUT1、OUT2连接左侧2个直流电机,OUT3、OUT4连接右侧2个直流电机。ENA,ENB为使能端,分别连接M1单片机P2.6、P2.7口,当ENA和ENB管脚为高电平才允许输出。IN1、IN2和ENA管脚控制左侧电机的正反转,IN3、IN4和ENB管脚控制右侧电机的正反转。电路中D1-D8均为二极管(IN4004),二极管起到保护电路的作用,确保电压在一定范围内输出,D9-D12为发光二极管,用来提示哪条电路上有电流流过,其中4个电阻起到保护电路作用。图2.7驱动电路(1)L298N驱动芯片L298N引脚功能表如表2.2所示。表2.2L298N引脚功能表引脚符号功能1,15ISENA,ISENB此引脚和地相连,用于电流检测电阻,并将反馈信号传给驱动芯片2,3OUT1,OUT2此引脚是全桥式驱动器A的两个输出端,用于连接负载4VS电机驱动电源输入端5,7IN1,IN2输入标准的TTL逻辑电源信号,用于控制驱动器A的开关6,11ENA,ENB使能控制端,输入标准的TTL逻辑电源信号;低电平时驱动器停止工作。8GND接地端,芯片自身的散热片与8脚相通9VSS逻辑电源输入端10,12IN3,IN4输入标准的TTL逻辑电源信号,用于控制驱动器B的开关13,14OUT3,OUT4此引脚是全桥式驱动器B的两个输出端,用于连接负载(2)L298N的逻辑控制L298的逻辑控制如表2.3所示。其中C、D分别为IN1、IN2或IN3、IN4;L为低电平,H为高电平,※为不管是低电平还是高电平。表2.3L298对直流电机控制的逻辑真值表输入输出Ven=HC=H;D=L正转C=L;D=H反转C=D制动Ven=LC=※;D=※没有输出,电机不工作7.温度采集电路设计本设计采用DS18B20温度传感器作为温度采集电路核心部件,DS18B20具有高性能、体积小、数字化等特点的温度传感器。可以直接将温度转化成数字信号供处理器处理。如图2.8所示。温度采集电路由DS18B20和电阻组成,DS18B20的1管脚接电源,3管脚接地,2管脚为数据端接M2单片机的P3.7口,1管脚与2管脚之间接一个10K电阻,因为DS18B20为单总线温度传感器,数据端是漏极开路,当DS18B20没有接电源时,需要数据端强上拉,给DS18B20供电。当DS18B20接电源时,电阻起到保护电路的作用。图2.8温度采集电路(1)DS18B20温度传感器特性①适应电压范围宽,电压范围在3.0-5.5V,再寄生电源方式下可有数据线供电。②分辨率为9位时,可以在93.75毫秒内把模拟量转换为数字量;分辨率为12位时,可以在750毫秒内把模拟量转换为数字量,显然速度更快。③DS18B20分辨率可达到9-12位,对应温度值分别为0.5℃,0.25℃,0.125℃和0.0625℃,使得检测出的温度值更准确。④因为DS18B20支持“一线总线”技术,采用了三线制与单片机相连,所以减少了外部硬件电路。⑤测温范围-55摄氏度到+125摄氏度,在-10摄氏度到+85摄氏度之间精度可以达到+0.5℃。⑥支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。⑦独特的单线接口方式,它与微处理器连接时仅需一条线即可实现微处理器与DS18B20的双向通信。⑧负压特性。电源极性接反时,芯片不会因为发热而烧毁,但不能正常工作。(2)引脚介绍DS18B20有两种封装:三脚TO-92直插式和八脚SOIC贴片式,封装引脚见图2.9所示。表2.4列出了引脚定义。图2.9DS18B20引脚封装图表2.4DS18B20引脚定义引脚符号GND电源负极DQ信号输入输出VDD电源正极NC空8.显示电路设计显示电路采用LCD1602液晶显示语音导游机器人运行状态和温度值。LCD1602液晶具有功耗低,显示内容丰富清晰,显示信息量大,显示速度较快,界面友好,使用简单等特点而得到了广泛的应用。并且外围电路也比较简单,如图2.10所示。VCC和GND分别接主控电路的电源和地处,VEE连接一个10K滑动变阻器,通过改变电压,来调整LCD1602的分辨率。RS为寄存器选择端,接M2单片机P2.3口。R/W为读写选择端,接M2单片机P2.4口。E为使能端,接M2单片机P2.5口。DB0-DB7为双向数据端,分别接M2单片机P0.0-P0.7口。此字符型LCD有16条引脚线,15引脚为背光电源线接VCC,16引脚为地线接GND,字符型LCD的引脚定义如表2.5所示。图2.10LCD1602电路表2.5LCD1602引脚定义引脚号引脚名作用1VSS电源地2VCC电源(+5V)3VEE对比调整电压4RS寄存器选择端,1=选择数据寄存器,0=选择指令寄存器5R/W读写选择端,1=读取信息,0=写入指令或数据6E使能端,1=读取信息,0=执行指令7DB0数据总线08DB1数据总线19DB2数据总线210DB3数据总线311DB4数据总线412DB5数据总线513DB6数据总线614DB7数据总线715VCCLCD背光电源正极16GNDLCD背光电源负极2.4软件设计2.4.1软件主流程图主程序对LCD1602、定时器和外部中断进行初始化,播放并显示开机语音和开机画片。通过调用各个子程序,实现红外遥控、语音录放,以及显示机器人运行状态和温度值等功能。其主程序流程图如图2.11和图2.12所示。图2.11主程序流程图a图2.12主程序流程图b2.4.2红外解码模块子流程图当红外遥控有按键按下时,立即触发中断,系统进入外部中断0入口函数并且判断引导码是否正确,如果正确开始接收4个字节内容,低电平开始,不处理只等待高电平接收,高电平结束,判断数据1或0向变量移入,直到接满32位退出。红外解码程序流程图如图2.13所示。图2.13红外解码流程图2.4.3温度测量模块子流程图利用DS18B20采集温度,程序中利用读写数据进行读取温度值并转换,通过LCD1602液晶显示器来显示当前温度值。温度测量流程图如图2.14所示。图2.14温度测量流程第3章项目实施过程3.1硬件实现过程3.1.1AltiumDesigner设计原理图AltiumDesigner环境是一个软件集成平台,汇集了所有必要的工具来创建一个单一的应用程序。AltiumDesigner包括所有设计任务的工具:从原理图和HDL设计输入,电路仿真,PCB设计以及基于FPGA的嵌入式系统设计和开发。PCB工程是创建PCB图的基础,打开AltiumDesigner,依次点击文件>新建>工程>PCB工程创建一个工程,保存后即可添加原理图、封装图、PCB图等。主板原理图如图3.1所示,依次点击工程>CompileDocumentzhuban.SchDoc即可对主板原理图编译,在System中的Messages里可查看编译结果。原理图编译无误后便可以添加PCB,依次点击文件>新建>PCB如图3.2所示。图3.1主板原理图图3.2主板PCB图3.1.2硬件实现步骤由以下三步骤来实现:1.元件焊接焊接前先将所需规格的元器件进行分类,用万用表测量元器件的参数,例如电阻的阻值。带极性的元器件焊接前要判断其正负极,焊接过程中按照先小后大的顺序进行依次焊接,贴片类器件焊接过程中要使用镊子等辅助工具进行焊接。要保证每个焊点不能出现虚焊现象,如果出现错焊,则需借助吸焊枪和电烙铁,但电烙铁不能长时间停留在PCB板上,以防焊盘脱落,造成PCB板损坏。2.整板测试元器件焊接完毕需对整板进行测试,检查线路连接是否正常,用万用表对电路连接的焊点进行测试,如果万用表发出响声则说明电路导通,否则断路,可能出现虚焊或器件损坏问题。3.上电功能测试各模块的板子都检测没问题就可以进行上电测试,系统的核心是电源模块,所以先对其进行上电测试,用万用表测电源板的输入输出口电压值,如果输出5V则电源板正常。将驱动板和电机连接进行测试,如果驱动板的OUTA1、OUTA2、OUTB1、OUTB2口输出电压并且电机运作则表明驱动板正常。3.2软件实现过程3.2.1Keil集成开发环境KeilSoftware公司推出的KeilµVision4是一款基于Windows的软件平台,它是一种用于51单片机的集成开发环境。µVision4提供了对基于8051内核的各种型号单片机的支持。KeilµVision4内包含了功能强大的编辑器和调试器。编辑器可以像一般的文本编辑器一样对源代码进行编辑,并允许用户在编辑时设置程序断点。用户启动µVision4的调试器之后,断点即被激活。基本操作:打开Keil4基本界面,点击工具栏上的Project按钮,选择KeilµVisionProject并选择芯片型号,即可创建一个工程文件如图3.3创建新工程文件所示。在工程文件中添加一个.C或者.H的文件即可在其中编写代码如图3.4添加文件所示。将编写后的代码进行编译,编译成功后可生成.HEX文件如图3.5生成可执行文件所示。可利用STC-ISP和串口线将代码下载到单片机上或者利用Proteus7Professional等仿真软件进行测试。图3.3创建新工程文件图3.4添加文件图3.5生成可执行文件3.2.2主函数介绍1.红外遥控和语音播放主函数主函数用于控制智能机器人运行和语音播放函数。函数一开始先对系统进行初始化,包括芯片上电、定时器和外部中断0的初始化。红外接收模块解码成功,中断标志位为1,语音导游机器人会按照按键指令执行相应操作。voidmain(void){ init(); //系统初始化 PlaySoundTick(6); //开机语音 while(1){ if(bzw==1){ switch(ly_lhj[2]){ case0x18:motor(1,80);motor(2,80);PlaySoundTick(2);ly_lhj[2]=0x00;break;//直行case0x52:motor(1,-80);motor(2,-80);PlaySoundTick(3);ly_lhj[2]=0x00;break;//后退case0x08:motor(1,-50);motor(2,70);PlaySoundTick(4);ly_lhj[2]=0x00;break; //左转 case0x5a:motor(1,70);motor(2,-50);PlaySoundTick(5);ly_lhj[2]=0x00;break; //右转 case0x1c:IN1=0;IN2=0;IN3=0;IN4=0;break; //暂停 case0x07:IN1=0;IN2=0;IN3=0;IN4=0;PlaySoundTick(0);ly_lhj[2]=0x00;break; //疯狂小镇 case0x15:IN1=0;IN2=0;IN3=0;IN4=0;PlaySoundTick(1);ly_lhj[2]=0x00;break; //神秘沙漠 } }}}2.LCD显示和温度采集主函数主函数中调用初始化函数进行显示模式设置和显示清屏等。在循环体中,用程序屏蔽掉P1口的低四位并赋值给一个变量temp,LCD1602根据temp值来执行对应语句,从而显示机器人运行状态,DS18B20一直读取温度并用LCD1602显示。voidmain(){Initialize_LCD(); while(1){ temp=(P1|0x0f);//屏蔽低四位 switch(temp) { case0xaf:LCD_ShowString(0,0,"Goforward");break;//直行 case0x5f:LCD_ShowString(0,0,"Retreat");break;//后退 case0x6f:LCD_ShowString(0,0,"Turnleft");break;//左转 case0x9f:LCD_ShowString(0,0,"Turnright");break;//右转 case0x0f:LCD_ShowString(0,0,"Stop");break;//暂停 default:break; } dsmain();} }3.2.3子函数介绍1.红外遥控子函数此函数主要用于对红外遥控器发出的信号进行解码。先判断引导码的前9MS和后4.5MS,然后利用循环语句开始接收四个字节内容,此时中断标志位为1。如果解码为0x45则跳出中断标志位,此时中断标志位为0。voidhongwai(void)interrupt0{ unsignedchari,ia; //开始判断是否为6122波形引导码的前9MS和后4.5MS ly_ct=0; //计数时间清0 while(!hwx) delay100us(); //调用0.1MS延时计数,ly_ct每调用一次加1 if(ly_ct<80||ly_ct>100) //引导码前9MS,ly_ct约等于90,给个误差值,用80-100之间来判断 return; ly_ct=0; while(hwx) { delay100us(); if(ly_ct>50) //NEC引导码引导码的后4。5MS,ly_ct约45 return; } if(ly_ct<40) //NEC引导码引导码的后4。5MS,ly_ct约45 return; /***********开始接收四个字节内容**************************************/ for(i=0;i<4;i++) { for(ia=0;ia<8;ia++) { while(!hwx); //低电平开始,不处理只等待高电平接收 ly_ct=0; while(hwx){ //高电平开始, delay100us(); if(ly_ct>20) return; } //高电平结束,判断数据1或0向变量移入 ly_lhj[i]>>=1; //数据由高位移入低位 if(ly_ct>10) //时间量TH1高于10,即高于1MS判断为1 ly_lhj[i]|=0x80; } } //ly_flag=1; //接收成功 //TF1=0; bzw=1; if(ly_lhj[2]==0x45) //跳出中断标志位 {bzw=0;return;}}2.播放指定语音段函数此函数用于播放指定语音段信息,ISD_SS为低时,选择语音芯片成为被控制设备并且启动SPI模式,根据变量值,执行对应语句,在执行过程中向RAM发送7个字节,分别为指令地址和语音段首尾地址,从而实现语音播放,空闲时,ISD_SS应为高电平。voidPlaySoundTick(ucharsoundtick){ISD_SS=0; switch(soundtick){case0:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x0010,0x004D);}break; case1:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x004E,0x00BF);}break;case2:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x00C0,0x00C6);}break; case3:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x00C7,0x00D2);}break; case4:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x00D3,0x00DA);}break;case5:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x00DB,0x00E2);}break;case6:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x00E3,0x00FD);}break;default:break;}ISD_SS=1;}3.3调试过程3.3.1硬件调试1.检查电路通电调试之前,对照电路图,检查电路连接是否存在问题。首先检查电源是否存在短路现象,依次检查带极性元器件焊接是否正确:电解电容、二极管、三极管、贴片LED灯等,利用万用表检查元器件是否出现虚焊现象。2.通电观察确定电源无短路现象后,给模块通电。首先观察是否存在异常现象,例如元器件过热,冒烟,有异味等。若果存在问题,要立刻断电,排除故障后可重新通电,然后检查各模块电源引脚和芯片引脚的电压值是否可以正常工作。3.3.2软件调试1.上位机录音和取地址环境为ISD1700VoiceChip软件。录音的具体步骤为:(1)按要求对PC机、单片机和语音模块进行连接:SIP接口、电源、串口、音频线、小喇叭;(2)按将isd1700play.hex下载到单片机。(3)打开安装文件,点击Setup.exe,按提示安装软件。(4)双击ISD1700VoiceChip打开软件界面如图3.6所示(5)选择可用的串口号,波特率选择默认值9600。(6)打开串口后,就可以对单片机和语音模块进行操作了。首先依次点击上位机软件的1器件复位、2器件上电、3器件ID,此时界面弹出语音芯片型号提示框,如图3.7所示。(7)录音方式选择Lin即为线录。勾选监听与SPK,点击设置,此时可以听到喇叭产生的电流声,如图3.8所示。(8)点击打开文件,选择要录的音频文件,支持MP3和WAV格式,如图3.9所示。(9)音频文件载入成功后,点击试听,喇叭开始播放当前音频。(10)点击擦除全部,芯片信息被清空。点击录音,上位机会把当前音频录到芯片内,录音过程中喇叭会播放音频并且语音模块LED常亮。(11)点击擦除全部,芯片信息被清空。点击录音,上位机会把当前音频录到芯片内,录音过程中喇叭会播放音频并且语音模块LED常亮。录音完毕系统会自动停止也可以点击停止,点击播放可以听到录入芯片内的音频。(12)第一段音频录完后,点击打开文件可以载入第二段音频,再点击录音即可。依次重复操作,可以将所有音频录入到芯片内。所有音频的总时间不能超过芯片可录的总时间。(13)录完所有音频后,开始取每一段音频的首尾地址。录音地址是从0010开始,因为0000~0010存放的是提示音的地址。点击下一段,再点击读播放地址,显示的是第一段音频的首地址,依次重复操作可得知每一段音频的首地址。因为存储空间是连续的,所以下一段地址的首地址减1就是上一段的尾地址,将每段音频的地址放到sound.h文件中。图3.6上位机主界面图3.7语音芯片型号对话框界面图3.8线录与喇叭设置界面图3.9选择录音文件界面2.录音过程中出现的问题及解决方法(1)开串口后没能成功弹出语音芯片型号对话框。经检查发现SIP接口连接与程序中管脚定义的不一致,调整程序中管脚定义再次连接SIP接口,成功弹出对话框。(2)喇叭播放的声音太小。点击语音模块音量按钮,将声音调到最大,但机器人在行进过程中播报语音信息机会听不到。检查是否是为上位机录音音量问题,点击上位机音量,将音量进度条调到红色区即为最大,结果喇叭播放音量依旧很小。随后换了个高功率的喇叭,没起到明显变化。最后换了根音频线,重新录音,喇叭播放恢复到最佳效果,解决了播放音量问题。大连东软信息学院毕业设计(论文)第4章项目成果4.1硬件成果物4.1.1硬件原理图系统硬件部分主要包括主控电路,电源电路,显示电路,温度采集电路,语音电路等,系统硬件原理图如图4.1所示。图4.1硬件原理图4.1.2硬件实物图智能语音导游机器人全程由12V2600mA锂电池供电,锂电池放置于机器人底层右侧,底层左侧放有语音模块和8Ω0.5W的喇叭,底层两侧有4个直流电机,分别安装4个轮胎。机器人顶层左侧有主控制模块M1,在其上方有主控模块M2、LCD1602液晶显示器、DS18B20。机器人顶层右侧装有驱动模块、电源模块和红外接收模块,如图4.2所示。图4.2语音导游机器人实物图系统上电,利用红外遥控器实现对语音导游机器人的控制,如图4.3所示。LCD1602第二行显示温度值为22.8℃。当红外遥控器的5按键被按下时,语音导游机器人暂停不动,LCD1602第一行显示“Stop”。图4.3上电状态显示实物图4.2软件成果物图4.4、图4.6和图4.7图写的程序用来实现红外遥控语音导游机器人运行和语音播放。主程序a中进行系统初始化并播放开机语音,当红外遥控器有按键按下,立即进入外部中断0入口函数,开始判断是否为6122波形引导码的前9MS和后4.5MS,再开始接收4个字节内容,存放到ly_lhj[i]中,根据ly_lhj[2]值,控制机器人4个电机的转向,并调用播放指定语音段程序。先让ISD_SS为低,选择语音芯片成为被控制的设备并开启SPI模式,使用switchcase语句,根据soundtick值,调用对应子程序(发送7个字节),从而播放指定语音信息,播放结束ISD_SS需要拉高。图4.5和图4.8写的是LCD1602显示温度值和机器人运行状态。主程序b中进行LCD1602初始化,屏蔽P1口低四位,使用switchcase语句,根据temp值,调用对应显示字符串子函数,LCD1602液晶屏显示小车运行状态,执行完case语句,调用dsmain()函数读取温度值并显示。图4.4主程序a图4.5主程序b图4.6红外解码程序图4.7播放指定语音段程序图4.8温度值显示程序第5章结论至此智能语音机器人的整体包括硬件和软件的设计已经完成,系统主要以51单片机为控制核心,结合无线遥控模块、语音模块、主控模块、温度采集模块、显示模块实现语音导游机器人的智能化行驶。通过软硬结合的方式,得到硬件检测信号后输入单片机各个对应的I/O接口,通过C语言程序控制过程,用户可以红外遥控机器人行进并且播报景点信息,而且液晶显示器对景点温度和运行状态进行显示。设计过程中,我首先上网搜集资料,选择适合自己的方案,并用AltiumDesignerWinter09绘制原理图和PCB并制板,随后焊接各个板子上的元器件。虽然训练过焊接,但是在实际的焊接过程中,我感觉到即使是一个简单的电路,要想很轻松的焊好,也不是很容易的事情,有时是“虚焊”的原因,有时可能是阻值选错或者器件焊反,比如这次的驱动电路就没有焊好,这使我深深感受到理论与实际间的差距。焊接结束后,要对其进行调试,在调试过程中,出现了很多问题,如驱动电机的插口电压相差很大,导致两侧的轮子在同一个PWM情况速度不一致、主板和采样的电压有些小,在老师的指导与帮助下,发现原来是电源模块的电感选的过大,换成小值电感后,各模块的电压都恢复正常标准,语音导游机器人能够正确的实现各项功能。虽然语音导游机器人能够稳定、高效的完成指定功能。但还有许多地方需要完善,例如信息显示方面,设计中选用的是LCD1602显示器,只能显示一些字符、数字、符号,不能显示汉字,所以语音模块播放出来的景点信息就无法以汉字形式显示给用户看。如果换成12864液晶显示器,它自身带汉字库,能显示汉字,能让机器人更加智能化。除此之外,在选择录音芯片上,本着节约的理念,选用的是ISD1730,采样率为4KHz时,芯片总录音时间能达到60S,跟实际应用要求相差很多。语音芯片换成ISD17240,总录音时长达到480S,可以满足很多景点的要求。参考文献[1]谭浩强.C语言程序设计(第三版)[M],清华大学出版社,2005[2]胡文金.单片机应用技术实训教程[M],重庆大学出版社,2005[3]李建忠.单片机原理及应用[M],西安电子科技大学出版社,2007[4]刘玉宾.单片机原理及接口技术实践教程[M],机械工业出版社,2004[5]张洪润.传感器应用电路200例[M],北京航空航天大学出版社,2006[6]张义和,王敏男.例说51单片机(第三版)[M],人民邮电出版社,2010[7]何光明,杨静宇.C语言程序设计与应用开发[M],清华大学出版社,2006[8]侯志勋.电路与电子技术简明教程(修订版)[M],北京邮电大学出版社,2007[9]彭伟.单片机C语言程序设计实训100例—基于8051+Proteus仿真[M],电子工业出版社,2009[10]高守玮,杨建国,肖永剑.ISD系列语音芯片开发平台的设计[J],电声技术,2003,7(6):40-42大连东软信息学院毕业设计(论文)致谢本论文是在王伟老师的亲切关怀和悉心指导下完成的,她严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。在此谨向王伟老师致以诚挚的谢意和崇高的敬意。我还要感谢在一起愉快的度过毕业论文小组的同学们,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!最后我还要感谢培养我长大含辛茹苦的父母,谢谢你们!最后,再次对关心、帮助我的老师和同学表示衷心地感谢!-附录程序代码isd1700.c:#include"reg51.h"#include"ISD1700.H"#include"sound.h"#defineucharunsignedchar#defineuintunsignedint//SPI接口sbitISD_SS=P1^4;sbitISD_MISO=P1^1;sbitISD_MOSI=P1^2;sbitISD_SCLK=P1^3;uchardatacomm_temp;uchardataISD_COMM_RAM[7];uchardataISD_COMM_RAM_C[7];uchardata*isd_comm_ptr;uchardata*back_data_ptr;//函数声明voiddelay(intx);voidrest_isd_comm_ptr(void); //指针复位ucharT_R_comm_byte(ucharcomm_data);//SPI通信函数voidisd1700_Npar_comm(ucharcomm_par,comm_byte_count);//noparametercomm//发送命令voidisd1700_par2_comm(ucharcomm_par,uintdata_par); //发送命令2voidisd1700_7byte_comm(ucharcomm_par,uintstar_addr,uintend_addr); //发送7个字节voidspi_pu(void); //芯片上电voidseril_back_sate(ucharbyte_number); //串口返回函数 //芯片上电voidspi_pu(void){ ISD_SS=0; isd1700_Npar_comm(ISD1700_PU,2); ISD_SS=1;} //串口返回函数voidseril_back_sate(ucharbyte_number){ ucharsate_temp; rest_isd_comm_ptr(); sate_temp=0; do{ SBUF=*back_data_ptr++; while(!TI); TI=0; }while(++sate_temp<byte_number);} //指针复位voidrest_isd_comm_ptr(void){ isd_comm_ptr=ISD_COMM_RAM; back_data_ptr=ISD_COMM_RAM_C;} //发送命令voidisd1700_Npar_comm(ucharcomm_par,comm_byte_count){ uchari; i=0; ISD_COMM_RAM[0]=comm_par; isd_comm_ptr=&ISD_COMM_RAM[1]; do{ *isd_comm_ptr++=NULL; }while(++i<comm_byte_count-1); rest_isd_comm_ptr(); i=0; do{ *back_data_ptr++=T_R_comm_byte(*isd_comm_ptr++); i++; }while(i<comm_byte_count);}//发送命令2voidisd1700_par2_comm(ucharcomm_par,uintdata_par){ uchari; ISD_COMM_RAM[0]=comm_par; ISD_COMM_RAM[1]=data_par; ISD_COMM_RAM[2]=data_par>>8; rest_isd_comm_ptr(); i=0;do{ *back_data_ptr++=T_R_comm_byte(*isd_comm_ptr++); i++; }while(i<3);}//发送7个字节 voidisd1700_7byte_comm(ucharcomm_par,uintstar_addr,uintend_addr){ uchari; ISD_COMM_RAM[0]=comm_par; ISD_COMM_RAM[1]=NULL; ISD_COMM_RAM[2]=star_addr; ISD_COMM_RAM[3]=star_addr>>8; ISD_COMM_RAM[4]=end_addr; ISD_COMM_RAM[5]=end_addr>>8; ISD_COMM_RAM[6]=NULL; rest_isd_comm_ptr(); i=0; do{ *back_data_ptr++=T_R_comm_byte(*isd_comm_ptr++); i++; }while(i<=7);}//SPI通信函数ucharT_R_comm_byte(ucharcomm_data){ ucharbit_nuber; uchartemp; bit_nuber=0; temp=0; do{ ISD_SCLK=0; delay(1); if((comm_data>>bit_nuber&0x01)!=0) {ISD_MOSI=1;} else {ISD_MOSI=0;} if(ISD_MISO) {temp=(temp>>1)|0x80;} else {temp=temp>>1;} ISD_SCLK=1; delay(1); }while(++bit_nuber<=7); ISD_MOSI=0; return(temp);}//短延时voiddelay(intx){ uchari; for(;x>=1;x--) {for(;i<=20;i++);}}//播放指定语音段函数voidPlaySoundTick(ucharsoundtick){ ISD_SS=0; switch(soundtick) { case0:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x0010,0x004D);}break; case1:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x004E,0x00BF);}break; case2:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x00C0,0x00C6);}break; case3:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x00C7,0x00D2);}break; case4:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x00D3,0x00DA);}break; case5:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x00DB,0x00E2);}break; case6:{isd1700_7byte_comm(ISD1700_SET_PLAY|ISD_LED,0x00E3,0x00FD);}break; default:break;} ISD_SS=1;}main.c:#defineucharunsignedchar#defineuintunsignedint#include"reg51.h"#include"sound.h"#include"ISD1700.H"#include"yaokong1.h"voidinit(void);voidPlaySoundTick(ucharnumber);voiddelay_isd(uinttime); externvoidspi_pu(void);externvoiddelay(intx);sbitS1=P2^4;ucharRunLedTime;sbiten2=P2^7;//L298的EnableBsbiten1=P2^6;//L298的EnableAuchartemp;uchart=0;/*中断计数器*/uchartmp1,tmp2,flag=1;/*电机当前速度值*/voidinit(void){ TMOD=0x22;SCON=0x50; TH0=0x9c;/*装入定时器的初值*/TL0=0x9c; TH1=0xfd;TL1=0xfd;//波特率:9600bpsEX0=1;/*开启外部中断0,红外接收数据引脚*/ IT0=1;/*设置成下降沿触发方式*/ ET0=1; EA=1; TR0=1; TR1=1; P1=0xff;P0=0; spi_pu(); //芯片上电 P3=0xff; }/*定时器0函数*/voidtimer0()interrupt1/*T0中断服务程序*/{if(t==0)/*1个PWM周期完成后才会接受新数值*/{tmp1=m1;tmp2=m2;}if(t<tmp1)en1=1;elseen1=0;/*产生电机1的PWM信号*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB33T 828.7-2011 社会单位消防安全标准化建设指南 第7部分:小场所
- 红色2026年春季征兵宣传教育
- 绿色简约小清新新中式工作总结计划
- 构网型储能安全白皮书
- 某塑料制品厂安全生产细则
- 新课标人教版二下语文第六单元达标测试题(一)
- 2026福建福州新区(长乐区)新任教师(教育部直属师范大学公费师范生)招聘1人备考题库附参考答案详解(巩固)
- 2026福建宁德市蕉城区教育局补充招聘紧缺急需人才6人备考题库(三)附参考答案详解(综合卷)
- 2026山东济南市中心医院招聘卫生高级人才(控制总量)10人备考题库及参考答案详解1套
- 2026西藏拉萨发展集团有限公司招聘46人备考题库附参考答案详解ab卷
- 2026年及未来5年市场数据中国输入法APP行业市场深度分析及发展趋势预测报告
- 法学概论题库及答案
- 2025-2026学年湖北省宜昌市高三(下)调研英语试卷(3月份)
- DB42∕T 2514-2026 住宅建筑模数化设计标准
- 2026年马鞍山当涂县供电所客户经理招聘10名考试备考题库及答案解析
- 2026步步高高考大二轮复习数学-思维提升 培优点4 概率与统计中的递推关系
- 《PLC控制技术及应用》课件-4.1 S7-1200数据类型
- 上海中国极地研究中心(中国极地研究所)2025年招聘20人笔试历年参考题库附带答案详解(5卷)
- (新教材)2026人教版三年级下册数学 第2课时 周长 课件
- 2025-2026学年人教版四年级年级数学下册第三单元《运算律》素养测评卷(含答案)
- 电厂环保管理责任制度
评论
0/150
提交评论