电子密码锁设计.docx

上传人:b****7 文档编号:25300346 上传时间:2023-06-07 格式:DOCX 页数:25 大小:165.42KB
下载 相关 举报
电子密码锁设计.docx_第1页
第1页 / 共25页
电子密码锁设计.docx_第2页
第2页 / 共25页
电子密码锁设计.docx_第3页
第3页 / 共25页
电子密码锁设计.docx_第4页
第4页 / 共25页
电子密码锁设计.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

电子密码锁设计.docx

《电子密码锁设计.docx》由会员分享,可在线阅读,更多相关《电子密码锁设计.docx(25页珍藏版)》请在冰豆网上搜索。

电子密码锁设计.docx

电子密码锁设计

 

单片机原理与应用技术

课程设计报告(论文)

 

题目:

电子密码锁设计

 

2012年04月19日

 

目录

引言2

第一章总体设计方案2

1.1系统结构2

1.2系统组成2

1.3设计方案选择3

方案一:

采用数字电路控制3

方案二:

采用以单片机为核心的控制方案3

第二章硬件系统设计3

2.1单片机AT89C51简介3

2.2设计原理3

2.3电路总体构成3

2.4电源部分4

2.4.1直流稳压电源电路4

2.4.2密码锁电源电路4

2.5键盘输入5

2.6密码存储部分6

2.6.1AT24C026

2.6.2密码存储电路6

2.7复位部分6

2.7.1复位电路的介绍6

2.7.2 复位电路7

2.8晶振部分7

2.8.1晶体振荡器介绍7

2.8.2晶振电路7

2.9显示部分8

2.9.1LCD1602显示器8

2.9.2显示电路9

2.10报警部分9

2.11开锁部分9

第三章软件系统设计10

3.1主程序模块10

3.2键盘扫描模块10

3.3密码修改模块11

3.4密码比较判断模块11

第四章总结与体会11

参考文献11

附录:

12

 

基于单片机控制的电子密码锁

摘要:

在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。

若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。

随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。

为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。

密码锁具有安全性高、成本低、功耗低、易操作等优点。

基于以上思路,本次设计使用ATMEL公司的AT89C51实现一基于单片机的电子密码锁的设计,其主要具有如下功能:

(1)密码通过键盘输入,若密码正确,则将锁打开。

(2)报警、锁定键盘功能。

密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。

电子密码锁的设计主要由三部分组成:

4×4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。

另外系统还有LED提示灯,报警蜂鸣器等。

关键词:

4×4矩阵键盘;AT89C51;密码锁;密码二次确认

引言

随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。

本文所涉及的是市场占有率最高的是MCS—51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。

到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。

本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。

第一章总体设计方案

一个单片机应用系统的硬件电路设计包含两部分内容:

一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。

二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。

1.1系统结构

本系统是用以AT89C51为核心的单片机控制,主要是由单片机系统、矩阵键盘、LCD显示和报警系统组成。

利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。

1.2系统组成

本系统由单片机系统、矩阵键盘、LCD显示、密码存储、复位电路、晶振电路、开锁部分和报警系统组成。

系统能完成开锁、超时报警、修改用户密码基本的密码锁的功能。

矩阵键盘主要判断键盘上有无键按下、去抖动影响、逐列扫描键盘以确定被按键的位置号即行列号、形成键值并将键值存入指定的数据缓冲区中、判断闭合的键是否释放等功能。

密码修改部分要求密码要输入两次,程序将两次输入的密码比较一致时,即用此密码代替原先的密码,如果两次输入的密码不一致,则重复操作。

这样就避免了修改密码的随机性。

自动报警部分是三次输入的密码不一致就会发生报警信息,这样能有效的避免一些不法分子的行为,保护自身的利益。

显示部分主要是采用LCD显示,是一种数字显示技术。

与传统的阴极射线管(CRT)相比,LCD占用空间小,低功耗,低辐射,无闪烁,降低视觉疲劳。

