




免费预览已结束,剩余17页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
桂林电子科技大学课程设计报告用纸 第 19 页 各专业全套优秀毕业设计图纸目 录引言11 基于iic存储的密码锁21.1 电路设计要求21.2 电路方案的论证和比较21.3 电路功能设计单元31.3.1总体设计框图31.3.2键盘电路31.3.3显示电路41.3.4开锁电路51.3.5掉电保护电路51.3.6报警电路62 原理图和pcb设计图72.1 电路原理图72.2 绘制原理图注意事项72.3 pcb图82.4 pcb图的设计流程82.5 元件布局图93 装配及调试过程93.1 转印93.2 腐蚀和钻孔93.3 焊接103.4 调试104 程序介绍114.1 主程序程序模块114.2 键盘扫描程序模块114.3 掉电存储程序模块115 结论12参考文献14附 录15总体设计原理图15电路源程序15主要元器件介绍15arm7微处理器15芯片iic16芯片lpc213216芯片max3221e18芯片24c0218引言随着人们生活水平的提高,如何实现防盗这一问题也变的尤为突出,由于科技的飞速发展,密码锁应运而生并且得到了广泛应用。传统的机械锁由于其构造简单,被撬的事件屡见不鲜,安全系数不是很高。而电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐,电子密码锁的设计和应用技术也随之而得到了广泛地研究和发展。本学期开设了arm和嵌入式技术这门课,这让我们有机会深入学习和了解这一重要的应用科学技术。这是一门实践性很强的技术基础课,在学习中不仅要掌握arm的特点和嵌入式芯片的工作原理,更重要的是学会灵活应用,培养自己分析问题和解决问题的能力,在学习这门课时应该循序渐进,深入浅出。因此,要通过实验才能更加深入地掌握这门课程的基本内容,熟悉它们的工作原理、功能和使用方法,从而有效地培养我们理论联系实际和解决实际问题的能力,树立严谨的工作作风。这次实训的内容是利用lpc2132小系统制作一个基于iic存储的密码锁,我希望通过这次实训,能够更加深刻地理解课堂所学的理论知识,将理论和实际结合起来,加深对arm和嵌入式知识的理解,增强自己的实际动手能力。1 基于iic存储的密码锁1.1 电路设计要求 本次实训要求制作一个基于lpc2132的iic存储的密码锁设计,基本要求是能设置密码和修改密码以及密码错误提示和多次错误密码锁死功能,并掉电保存,带声音提示和数码管显示。在完成基本功能和能力允许的情况下,要保证人机接口的良好可操作性和人机界面。扩展方面可以进行密码控制和超级用户算法解锁功能。1.2 电路方案的论证和比较设计本实训我们构思了两种方案:一种是用以74ls112双jk触发器构成的数字逻辑电路控制方案,一种是用以lpc2132嵌入式小系统为核心的控制方案。考虑到数字电路方案原理过于简单,而且不能满足现在的安全需求。并且本次实训要求我们利用所学的嵌入式小系统知识作为基础来实现功能,所以本文采用后一种方案。方案一:采用数字电路控制。采用数字密码锁电路的好处就是设计简单。用以74ls112双jk触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒,电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。方案二:采用一种是用以嵌入式小系统为核心的单片机控制方案。利用arm灵活的编程设计和丰富的io端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。通过比较以上两种方案,利用嵌入式小系统的方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。1.3 电路功能设计单元1.3.1总体设计框图1-1 总体设计框图1.3.2键盘电路使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少所占用的i/o线的数目,在按键比较多的时候,通常采用这样方法。图1-2 行列式键盘原理电路图每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要n条行线和m条列线,即可组成具有nm个按键的键盘。在这种行列式矩阵键盘非键盘编码的系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图1-2所示的4x4键盘,说明线反转法工作原理。首先辨别键盘中有无键按下,i/o口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00h,把全部列线置为低电平,然后将列线的电平状态读入累加器中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。1.3.3显示电路图1-3 数码管显示电路密码锁采用的是八个共阴数码管通过动态扫描来显示数值。八段数码管由8个发光二极管构成,通过不同的组合可用来显示数字0 9、字符a f及小数点“.”。数码管又分为共阴极和共阳极两种结构。共阳极结构是指数码管的8个发光二极管的阳极连接在一起。公共阳极接高电平,其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。共阴极结构是指数码管的8个发光二极管的阴极连接在一起。公共阴极接低电平,其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。我们采用的是共阴极结构。数码管的显示方式分为静态显示和动态显示。我们采用的是动态扫描显示方式,所谓动态扫描就是一位一位地轮流点亮各位数码管,通常,各位数码管的段选线相应并联在一起,由一个8位的i/o口控制;各位的位选线(公共阴极或阳极)由另外的i/o口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。依此规律循环,即可使各位数码管显示将要显示的字符。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。若刷新的速度太慢时,将发生闪烁。因此刷新频率要恰当 ,最好不低于100hz。肉眼观察到的数码的显示情况将是连续的。采用动态显示方式比较节省i/o口,硬件电路也较简单,可以降低系统功耗,减少成本。但其亮度不如静态显示方式,而且在显示位数较多时,cpu要依次扫描,占用cpu较多的时间。1.3.4开锁电路 通过键盘输入密码,若是密码正确,调用开锁子程序,送给开锁执行机构,驱动密码锁,从而达到开锁的目的。其原理如图1-4所示。lpc控制器开锁驱动电路电磁锁密码正确?y返回n图1-4 密码锁开锁机构示意图当用户输入的密码正确,lpc便输出开门信号,送到开锁驱动电路,然后驱动密码锁,达到开门的目的。1.3.5掉电保护电路24c02掉电存储单元的作用是在电源断开的时候,存储当前设定的信息。24c02是2kb字节的可擦除存储芯片,采用两线串行的总线通讯,电压最低可以到2.5v,额定电流为1ma,静态电流5.5v,采用8脚的dip封装,使用方便。其电路如图1-5 所示。图1-5 掉电存储电路原理图图中r102、r103是上拉电阻,其作用是减少24c02的静态功耗,由于24c02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线scl(移位脉冲)和sda(数据/地址)传送数据。每当设定一次,系统就自动调用存储程序,将信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的信息,读到缓存单元中,供主程序使用。1.3.6报警电路 报警电路的作用是当在键盘输入的密码不是原先设定的密码(即密码不正确)时,驱动蜂鸣器使其发声报警,提示密码错误。1-6 蜂鸣器报警电路2 原理图和pcb设计图2.1 电路原理图2.2 绘制原理图注意事项在绘制原理图的时候,首先应该大体了解需要什么元器件,然后再根据具体要实现的功能逐步细化,最后确定整体的原理图。在这个过程中,要注意网络标号一定要标正确;管脚的顺序一定要正确;元件的标号和封装不能缺少,否则是调不出正确的pcb图的;此外,还要注意电阻阻值、电容规格和替代芯片的选择,以免因一些主观的失误不能实现电路板的功能。2.3 pcb图2.4 pcb图的设计流程pcb图的设计流程如下:1、设置与绘制原理图 2、生成网络表、pcb系统设置 3、设置pcb规则、修改封装与布局 4、调用网络表 5、手工布线、存盘打印2.5 元件布局图3 装配及调试过程3.1 转印拿到打好pcb图的转印纸后就可以转印电路图了.拿转印纸的时候一定要小心,不要碰到印有电路图的黑线,因为很容易被擦掉,转印的时候一定要等到热转印机的温度达到100度以上而且要转印几次,转印完后要等到铜板完全冷却才可以揭掉转印纸, 这样的效果会比较好,否则黑线不能完全附在敷铜板上. 3.2 腐蚀和钻孔转印完后就可以进行腐蚀了,将敷铜板放进已经配制好的腐蚀液中进行腐蚀,要是腐蚀液的浓度比较低可以轻摇盛腐蚀液的容器以加快反应速率,等到除黑线外其他的铜已经被腐蚀完就可以将板拿出来.将腐蚀好的敷铜板用水冲干净.接下来就是钻孔和打磨.可以先钻孔,也可以先打磨再钻孔.我是采用第二种方法的.具体做法是:一边用水冲一边用砂纸轻轻地将黑色的线刷掉,使其露出敷铜线,注意不能用力过猛,否则铜线被刷掉了就容易造成断路的情况,以致前功尽弃.电路板打磨好后一定要记得及时涂上一层松香水,这样可以防止铜线被氧化,但是也不宜涂得过多过厚,太多的话不容易干而且会不方便拿.前面的步骤都完成以后还剩下钻孔.这也是需要很大耐心的.因为大多数的板都是比较复杂的,需要打的孔也很多,由于焊盘也比较小,一不小心就容易把焊盘给打掉或者打歪,因此在前面设计pcb的时候一定要设置好焊盘的大小,这样后面钻孔的时候就方便很多。3.3 焊接我觉得焊接是至关重要的一步,它直接关系到后面的调试,要是焊接不成功也意味这这块电路板是失败的。焊接最重要的是焊点要饱满,不能虚焊,焊锡也不能太多,掌握这个度是关键。焊接时,要确保焊点无漏焊、搭焊等现象。焊接完成面以上0.51mm,且不可损伤焊接面。芯片的管脚要正确,芯片切不可插反,在焊接之前要用万用表测量每个元器件的数值,确保没有误用元件,尤其是二极管、三极管的管脚一定要注意正负极。焊接结束后对照原理图插上芯片,接上电源就可以验证电路是否正确了。同时注意避免其引脚未完全插入插孔的现象。电阻、 三极管引脚成形时,要防止引线折断。电容器、三极管垂直安装,元件距印刷电路板高度以23mm为宜,以利于散热。最后,要剪去引脚多余的部分。此外,由于本次硬件制作需要的跳线比较多,所以要防止跳线因太过密集而短路,最好使用漆包线,因为漆包线的最外层是绝缘的,使用时用砂纸把表面的绝缘层磨掉,因此线与线之间不会短路,是跳线的最佳选择。3.4 调试在这个电路板的装配、调试过程当中,主要是硬件调试和软件调试。在硬件方面的调试比较简单,主要是保证各个元器件的电气连接正确就可以了。具体操作是在焊接完成后,用万用表检测焊点、线路和对应元器件之间的通断。然后把lpc2132最小系统安装到电路板上,用检测程序下载到电路板上,要是程序能够烧录进去,则说明硬件制作是成功的。 在软件方面的调试比较困难,首先要求程序的编写要正确,因为我们对arm和嵌入式技术的应用不是很熟悉,所以在程序的编写上有一定的困难。当程序写好后,安装好lpc2132,烧录到板子上。要是程序中编写的功能能够在数码管上正确显示,能够实现密码锁的基本功能,并且软硬件能够较好地结合起来,则说明软件编写是成功的。4 程序介绍4.1 主程序程序模块4.2 键盘扫描程序模块4.3 掉电存储程序模块5 结论本次实训过程中,我自己动手参与了整块电路板的制作,锻炼了自己的动手能力和发现问题解决问题的能力。此外,我还获得了很多宝贵的经验,比如说:1、平时对protel的使用方法不是很熟悉,通过实验,加深了对软件各项功能的了解,现在能够比较熟练的使用这个软件。2、复习了arm和嵌入式技术的理论知识,要正确使用lpc2132小系统,必须建立在充分了解它的特点和功能的基础上。在本次实训中,通过使用嵌入式最小系统来完成相应的密码锁功能,使我更加充分地掌握了arm和嵌入式芯片的各种性能、特点、使用条件和调试方法,复习了课堂上相关的理论知识,做到理论和实际结合。3、对于在制作过程中具体遇到的问题和注意事项在前面的各个环节我都做了详细的阐述,在此就不多加重复了。简而言之,就是必须按部就班地做好每一个步骤,从原理图、pcb图的绘制、连线,到印制电路板的腐蚀、钻孔、焊接、调试,每一步都需要认真对待,无论其中的哪一个步骤完成不好,对实验的成功影响都是很大的。4、要充分理解电路的任务目的,先建立一个大致的电路工作过程概念,明确电路需要完成何种功能,然后再对过程的每个细节进行细致分析,找到合适的元器件给出必要的参数,然后逐步的由部分到全体给出整体电路。整体电路制作完成以后就可以通电调试,发现问题及时处理。查找出错原因时要从信号的输入出发,分析信号在电路里的流程,一直检查到信号的输出,就很容易找到错误。此外,不能忽略细节问题,有时候调试不成功并不是因为电路的大方向出了问题,而是在一些小细节上没有做好,没有引起足够的重视造成的。5、除了电路板的制作之外,必须综合考虑各种因素,选择物美价廉经济实用的元器件。不一定贵的就是好的,而是要选择适合自己电路性能的元件,切不可盲目。此外,细心和耐心是非常必要的。6、由于嵌入式系统是一个计算机软硬件的集合体,所以在确保软件正确的基础上,在制作硬件的时候要结合软件需要实现的功能来设计电路板。切忌两者完全脱离,最后将软件下载到板子上的时候不能实现预期的功能。 谢 辞经过几天的努力我的电子密码锁实训终于完成了,它经过多次修改和整理,刚开始时不知道如何入手,觉得困难比较多,不过最后还是做完了,有种如释重负的感觉。这个密码锁经过多次的修改和整理,但由于自己的水平有限,还有很多不足的地方,不过还是按要求完成了基本的功能。在没有做实训以前,觉得实训只是对知识的单纯总结,但是通过这次实训我发现自己的看法有点太片面,实训不仅是对前面所学知识的一种检验,也是对自己能力的一种提高,通过这次实训使自己明白了原来的那点知识是非常欠缺的,要学习的东西还很多,通过这次实训,我明白学习是一个长期积累的过程,在以后的工作和生活中都应该不断的学习,努力提高自己的知识和综合素质。 在这次课程设计中,同学之间互相帮助,有什么不懂的大家在一起商量,发现我们所学的知识实在是有限,不过我们能够充分利用网络的优势去查阅资料。在整个设计过程中懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力, 使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不是很完善,但是在设计过程中所学到的东西是这次实训的最大收获和财富,使我终身受益。本次实训的顺利完成,除开个人的努力之外,我还得到了很多人的帮助,他们不仅给我提供宝贵的建议,而且提出了一些有建设性的想法,这些对于我们完善整个实验起到了重要的作用。在实训中,我感受到了老师对学生的那种悔人不卷的精神,每天的固定时间,老师都来给我们指导,以致于我们能够完成实习任务。正是他们利用自己的经验,帮助我们解决了不少问题,而且在平时的实验课他们也给予我指导,使我少走了弯路,避免做无用功,他们的帮助对本次实训的顺利完成起了关键的作用。请允许我向你们致意崇高的敬意,感谢你们!参考文献1 康华光.电子技术基础(第四版)m.北京:高等教育出版社,1998 2 梁宗善.新型集成块应用m.武汉:华中理工大出版社,2004 3 田泽. 嵌入式系统开发与应用. 北京航空航天大学出版社, 2005年4 田泽. 嵌入式系统开发与应用实验教程(第2版). 北京航空航天大学出版社, 2005年5 孙红波. arm与嵌入式技术. 电子工业出版社, 20076 周立功等. 深入浅出arm7lpc213x/214x. 北京航空航天大学出版社, 2006年 附 录总体设计原理图电路源程序主要元器件介绍arm7微处理器 arm7系列微处理器为低功耗的32位risc处理器,arm7微处理器系列具有如下特点:具有嵌入式icert逻辑,调试开发方便。极低的功耗,适合对功耗要求较高的应用,如便携式产品。能够提供0.9mips/mhz的三级流水线结构。代码密度高并兼容16位的thumb指令集。对操作系统的支持广泛,包括windowsce、linux、palmos等。指令系统与arm9系列、arm9e系列和arm10e系列兼容,便于产品升级换代。主频最高可达130mips,高速的运算处理能力能胜任绝大多数的复杂应用。arm7系列微处理器包括如下几种类型的核:arm7tdmi、arm7tdmi-s、arm720t、arm7ej。其中,arm7tmdi是目前使用最广泛的32位嵌入式risc处理器,属低端arm处理器核。tdmi的基本含义为:t:支持16为压缩指令集thumb;d:支持片上debug;m:内嵌硬件乘法器(multiplier)i:嵌入式ice,支持片上断点和调试点;芯片iic iic是一种总线结构.而iic存储器一般使用eeprom实现,故可以在线读取和写入,写入的数据保存时间也很长.iic实现起来非常简洁,只需很少的几根线即可(片选,地址,数据).iic总线是philips公司首先推出的一种两线制串行传输总线。它由一根数据线(sda)和一根时钟线(sdl)组成。iic总线的数据传输基本过程为:1、主机发出开始信号。2、主机接着送出1字节的从机地址信息,其中最低位为读写控制码(1为读、0为写),高7位为从机器件地址代码。3、从机发出认可信号。4、主机开始发送信息,每发完一字节后,从机发出认可信号给主机。5、主机发出停止信号。 iic总线上各信号的具体说明:开始信号:在时钟线(scl)为高电平其间,数据线(sda)由高变低,将产生一个开始信号。 停止信号:在时钟线(scl)为高电平其间,数据线(sda)由低变高,将产生一个停止信号。 应答信号:既认可信号,主机写从机时每写完一字节,如果正确从机将在下一个时钟周期将数据线(sda)拉低,以告诉主机操作有效。在主机读从机时正确读完一字节后,主机在下一个时钟周期同样也要将数据线(sda)拉低,发出认可信号,告诉从机所发数据已经收妥。芯片lpc2132lpc213x系列微控制器是基于一个支持实时仿真和嵌入式跟踪的16/32位arm7tdmi-s cpu,并带有32kb、64kb、128kb、256kb和512kb嵌入的高速flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位thumb模式将代码规模降低超过30%,而性能的损失却很小。较小的封装和很低的功耗使lpc2131/2132/2134/2136/2138特别适用于访问控制和pos机等小型应用中;由于内置了宽范围的串行通信接口和8/16/32kb的片内sram,它们也非常适合于通信网关、协议转换器、软件modem、语音识别、低端成像,为这些应用提供大规模的缓冲区和强大的处理功能。多个32位定时器、1个或2个10位8路的adc、10位dac、pwm通道、47个gpio以及9个边沿或电平触发的外部中断。lpc2132具有以下特性:16/32位arm7tdmi-s核,超小lqfp64封装。8/16/32kb的片内静态ram和32/64/128/256/512kb的片内flash程序存储器。128位宽度接口/加速器可实现高达60mhz工作频率。通过片内boot装载程序实现在系统编程/在应用编程(isp/iap)。单个flash扇区或整片擦除时间为400ms。256字节行编程时间为1ms。embeddedice rt和嵌入式跟踪接口通过片内realmonitor软件对代码进行实时调试和高速跟踪。1个(lpc2131/32)或2个(lpc2134/36/38)8路10位的a/d转换器,共提供16路模拟输入,每个通道的转换时间低至2.44us。1个10位的d/a转换器,可产生不同的模拟输出。(lpc2132/34/36/38)2个32位定时器/外部事件计数器(带4路捕获和4路比较通道)、pwm单元(6路输出)和看门狗。低功耗实时时钟具有独立的电源和特定的32khz时钟输入。多个串行接口,包括2个16c550工业标准uart、2个高速i2c总线(400 kbit/s)、spi和具有缓冲作用和数据长度可变功能的ssp。向量中断控制器。可配置优先级和向量地址。小型的lqfp64封装上包含多达47个通用i/o口(可承受5v电压)。多达9个边沿或电平触发的外部中断管脚。通过片内pll(100us的设置时间)可实现最大为60mhz的 cpu操作频率。片内集成振荡器与外部晶体的操作频率范围为130 mhz,与外部振荡器的操作频率范围高达50mhz。可通过个别使能/禁止外部功能和外围时钟分频来优化功耗。通过外部中断或bod将处理器从掉电模式中唤醒。单电源,具有上电复位(por)和掉电检测(bod)电路:cpu操作电压范围:3.0-3.6 v。芯片m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流企业智能分拣设备数据库租赁与数据安全评估协议
- 互联网广告联盟精准投放服务合同
- 继子女抚养权解除与监护责任转移协议
- 汽车美容连锁品牌合作经营普通合伙合同样本
- 农村土地流转与农业产业升级合作协议
- 《初中数学公式复习课件完善版》
- 内部人员沟通培训流程图
- 《幼儿园中班家长会课件》
- 《眉山市房地产市场分析》课件
- 聚氯乙烯生产工艺流程
- 2025届山东省潍坊市高考二模历史试题(含答案)
- 《火灾事故案例培训》课件
- 新华DCS软件2.0版使用教程-文档资料
- 转炉炼钢装入制度课件
- 鞋厂制革企业安全风险分级管控和隐患排查治理双体系方案资料(2022-2023新标准)
- 消防应急预案流程图
- 2022年最新小升初英语试卷(含答案)
- “转观念、勇担当、强管理、创一流”对标工作整改方案
- 模具试模通知单
- 全科医师培训的全科门诊主要内容教学
- 苏州纳米所综合考试要点
评论
0/150
提交评论