版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
BIYESHEJI(届)语音电子门锁VoiceofElectronicPassword-lockDesign所在学院电子信息学院专业班级电子信息工程学生姓名学号指导教师职称完成日期年月日
摘要随着社会的不断发展,具有防盗报警功能的电子密码控制系统逐渐代替了传统的机械式密码控制系统,克服了机械式密码控制的密码量少、安全性能差的缺点,电子密码控制系统无论是在技术上还是在性能上都大大提高了一步。电子密码锁就一种通过密码输入来控制电路或是芯片工作,并且可以控制机械开关的闭合,完成开锁、闭锁任务的电子产品。其特点如下:保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零;密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。语音电子密码锁系统是有硬件和软件相结合的。硬件是由单片机系统,矩阵键盘,LED数码管显示,语音回答和报警电路系统组成。单片机系统主要是以AT89C51作为主要的控制芯片,然后采用4*4的矩阵键盘来输入密码和实现一些功能键的作用,LED数码管来显示密码输入的状态和锁的状态,当密码输入正确的时候,会有语音回答,锁还会打开,但是密码输入错误时,也会有语音提示,若密码输入超过了3次,则会报警和语音提示,定时一段时间后,又可以重新输入密码。关键词:AT89C51;4*4矩阵;LED数码管显示;ISD4004
AbstractWiththecontinuousdevelopmentofsociety,electronicpasswordcontrolsystemwhathasthesecurityalarmfunctiongraduallytooktheplaceofthetraditionalmechanicalpasswordcontrolsystem,overcomingdisadvantagesthatthemechanicalpasswordcontrolpasswordislittleandsafetyperformanceispoor,greatlyincreasethestepineithertechnologyortheperformance.Electroniclockisapasswordtocontrolcircuitthroughworkorchip,andcancontroltheclosingofthemechanicalswitch,completethelock,thetaskofclosureelectronicproduct.Itscharacteristicsasfollows:goodsecrecy,codingcapacityismuch,muchgreaterthannightlock.Randomunlockthesuccessrateisalmostzero;theusercanchangethepassword,thepasswordisvariable,preventingthepasswordisstolenanditcanavoidthereplacementforpersonneltolockshallfalldown.Speechelectronicpasswordlockisthecombinationofhardwareandsoftware.Hardwareiscombineofsingle-chipmicrocomputer(shortforSCM)system,matrixkeyboard,LEDdigitaldisplaytube,speechansweredandalarmcircuitsystem.TheSCMsystemismainlybyAT89C51asthemaincontrolchip,then4*4matrixkeyboardinputspasswordsandrealizestotheroleofsomefunctionkeysandtheLEDdigitaltubesdisplaypasswordinputtingtothestateandthestateofthelock.Whenthepasswordentersthecorrect,itwillhavespeechanswerandthelockwillopen.Butapasswordmistake,therewillbeavoiceprompt.Ifthepasswordinputsmorethan3times,itwillalarmandvoiceprompt.Atlast,thepasswordisinputtedafterperiodoftime.KeyWords:AT89C51;4*4matrixkeyboard;LEDdigitaldisplaytube;ISD4004.目录TOC\o"1-3"\h\z1引言 12总体设计 22.1系统方案论证 22.2系统总体设计 33硬件设计 53.1单片机主控制模块 53.1.1主控芯片AT89C51 53.1.2时钟电路 73.1.3复位电路 73.2矩阵键盘和显示模块 83.2.14*4矩阵键盘 83.2.2LED数码管显示 93.2.374HC573芯片 113.3报警电路 123.4开锁电路 133.5ISD4004语音模块 133.5.1ISD4004芯片 133.5.2LM386芯片 153.5.3ISD4004录放电路 173.5.4电压转换电路 173.6总体的硬件图 184软件设计 194.1软件设计的思路 194.2总体程序流程图 194.3各个子程序的设计 194.3.1键盘扫描程序 194.3.2LED显示程序 214.3.3密码比较的子程序 234.3.4新密码的设置程序 234.3.5语音录放程序 254.3.6中断子程序 265调试 286结论 30致谢 31参考文献 32附录1系统实物图 33附录2实验原理图 34附录3PCB图 35附录4毕业设计作品说明书 36附录5源程序 371引言随着人们生活水平的提高,如何实现家庭防盗这一问题,也变得尤其突出。传统的机械锁,由于其构造简单,被撬的事件屡见不鲜[1]。据统计,每4000把锁中就有两把锁的钥匙齿牙相同或类似,因此这种传统锁的安全性很低[2]。又随着犯罪的高科技化,传统锁已经满足不了人们的需求了。但是由于我国对外开放的不断深入,高档建筑发展加快,高档锁具市场的前景非常乐观。我国锁具行业对锁具高新技术的投入在逐年的增大,特别是在安全技术防范领域里,具有防盗报警功能的电子密码控制系统逐渐代替了传统的机械式密码控制系统,克服了机械式密码控制的密码量少、安全性能差的缺点,使电子密码控制系统无论是在技术上还是在性能上都大大提高了一步。再者大规模集成电路技术的不断发展,特别是电子元件的不断更新,出现了带微处理器的智能密码控制系统,它除了具有传统电子密码控制系统的功能外,还引入了语音电子技术、指纹识别技术、智能化管理等功能,从而使电子门锁更具有安全性、可靠性、保密性,而且应用日益广泛[3]。电子密码锁就一种通过密码输入来控制电路或是芯片工作,并且可以控制机械开关的闭合,完成开锁、闭锁任务的电子产品。现今应用较广的电子密码锁是以芯片为核心,通过编程来实现,其特点如下:保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零;密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。电子密码锁的操作简单易行,一学即会[4],由于它具有上述的优点,所以许多娱乐场所、大型超市均已采用,在加上其不用携带钥匙,操作简单,且可靠性极高,已受到人们的普遍青睐[5]。在近几年里,随着我国生物技术的不断提高,电子密码锁也随之发生了改革,将生物技术应用在电子门锁里,比如语音、指纹等等,据预测指纹锁将形成数百亿元的市场发展空间,平均利润率高达30%以上。人们对安防产品有着高品质、高安全性能的期望,所以在今后,像指纹识别技术、语音识别技术的电子密码锁将会受到越来越多人的关注与重视[6]。
2总体设计2.1系统方案论证语音电子门锁是由语音录放实现电路和电子密码锁的设定组成,其中电子密码锁的设定方案论证下:方案1:采用中小型数字集成芯片和门电路完成[7]错误报警错误报警0~9密码输入计密码正确数开锁验证密码编码设定、存取密码图2-1系统框图上述系统主要由键盘输入电路、密码存储和验证电路、报警电路等部分组成,它的优点是都是设计比较简单,但电路所用到的元器件比较多,电路比较复杂,成本比较高,如果结果出不来,得耗大量的时间去检查。方案2:采用单片机完成单片机报警电路矩阵键盘输入密码数码管显示图2-2单片机框图该系统主要是由密码输入模块,报警电路,数码管显示电路组成[8],单片机可以选用51系列的,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,基本能实现密码锁的功能,若需要还可以添加调电存储、声光提示甚至遥控控制等功能。它的优点是用单片机有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上有扩展的功能,而且还可以方便的对系统进行升级,成本低,电路比较简单,软硬件结合使电路更具有可靠性。成本比较低,在日常生活中我们都可以看到,应用比较广泛。方案3:采用FPGA完成[9]矩阵键盘、矩阵键盘、密码输入FPGA数码管显示电路报警电路图2-3FPGA框图该系统主要由键盘输入模块、数码管显示电路、报警电路组成,利用FPGA芯片来完成设计,它的优点是所用到的语言通俗易懂,比较容易看得懂,电路简单,抗干扰性强,速度较快。虽然功能很强大,但一般应用在通信领域等比较高端的场合,费用较高。2.2系统总体设计本设计主要由单片机、矩阵键盘、LED显示和语音录放等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,然后经过单片机对用户输入的密码与已存的密码进行比较,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或报警电路控制开锁还是报警,同时通过软件的编写来控制语音的录放和回答。系统的整体框图如图2-4所示。AT89C51AT89C51报警电路矩阵键盘输入LED显示语音录放开锁电路图2-4设计的总框图各模块功能如下:1.矩阵键盘输入模块:分为密码输入按键与几个功能按键,用于完成密码锁输入功能。2.显示模块:用于完成对系统状态的显示及操作提示功能。3.报警电路:用于完成输错密码时候的报警功能。4.开锁电路:应用发光二极管模拟开锁,完成开锁及开锁提示。5.语音录放电路:用于完成密码输入正确时的语音播放功能。
3硬件设计本系统硬件主要有五大模块组成:单片机主控制模块、矩阵键盘和显示模块、报警电路、开锁电路和ISD4004语音模块。3.1单片机主控制模块本系统的单片机采用的是AT89C51芯片。3.1.1主控芯片AT89C51AT89C51是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),该器件是采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。而且它也是一个低功耗、高性能单片机,主要资源有8位CPU,片内振荡器,片内数据存储器(RAM),片内程序存储器(ROM),21个特殊功能寄存器(SFR),4个8位并行双向I/O接口,2个16位定时计数器T0/T1,全双工串行通信口,5个中断源,使用+5V单一电源。AT89C51有40个引脚,如图3-1是AT89C51的引脚图,它的引脚功能如下:图3-1AT89C51引脚图VCC(40脚):接+5V电源。GND(20脚):接地。XTAL1(19脚)和XTAL2(18脚):使用内部振荡电路时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲。P0口(32~39脚):P0口是一个三态双向口,可作为地址/数据分时复用口,也可作为通用I/O接口。在有外部扩展存储器时被作为地址/数据总线口,数据/地址(低8位)分时复用;在没有外部扩展存储器时,P0口可作为通用的I/O接口。另外,P0口内部没有上拉电阻,所以在使用P0口时要接上拉电阻。P1口(1~8脚):P1口是一个内部提供上拉电阻的8位双向I/O口。P2口(21~28脚):P2口为内部提供上拉电阻的准双向口,它可作输入输出使用,还可以作为高8位地址总线口使用,扩展系统中,作为高8位地址总线,与P0口的低8位共同组成16位地址总线。P3口(10~17脚):P3口是一个内部提供上拉电阻的8位双向I/O口,它具有第二输出功能(表3-1所示),既可作为输入/输出口使用,又能涉及串口、外部中断、定时器等。扩展外部数据存储器时,WR和RD作为控制线使用。表3-1P3口的第二功能端口引脚第二功能端口引脚第二功能RXD(P3.0)串行输入口T0(P3.4)定时/计数器0外部输入TXD(P3.1)串行输出口T1(P3.5)定时/计数器1外部输入INT0(P3.2)外中断0WR(P3.6)外部数据存储器写选通INT1(P3.3)外中断1RD(P3.7)外部数据存储器读选通ALE/PROG(30脚):地址锁存有效信号输出。当访问片外程序存储器期间,下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。但要注意,在访问片外程序存储器期间,ALE会脉冲会跳空一个。PSEN(29脚):片外部程序存储器读选通信号输出端,低电平有效。在由外部程序存储器读取指令或常数期间,每个机器周期两次有效,以通过数据总线P0口读回指令或常数。但在访问外部数据存储器时,/PSEN信号将不出现。RST(9脚):上电复位,当单片机振荡器工作时,该引脚上出现两个机器周期的高电平,就可实现复位操作,使单片机恢复到初始状态。EA(31脚):片外程序存储器选用端。该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器[10]。我们采用的AT89C51芯片内部自带了4K的FLASH程序存储器,而且这4K的存储空间足够我们使用,所以我将AT89C51芯片的第31脚固定接高电平(PCB画板时已经接成高电平)。3.1.2时钟电路单片机的定时控制功能是用片内的时钟电路和定时电路来完成的,而片内的时钟电路产生两种方式,即内部振荡方式和外部振荡方式。本课程设计用的是内部振荡方式,即在XTAL1和XTAL2外接晶体振荡器(简称晶振,有一个11.0574M的晶振和两个30P的小电容组成),如图3-2所示。由于单片机内部有一个高增益运算放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。图3-2单片机外围时钟电路3.1.3复位电路单片机的RST管脚一方面经22uF的电容接至电源正极,实现上电自动复位,另一方面经一个按键和两个大小分别为300欧和1千欧的电阻分别接电源正极和电源地,实现手动复位,如图3-3所示。它的主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序,除了进入系统的初始化之外,当由于程序出错或者操作错误使系统处于死循环状态时,为了摆脱困境,也需要按复位键重新启动,因此,复位电路是单片机系统中不可缺少的一部分。图3-3单片机的复位电路3.2矩阵键盘和显示模块3.2.14*4矩阵键盘键盘是单片机应用系统最常见的输入设备,操作人员可以通过键盘向单片机系统输入指令、地址和数据,实现简单的人机通信。键盘的结构形式有两种:独立式键盘和行列式键盘。本设计采用的是行列式键盘。它不仅能够减少键盘与单片机接口时所占用I/O口线的数目,而且可以用在键数较多时。行列式键盘是指每一水平线(行线)与垂直(列线)的交叉处不相通,是通过一个按键连通的。利用这种行列式矩阵结构只需N个行线和M个列线就可以组成M*N个按键的键盘。本设计采用的是4*4(16键)行列式键盘电路,如图3-4所示。由于C51单片机P3口在内部已经有上拉电阻了,所以可以省掉外部的上拉电阻。图3-44*4行列式键盘电路在这种行列矩阵式非编码键盘的单片机系统中,对键的识别通常采用两步扫描判别法。下面以图3-4中KEY12为例来说明两步扫描判别法识别是哪一个键被按下的工作工程。首先判别按键所在的行,由单片机P3口向键盘送(输出)列扫描字,然后读入(输入)行线状态来判断。其方法是:向P3口输出0FH,即列线(垂直线)输出全为0,行线(平行线)输出全为1,然后将P3口低4位(即行线)的电平状态读入一临时变量x中,如果有按键按下,总会有一根行线被拉至低电平,从而使行输入不全为1。在图3-4中,对应P31为低,即x=0x0d。然后判别按键所在的列,由单片机P3口向键盘送(输出)行扫描字,然后读入(输入)列线状态来判断。其方法是:向P3口输出0FH,即行线输出全为0,列线输出全为1,然后将P3口高4位(即列线)的电平状态读入一临时变量y中,如果有按键按下,总会有一根列线被拉至低电平,从而使列输入不全为1。在图3-4中,对应WR为低,即y=0xb0。在本设计中,使用的是已知行来判别所在的列。其方法与上述一样,具体的功能设计如表3-2所示。表3-2按键功能按键键名功能说明KEY6~KEY8数字键7~9输入密码KEY10~KEY12数字键4~6输入密码KEY14~KEY16数字键1~3输入密码KEY19数字键0输入密码KEY18确定键比较密码KEY13设置密码键重新设置密码KEY20一位一位删除键使显示器一位一位清零KEY21复位键使显示的数字全部清零3.2.2LED数码管显示显示器常作为单片机系统中最简单的输出设备,用以显示单片机系统的运行结果与运行状态等。在单片机系统中,通常用LED数码显示器显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。本设计就是使用LED数码管来显示。LED显示器是由发光二极管显示字段的显示器,也可称为数码管,其外形及引脚如图3-5所示。由图可见8段LED显示器由8个发光二极管组成。其中,7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用。通过不同的组合可用来显示各种数字,包括A~F在内的部分英文字母和小数点“.”等字样。LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称为共阴极LED显示器,如图3-5所示。图3-58段LED数码显示器本设计采用的是6位共阴极LED显示器,而且还是动态显示。基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,在选通相应的LED后,即在显示字段上得到显示字形码。这种方式不但能提高数码管的发光效率,而且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。动态扫描显示接口是单片机系统中应用最为广泛的一种显示方式。本设计中的接口电路是把所有的数码管的8个笔画段a~dp同名端并联在一起,由74HC573提供段的驱动,而每个显示的公共极com是各自独立地受I/O线控制,它也是由74HC573提供位的驱动。CPU向字段输出口送出字型码时,所有显示器由于同名端并联接收到相同的字型码,但究竟是哪个显示器亮,则取决于com端,如图3-6所示,74HC573的输出电流较大,足够驱动6位数码管。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。图3-6动态扫描6位LED显示接口电路3.2.374HC573芯片1.介绍74HC573芯片是一个八进制3态非反转透明锁存器,输入是和标准CMOS输出兼容的,应用时要加上拉电阻。它的特点是三态总线驱动输出;置数全并行存取;缓冲控制输入;使能输入有改善抗扰度的滞后作用,操作电压是2.0V~6.0V。2.原理74HC573芯片是透明的D型锁存器,当锁存使能端为高电平时,这些器件的锁存对于数据是透明的(也就是说输出同步),当使能端为低电平时,输出将锁存在已建立的数据电平上,输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接接口。主要用于数码管、键盘等的控制。3.引脚功能如图3-7所示,74HC573的引脚有20个,它的引脚功能如下:图3-774HC573引脚图OE(1脚):使能输入端(低电平有效)。D0~D7(2~9脚):数据输入端。Q0~Q7(12~19脚):3态锁存输出。LE(11脚):锁存使能输入。GND(10脚):接地。VCC(20脚):接电源电压。功能表(如表3-3)表3-374HC573功能表输入输出输出使能锁存使能QDLHHHLHLLLLX不变HXXZX表示任意状态;Z表示高阻抗。3.3报警电路报警电路是由单片机、PNP三极管和蜂鸣器组成的,蜂鸣器是用PNP三极管驱动,集电极(C极)通过蜂鸣器线圈接5V,基极(B极)是控制端,发射极(E极)接地,当密码输入错误时,单片机的P24引脚为低电平,则三极管的B极为低电平,三级管导通,蜂鸣器发声,如图3-8所示。报警电路的作用是输入密码与设定密码作比较,当输入密码与设定密码不同,返回再输入,当输入密码超过3次时,通过软件从80C51的P24输出脉冲,使蜂鸣器报警。图3-8报警电路3.4开锁电路在本次设计中,暂时用发光二极管代替电磁锁,如图3-9所示,发光二极管LED1亮,表示开锁;LED2亮表示闭锁;LED3亮闭锁设定密码。图3-10开锁电路3.5ISD4004语音模块3.5.1ISD4004芯片语音模块主要的芯片是ISD4004,ISD4004系列工作电压为3.3V,工作电流为20~40mA,维持电流为1uA。单片录放时间8至16分钟,音质好,适用于移动电话及其他便携式电子产品中芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Microwire)送入。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和"金属声"。采样频率可为4.0,5.3,6.4,8.0kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存贮器中,可在断电情况下保存100年(典型值),反复录音10万次。本设计采用的是ISD4004-08M芯片可以录8分钟语音,它通过SPI串行接口与单片机连接。ISD4004内部分为2400段,其分段地址范围为0000H~0960H,每段占用时间为200ms。程序可选定任一段作为录音、放音操作的起始地址。ISD4004引脚功能(图3-11所示)图3-11ISD4004引脚图VCCD,VCCA(27,18脚):电源,为使噪音最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近电端处相连,而去耦电容应尽量靠近器件。VSSA(11,12,23脚),VSSD(4脚):地线,芯片内部的模拟和数字电路也使用不同的地线。ANAIN+(17脚):同相模拟输入,是录音信号的同相输入端。ANAIN-(16脚):反相模拟输入,是录音信号的反相输入端。AUDOUT(13脚):音频输出,可驱动5千欧的负载。/SS(1脚):片选信号,此端为低电平,即向该ISD4004芯片发送指令。MOSI(2脚):串行输入端主机应在时钟上升沿之前半个周期将数据放在本线上。MISO(3脚):串行输出端,本器件为被选中时。呈高阻抗。SCLK(28脚):ISD的时钟输入端,由主控器产生,用于同步MOSI和MISO的数据传输。数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。INT(25脚):录音满或放音空中断输出引脚。RAC(24脚):行地址脉冲输出,每录音或放音200ms,该引脚输出一个脉冲。XCLK(26脚):外部时钟,此端内部有下拉电阻,在不外接时钟时,此端必须接地。AMCAP(14脚):自动静噪,当录音信号电平下载到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。通常本端对地接1mF的电容,构成内部信号电平峰值检测电路的一部分,大信号不衰减。如果本端接VCCA,则禁止自动噪声。ISD4004接口方式ISD4004工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作,因此对ISD4004而言,在时钟止升沿锁存MOSI引脚的数据,在下降沿将数据送至MISO引脚。协议的具体内容为:1.所有串行数据传输开始于SS下降沿。2.SS在传输期间必须保持为低电平,在两条指令之间则保持为高电平。3.数据在时钟上升沿移入,在下降沿移出。4.SS变低,输入指令和地址后,ISD才能开始录放操作。5.指令格式是(8位控制码)加(16位地址码)。6.ISD的任何操作(含快进)如果遇到EOM或OVF,则产生一个中断,该中断状态在下一个SPI周期开始时被清除。7.使用"读"指令使中断状态位移出ISD的MISO引脚时,控制及地址数据也应同步从MOSI端移入。因此要注意移入的数据是否与器件当前进行的操作兼容。当然,也允许在一个SPI周期里,同时执行读状态和开始新的操作(即新移入的数据与器件当前的操作可以不兼容)。8.所有操作在运行位(RUN)置1时开始,置0时结束。9.所有指令都在SS端上升沿开始执行【11】。3.5.2LM386芯片LM386是专为低损耗电源所设计的功率放大器集成电路,它的内建增益为20,透过pin1脚和pin8脚位间的搭配,增益可达200,LM386可使用电池为供应电源,输入电压范围可由4V~12V,为作动时仅消耗4mA,且失真低。图3-12LM386引脚图LM386的引脚排列如图3-12所示。引脚2为反相输入端,3为同相输入端,引脚5为输出端;引脚6和4分别为电源和地;引脚1和8为电压增益设定端;使用时在引脚7和地之间接旁路电容,通常为10Uf如图3-13的应用电路为增益200的情形,图中10千欧的可变电阻是用来调整扬声器音量的大小,若直接将R5输入则音量为最大的状态。图3-13LM386的典型应用电路尽管LM386的应用非常简单,但稍不注意,特别是器件上电、断电瞬间,甚至工作稳定后,一些操作(如旋音量调节钮等)都会带来的瞬间冲击,在输出喇叭上会产生噪声。1.通过接在1和8脚间的电容(1脚接电容的正极)来改变增益,断开时增益为20dB。因此用不到大的增益,电容就不要接了,这样噪音会减少。2.PCB设计时,所有外围元件尽可能靠近LM386;地线尽可能粗一些,输入音频信号通路尽可能平行走线,输出也是。3.选好调节音量的电位器。4.第7脚的旁路电容不可少,实际应用时,必须外接一个电解电容到地,起滤除噪声的作用。工作稳定后,该管脚电压值约等于电源电压的一半。增大这个电容的容值,有效抑制噪声。减少输出耦合电容C11,它的作用是:隔直和耦合。隔断直流电压,直流电压过大有可能会损坏喇叭线圈,耦合音频的交流信号。它与扬声器负载构成了一阶高通滤波器,减少该电容值,可使噪声能量冲击的幅度变小、宽度变窄。3.5.3ISD4004录放电路器件延时TPUD(8kHz采样时,约为25毫秒)后才能开始操作。因此,用户发完上电指令后,必须等待TPUD,才能发出一条操作指令。图3-13,图3-14是ISD4004录放音电路原理图。图中MK1是麦克风,作语音录入用。录入ISD4004芯片的语音信号从AUDOUT端(第13脚)输出,经过LM386等元件组成的电路滤波、放大后,由喇叭(LS1)放音【12】。其中SPI接口和AT89C51的SPI口相接:SCK接P1.4,MISO接P1.7,MOSI接P1.2,/SS接P1.3.图3-14ISD4004录放电路原理图3.5.4电压转换电路LM1117是一个低压差电压调节系列。其压差在1.2V输出,负载电流为800mA时为1.2V。LM1117有可调电压的版本,通过2个外部电阻可实现1.25~13.8V输出电压范围。输出端需要一个至少10uF的电容来改善瞬间响应和稳定性。典型的应用电路如图3-15图3-15LM1117的典型电路本设计中,ISD4004语音模块所使用的电压为3.3V,而单片机所使用的电压是5V,所以要进行电压的转换。将单片机的输出电压降低到3.3V,供语音芯片工作。3.6总体的硬件图如图3-16所示的总硬件图图3-16总原理图4软件设计4.1软件设计的思路语音电子密码锁工作的过程是用户首先通过键盘输入6位密码,同时LED数码管显示密码的输入情况,然后按下确定键来判断密码的正确性,作出开锁,语音回答或报警处理。当输入密码错误3次时,系统将会报警。在密码输入正确的情况下,可以重新设置密码,如果在一段时间内没有按下设置键,则不能设置密码,而且密码要输入2次才可以,若两次密码一致,则修改成功了,期间操作出现了失误,则会返回初始状态,重新输入设置密码。软件采用模块化设计,在程序中以一个主函数,多个子函数的方式编写,这样多有利于程序的可读、可移植等。4.2总体程序流程图如图4-1是语音电子密码锁的总流程图,开始接上电源,程序进行初始化设置,然后在键盘上输入密码,此系统进行键盘扫描,密码正确,开锁成功并有语音提示,密码错误3次出错报警并语音提示,定时一段时间后,系统会恢复到初始状态;在开锁的状态下,会定时一段时间来选择是否设置密码,若要修改密码,则按下设置键,否则,就不能设置密码。按下设置键时,输入2次相同的密码,确认后,密码设置成功并有语音提示,否则要重新输入新密码。4.3各个子程序的设计4.3.1键盘扫描程序如图4-2为按键功能的流程图,本设计中按键的功能是:输入密码锁的密码、可以复位、一位一位删除密码、确认、设置。流程图的过程是程序开始运行后,开始侦听是否有按键按下,如果有按键按下,再一次侦听是否有按键按下,这样做是为了实现按键的消抖作用,若第二次侦听到有按键按下,则会将按键的键值显报警和语音提示报警和语音提示N输入密码确认键初始化读取键值语音提示和开锁Y次数加1次数>3?设置键set?输入新密码6位确认键语音回答再次输入密码比较两次输入的新密码YYNYN设置成功N返回开始N返回N密码相同?图4-1总程序流程图示在LED数码管上,如果没有,则继续侦听。其中数字键是用来输入密码,复位键是用来全部清零,一位一位删除键是用来一位一位删除密码的,确定键是密码输入完成后按下的,设置键用来设置新密码的。根据4-2的流程图,程序如下:if(temp!=0xf0)//确定有按键按下{temp=P3;//P3的数值赋值给tempswitch(temp){case0xee:{num=7;if(count<7)pwx[count]=num;count++;}break;……}//给定每个按键的键值,按键拾起的检测,其余的按键程有键按下?有键按下?键盘消抖有键按下?扫描键盘的键值并显示在LED上NNYY开始返回图4-2键盘扫描流程图序跟上述的一致,返回数字复位键的程序:for(i=0;i<6;i++) {a[i]=0;}//数组a[i]全为0display(0);//显示“000000”一位一位删除键的程序:pwx[count]=0;//数组pwx是储存密码的,删除键一按,count对应的密码为0for(i=0;i<6;i++)//清楚数组a[i]的值 {a[i]=0;}display(count);//调用显示子程序4.3.2LED显示程序如图4-3所示的流程图,它的作用是显示按键按下的键值。流程图的过程是程序运行后,当按键按下的时候,发送键值给LED数码管,但是数码管显示的不是按键的键值,而是通过位选通来选择哪个数码管来显示并且显示“H”。当数码管显示了6个键值时,如果有按键再次按下将不会有键值再输送给数码管。发送键值发送键值数码管序号i加1数码管序号<6发送数据位选通要显示的数码管NY开始返回图4-3LED数码管显示的流程图根据图4-3,LED显示的子程序如下:for(i=0;i<n;i++)//数组a的值都为16 a[i]=16;P0=table[a[5]];//将table中的第16个显示编码送P0口dula=1;//一个下降沿将数据锁存dula=0;//关闭段选P0=0xfe;//位选通第一个数码管wela=1;//一个下降沿将数据锁存wela=0;//关闭位选 delay(3);//延时3s……//其余的5个数码管如同上述程序所示}4.3.3密码比较的子程序如图4-4所示的流程图,密码比较函数的作用是校对输入的2次密码是否相同。流程图的过程如下:当6位密码输入并且按下确定键后,就开始比较2次输入密码是否相同,如果比较的密码完全相同,则锁会打开,并且会有语音提示“欢迎回家”;如果不相同,则锁不会打开,还会语音提示“密码错误,再输一遍”。返回返回开始密码相同?YN重新输入密码锁闭并且语音提示锁开并且语音提示按下确定键图4-4密码比较的流程图根据图4-4的流程图,程序如下:if((pwx[0]==pws[0])&&(pwx[1]==pws[1])&&(pwx[2]==pws[2])&&(pwx[3]==pws[3])&&(pwx[4]==pws[4])&&(pwx[5]==pws[5]))//比较两个数组的数字是否相同{rightflag=1;}//相同,rightflag置1else{rightflag=0;}//不相同,rightflag置04.3.4新密码的设置程序如图4-5所示,用户可以根据自己的需要修改密码,在开锁的状态,用户可以的一定的时间内考虑是否要设置密码,如果要设置密码,则在一定时间内按下设置键,首先输入新密码一次,按下确定键,会有语音提示“密码再输一遍”,然后再一次输入密码,按下确定键,比较两次密码是否相同,若相同则设置成功,否则要重新设置密码。设置成功设置成功输入新密码确定和语音回答再输密码一次两次输入的密码是否相同确定和语音回答NY返回锁开按下设置键?开始YN图4-5设置密码的流程图根据4-5的流程图,程序如下:if(keyscan()==21)//设置键的键值{if(rightflag==1)//在开锁的状态下{……//初始化while(1){setkey=Set_keyscan();……//读取0~9的按键值,将2次输入的按键值存储在不同的数组中elseif(setkey==20)//确定键按下{……}//初始化显示,如果setflag==1,密码再输一次,如果setflag==2时密码比较,如果相同,设置成功,否则再重新设置密码,调用显示函数。4.3.5语音录放程序如图4-6所示语音录放的流程图,它的作用是密码输入正确或者输入错误时会有语音提示。流程图的过程是先要检测是否有K1键按下,如果检测到K1键按下时,就可以开始录音,本设计中录音的地址已经给定了,所以在给定的地址里录音就可以了,一共要录制5次,录完1次后按下K3停止键,再录第2次,依次类推,直到第5次录制完;如果检测到是K2键按下时,进行的是语音的播放,但是在播放前要先录制,播放的语音是在指定的地址里录制的语音,它与录制语音一样是不能超过5次的。初始化初始化录音次数加1播放次数加1指定的地址里放音指定的地址里录音按下K3键录制次数>5?停止YNN按下K1键?播放次数>5YNY开始结束图4-6语音录放的流程图当把语音录放的程序放在电子密码锁里时,只需要将录制好的语音地址写进主程序里,就可以进行语音的播报了。根据图4-6所示的流程图,程序如下:if(K1==0){delayms(10);while(K1==0);///松手判断chishu++;switch(chishu) {case1:addr=0;break;//给定地址来进行录音 ……//总共分了5段,给出了5段地址}rec();//调用录音的子程序 if(chishu==6)chishu=0;}//次数不能超过5次if(K2==0){……}//播放的程序与上述的录音程序思路一样,它调用的是播放的子函数4.3.6中断子程序如图4-7所示的流程图,此模块的功能是定时。流程图的过程是当key_Flag==0时,定时一段时间让用户思考是否要设置新密码;当key_Flag==1时,密码输入错误3次以上时定一段时间,然后回到初始的密码输入状态。根据图4-7所示的流程图,程序如下:TH0=(65536-50000)/256;//对TH0TL0赋值TL0=(65536-50000)%256;//重装计数初值if(key_Flag==0){……}//定时5s是否要选择设置密码if(key_Flag==1) {……}//执行密码输入错误3次以上定时5s 定时报警时间定时报警时间定时是否要设置密码的时间重值初值中断响应返回Key_Flag==0?图4-7中断的流程图
5调试调试是在软件KEILuVision2上进行的,我采用的是模块设计技术,就是逐个模块调好后再进行系统程序的总调。对于模块结构的程序,是结合硬件部分来调试一个个子程序。语音电子门锁的硬件部分是采用开发板和语音模块来实现的,在使用开发板的时候要了解开发板的硬件连接情况。调试时,写程序的时候一定要注意引脚的接口,调试可以用单步运行和断点运行方式,通过检查用者系统的CPU现场情况、RAM的内容和I/O口的状态,检测程序执行结果是否符合设计的要求,有无循环错误、地址的错误等。各程序模块通过后,则可以把相关功能块连在一起进行总调,如图5-1所示。这个阶段如果有故障,可以考虑各子程序运行时是否破坏了现场,缓冲单元、工作寄存器是否发生冲突,标志位的建立和消除是否有误,堆栈区是否溢出等等。图5-1程序运行图最后,硬件和软件的结合可以实现语音电子密码锁的基本功能,调试的实物图如图5-2,本设计所实现的功能如下:1.输入6为密码,如果密码正确,锁会开,语音回答“欢迎回家”;2.密码输入错误,会有语音提示“密码错误,再输一遍”,如果密码输入错误超过3次得话,电路会报警并且语音提示“密码错误,再输一遍”,并且定时一段时间后才可以输入密码。3.在密码输入成功的情况下,会有一段时间让用户思考是否修改密码,若要修改密码,则在规定的时间内按下设置密码键,设置密码要输入两遍,第一遍输入过后,会有语音提示“密码再输入一遍”,第二遍输入过后,如果密码输入成功,则会有语音提示“密码设置成功”,如果错误的话,则会重新设置密码。图5-2调试的实物图
6结论本设计—语音电子密码锁的方案是按照任务书的要求来进行的,它经过多次修改和整理,可以满足设计的基本要求。输入密码时,若正确,则会开锁和语音提示,如果错误,则会语音提示,要是三次密码输入错误,会进行报警并且无法在输入密码,要等待一段时间才可以重新输入密码。设置密码是要在开锁的状态下才可以进行的,但有一个条件是当锁打开的时候,在一定的时间内来按下设置键,否则超出那时间将无法设置密码。无论是输入密码还是设置密码,LED数码管所显示的都是“X”。但因为我的水平有限,而且C语言了解的不够深,此电路中也存在一定的问题。譬如说电路的密码掉电会丢失,设置密码时没有设置删除键,语音录制时地址都是自己给定的这些问题。有待在以后的工作学习中不断进步。通过对该课题的研究,加深了对所学知识的理解,提高了对课外知识的学习能力,增强了知识的应用能力,提高了解决实际问题的能力和独立思考的能力。在设计的过程中遇到了很多的问题,可以说是困难重重,同时在设计的过程中也发现了自己的不足之处,所以还得继续努力,进一步提升自己。通过这次的毕业设计,无论从选题到定稿,从理论到实践都使我学到了很多东西,它不仅可以巩固了以前所学过的知识,而且学到了很多在书上所没有学到过的知识。同时也明白了理论与实践相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践知识相结合起来,从理论中得出结论,才可以提高自己的能力。
致谢本人在做设计期间,周老师对该论文从选题,构思到最后定稿的各个环节给予细心的指引与教导,使我得以最终完成毕业论文设计,在此表示衷心的感谢。此外在学习中,老师严谨的治学态度、丰富渊博的知识、敏捷的学术思维、精益求精的工作态度以及诲人不倦的师者风范是我终生学习的楷模。另外,在软件的设计工程中,还得到了同学的帮助和指导,在此,谨向老师和同学致以衷心的感谢和崇高的敬意!最后,我要向百忙之中抽出时间对本文进行审阅,评议和参与本人论文答辩的各位老师表示感谢!
参考文献[1]王慧军.基于AT89S51单片机控制的电子密码锁设计[J].装备制造技术,2010,(2):66~70.[5]蔡培中,李旭.具有断电密码记忆功能的电子密码锁群设计[J].电气技术与自动化,2010,39(5):136~138.[6]杭州科亚启电子科技有限公司.浅谈智能电子门锁的发展[J].五金科技,2010,38(5):5~6.[8]郑峰,王巧之,李英建,刘瑞国.51单片机应用系统典型模块开发大全[M].中国铁道出版社,2011,7:390~418.[9]李倩,梁亮.基于FPGA的电子密码锁的设计与实现[J].机械与电子,2011,(5):118~121.[10]田希晖,薛亮儒.C51单片机技术教程[M].人们邮电出版社,2009,12:13~18.[11]古玉年.ISD4004系列8~16分钟单片机语音录放电路及其应用[J].苏州职业大学学报,2002,(2):64~67.[12]NorioTamaki,ShinjiMstsuoks,KeijiHarads.Recentapplicationanddevelopmentinspeechrecognitiontechnologies.NTTReview,1994,16(3):66~75.附录1系统实物图附录2实验原理图附录3PCB图
附录4毕业设计作品说明书一、作品名称语音电子门锁二、作品功能1、密码输入正确,有语音提示“欢迎回家”;2、密码输入错误,有语音提示“密码错误,再输一遍”;3、密码3次错误,报警和语音提示“密码错误,再输一遍”;4、在开锁状态下和一定的时间内可以设置密码,第一次输入密码后,按下确定键,语音会提示“密码再输一遍”;第二次输入密码后并按下确定键,如果新密码比较错误,语音会提示“密码再输一遍”,开始重新设置密码,如果正确,语会提示“密码设置成功”。三、运行环境硬件环境:在开发板上进行操作软件环境:软件keiluVision2上调试四、操作步骤1、结合硬件调试各个子程序,并实现结果2、总体调试,实现最终结果五、注意事项1、程序执行结果是否符合设计的要求;2、有无循环错误、地址的错误;3、引脚有无接正确。
附录5源程序#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintuintnum=10;sbitbeep=P2^3;//蜂鸣器接口sbitdula=P2^6;//控制数码管段选的锁存器锁存端sbitwela=P2^7;//控制数码管位选的锁存器锁存端sbitLED0=P1^0;sbitLED1=P1^1;sbitLED2=P1^2;sbitLED3=P1^3;sbitLED4=P1^4;sbitLED5=P1^5;sbitLED6=P1^6;sbitK1=P3^5;sbitK2=P3^6;sbitK3=P3^7;uchara[6];charcount=0;unsignedchari=100;unsignedcharj,k,temp,key,h,p=0;uchartem=0;ucharsetkey=0;ucharasetkey[6];ucharpws[6]={4,5,6,4,5,6};//原始密码ucharpwx[6];//按下的数字存储区bitset=0,rightflag=0,write=0;unsignedintsec;//定义计数值,每过1秒,sec加1ucharsetflag=0;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x76};uintkeyscan(void);voiddisplay(unsignedlongn);//显示子函数bitcompare(void);voidstop(void);voidrec(void);ucharkeya=0;uintchishu=0;ucharright=0;intkey_0K=0;intkey_Flag=0;voiddelayms(ucharms);uintaddr;////////定义放音命令,定义常量//////#defineISDPOWERUP0X20//ISD4004上电#defineISDSTOP0X10//ISD4004下电#defineOPERSTOP0X30//ISD4004停止当前操作#definePLAYSET0XE0//ISD4004从指定地址开始放音#definePLAYCUR0XF0//ISD4004从当前地址开始放音#defineRECSET0XA0//ISD4004从指定地址开始录音#defineRECCUR0XB0//ISD4004从当前地址开始录音sbitSS=P1^3;//LOWISACTIVELYsbitMOSI=P1^2;sbitMISO=P1^7;sbitSCLK=P1^4;uintSet_keyscan();voidplay();voidmain(){ucharsetseti=0;P1=0xff;P2=0XFF;P3=0XFF;dula=0;//先关闭两个锁存器wela=0;TMOD=0x01;//定时器工作在方式1ET0=1;EA=1;//开中断TH0=(65536-50000)/256;//对TH0TL0赋值TL0=(65536-50000)%256;//使定时器0.05秒中断一次pp:while(1){if(K1==0){delayms(10);while(K1==0);///松手判断chishu++;LED1=0;LED2=1;switch(chishu) { case1:addr=0;break; case2:addr=80;break; case3:addr=160;break; case4:addr=240;break;case5:addr=320;break; }rec();P1=0XFF; if(chishu==6)chishu=0;}if(K2==0){delayms(10);while(K2==0); chishu++;if(chishu==6)chishu=1;LED1=1;LED2=0;switch(chishu) { case1:addr=0;break; case2:addr=80;break; case3:addr=160;break; case4:addr=240;break;case5:addr=320;break; }play();P1=0XFF;}if(K3==0){delayms(10);while(K3==0);LED1=1;LED2=1;stop();P1=0XFF;}if(keyscan()==21){if(rightflag==1){setseti=0;for(i=0;i<6;i++) {a[i]=0; }while(1) {setkey=Set_keyscan(); if(setkey>=0&&setkey<10) { if(setflag==1){ P1=setkey; asetkey[setseti++]=setkey; }else { P1=setkey;pws[setseti++]=setkey; } }elseif(setkey==20) { setflag++; setseti=0; P1=0xff;for(i=0;i<6;i++) {a[i]=0; } if(setflag==1) {addr=160;play();} elseif(setflag==2) { setflag=0; if((asetkey[0]==pws[0])&&(asetkey[1]==pws[1])&&(asetkey[2]==pws[2])&&(asetkey[3]==pws[3])&&(asetkey[4]==pws[4])&&(asetkey[5]==pws[5])) {P1=0xff; addr=240; play(); break; }else { addr=320; play(); } } } display(setseti); }}}display(count);if(num==20)//如果确定键按下{num=0;if(count==6){count=0;compare(); if(rightflag==1)//如果密码正确{ TR0=1;LED0=0; LED1=1;delayms(10);addr=0; play();}else{key_Flag=1;LED1=0; addr=80;play(); if(++p>=3) { TR0=1; beep=0; while(1) {if(right==1) { right=0; for(i=0;i<6;i++) a[i]=0;beep=1; LED1=1; gotopp; } } }for(i=0;i<6;i++) a[i]=0;}}else//若输入的密码位数不为6位时{key_Flag=1;count=0;LED1=0;addr=80;play(); if(++p>=3) { TR0=1;beep=0; while(1) {if(right==1) { right=0; for(i=0;i<6;i++) a[i]=0; beep=1; LED1=1; p=0; gotopp; } } }for(i=0;i<6;i++) a[i]=0;}}}}voiddelay(unsignedchari)//可自定义延时长短的延时函数{//当i=10时大约为10毫秒for(j=i;j>0;j--)for(k=125;k>0;k--);}uintkeyscan(){uchari=0;P3=0xfe;num=0;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(5);//键盘去抖,最好20ms以上,这里用了5mstemp=P3;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case0xee:{num=7;if(count<7)pwx[count]=num;count++;}break;case0xde:{num=8;if(count<7)pwx[count]=num;count++;}break;case0xbe:{num=9;if(count<7)pwx[count]=num;count++;}break;}while(temp!=0xf0)//按键抬起检测{display(count);temp=P3;temp=temp&0xf0;}}}P3=0xfd;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case0xed:{num=4;if(count<7)pwx[count]=num;count++;}break;case0xdd:{num=5;if(count<7)pwx[count]=num;count++;}break;case0xbd:{num=6;if(count<7)pwx[count]=num;count++;}break;case0x7d:{num=21;LED2=0;}break;}while(temp!=0xf0){display(count);temp=P3;temp=temp&0xf0;}}}P3=0xfb;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case0xeb:{num=1;if(count<7)pwx[count]=num;count++;}break;case0xdb:{num=2;if(count<7)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度新能源汽车充电桩安装与维护个人聘用合同4篇
- 2025年食堂外包项目绩效考核与评估合同3篇
- 2025年度个人消费分期贷款合同模板(2025版)4篇
- 2025年度个人工厂品牌形象及营销权转让合同2篇
- 2025年全球及中国三环癸烷二甲醇二甲基丙烯酸酯行业头部企业市场占有率及排名调研报告
- 2025年全球及中国全自动线材前处理机行业头部企业市场占有率及排名调研报告
- 2025-2030全球调湿蒸纱机行业调研及趋势分析报告
- 2025年度个人借款延期还款及担保人责任合同2篇
- 2025年度个人房产交易定金担保合同范本2篇
- 2025年度企业间技术秘密保密及合作开发合同4篇
- 励志课件-如何做好本职工作
- 2024年山东省济南市中考英语试题卷(含答案解析)
- 2024年社区警务规范考试题库
- 2024年食用牛脂项目可行性研究报告
- 静脉治疗护理技术操作标准(2023版)解读 2
- 2024年全国各地中考试题分类汇编(一):现代文阅读含答案
- 2024-2030年中国户外音箱行业市场发展趋势与前景展望战略分析报告
- GB/T 30306-2024家用和类似用途饮用水处理滤芯
- 家务分工与责任保证书
- 消防安全隐患等级
- 温室气体(二氧化碳和甲烷)走航监测技术规范
评论
0/150
提交评论