




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机应用课程设计单片机应用课程设计 设计题目 基于设计题目 基于 AT24C02AT24C02 电子密码锁的设计电子密码锁的设计 目录目录 1 1 设计任务设计任务 3 3 2 2 系统总体方案设计系统总体方案设计 3 3 2 12 1 各个模块方案论证各个模块方案论证 3 3 2 1 12 1 1 芯片选择芯片选择 3 3 2 1 22 1 2 显示器的选择显示器的选择 3 3 2 22 2 总体方案设计总体方案设计 4 4 3 3 硬件电路设计硬件电路设计 4 4 3 13 1 单片机最小系统单片机最小系统 4 4 3 23 2 AT24C20AT24C20 储存密码电路储存密码电路 5 5 3 33 3 矩阵键盘电路矩阵键盘电路 6 6 3 43 4 液晶显示电路液晶显示电路 6 6 4 4 系统软件设计系统软件设计 6 6 4 14 1 主程序流程图主程序流程图 7 7 4 24 2 子程序流程图子程序流程图 8 8 4 2 14 2 1 AT24C20AT24C20 子程序流程图子程序流程图 8 8 4 2 24 2 2 16021602 子程序流程图子程序流程图 9 9 5 5 实物调试实物调试 9 9 5 15 1 实性物能分析实性物能分析 9 9 6 6 心得体会心得体会 1212 附录附录 1 1 1414 1 1 系统总电路图 系统总电路图 1414 2 2 系统仿真图 系统仿真图 1414 附录附录 2 2 1616 1 1 程序清单 程序清单 1616 1 设计任务设计任务 基本要求 采用 AT24C02 与单片机 STC89C52 相结合设计电子密码锁 然后 通过矩阵键盘按键进行密码的输入 清除 更改 开锁等功能 2 系统总体方案设计系统总体方案设计 2 1 各个模块方案讨论各个模块方案讨论 2 1 1 芯片选择芯片选择 由于设计的是电子密码锁 而单片机 AT89C52 为 8 位通用微处理器 采用 工业标准的 C51 内核 在内部功能及管脚排布上与通用的 8xc52 相同 其主要 用于会聚调整时的功能控制 功能包括对会聚主 IC 内部寄存器 数据 RAM 及 外部接口等功能部件的初始化 会聚调整控制 会聚测试图控制 红外遥控信 号 IR 的接收解码及与主板 CPU 通信等 主要管脚有 XTAL1 19 脚 和 XTAL2 18 脚 为振荡器输入输出端口 外接 12MHz 晶振 RST Vpd 9 脚 为复位输入端口 外接电阻电容组成的复位电路 VCC 40 脚 和 VSS 20 脚 为供电端口 分别接 5V 电源的正负端 P0 P3 为可编程通用 I O 脚 其功能 用途由软件定义 在本设计中 P0 端口 32 39 脚 被定义为 N1 功能控制端 口 分别与 N1 的相应功能管脚相连接 13 脚定义为 IR 输入端 10 脚和 11 脚 定义为 I2C 总线控制端口 分别连接 N1 的 SDAS 18 脚 和 SCLS 19 脚 端口 12 脚 27 脚及 28 脚定义为握手信号功能端口 连接主板 CPU 的相应功能端 用于当前制式的检测及会聚调整状态进入的控制功能 所以我们以此单片机为核心 采用 AT24C02 作为储存密码芯片 利用单片机 进行控制 外加显示电路和键盘电路 即构成一个基本的电子密码锁系统 2 1 2 显示器的选择显示器的选择 LCD1602 具有微功耗 体积小 显示内容丰富 超薄轻巧 对比度可调 内含复位电路 提供各种控制命令等特点 完全满足本次设计的需要 因此 选择 LCD1602 作为显示器进行使用 2 2总体方案设计总体方案设计 密码锁设计的关键问题是实现密码的输入 清除 更 改 开锁等功能 1 密码输入功能 插上电源后 第一次使用或忘记密码时可以用 111111 对其密码初始化 LCD 提示输入密码 输入密码时在 1602LCD 上显示 每输 入一个数字 LCD 上向右移一格 同时 加一个 值到输入 6 个 为此 若一次性输入大于 6 个密码 则只保留前 6 位密码 按 确定 生效 若按取 消键 锁关闭 所有输入清除错误 输入计数达三次时 报警并锁定键盘 2 密码更改功能 密码锁在打开的状态再次输入原密码 会有提示输入新 密码 输入新密码后按修改键再次输入新密码后就能成功修改密码 初始密码 是 6 个 1 3 当密码输入成功后 或者密码修改成功后 LCD 上有提示成功字符 LED 灯亮 同时蜂鸣器响两声作为提示 AT24C02 电子密码锁总体设计方案如图 1 所示 图图 1 1 总体设计方案总体设计方案 3 3 系统硬件电路设计系统硬件电路设计 3 13 1单片机最小系统单片机最小系统 单片机是电子时钟系统的主控制器 其最小系统主要由 STC89C52 单片机 晶振电路及单片机复位电路组成 晶振系统由两个 30pf 的陶瓷电容和一个 12MHz 的晶振组成 分别接在 XTAL1 XTAL2 上 在单片机内部 这两个端口是一个反相放大器的输入端 这 个放大器构成了片内振荡器 它决定了单片机的时钟周期 单片机有一个复位引脚 RST 高电平有效 只要 RST 保持高电平 单片机 将循环复位 复位期间 ALE PSEN 输出高电平 RST 从高电平变为低电平之后 PC 指针变为 0000H 使单片机从程序存储器地址为 0000H 的单元开始执行 当 单片机执行程序出错或进入死循环时 也可按复位按钮重新启动 单片机最小 系统如图 2 所示 图图 2 2 3 2 AT24C02AT24C02 储存密码电路储存密码电路 为了保存用户设置的密码 本系统使用 AT24C02 用来保存用户设置的密码 它的 SCL SDA 端分别接单片机的 T0 T1 端 用于与单片机之间读写操作的数据 传输 WP 接低电平表示单片机可以对器件进行正常的读 写操作 E0 E1 E2 是器件地址输入端 都接低电平表示只有一个 AT24C02 被器件寻址 该电路要 注意的是 SCL SDA 必须加上一上接电阻 阻值为 4 7K 用户设置的密码存放 在 ST24C02 中 当需要更改或读取用户密码时 只需对 ST24C02 里的数据更改 或读取 ST24C02 储存密码电路如图 3 所示 图图 3 3 3 3 矩阵键盘电路矩阵键盘电路 矩阵键盘电路主要作用就是输入密码 它由行线和列线组成 按键位于行 列的交叉点上 行列分别连接到按键开关的两端 无按键按动作时列线处于高 电平状态 有按键按下时 交点的行线和列线相通 列线电平状态将由与此列线相连 的行线电平决定 行线电平如果低 则列线电平为低 行线电平如果为高 则列线电平也为 高 这是识别矩阵式键盘按键是否被按下的关键所在 由于矩阵键盘中行 列线为多键公用 各按键均影响该键所在的行和列的 电平 所以必须将行 列线信号配合起来作适当的处理 才能确定闭合键所在 的位置 矩阵式键盘节省了好多的 I O 口 适用于按键数量比较多的场合 本设计的 4 4 键盘即采用矩阵式键盘 矩阵键盘电路图如图 4 所示 图图 4 4 3 4 液晶显示电路液晶显示电路 1602 的引脚功能 第 1 脚 为地电源 第 2 脚 VCC 接 5V 正电源 第 3 脚 为液晶显示器对比度调整端 接正电源时对比度最弱 接地电源 时对比度最高 对比度过高时会产生 鬼影 使用时可以通过一个 20K 的电位 器调整对比度 第 4 脚 RS 为寄存器选择 高电平时选择数据寄存器 低电平时选择指令 寄存器 第 5 脚 RW 为读写信号线 高电平时进行读操作 低电平时进行写操作 当 RS 和 RW 共同为低电平时可以写入指令或者显示地址 当 RS 为低电平 RW 为高电平时可以读忙信号 当 RS 为高电平 RW 为低电平 时可以写入数据 第 6 脚 E 端为使能端 E 端由高电平跳变成低电平时 液晶模块执行命令 第 7 14 脚 D0 D7 为 8 位双向数据线 第 15 16 脚 15 脚接 VCC 16 脚接地 1602 电路图如图 5 所示 图图 5 5 4 系统软件设计系统软件设计 由于单片机是可编程控制器 故采用 C 语言对单片机进行程序的编写 主 程序主要由矩阵键盘程序 1602 液晶屏程序及 AT24C02 程序组成 4 1 主程序流程图主程序流程图 图图 6 6 上图 6 为主程序流程图 开始先初始化 然后屏幕显示 password 先扫描按 键 确认是否可以按键按出密码 如果没有按键按下 则重新扫描按键 若有 键按下则按下修改键并保存密码就会出现新的密码 若不按下修改键则还是原 来刚设置的初始密码 按下输入键并输入密码 不按下输入键则重新回到扫描 按键步骤 若密码正确则开锁 密码错误则报警显示错误 4 2 子程序流程图子程序流程图 4 2 1 AT24C02 子程序流程图子程序流程图 图图 7 7 图 7 展示了 AT24C02 的一个工作流程 首先是对 AT24C02 进行初始化 方 便密码的输入 当输入的密码正确 就会解锁 显示屏显示 open 否则显示 error 并重新输入密码 4 2 2 1602 子程序流程图子程序流程图 图图 8 8 1602 显示器的工作流程图展示了 1602 的工作流程 启动时 首先对 1602 进行初始化 然后检测有没有数据写入 当有数据写入时 1602 便读出数据并 显示 没有数据写入时 1602 就一直处于等待中 直至有数据写入 1602 子程 序流程图如图 8 所示 5 实物调试实物调试 5 15 1 实物性能分析实物性能分析 用 KEIL 编写程序软件编写程序 经过 Proteus 仿真软件仿真调试之后 确 认了此系统可正常运行 在这样的前提下 我们利用一个单片机最小系统 一 块用电路板焊接的模块和一个 1602 液晶显示屏完成了第一次实物仿真 图图 9 9 图 9 界面显示为输入密码 这时我们按下按键输入密码 当我们输入密码时 下图为密码正确的实物图 如图 10 所示 图图 1010 当密码输入正确时 显示屏就会显示 OPEN 若密码输入错误 下图为密码输入错误的实物图 如图 11 所示 图图 1111 当我们输入错误的密码时 显示屏就会显示 error 下图为密码修改成功的实物图 如图 12 所示 图图 1212 当密码修改成功时 显示屏就会显示 RestPasswordOK 6 心得体会心得体会 通过此次课程设计 我重新把单片机及相关知识联系在了一起 虽然掌握的知识不是很多 但通过查找资料我还是对单片机有了很好的了解和 掌握 在设计中我才发现单片机虽然体积小但是功能很强大 在生活中很多地 方都可以用到它 单片机这门学科博大精深 在以后的学习中只有多看书 理论与实践结合 才能把这门课掌握好 掌握了 LCD 的使用方法与编程 同时我也体会到合作的 好处 让我懂得了如何合作 对不同看法发表自己的意见 此次设计中最要的一点是 让我知道了 理论联系实践的好处 不管理论 学的再怎么好都必须联系实践 只有在实践中我们才会更加懂得如何运用自己 的所学 在实践中将自己的知识实物化 理论联系实践是我们获取知识的最佳 途径 参考文献 1 谭浩强主编 C 程序设计题解与上机指导 第 3 版 M 北京 清华大学出版社 2005 16 24 2 谢维成 杨家国 董秀成 单片机原理与应用及 C51 程序设计 第 2 版 M 北京 清华 大学出版社 2009 7 25 36 附录附录 1 1 1 系统总电路图系统总电路图 系统总电路图 如图 12 所示 图图 1313 2 2 系统仿真图系统仿真图 系统仿真图 如图 13 所示 图图 1414 3 3 PCBPCB 板板 设计使用的 PCB 如图 14 所示 图图 1515 附录附录 2 2 程序清单程序清单 include include define LCM Data P0 define uchar unsigned char define uint unsigned int define Busy 0 x80 用于检测 LCM 状态字中的 Busy 标识 define w 6 定义密 码位数 sbit lcd1602 rs P2 5 sbit lcd1602 rw P2 6 sbit lcd1602 en P2 7 sbit Scl P3 4 24C02 串行时钟 sbit Sda P3 5 24C02 串行数据 sbit ALAM P2 1 报警 sbit KEY P2 0 开锁 sbit open led P2 2 开锁指示灯 bit operation 0 操作标志位 bit pass 0 密码正确标志 bit ResetEn 0 重设密码充 允 许标志 bit ReInputEn 0 重置输入充 允 许标志 bit s3 keydown 0 3 秒按键标志位 bit key disable 0 锁定键盘标志 unsigned char countt0 second t0 中断计数器 秒计数器 void Delay5Ms void unsigned char code a 0 xFE 0 xFD 0 xFB 0 xF7 控盘扫描控制表 unsigned char code start line password unsigned char code name 2 Coded Lock 显示名称 unsigned char code Correct correct 输入正确 unsigned char code Error error 输入错误 unsigned char code codepass pass unsigned char code LockOpen open OPEN unsigned char code SetNew SetNewWordEnable unsigned char code Input input INPUT unsigned char code ResetOK ResetPasswordOK unsigned char code initword Init password unsigned char code Er try error try again unsigned char code again input again unsigned char InputData 6 输入密码暂存区 unsigned char CurrentPassword 6 1 1 1 1 1 1 当前密码值 unsigned char TempPassword 6 unsigned char N 0 密码输入位数记数 unsigned char ErrorCont 错误次数计数 unsigned char CorrectCont 正确输入计数 unsigned char ReInputCont 重新输入计数 unsigned char code initpassword 6 1 1 1 1 1 1 5ms 延时 void Delay5Ms void unsigned int TempCyc 5552 while TempCyc 400ms 延时 void Delay400Ms void unsigned char TempCycA 5 unsigned int TempCycB while TempCycA TempCycB 7269 while TempCycB 24C02 void mDelay uint t 延时 uchar i while t for i 0 i 125 i void Nop void 空操作 nop nop nop nop 起始条件 void Start void Sda 1 Scl 1 Nop Sda 0 Nop 停止条件 void Stop void Sda 0 Scl 1 Nop Sda 1 Nop 应答位 void Ack void Sda 0 Nop Scl 1 Nop Scl 0 反向应答位 void NoAck void Sda 1 Nop Scl 1 Nop Scl 0 发送数据子程序 Data 为要求发送的数据 void Send uchar Data uchar BitCounter 8 char temp do temp Data Scl 0 Nop if temp else Sda 0 Scl 1 temp Data 1 Data temp BitCounter while BitCounter Scl 0 读一字节的数据 并返回该字节值 uchar Read void uchar temp 0 uchar temp1 0 uchar BitCounter 8 Sda 1 do Scl 0 Nop Scl 1 Nop if Sda temp temp 0 x01 else temp temp if BitCounter 1 temp1 temp 1 temp temp1 BitCounter while BitCounter return temp void WrToROM uchar Data uchar Address uchar Num uchar i uchar PData PData Data for i 0 i Num i Start Send 0 xa0 Ack Send Address i Ack Send PData i Ack Stop mDelay 20 void RdFromROM uchar Data uchar Address uchar Num uchar i uchar PData PData Data for i 0 i0 x for y 110 y 0 y 写指令 void write 1602com uchar com 液晶写入指令函数 lcd1602 rs 0 数据 指令选择置为指令 lcd1602 rw 0 读写选择置为写 P0 com 送入数据 delay 1 lcd1602 en 1 拉高使能端 为制造有效的下降沿做准备 delay 1 lcd1602 en 0 en 由高变低 产生下降沿 液晶执行命令 return 写数据 void write 1602dat uchar dat 液晶写入数据函数 lcd1602 rs 1 数据 指令选择置为数据 lcd1602 rw 0 读写选择置为写 P0 dat 送入数据 delay 1 lcd1602 en 1 en 置高电平 为制造下降沿做准备 delay 1 lcd1602 en 0 en 由高变低 产生下降沿 液晶执行命令 return 初始化 void lcd init void write 1602com 0 x38 设置液晶工作模式 意思 16 2 行显示 5 7 点阵 8 位数据 write 1602com 0 x0c 开显示不显示光标 write 1602com 0 x06 整屏不移动 光标自动右移 write 1602com 0 x01 清显示 将按键值编码为数值 unsigned char coding unsigned char m unsigned char k switch m case 0 x18 k 1 break case 0 x28 k 2 break case 0 x48 k 3 break case 0 x88 k A break case 0 x14 k 4 break case 0 x24 k 5 break case 0 x44 k 6 break case 0 x84 k B break case 0 x12 k 7 break case 0 x22 k 8 break case 0 x42 k 9 break case 0 x82 k C break case 0 x11 k break case 0 x21 k 0 break case 0 x41 k break case 0 x81 k D break return k 按键检测并返回按键值 unsigned char keynum void unsigned char row col i P1 0 xf0 if P1 Delay5Ms if P1 确定行线 i 0 P1 a i 精确定位 while i 4 if P1 确定列线 break 已定位后提前退出 else i P1 a i else return 0 while P1 return row col 行线与列线组合后返回 else return 0 无键按下时返回 0 一声提示音 表示有效输入 void OneAlam void ALAM 0 Delay5Ms ALAM 1 二声提示音 表示操作成功 void TwoAlam void ALAM 0 Delay5Ms ALAM 1 Delay5Ms ALAM 0 Delay5Ms ALAM 1 三声提示音 表示错误 void ThreeAlam void ALAM 0 Delay5Ms ALAM 1 Delay5Ms ALAM 0 Delay5Ms ALAM 1 Delay5Ms ALAM 0 Delay5Ms ALAM 1 显示输入的 N 个数字 用 代替以便隐藏 void DisplayOne void DisplayOneChar 9 N 1 write 1602com yi 5 N write 1602dat 显示提示输入 void DisplayChar void unsigned char i if pass 1 DisplayListChar 0 1 LockOpen write 1602com er for i 0 i 16 i write 1602dat LockOpen i else if N 0 DisplayListChar 0 1 Error write 1602com er for i 0 i 16 i write 1602dat Error i else DisplayListChar 0 1 start line write 1602com er for i 0 i 16 i write 1602dat start line i void DisplayInput void unsigned char i if CorrectCont 1 DisplayListChar 0 0 Input write 1602com er for i 0 i 16 i write 1602dat Input i 重置密码 void ResetPassword void unsigned char i unsigned char j ResetEn 1 开启重置功能 if pass 0 pass 0 DisplayChar 写屏函数 ThreeAlam else if ReInputEn 1 打开重置功能 if N 6 ReInputCont if ReInputCont 2 for i 0 i 6 if TempPassword i InputData i 将两次输入的新密码作对比 i else DisplayListChar 0 1 Error write 1602com er for j 0 j 16 j write 1602dat Error j ThreeAlam 错误提示 pass 0 ReInputEn 0 关闭重置功能 ReInputCont 0 输入次数清零 DisplayChar 写屏函数 break if i 6 DisplayListChar 0 1 ResetOK write 1602com er for j 0 j 16 j write 1602dat ResetOK j TwoAlam 操作成功提示 WrToROM TempPassword 0 6 将新密码写入 24C02 存储 ReInputEn 0 关闭重置功能 ReInputCont 0 输入次数清零 ResetEn 0 CorrectCont 0 else OneAlam DisplayListChar 0 1 again 显示再次输入一次 write 1602com er for j 0 j 16 j write 1602dat again j for i 0 i 6 i TempPassword i InputData i 将第一次输入的数据暂存起来 N 0 输入数据位数计数器清零 输入密码错误超过三过 报警并锁死键盘 void Alam KeyUnable void P1 0 x00 ALAM ALAM Delay5Ms 取消所有操作 void Cancel void unsigned char i unsigned char j DisplayListChar 0 1 start line write 1602com er for j 0 j 16 j write 1602dat start line j TwoAlam 提示音 for i 0 i 6 i InputData i 0 KEY 1 关闭锁 ALAM 1 报警关锁 operation 0 操作标志位清零 pass 0 密码正确标志清零 ResetEn 0 重设密码充许标志清零 ReInputEn 0 重置输入充许标志清零 ErrorCont 0 密码错误输入次数清零 CorrectCont 0 密码正确输入次数清零 ReInputCont 0 重置密码输入次数清零 open led 1 s3 keydown 0 key disable 0 N 0 输入位数计数器清零 确认键 并通过相应标志位执行相应功能 void Ensure void unsigned char i j RdFromROM CurrentPassword 0 6 从 24C02 里读出存储密码 if N 6 if ReInputEn 0 重置密码功能未开启 for i 0 i 6 if CurrentPassword i InputData i i else ErrorCont if ErrorCont 3 错误输入计数达三次时 报警并锁定键盘 write 1602com er for i 0 i 16 i write 1602dat Error i do Alam KeyUnable while 1 else TR0 1 开启定时 key disable 1 锁定键盘 pass 0 break if i 6 CorrectCont if CorrectCont 1 正确输入计数 当只有一次正确输入时 开锁 DisplayListChar 0 1 LockOpen write 1602com er for j 0 j 16 j write 1602dat LockOpen j TwoAlam 操作成功提示音 KEY 0 开锁 pass 1 置正确标志位 TR0 1 开启定时 open led 0 开锁指示灯亮 for j 0 j 6 j 将输入清除 InputData i 0 else 当两次正确输入时 开启重置密码功能 DisplayListChar 0 1 SetNew write 1602com er for j 0 j 16 j write 1602dat SetNew j TwoAlam 操作成功提示 ReInputEn 1 允许重置密码输入 CorrectCont 0 正确计数器清零 else 当第一次使用或忘记密码时可以用 111111 对其密码初始化 if InputData 0 1 强制将初始密码写入 24C02 存储 DisplayListChar 0 1 initword 显示初始化密码 write 1602com er for j 0 j 16 j write 1602dat initword j TwoAlam Delay400Ms TwoAlam N 0 else DisplayListChar 0 1 Error write 1602com er for j 0 j 16 j write 1602dat Error j ThreeAlam 错误提示音 pass 0 else 当已经开启重置密码功能时 而按下开锁键 DisplayListChar 0 1 Er try write 1602com er for j 0 j 16 j write 1602dat Er try j ThreeAlam else DisplayListChar 0 1 Error write 1602com er for j 0 j 16 j write 1602dat Error j ThreeAlam 错误提示音 pass 0 N 0 将输入数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林市中石油2025秋招面试半结构化模拟题及答案安全环保与HSE岗
- 中国联通咸阳市2025秋招笔试行测题库及答案计算机类
- 中国移动揭阳市2025秋招写作案例分析万能模板直接套用
- 中国移动莆田市2025秋招企业文化50题速记
- 国家能源咸阳市2025秋招面试典型题目及答案
- 中国移动普洱市2025秋招网申填写模板含开放题范文
- 国家能源黄石市2025秋招笔试模拟题及答案
- 中国联通长沙市2025秋招笔试行测题库及答案计算机类
- 毕节市中石化2025秋招面试半结构化模拟题及答案油田勘探开发岗
- 宿迁市中储粮2025秋招安全环保岗高频笔试题库含答案
- 小学生书法课件模板下载
- 2025年国企中层干部竞聘笔试题含答案
- 禁止攀爬安全课件
- 渝22TS02 市政排水管道附属设施标准图集 DJBT50-159
- 中国金融黑灰产治理研究报告2025-非法代理维权的识别标准与溯源治理505mb
- 涉密测绘成果管理制度
- 2025-2030中国汽车结构胶行业市场发展趋势与前景展望战略研究报告
- T/CHC 1005-2023破壁灵芝孢子粉
- 高一上学期《国庆假期安全教育+时间规划》主题班会课件
- 2025年铁路货装值班员(高级)职业技能鉴定参考试题库(含答案)
- 2024年单招数学函数的性质专项复习试题和答案
评论
0/150
提交评论