




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、洛阳理工学院课程设计报告课程名称 单片机原理与接口技术设计题目 基于51系列单片机的实验平台开发设计专 业通信工程班级 B120509学号B1姓名徐国旗完成日期 2015年1月2日课程设计任务书设计题目:基于51系列单片机的实验平台开发设计设计内容与要求:一、设计内容利用STC系列单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,主要包括以下内容:1 .电路原理图设计,主要包括集 LCD显示模块、串口通信模块、数码管显示 模块、LED发光二极管、键盘等接口电路的设计;2 .学习集成电路等芯片的焊接方法与技巧, 进行实际元器件的识别,进行电路 板焊接;3 .在Keil C环境下,进行软件
2、设计。主要包括流水灯、计数器、LCD字符显示、键盘的控制等功能程序设计;4 .针对所开发的实验板,结合器件选择、原理图设计、硬件焊接、软件编程调 试、软硬件联调等方面写出课程设计报告。二、设计要求1 .完成综合实验平台的电路结构分析,进行模块分解,掌握各部分电路的工作 原理;2 .独立完成电路板的焊接,掌握故障排除方法,完成实验平台的硬件设计及开 发;3 .结合Keil C软件在焊接无误的单片机实验平台上开发出流水灯、LCD显示模 块,数码管显示模块等程序设计;4 .按照要求撰写课程设计论文。指导教师: 李传锋2014年12月29日课程设计评语成绩:指导教师:年 月 日I / 22摘要1第1章
3、概述21.1 设计题目21.2 设计步骤21.3 Proteus与 Keil C51 软件介绍2第2章硬件电路设计32.1 电路各元器件介绍 32.1.1 LCD1602 液晶32.1.2 两位一体共阴数码管 42.1.3 其它元器件介绍52.2 仿真电路连接与实物焊接62.2.1 protues 仿真电路62.2.2 电路板焊接7第3章软件设计83.1 程序整体思路83.2 程序编程实现 83.3 程序的优缺点分析11第4章 仿真及实物效果展示 114.1 关闭菜单与主菜单114.2 流水灯模块124.3 计数器模块134.4 LCD液晶显示模块 13心得体会14参考文献14附录151 /
4、22基于51系列单片机的实验平台开发设计摘要单片机,全称单片微型计算机(英语:Single-Chip Microcomputer ),又称微控制器(Microcontroller ),是把中央处理器、存储器、定时/计数(Timer/Counter )、各种输入输出接口等都集成在一块集成电路芯片上的微型计 算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接 硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输 入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满 足,所以在很多应用场合被称为范围更广的微控制器;由于单芯片微电脑常用于 当控制
5、器故又名single chip microcontroller,但是目前在中国大陆仍多沿用“单片机”的称呼。主要特点:1、主流单片机包括 CPU、4KB容量的ROM、128 B容量的RAM、2个16位 定时/计数器、4个8位并行口、全双工用口行口、 ADC/DAC、SPI、I2C、ISP、 IAP。2、系统结构简单,使用方便,实现模块化;3、单片机可靠性高,可工作到10A6 10A7小时无故障;4、处理功能强,速度快。5、低电压,低功耗,便于生产便携式产品6、控制功能强7、环境适应能力强。本次课程设计就是利用STC系列单片机作为微控制器开发一套软、硬件相结 合的单片机实验平台,主要通过电路原理
6、图,进行电路的焊接。原理图主要包括 集LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计。这次单片机的课设它具有模块化硬件结构和简单的人机交互功能, 硬件功能模块及部分演示程序。该实验板具有降低设计成本,缩短开发周期,丰 富学生知识,提高设计水平等优点。第1章概述1.1 设计题目基于51系列单片机的实验平台开发设计1.2 设计步骤1 .学习各元器件,弄清楚其工作原理;2 . Proteus软件仿真电路图的绘制;3 .根据电路图在开发板上进行焊接;4 .编写、调试开发板程序5 .下载到单片机中,查看实际运行效果。1.3 Proteus 与 Keil C51 软件
7、介绍Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件(该软件 中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿 真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件 的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的 教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA 工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路 仿真软件、PCB设计软件和虚拟模型仿真软件三合
8、一的设计平台,其处理器模型 支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和 MSP430 等,2010年又增加了 Cortex和DSP系歹处理器,并持续增加其他系列处理器模 型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发 系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优 势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个 功能强大的仿真调试器等在内的完整开发方案,通过一个集成
9、开发环境(NVision将这些部分组合在一起。运行 Keil软件需要 WIN98、NT、WIN2000、WINXP等 操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使 用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工 具也会令你事半功倍第2章硬件电路设计2.1 电路各元器件介绍2.1.1 LCD1602 液晶液晶显示器,或称LCD (Liquid Crystal Display),为平面超薄的显示设备, 它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。液晶显示器 功耗很低,因此倍受工程师青睐,适用于使用电池的电子设备。它的主要原理是
10、以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。1、LCD1602实物图1OOOOOOOOOCOOOOOC I 6<- 图1 LCD外观及引脚显示容量:16 个X2 排字符;工作电流2.0mA( 5.0V);字符尺寸:2.95 X4.35mm【能够看到的是2排,各16个字符,不是汉字】2、 LCD1602的读写LCD1602的第5脚:R/W :读写操彳选择(1读,0写)表1 LCD1602的读写RSR /W寄存器及操作00指令寄存器写入01忙信号和地址计数器读出10数据寄存器写入11数据寄存器读出LCD1602的第6脚:E端为使能端,当E端由高电平跳变成低电平时(负跳变2.1.2
11、两位一体共阴数码管液数码管是一种半导体发光器件,其基本单元是发光二极管。共阴数码管是指 将所有发光二极管的阴极接到一起形成公共阴极 (COM)的数码管,共阴数码管在 廓旧时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电 %酎,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。同时 教蝌管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们数字【类似货物4LS373,需要负跳变】执行一条命令或写 入一个数据,都要使E有一个负跳变图2两位一体LED数码管2、共阴极LED数码管的内部结构原理图:图3共阴极LED数码管的内部结构原理图表2共阴数码管字模表显示0
12、123456789字模0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f此次设计中两位一体数码管采用 74LS374锁存器锁存,电路详见附录。2.1.3 其它元器件介绍1、LED流水灯流水灯中用8只LED发光二极管练成一排,作为流水灯。二极管长引脚为正 快府力脚为负极,也可用万用表测量。发光二极管如图所示。I图4 LED发光二极管2、74LS138、74LS373 芯片A. 一11 C44IS5O1V7-J6Vi 1GND&g输入弱输出竭G1KAcBAV?离百Y4VIY2Yi1000001111111on100001I1111101100010111110
13、111000111111011110010011101111100101I1011111100110I011I11)1001111 01111111其他状态XXX111111Ij图5 74LS138引脚及真值表5 / 22注:1表示高电平,0表示低电平,X表示任意【C为高位,A为低位】* 。口口丐口口 QQC1回回司回回回回回回五3Er巨ME 巨巨FEZIm叵 32 *30 ODaaDOO Nnt s HO bi <?»Q36WON1>74LS373的引蜘图9焊接电路图7 / 22OELEDQ011101000r 0x/、艾1XX高阻态图6 74LS373引脚及功能表74
14、LS373勺三种工作方式:跟随(OE=0,LE=1,输出跟随输入)锁存(OE=0,LE从高变为低负跳变时,锁存D0D7)高阻(OE=T Q0-Q7输出为高阻,相当于断开)另外,此次设计中还用的排阻、色环电阻、电容、三极管等元件,在此不再做详 细介绍。2.2 仿真电路连接与实物焊接2.2.1 protues仿真电路在protues中连接各模块电路,Lujibl LCD液晶显示模决注意各元器件的接法,各模块连接电路图如下: 脱水勿程秋 B I !( I ! I I B B £?一工C:Count削计利器.£!4R:Return 返回/ 03 :PH:玉浊R;.*图7液晶显示及流
15、水灯模块£ 二lg 需MF, 1H图8数码管及按键模块其它模块的连接在此不再展示,详见附录。2.2.2电路板焊接1、焊接准备根据电路原理图,焊接元器件。先读出色环电阻的阻值,判断电容引脚的正 他,或小万用表测试。检测各器件是否正常。准备好电烙铁、焊锡、松香等必 ,物品。2、焊接给电烙铁加热,达到温度后按电路板上元件从低到高的顺序进行焊接,在焊 接时要细心、仔细,在正确的位置焊上正确的元件,防止出现错误。3、检测焊接电路完成后检查是否有漏焊、连锡等问题。在我们组用了一上午焊接电路,检查 时发现LCD液晶显示不能显示、一个发光二极管不亮,经检测是器件损坏,经更 心后故障解除。焊接实物图如
16、下:第3章软件设计3.1 程序整体思路从电路着手编写程序,希望一个程序能把各模块连接起来,而不是用多个程 序进行加载。并且打开电源后能够重复进入各模块,而不是每次都需要复位。所 以可以先分开写各模块程序,然后连接起来。可用 while语句查询各标志位实现 开电源后能够重复进入各模块。程序的流程及各标志位含义如下:表3各标志位含义s总标志位,1开,0关11写时计数器菜单si每次进入主菜单时写主菜单b2更新计数值时重新显示s2刚通电或关闭时写关闭菜单cLCD模块总标志位a流水灯总标志位,1进入0退出c01时写LCD菜单al流水灯左循环标志位c1LCD显示姓名a2流水灯右循环标志位c2LCD显小学方
17、a3流水灯暂停标志位c3LCD显示日期|b计数器总标志位,1进入0退出3.2 程序编程实现(1)流水灯函数程序(执行该模块的同时,LCD上显示流水灯菜单,详见附录): void ledmod()whtemenu(LEDmenu);写菜单for(i=0;i<3;i+) 先闪烁几下后全亮 P2=0x55;delay(150);P2=0xaa;delay(150);P2=0;while(1)if(a1=1)for(i=0;i<8;i+) /往左流if(a=0)break;/a=0,跳出 LED 模块,下同if(a2=1)a1=0;break;P2=ledi;delay(200);whil
18、e(a3=1) if(a=0)break;/a3=1 ,执行 while 循环,相当于暂停if(a2=1)for(i=0;i<8;i+)/往右流if(a=0)break;if(a1=1)a2=0;break;P2=led7-i;delay(200);while(a3=1) if(a=0)break;if(a=0)break;(2)计数器函数程序(执行该模块的同时,LCD上显示计数器菜单,详见附录):void coutermod()if(b1=1)b1=0;进入计数器后,写菜单并让数码管显示0,流水灯熄灭writemenu(counter);P0=0x3f;P2=0xff;if(b2=1)
19、b2=0;按下按键数据改变时,数码管重新显示p25=1;p26=0;p27=0;P0=tablecount/10;p25=p26=p27=0;P0=tablecount%10;(3) LCD液晶显示模块程序(执行该模块的同时,LCD上显示其菜单,详见附录): void LCDmod()if(c0=1)c0=0;writemenu(lcdmenu); 写 LCD 菜单if(c1=1)c1=0;/wcmd(0x80+0x40);forO=0;j<16;j+)wdat(namejD;if(c2=1)c2=0;wcmd(0x80+0x40);for(j=0;j<16;j+)wdat(num
20、j);if(c3=1)c3=0;wcmd(0x80+0x40);for(j=0;j<16;j+)wdat(datej);(4)写各菜单函数(用于写各个模块的菜单):void writemenu(unsigned char p)wcmd(0x01);for(j=0;j<16;j+)wdat(pj);wcmd(0x80+0x40);for(;j<32;j+) wdat(pj);(5)主函数void main()TCON=0x55;01010101 , TR1=TR0=IT1=IT0=1TMOD=0x66;01100110,两个都为计数方式 2TH0=TL0=0xff;TH1=TL
21、1=0xff;IE=0x8f;LCD_init();writemenu(OFF);P0=0;while(1)if(s)/s=1 ,开始;s=0,关闭。while(1)if(s1)s1=0;writemenu(mainmenu);if(a=1)ledmod();if(b=1)coutermod();if(c=1)LCDmod();if(s=0) writemenu(OFF);break;(6)四个中断函数:key0() interrupt 1delay(100);if(a=0&&b=0&&c=0&&s)a=1;return;&&b=
22、0&&c=0&&s,判断是否在单中,下同if(a=1)if(a1=0&&a3=0)a1=1;/&&a3=0 ,暂停时不能通过中断改变循环方向if(b=1)count+;if(count=100)count=0;b2=1; if(c=1)if(c1=0)c1=1; key1() interrupt 3 delay(100);if(b=0&&a=0&&c=0&&s)b=b1=1;return;b1=1 ,第一次进入计数器if(a=1)if(a2=0&&a3=0)a2=1;
23、if(b=1)count-;if(count<0)count=0;b2=1;if(c=1)if(c2=0)c2=1;key2() interrupt 0 delay(100);if(c=0&&b=0&&a=0&&s)c=1;c0=1;return;if(a=1&&(a1|a2)a3=!a3;/&&(a1|a2),防止刚进入流水灯时,按下暂停键暂停if(b=1)count=0;b2=1;if(c=1)if(c3=0)c3=1;key3() interrupt 2 delay(100);if(a=0&&a
24、mp;b=0&&c=0)s=!s;/在关闭或主菜单中按下key3开始或进入主菜单if(a=1)a=0;a1=a2=a3=0;if(b=1)b=count=b2=0;if(c=1)c=c1=c2=c3=0;if(s) s1=1;/s=1 ,在每次由各模块返回到主菜单或由关闭到主菜单时写主菜单else s2=1; /s=0 ,在刚通电或由主菜单关闭时写关闭菜单此次编程和优化总共花费了十多个小时,最终达到自己预想的效果,其它如 LCD驱动函数、定义变量等命令在此不再列出,详见附录中的源程序。3.3程序的优缺点分析优点:(1) 一个程序能把各模块连接起来,而不是用多个程序进行加载。(2
25、)打开电源后能够重复进入各模块,无需每次复位。(3)每个模块都可以通过按键实现多种功能,功能丰富。(4)可根据LCD提示操作,更加人性化。(5)各模块单独为一个函数,使程序结构明朗。缺点:主要是标志位过于繁多,阅读困难,给程序的修改和优化带来麻烦。所以 程序还有待优化。第4章仿真及实物效果展示4.1 关闭菜单与主菜单关闭菜单与主菜单效果如下图所示:13 / 22 oooooooo 0-017/颖晶理示殿三工OFF二二:Press k”4 StartaR:RtLhi 返回1?;二七沦b而做计数器V I aiJi. bi. aiHisisail ILCD1-IliLn nsnu:1LEU EC 5
26、LC口和FFy UJ"E 出 ® -. 匚,01口-5。4 手= H.W .白般 也餐白,d- R:Return 电CCOLHTt 算计数器图11仿真与实物的关闭菜单与主菜单4.2 流水灯模块功能有左流、右流、清零、返回,部分功能展示如下:;北:M - R;Retin PHC-C«jnterr|-jK®Hqi is L£.D:,.M:r/ I: B ? ii. namn二二.:.二二二.二二二二二.二::二咫同Mil嬲工LS%曷是小林b! 1S. ttKlllz.R:F?tM串巨CtMinter甘依器.二二题二18*招呈守典*Ndv li LH
27、M:f图12流水灯模块仿真及实物部分效果4.3 计数器模块功能有加计数、减计数、清零、返回,部分功能展示如下:图13计数器模块部分效果图14 LCD模块部分效果15 / 224.4 LCD液晶显示模块功能有显示姓名、学号、日期、返回,部分功能展示如下:lmS. lCd液晶显小模块Noh li 工口;InmNEnum5clMME力rR: Return 返回广*. if h-4 #1 -iC心得体会参考文献【 1】林立,张俊亮编单片机原理及应用基于Proteus 和 Keil cM.北京:电子工业出版社,2013.1【 2】谭浩强. C 程序设计(第四版). 北京:清华大学出版社,2010.631
28、周润景等.PROTEU队门实用教程.北京:机械工业出版社,2007.【 4】贾好来.MCS-51 单片机原理及应用. 北京:机械工业出版社,2007.1、源程序#include<reg51.h>#define uchar unsigned char sbit RS=P1A6;sbit RW=P1A7; sbit p25=P2A5;sbit p26=P2A6;sbit p27=P2A7;sbit p32=P3A2;sbit p33=P3A3;sbit p34=P3A4;sbit p35=P3A5;bit s,s1,s2,a,a1,a2,a3,b,b1,b2,c,c0,c1,c2,c3
29、;char count;uchar LCD_Status,i,j;uchar code mainmenu=" Main menu: 1LED 2C 3LCD4OFF"uchar code LEDmenu尸'','',' ','N','o',W,' ','i','s',' ','L','E','D',':','','',' '
30、;,'1',':',0x7f,2,':',0x7e,'3',':','p',7','s',' ','4',':','R'uchar code counter尸'Now is counter: 1:+ 2:- 3:'0'4:R"23 / 22uchar code Icdmenu尸' uchar code name=" uchar code num=" u
31、char code date=" uchar code OFF尸'Now is LCD:XuGuoQiB12050923 2014/12/18OFFII.II.1name2num3date4R"II.Press key4 Start"uchar code led尸0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0x7e,0x3c,0x18,0x00;uchar code table尸0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;void delay(unsign
32、ed int count) unsigned char i; while(count-) for(i=0; i<120; i+); /*LCD相关驱动函数 */unsigned char Busy_Check() 检查忙函数 RS=0; RW=1;/RS=0 ,控制寄存器, RW=1 ,读 p25=0;p26=1;p27=0;delay(1);LCD_Status = P0;delay(1);p25=1;p26=1;p27=0;return LCD_Status;void wcmd(unsigned char cmd) / 写命令函数,RS=0; RW=0 while(Busy_Chec
33、k()&0x80)=0x80);RS=0;RW=0;p25=0;p26=1;p27=0;P0=cmd;delay(1);p25=1;p26=1;p27=0;void wdat(unsigned char dat) / 写数据函数, RS=1 ; RW=0while(Busy_Check() & 0x80)=0x80);RS=1;RW=0;p25=0;p26=1;p27=0;P0=dat;delay(1);p25=1;p26=1;p27=1;P0=0;/每次写数据后熄灭LED 数码管P2=0xff; / 每次写数据后熄灭LED 流水灯 void LCD_init() / 初始化函
34、数 wcmd(0x38);/38H=0011 1000 ,使用 8 位,用 5X 7 的字型,2 行delay(1); 改为 0x3C=0011 1100,就用 5X 10 字型wcmd(0x01); /01H=0000 0001 ,清屏【命令1】delay(1);wcmd(0x06); /06H=0000 0110 ,字符不动,光标自动右移一格【命令3】delay(1);wcmd(0x0c); /0eH=0000 1110 ,开显示,无光标,字符不闪烁【命令4】delay(1);/*写各菜单函数*/void writemenu(unsigned char p) wcmd(0x01);for(
35、j=0;j<16;j+)wdat(pj);wcmd(0x80+0x40);for(;j<32;j+) wdat(pj);/*LED流水灯模块函数*/void ledmod()writemenu(LEDmenu);/ 写菜单 for(i=0;i<3;i+) / 先闪烁几下后全亮 P2=0x55;delay(150);P2=0xaa;delay(150);P2=0;while(1)if(a1=1)for(i=0;i<8;i+)/往左流if(a=0)break;a=0,跳出 LED 模块,下同if(a2=1)a1=0;break;P2=ledi;delay(200);whil
36、e(a3=1) if(a=0)break;/a3=1 ,执行 while 循环,相当于暂停if(a2=1)for(i=0;i<8;i+)/往右流if(a=0)break;if(a1=1)a2=0;break;P2=led7-i;delay(200);while(a3=1) if(a=0)break;if(a=0)break;/*计数器模块函数*/void coutermod()if(b1=1)b1=0;/ 进入计数器后,写菜单并让数码管显示0,流水灯熄灭writemenu(counter);P0=0x3f;P2=0xff;if(b2=1)b2=0;/按下按键数据改变时,数码管重新显示p2
37、5=1;p26=0;p27=0;P0=tablecount/10;p25=p26=p27=0;P0=tablecount%10;/*LCD模块函数*/void LCDmod()if(c0=1)c0=0;writemenu(lcdmenu);/ 写 LCD 菜单if(c1=1)c1=0;/wcmd(0x80+0x40);for(j=0;j<16;j+)wdat(namej); if(c2=1)c2=0;wcmd(0x80+0x40);for(j=0;j<16;j+)wdat(numj); if(c3=1)c3=0;wcmd(0x80+0x40);for(j=0;j<16;j+)wdat(datej); void main()/*主函数*/TCON=0x55;/01010101 , TR1=TR0=IT1=IT0=1TMOD=0x66;/01100110, 两个都为计数方式2TH0=TL0=0xff;TH1=TL1=0xff;IE=0x8f;LCD_init();writemenu(OFF);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年深海矿产资源勘探技术深海矿产资源勘探技术装备研发与培训与考核报告
- 2025年航空货运市场格局分析与发展战略研究报告
- 篮球场合同合作合同范本
- 粪肥运输合同协议书模板
- 电池置换合同协议书模板
- 门窗厂投资入股合同范本
- 生产经营权转让合同范本
- 精装房装修出租合同范本
- 高标农田服务协议书模板
- 江苏叉烧酱采购合同范本
- 内科护理教学实施报告(国赛一等奖)
- 重点企业全流程自动化控制改造提升工作方案
- 日式护理创业计划书
- 加强营销作业现场安全管理
- 同业授信报告
- 2023年12月2024住房和城乡建设部标准定额研究所公开招聘5人笔试历年高频考点-难、易错点荟萃附答案带详解
- 《锅炉安全培训》课件
- 血管病的早期病情评估和治疗
- 全科门诊教学知情同意书
- 输电线路基础占地补偿协议书
- 2023年江西工程职业学院教师招聘考试历年真题库
评论
0/150
提交评论