不足:

与同大小的CRT相比,价格更加昂贵。

1.3设计方案选择

方案一:

采用数字电路控制

用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作。

采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。

故不采用。

方案二:

采用以单片机为核心的控制方案

由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。

一般来说在选取单片机时从下面几个方面考虑:

性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如:

中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。

在开发过程中单片机还受到:

开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。

基于以上因素本设计选用单片机AT89S51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。

在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602显示器用于显示作用。

当用户需要开锁时,先按键盘开锁键之后按键盘的数字键0-9输入密码。

密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。

新密码输入无误后按确认键使新密码将得到存储,密码修改成功。

通过比较以上两种方案,单片机方案有较大的活动空间,控制灵活准确性好且保密性强不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案作为此次设计的方案。

 

第二章硬件系统设计

2.1单片机AT89C51简介

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性

2.2设计原理

本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。

其中矩阵键盘用于输入数字密码和进行各种功能的实现。

由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。

本系统共有两部分构成,即硬件部分与软件部分。

其中硬件部分由电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。

其原理框图如图2.2所示。

2.3电路总体构成

由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。

基于以上因素本设计选用单片机AT89S51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。

在确定了选用什么型号的单片机后,就要确定在外围电路,其外围电路包括电源输入部

分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,根据实际情况键盘输入部分选择4*4矩阵键盘,显示部分选择字符型液晶显示LCD1602,密码存储部分选用AT24C02芯片来完成,密码输入正确则开锁成功,密码三次输入错误就会报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。

新密码输入无误后按确认键使新密码将得到存储,密码修改成功。

图2.1设计总体电路图

2.4电源部分

2.4.1直流稳压电源电路

在电子电路中,通常都需要电压稳定的直流电源供电。

直流电源部分为系统各部分提供稳定、可靠的直流电源。

它由变压,整流,滤波,稳压四个部分组成。

1、电源变压器。

由于各种电子设备要求直流稳压电源提供不同幅值的直流电压,而市电提供的交流电压一般为220V(或380V),因此需要利用变压器先将市电的电压变换成所需要的交流电压,再将变换后的交流电压整流、滤波和稳压,最后获得所需要的直流电压。

  

2、整流电路。

整流电路是利用具有单向导电性的整流器件(如整流二极管、晶闸管),将大小、方向变化的正弦交流电变换成单向脉动的直流电。

这种单向脉动直流电压含有很大的纹波成分,一般不能实用。

  

3、滤波电路。

滤波电路的主要任务是将整流后的单向脉动直流电压中的纹波成分尽可能滤除掉,使其变成平滑的直流电。

滤波电路通常由电容、电感等储能元件组成。

4、稳压电路。

它能在电网电压和负载电流的变化时,保持输出直流电压的稳定。

它是直流稳压电源的重要组成部分,决定着直流电源的重要性能指标

2.4.2密码锁电源电路

 

图2.2电源输入电路原理图

 

密码锁主控制部分电源需要用5V直流电源供电,其电路如图2.4所示,把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。

其主要原理是把单相交流电经过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。

由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。

降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。

由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。

需通过低通滤波电路滤波,使输出电压平滑。

稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压。

本电路使用集成稳压芯片7805解决了电源稳压问题。

2.5键盘输入

矩阵式键盘的结构与工作原理:

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图2.5所示。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。

由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

 

 

图2.3键盘输入原理图

矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。

这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。

行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

具体的识别及编程方法如下所述。

矩阵式键盘的按键识别方法:

确定矩阵式键盘上何键被按下介绍一种“行扫描法”。

行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如图2.5所示键盘,介绍过程如下。

判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。

只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。

若所有列线均为高电平,则键盘中无键按下。

判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。

其方法是:

依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。

在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。

若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。

下面给出一个具体的例子:

如图2.5所示。

