




kok电子竞技权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
kok电子竞技:文档简介
精选优质文档-----倾情为你奉上精选优质文档-----倾情为你奉上专心---专注---专业专心---专注---专业精选优质文档-----倾情为你奉上专心---专注---专业电气与电子信息工程学院智能电子产品设计与制作设计题目:基于51的温度报警系统专业班级:电子信息工程2008级(1)班学号:姓名:指导教师:李玉平王海华设计时间:2010/5/23~2011/6/10设计地点:K2—高频实验室TOC\o"1-3"\h\u课程设计任务书2010~2011学年第2学期学生姓名:08电信本237名学生专业班级:08电信本2指导教师:工作部门:电信教研室一、课题名称智能电子产品设计与制作二、设计目的为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的智能电子产品设计与制作课程设计。通过实训使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。三、设计内容以51单片机为控制器,加上外围电路构成一控制系统,并以进行编程,要求能方便的进行人机交换。四、设计要求1、设计以51单片机为控制器的硬件系统。2、用LED或LCD进行显示该系统的基本功能参数,用键盘进行参数的输入。4、编写程序。5、对系统的进行综合和调试,使该同能稳定运行,实现其基本功能。6、编写课程设计的总结五、设计进度表序号设计内容所用时间1布置任务,学习键盘、LED或LCD和所用传感器的工作原理以及硬件电路设计5天2完成键盘、显示和功能程序设计4天3制作电路板2天4答辩、撰写设计kok电子竞技书4天合计15天六、设计kok电子竞技课程设计kok电子竞技的基本内容至少包括封面、正文、附录三部分。课程设计kok电子竞技要求统一格式,字体工整规范。1、封面封面包括“《智能电子产品设计与制作》课程设计kok电子竞技”、班级、姓名、学号以及完成日期等。2、正文正文是实践设计kok电子竞技的主体,具体由以下几部分组成:(1)课程设计题目;(2)课程设计任务与要求;(3)设计过程(包括设计方案、设计原理、创新点以及采用的新技术等);(4)方案的比较与论证;(5)硬件电路设计,各个模块的设计与器件的选择;(6)软件程序的设计与调试;(7)课程设计总结(包括自己的收获与体会;遇到的问题和解决的方法;技术实现技巧和创新点;作品存在的问题和改进设想等);3.附录附录1:系统硬件元器件清单附录2:系统的程序七、考核方式与成绩评定办法评定项目评分成绩1.方案的比较选择合理(10分)2.设计原理正确,程序正确(20分)3.设计的实物功能齐全,制作美观(20分)4.态度认真、学习刻苦、遵守纪律(15分)5.设计kok电子竞技的规范化、参考文献充分(不少于5篇)(10分)6.答辩(25分)总分(100分)备注:成绩等级:优(90分~100分)、良(80分~89分)、中(70分~79分)、及格(60分~69分)、60分以下为不及格。1、方案论证1.1设计要求题目:基于51单片机的温度报警系统功能:①在数码管上显示当前温度②超过温度设定值,蜂鸣器自动报警AT89S52数码管显示温度采集报警模块1.2总体设计方案
1.2.1方案一
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
1.2.2方案二
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。
1.3方案二的总体设计框图AT89S52数码管显示温度采集报警模块图1总体设计方框图2硬件设计2.1系统组成及工作原理2.1.1主控制器单片机AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
2.1.2显示电路显示部分采用三维共阳极数码管显示,温度显示范围为0~99.9摄氏度,从p0口输出段选信号,从P2.0~P2.2输出位选信号。2.1.3温度传感器
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。DS18B20的性能特点如下:
●独特的单线接口仅需要一个端口引脚进行通信;
●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
●无须外部器件;
●可通过数据线供电,电压范围为3.0~5.5V;
●零待机功耗;
●温度以9或12位数字;
●用户可定义报警设置;
●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;
DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图2所示。
图2DS18B20内部结构框图64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图3所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很。糜诓潭ㄆ德实穆龀逍藕潘透醴剖鳎保桓呶露认凳д袼嫖露缺浠湔竦雌德拭飨愿谋,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。2.2DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。
当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。2.3主板电路
系统整体硬件电路包括:传感器数据采集电路,温度显示电路,报警调整电路,单片机主板电路等,如图所示。数码管为三位一体共阳极数码管,显示当前温度
。2.4显示电路
显示电路是使用的并口显示,这种显示最大的优点就是使用简单,只用P0口2.5报警电路报警器件主要采用了蜂鸣器,采用了三极管作为放大器件,当温度超过报警温度时,三极管道通,蜂鸣器报警,当温度较低时,三极管截止,,没有电流通过蜂鸣器。3、软件设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序和中断检测温度值子程序等。
3.1主程序
主程序的主要功能是负责温度采集和实时显示、读出并处理DS18B20的测量的当前温度值,每20ms将当前温度值和警戒温度值比较一次,如果超过警戒值,这报警。其程序流程见图8所示。开始开始温度采集计算温度温度值显示是否超过警戒值是否到20ms是温度的检测与控制是工业生产中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发。本文设计了一种基于AT89C51的温度检测及报警系统,该系统将温度传感器DS18B20接在控制器的端口上,定时对温度进行采集,将采集到的温度值与设定值进行比较,当超出设定的温度上限时,通过蜂鸣器报警提示。报警是温度的检测与控制是工业生产中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发。本文设计了一种基于AT89C51的温度检测及报警系统,该系统将温度传感器DS18B20接在控制器的端口上,定时对温度进行采集,将采集到的温度值与设定值进行比较,当超出设定的温度上限时,通过蜂鸣器报警提示。图4程序流程图3.2读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图9所示图5读取温度子程序流程图
图5读取温度子程序流程图3.3温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图9所示
3.4计算温度子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图10所示。开始开始提取读取温度值得低11位有效位整数位BCD码转化为十进制小数位BCD码转化为十进制结束
图6温度值转换子程序流程图4调试4.1keil调试成功的截图4.2protues仿真图5实物组装及调试5.1实际遇到问题及解决方法5.1.1长距离走线问题?由于是用万用板进行元器件的布局以及走线,对于从P0口输出的段选与三位一体共阳极数码管直接相连过于麻烦以及影响电路板的美观,所以讲输入口接插针,然后通过跳线的方式进行连接,这样既简洁也方便焊接工作。5.1.2数码管的位选以及段选确定方法?显示模块是用的三位一体的共阳极数码管,实物有一共12个引脚,8个段。鑫谎。O乱桓鲆判,需要用万用表测试出段选以及位选。可用万用表的红表笔任意接一个引脚,然后用黑表笔在其他引脚上扫过。根据对应的段选亮了,就可以确定此引脚对应的段。绻疾涣,说明红表笔接的不是位选端,可以讲红表笔重新移动一位,重复上操作,同时对应的哪一位数码管亮,可以确定红表笔接的是哪一位的位选端。5.1.3实际调试方法?电路板焊好之后,在上电之前,用万用表测试个个引脚之间是否存在短路现象,然后测试个个模块内部电路是否存在漏焊,虚焊,以及焊错现象,发现可以及时改正。然后测试模块之间是否存在漏焊,虚焊,以及焊错现象。在确定电路板没有焊错情况下可以上电测试了。5.1.4数码管显示较暗解决方法?实际测试时,发现数码管的显示亮度很暗,开始以为是软件部分数码管动态显示的时候扫描过快导致,在改动程序效果无较大改善的情况下,发现电路中是用单片机的I/0直接作为位选接到数码管的位选端。由于此款单片机的I/O口作为共阳极数码管的位选端输出电流过。韵氲皆诿扛鑫谎《私由500欧姆的上拉电阻,发现显示效果得到明显的改善。6心得体会两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基。ü獯挝露缺ň低车纳杓,本人在多方面都有所提高。通过这次温度报警系统的设计,综合运用本专业所学课程的理论和生产实际知识进行单片机运用的实际训练从而培养和提高学生独立工作能力,巩固与扩充了单片机以及数模电等课程所学的内容,掌握keil软件以及protues软件的运用方法和步骤,增强了自己解决实际问题的能力以及互相合作能力。同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。在这次设计过程中,体现出自己应用单片机实现实际应用系统以及综合运用数模电知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。在此感谢我们的xxx老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次模具设计的每个实验细节和每个数据,都离不开老师您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。8参考文献[1]李朝青.单片机原理及接口技术(简明修订kok电子竞技).杭州:北京航空航天大学出kok电子竞技社,1998[2]李广弟.单片机基。郏停.北京:北京航空航天大学出kok电子竞技社,1994[3]阎石.数字电子技术基。ǖ谌齥ok电子竞技).北京:高等教育出kok电子竞技社,1989[4]廖常初.现场总线概述[J].电工技术,1999.[5]徐仁贵等编著.《单片微型计算机应用技术》.北京:机械工业出kok电子竞技社.2001年2月第1kok电子竞技[6]张毅刚等编著.《单片机原理及应用》.北京:高等教育出kok电子竞技社.2004年1月第1kok电子竞技[7]《单片机原理及应用》张毅刚、彭喜元、彭宇编著[8]《模拟电子技术基础简明教程》(第三kok电子竞技)张素行主编[9]《电子技术基础》数字部分(第五kok电子竞技)康华光、周寿彬、秦臻编著附录1:原件清单原件名个数AT89S52174HC5731共阳极数码管(3合1)1蜂鸣器1NPN三极管(9013)14.7uF极性电容14.7K欧姆电阻2排阻10k111.0592M晶振120pf电容2DS18B20温度传感器1电源开关1复位开关1杜邦线8根附录2:程序清单//*****************************************************************************************//DS18B20报警实验演示程序//使用单片机AT89C52晶振:11.0592M //*****************************************************************************************//包含头文件//*****************************************************************************************#include<reg52.h>//*****************************************************************************************//宏定义//*****************************************************************************************#defineucharunsignedchar#defineuintunsignedint//*****************************************************************************************//共阳极段码表tab[];带小数点的共阳极段码表tab1[]; 警铃编码表Music_Girl[];//*****************************************************************************************ucharcodetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};ucharcodetab1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//*****************************************************************************************//定义全局变量////*****************************************************************************************sbitDQ=P2^3;//ds18b20与单片机连接口sbitseg0=P2^0;//小数位sbitseg1=P2^1;//个位sbitseg2=P2^2;//十位sbitgreen=P2^4;sbitred=P2^5;sbitmusic=P3^6;//接蜂鸣器uchardatadisdata[4];uinttvalue;//温度值uchartflag;//温度正负标志ucharmax_tem=2;//温度警戒值//*****************************************************************************************//延时函数,延时时间近似1ms////*****************************************************************************************voiddelay_ms(unsignedintms)//延时1毫秒(不够精确的){ unsignedinti,j; for(i=0;i<ms;i++) for(j=0;j<110;j++);}//*****************************************************************************************//延时函数,用于18b20时序控制////*****************************************************************************************voiddelay_18B20(uinti)//延时1微秒{ while(i--);}//*****************************************************************************************//温度显示函数//P0口显示温度十位,P1口显示温度个位,P2显示温度小数位//*****************************************************************************************voiddisplay(uchara,ucharb,ucharc){ //显示十位 P0=0xff; seg2=1; P0=tab[a]; delay_ms(1); seg2=0; //显示个位 P0=0xff; seg1=1; P0=tab1[b]; delay_ms(1); seg1=0; //显示小数位 P0=0xff; seg0=1; P0=tab[c]; delay_ms(1); seg0=0;}//*****************************************************************************************//DS18B20的复位函数,对DS18B20时序操作前都要闲复位////*****************************************************************************************voidds1820rst()/*ds1820复位*/{ unsignedcharx=0; DQ=1;//DQ复位 delay_18B20(4);//延时 DQ=0;//DQ拉低 delay_18B20(100);//精确延时大于480us DQ=1;//拉高 delay_18B20(40);}//*****************************************************************************************//DS18B20读指令函数 RAM指令//逐位读取DS18B20转化后的温度值//*****************************************************************************************uchards1820rd()/*读数据*/{ uchari=0; uchardat=0; for(i=8;i>0;i--) { DQ=0;//给脉冲信号 dat>>=1; DQ=1;//给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); } return(dat);}//*****************************************************************************************//DS18B20写指令函数 R0M指令//控制DS18B20做何操作//*****************************************************************************************voidds1820wr(ucharwdata)/*写数据*/{ uchari=0; for(i=8;i>0;i--) { DQ=0; DQ=wdata&0x01; delay_18B20(10); DQ=1; wdata>>=1; }}//*****************************************************************************************//DS18B20转化启动函数////*****************************************************************************************voidread_temp1()/*读取温度值并转换*/{ EA=0; //关全局中断,防止DS18B20的时序操作被打乱 ds1820rst(); ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0x44);//*启动温度转换*/ ds1820rst(); EA=1;}//*****************************************************************************************//DS18B20转换温度读取函数,并转化成实际温度值//返回值:tvalue为实际温度值//*****************************************************************************************unsignedintread_temp2(){uchara,b; EA=0; ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0xbe);//*读取温度*/ a=ds1820rd(); b=ds1820rd(); EA=1; tvalue=b; tvalue<<=8; tvalue=tvalue|a; if(tvalue<=0x07ff) tflag=0; else { tvalue=~tvalue+1; tflag=1; } tvalue=tvalue*(0.625);//温度值扩大10倍,精确到1位小数 return(tvalue);}//*****************************************************************************************//入口参数:tvalue//温度值百十个位分离函数存入disdata[]数组中////*****************************************************************************************voidds1820disp1()//温度值显示{disdata[0]=tvalue/1000;//百位数disdata[1]=tvalue%1000/100;//十位数disdata[2]=tvalue%100/10;//个位数 disdata[3]=tvalue%10;//小数位}//*****************************************************************************************//定时器初始化函数////*****************************************************************************************voidinit_t1(){ //green=0; red=1; TH1=0XB7; TL1=0XFF; TR1=1; ET1=1; EA=1;}//*****************************************************************************************//主函数////*****************************************************************************************voidmain(){ init_t1(); while(1) { red=1; read_temp1();//读取温度 read_temp2();//读取温度 ds1820disp1();//数值提取 display(disdata[1],disdata[2],disdata[3]); delay_ms(10);}}//*****************************************************************************************//T0中断函数//定时器没20ms检测一次温度,当超过//*****************************************************************************************voidcheck_tem()interrupt3{ uchari=0; EA=0; TH1=0XB7; TL1=0XFF; if(disdata[1]>max_tem) { red=0; music=~music;delay_ms(1);} EA=1;}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
kok电子竞技:最新文档
- 2025年肠类制品项目合作计划书
- 木材防腐技术进展考核试卷
- 阿里巴巴全球数学竞赛2021年预选赛试题及参考答案
- 农业营销推广服务批发考核试卷
- 果蔬汁饮料的质量认证与追溯体系考核试卷
- 影视设备行业国际交流服务批发考核试卷
- 水产品进出口市场竞争与贸易策略考核试卷
- 第3课《网上导游-用“搜索引擎”查找信息》教学设计
- 社会服务工作总结与公益计划
- 掌控工作节奏的时间管理计划
- 二甲双胍格列齐特片
- 护理工作抢救制度
- 2023年教师招聘面试高中政治《坚持以人民为中心》试讲稿 统编kok电子竞技 必修三
- “双减”背景下初中英语作业优化设计的实践研究
- Barrett食管医学知识讲解
- DB3302T 1016-2018城市绿地养护质量等级标准
- 2023年宁波财经学院单招面试题库及答案解析
- 数独课件完整kok电子竞技
- 西师大kok电子竞技六kok电子竞技数学下册全册知识点汇总
- 江西2023年分宜九银村镇银行社会招聘上岸提分题库3套【500题带答案含详解】
- 2023年知识产权保护公需课试题答案
评论
0/150
提交评论