89C51单片机的P1口用作键盘I/O口,键盘的列线接到P1口的低4位,键盘的行线接到P1口的高4位。

列线P1.0-P1.3分别接有4个上拉电阻到正电源+5V,并把列线P1.0-P1.3设置为输入线,行线P1.4-P.17设置为输出线。

4根行线和4根列线形成16个相交点。

检测当前是否有键被按下。

检测的方法是P1.4-P1.7输出全“0”,读取P1.0-P1.3的状态,若P1.0-P1.3为全“1”,则无键闭合,否则有键闭合。

去除键抖动。

当检测到有键按下后,延时一段时间再做下一步的检测判断。

若有键被按下,应识别出是哪一个键闭合。

方法是对键盘的行线进行扫描。

P1.4-P1.7按下述4种组合依次输出:

P1.71110

P1.61101

P1.51011

P1.40111

在每组行输出时读取P1.0-P1.3,若全为“1”,则表示为“0”这一行没有键闭合,否则有键闭合。

由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值

为了保证键每闭合一次CPU仅作一次处理,必须却除键释放时的抖动。

2.6密码存储部分

2.6.1AT24C02

AT24C02是美国Atmel公司的低功耗CMOS型E2PROM,内含256×8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。

而且他是采用了I2C总线式进行数据读写的串行器件,占用很少的资源和I/O线,并且支持在线编程,进行数据实时的存取十分方便。

AT24C02正是运用了I2C规程,使用主/从机双向通信,主机(通常为单片机)和从机(AT24C02)均可工作于接收器和发送器状态。

主机产生串行时钟信号(通过SCL引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。

无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。

AT24C02的控制字由8位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送的方向。

2.6.2密码存储电路

图2.6(a)中AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。

在AT89C51试验开发板上它们都接地,第8脚和第4脚分别为正、负电源。

第5脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,在AT89C51试验开发板上和单片机的P3.7连接。

第6脚SCL为串行时钟输入线,在AT89C51试验开发板上和单片机的P3.6连接。

SDA和SCL都需要和正电源间各接一个5.1K的电阻上拉。

第7脚需要接地。

 

2.4(a)密码存储电路原理图

AT24C02中带有片内地址寄存器。

每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。

所有字节均以单一操作方式读取。

为降低总的写入时间,一次操作可写入多达8个字节的数据。

2.7复位部分

2.7.1复位电路的介绍

复位操作有上电自动复位和按键手动复位两种方式:

1、上电自动复位

上电自动复位时在加电瞬间电容通过充电来实现的,其电路如图2.7a所示。

在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用以复位。

只要电源VCC的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。

关于参数的选定,在振荡稳定后应保证复位高电平持续时间(即正脉冲宽度)大于2个机器周期。

当采用的晶体频率为6MHZ时,可取C为22μF,R为1KΩ;当采用晶体为12MHZ时,可取C为10μF,R为8.2KΩ.

如果上述电路复位不仅要使点单片机复位,而且还要使单片机的一些外围芯片也同时复位,那么上述电阻、电容参考值应作少许调整。

对于COMS型的89C51,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外界电容减至1μF。

2、手动复位

所谓手动复位,是指通过接通以按钮开关,使单片机进入复位状态。

系统上电运行以后,若需要复位,一般是通过手动复位来实现的。

通常采用手动复位和上电自动复位组合,其电路如图2.7所示。

 

图2.5(a)上电复位图2.5(b)按键电平复位

复位电路虽然简单,但其作用非常重要。

一个单片机系统能否正常运行,首先要检查是否能复位成功。

初步检查可用示波器探头监视RST引脚,按下复位键,观察是否有足够幅度的波形输出(瞬时的),还可以通过改变复位电路阻容值进行实验。

2.7.2 复位电路

此次设计主要采用按键电平复位,单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第—个单元取指令。

无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。

在复位期间(即RST为高电平期间),P0口为高组态,P1-P3口输出高电平;外部程序存储器读选通信号PSEN无效。

地址锁存信号ALE也为高电平。

根据实际情况选择如图4-6所示的复位电路。

该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C1上的电压很小,复位下拉电阻R上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于某一数值后,CPU脱离复位状态,由于电容C1足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。

增加手动复位按键是为了避免死机时无法可靠复位。

当复位按键按下后电容C1通过R5放电。

当电容C1放电结束后,RST端的电位由R5与R6分压比决定。

由于R5<

R5的作用在于限制按键按下瞬间电容C1的放电电流,避免产生火花,以保护按键触电。

2.8晶振部分

2.8.1晶体振荡器介绍

晶体振荡器,简称晶振,其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或缩小后就成了电脑中各种不同的总线频率。

石英晶体振荡器是一种高精度和高稳定度的振荡器,石英晶体振荡器也称石英晶体谐振器,它用来稳定频率和选择频率,是一种可以取代LC谐振回路的晶体谐振元件。

石英晶体振荡器广泛地应用在电视机、影碟机、录像机、无线通讯设备、电子钟表、单片机、数字仪器仪表等电子设备中。

为数据处理设备产生时钟信号和为特定系统提供基准信号。

在单片机中为其提供时钟频率。

2.8.2晶振电路

AT89S51引脚XTAL1和XTAL2与晶体振荡器及电容C2、C1按图4-7所示方式连接。

晶振、电容C1/C2及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定,范围在0~33MHz之间,电容C1、C2取值范围在5~30pF之间。

根据实际情况,本设计中采用12MHZ做为系统的外部晶振。

电容取值为20pF。

 

图2.6晶振电路

2.9显示部分

2.9.1LCD1602显示器

LCD为英文LiquidCrystalDisplay的缩写,即液晶显示器,是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。

与传统的阴极射线管(CRT)相比,LCD占用空间小,低功耗,低辐射,无闪烁,降低视觉疲劳。

不足:

与同大小的CRT相比,价格更加昂贵。

现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。

1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。

1602型LCD可以显示2行16个字符,有8位数据总线D0~D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。

1、接口信号说明

1602型LCD的接口信号说明如表2.1所示:

表2.11602型LCD的接口信号说明

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

DataI/O

2

VDD

电源正极

10

D3

DataI/O

3

V0

液晶显示偏压信号

11

D4

DataI/O

4

RS

数据/命令选择端(H/L)

12

D5

DataI/O

5

R/W

读写选择端(H/L)

13

D6

DataI/O

6

E

使能信号

14

D7

DataI/O

7

D0

DataI/O

15

BLA

背光源正极

8

D1

DataI/O

16

BLK

背光源负极

2、主要技术参数

1602型LCD的主要技术参数如表2.2所示:

表2.21602型LCD的主要技术参数

 

显示容量

16X2个字符

芯片工作电压

4.5~5.5V

工作电流

2.0mA(5.0V)

模块最佳工作电压

5.0V

字符尺寸

2.95X4.35(WXH)mm

3、基本操作程序

读状态:

输入:

RS=L,RW=L,E=H

输出:

D0~D7=状态字

读数据:

输入:

RS=H,RW=H,E=H

输出:

写指令:

输入:

RS=L,RW=L,D0~D7=指令码,E=高脉冲

输出:

D0~D7=数据

写数据:

输入:

RS=H,RW=L,D0~D7=数据,E=高脉冲

输出:

2.9.2显示电路

为了提高密码锁的密码显示效果能力。

本设计的显示部分由液晶显示器LCD1602取代普通的数码管来完成。

只有按下键盘上的开启按键后,显示器才处于开启状态。

同理只有按下关闭按键后显示器才处于关闭状态。

否则显示器将一直处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键0-9输入密码,每按下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*。

当密码输入完成时,按下确认键,如果输入的密码正确的话,LCD子显示“开锁成功”,单片机其中P2.0引

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 笔试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1