


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 引言11.1. 设计的目的11.2. 设计的内容与要求 错误!未定义书签。2. 总体设计12.1. 音乐产生原理12.2. 设计流程33. 硬件设计83.1. AT89C51 芯片简介83.1.1 主要特性83.1.2 功能描述83.1.3 引脚说明与硬件连接93.2. 元器件清单134. 系统工作说明135. 结束语145.1 收获与体会145.2 遇到的问题与解决方法 155.3 教程建议156. 参考文献157. 附录161. 引言1.1 设计的目的本设计的主要目的是掌握单片机系统的开发应用,掌握prteus和keil C51软件的应用,巩固和加深已学过的知识,提高动手能力及解决实
2、际问题的能力, 同时培养团队合作精神。1.2. 设计内容与要求(1)本设计以AT89C52单片机为核心控制元件设计一个电子琴,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个弹奏按键、1个播放按键和扬声器,并且按下时按键发声,松开延时一段时间停止,中间再 按别的键则发另一音调的声音。16个按键设置成4x4矩阵键盘,能弹奏出16个音,添加歌曲程序同时能够播放出歌曲。(2)利用软件keil C51进行程序的调试。(3)利用proteus软件画电路图,并在单片机加载程序进行仿真。(4)根据电路图运用proteus软件的布局和布线功能绘制PCB图并输出显 示电路的3D图。(5)根据电路图
3、、PCB图和3D图快速地焊接电路。(6)下载程序代码,调试(Easy 51Pro)。2. 方案总体设计2.1. 音乐产生设计原理一首音乐是许多不同的音阶组成的, 而每个音阶对应着不同的频率,这样我 们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片 机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这 样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系正确即可。 若 要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即 为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相, 然后重复计时再反相。就可在 P1
4、.0引脚上得到此频率的脉冲。利用AT89C51的内部定时器使其工作计数器模式 (M0DE1下,改变计数 值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为 523Hz,其周 期T= 1/523 = 1912卩s,因此只要令计数器计时 956卩s/1卩s = 956,每计数956 次时将I/O反相,就可得到中音D0(523H0。计数脉冲值与频率的关系式是:N=fi- 2- fr式中N是计数值;fi是机器频率(晶体振荡器为12MHZ时,其频率为1MHZ; fr 是想要产生的频率。其计数初值T的求法如下:T= 65536- N= 65536 fi - 2-fr例如:设 K= 65536,
5、 fi = 1MHz 求低音 DO( 261Hz)、中音 DO(523Hz)、高音 DO (1046Hz)的计数值。T = 65536 N = 65536 fi - 2 - fr = 65536 1000000 - 2 - fr = 65536 500000/fr低音 DO的 T= 65536- 500000/262 = 63627中音 DO的 T= 65536- 500000/523 = 64580高音 DO的 T= 65536- 500000/1046 = 65059单片机12MHZ晶振,高中低音符与计数T0相关的计数值如表1所示:音符频率(HZ)简谱码(T值)音符频率(HQ简谱码(T值)
6、低1 DO26263628# 4 FA#74064860#1 DO#27763731中5 SO78464898低2 RE29463835# 5 SO#83164934#2 RE#31163928中6 LA88064968低3 M33064021# 693264994低4 FA34964103中7 SI98865030# 4 FA#37064185高1 DO104665058低5 SO39264260# 1 DO#110965085# 5 SO#41564331高2 RE117565110低6 LA44064400# 2 RE#124565134# 646664463高3 M131865157低
7、7 SI49464524高4 FA139765178中1 DO52364580# 4 FA#148065198# 1 DO#55464633高5 SO156865217中2 RE58764684# 5 SO#166165235# 2 RE#62264732高6 LA176065252中3 M65964777# 6186565268中4 FA69864820高7 SI196765283表1音符频率表我们要为这个音符建立一个表格,单片机通过查表的方式来获得相应的数据。低音0 19之间,中音在20-39之间,高音在40- 59之间。TABLE: DW 0,63628,63835,64021,6410
8、3,64260,64400,64524,0,0DW 0,63731,63928,0,64185,64331,64463,0,0,0DW 0,64580,64684,64777,64820,64898,64968,65030,0,0DW 0,64633,64732,0,64860,64934,64994,0,0,0DW 0,65058,65110,65157,65178,65217,65252,65283,0,0DW 0,65085,65134,0,65198,65235,65268,0,0,0DW 0在这个程序中,弹奏音乐的程序是用定时/计数器T0来完成的,播放音乐程序则是用定时/计数器T1来
9、完成的。2.2. 设计流程(1) 键盘扫描程序:此文档仅供学习和交流检测是否有键按下,有键按下则记录按下键的键值,并跳转至功能转移程序; 无键按下,则返回键盘扫描程序继续检测。(2)功能转移程序:对检测到得按键值进行判断,是琴键则跳转至琴键处理程序,是功能键则跳 转至相应的功能程序,我们设计的功能程序有两种,即音色调节功能和自动播放 乐曲功能。(3)琴键处理程序:根据检测到得按键值,查询音律表,给计时器赋值,使发出相应频率的声音。(4)自动播放歌曲程序:检测到按键按下的是自动播放歌曲功能键后执行该程序, 电子琴会自动播放 事先已经存放好的歌曲,歌曲播放完毕之后自动返回至键盘扫描程序, 继续等待
10、 是否有键按下。程序简易流程图:图1 程序简易流程图弹奏程序流程图:图2 弹奏程序流程图自动播放歌曲程序流程图延时图3自动播放歌曲程序流程图3.硬件设计3.1. AT89C51 芯片简介3.1.1 主要特性与MCS-51兼容 4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定 128*8位内部RAM 32可编程I/O线两个16位定时器/计数器 5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路功能描述(1) AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROFalsh Programmable a
11、nd Erasable ReadOnly Memory 的低电压,高性能 CMOS8 位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读 存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL勺 AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机 为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。(2) 振荡器特性:XTAL1和XTAL2分别为反向放大器的输入
12、和输出。 该反向放大器可以配置为 片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(3) 芯片擦除:整个PERO阵列和三个锁定位的电擦除可通过正确的控制信号组合, 并保持 ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“ 1”且在 任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种 软件可选的掉电模式。在闲置模式下,CPU亭止工作。但RAM定时器
13、,计数器, 串口和中断系统仍在工作。在掉电模式下,保存RAM勺内容并且冻结振荡器,禁 止所用其他芯片功能,直到下一个硬件复位为止。3.1.3 引脚说明与硬件连接(1) 弓I脚图,如图4:4VM70)1 IMT I)T I ) IWW) twos卓丄 FTQ、J-9占 »vl 严bA尸f*f*ppi»”D”LIT:匕CDbnDPCU Co 41. f f - 明 ,H U-Tr: :;tA:;: *4 4 4 4 4 4 £ 一图4 AT89C51引脚图(2) P1 口:P1口是一个内部提供上拉电阻的 8位双向I/O 口,P1 口缓冲器能接收输出4TTL门电流。P1
14、 口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验此文档收集于网络,如有侵权请联系网站删除 时,P1 口作为第八位地址接收。利用P1 口为按键接入口,形成4x4组成具有16个按键矩阵的键盘,作为 琴键键盘,设计成16个音,如下图5:所对应的键码0123456789ABCDEF图54x4 键盘(3)P2 口:P2 口为一个内部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收,输 出4个TTL门电流,当P2 口被写“1”时,其管脚被内部上拉电阻拉高,且 作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出
15、电流。这是 由于内部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,P2 口输出地址的高八位。在给出地址“ 1”时,它利用内 部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功 能寄存器的内容。P2 口在FLASH编程和校验时接收高八位地址信号和控制信 号。利用P2.0接播放音乐键,如图6:Trgo番定 £wvoq. euweoq. 目貝启 LasLad图6自动播放歌曲(4)P3 口:P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL门电 流。当P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为输入
16、, 由于外部下拉为低电平,P3 口将输出电流(ILL )这是由于上拉的缘故。P3 口同 时为闪烁编程和编程校验接收一些控制信号。利用P3.0RXD口(串行输入口)接1个喇叭,通过执行相应的功能程序使电 子琴发出不同音色的声音,如图 7:P2.7/A16P3.0/RXD1011P3.inXD12P3JJ1RT013P3.3/1NT114P3.4rT0托ps.sm15P2.6/WRr 17P3.7WhadR3I20G -ill!>Ii l!-iIA.csi-r FEAKER2N3906 K图7 P3.0的输出电路图中喇叭处接了 1个2N3906的PNP其引脚图如下图8:2N3906图8 2N
17、3906引脚图(5)RST复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期的 高电平时间。/EA/VPP :当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH, 不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET当/EA端保持高电平时,此间内部程序存储器。在 FLASH编程期间,此引脚也用于 施加12V编程电源(VPP。当按下按键,RST端口输入高点平,电路进行复位,歌曲停止播发,如图9:图9复位部分(6) XTAL1反向振荡放大器的输入及内部时钟工作电路的输入XTAL2 :来自反向振荡器的输出。如图10:图10晶振部分32元器件清单如下表2
18、:名称数值个数单片机AT89C511独立按键(可弹起的)182N39061喇叭1电阻R110KQ1电阻R21KQ1电阻R3200Q1电容C1、C216pF各1个电容C34.7uF1晶振12MHz1表2 兀器件清单4. 系统工作说明接上电源,按下自动播放歌曲按键 B17, P2.0 口此时接上低电平,作为输 出口,因为P2.0具有输出寄存器寄存的内容的特殊功能,所以播放出已编好程 序的歌曲。当按下复位部分的按键B18时,因为复位部分是接高电平的,按下按 键就产生高电平输入进行电路的复位,自动播放的歌曲就马上停止。而4x4矩阵 键盘是接P1 口作为输入,16个键位产生不同的频率对应其简谱码而产生不
19、同的 音阶。喇叭输出部分接P3.0 口,一直保持低电平作为输出,接上一个PNP2N3906 作为放大功能使其播放声音。5. 结束语5.1收获与体会通过这次课程设计,让我感觉到了单片机的乐趣以及运用单片机设计电路比 较方便和简单。在课程设计过程中,我学会了怎么通过各种方式查询相关的资料, 尤其是要充分利用互联网来查找自己想要的资料。这次的课程设计涉及硬件和软件两方面的内容。首先是软件部分,我学会了运用keil C51 软件建立工程文件来调试程序的正确性,同时也学会了运用 proteus软件来画电路图,基本掌握 proteus软件的使用方法包括绘制原理图、 PCB图、3D图,通过这些图与焊接硬件电
20、路紧密的联在一起。由于自己所学有限,所以程序的编写事件很头疼的事,所以我们是先从网上下载一些类似的程序,然后对程序进行分析修改加以利用。 硬件部分,在选取单片机前必须知道我们将要 制作的电路需要实现什么功能,根据其功能来选取我们需要的单片机。 而在焊接 的过程中我发现每个元器件的排布是十分讲究的,布局得好焊接起来就方便且简单多了。设计好后,要将程序烧入芯片,经过调试成功后,我们可以任意弹奏自己想要 的旋律。本研究通过制作电子琴,将几个模块很好的融合起来,对使用单片机设 计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机 产生不同频率来获得我们要求的音阶。说明一首音乐是许多不
21、同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合, 即可构成我们所想要的音乐了,所以我们只要把一首歌曲的音阶对应频率关系弄正确来,然后我们利用功放电路来将音乐声音放大。5.2 遇到的问题与解决方法(1)绘制好电路总原理图准备焊接的时候,发现按照原理图来焊接相当困难,不知从何下手。于是我上网查了一下资料,发现原来proteus软件有自动布局和 自动布线的功能来绘制 PCB图,而且还可以输出3D图。根据这总原理图、PCB 图还有3D图来焊接电路,很快地焊接好电路而且一插上电源电路就跟仿真一样 成功了。(2)在购买材料的时候那间店没有 AT89C5仲片机,只好购买了 S
22、TC89C5单片机。回来上网查了一下资料,发现它们的引脚都一样,而且STC89C52勺容量大一些,功能更强,所以完全可以代替AT89C51来实现本设计的电子琴电路的功 能。5.3教程建议我觉得只是单纯的上课来学习单片机是很难的,老师应该多找一些电路的实 例来讲授单片机的知识,这样会让学生更容易接受而且更容易明白。 课程应该多 安排一些课程设计来让学生自己动手来提高对单片机的知识和动手能力。6. 参考文献1 李朝青.单片机原理与接口技术.2 李光飞、楼然苗.单片机课程设计指导.北京:北京航空航天大学出版 社.3 蔡朝洋.单片机控制实习与专题制作.北京:北京航空航天大学出版社4 严天峰单片机应用系
23、统设计与仿真调试 北京:北京航空航天大学出 版社.2005年8月.7. 附录rr-FFF 一H-FIF 亠44丄亠7 B 5 IP- pq 7 -* Ok2BIO'15-dhr sd-ALE-I G 5 4 * > > > 3U3m更口 39| P®首 P3.5mC33.菁原理图2宜窖r.n1(1 V*1图12 实物图图14 3D图设计源程序:BUFFEQU 30HSTH0EQU 31HSTL0EQU 32HTEMPEQU 33HORG 00HLJMP STARTORG 0BHLJMP INT_T0ORG 001BHLJMP TIM1START:MOV TM
24、OD,#01H;设置T0工作方式SETB ET0SETB EA;启动T0MAIN:MOV P1,#0FFH;P1全置1CLR P1.4;开始扫描第一行MOV A,P1ANL A,#0FH;屏蔽咼四位XRL A,#0FH;低位有” 0”则有键按下,否则无JZKKEY1 ;判断有无键按下,有则继续,没有则转移到 KKEY1LCALL DELY10MS ;调用延时程序MOV A,P1;重新开始判断有无键按下ANL A,#0FHXRL A,#0FHJZ KKEY1MOV A,P1ANL A,#0FH ;求键值CJNEA,#0EH,CKK1 ;相等说明该行第一列有键按下,不等则转移MOV BUFF,#O
25、 ;该键值为0LJMP NDK1 ;跳到NDK1执行相应的功能程序CKK1:CJNE A,#0DH,KK2;相等说明该行第二列有键按下,不等则转移MOV BUFF,#1;该键值为1LJMP NDK1; 跳到NDK1执行相应的功能程序KK2:CJNE A,#0BH,KK3;相等说明该行第三列有键按下,不等则转移MOV BUFF,#2;该键值为2LJMP NDK1; 跳到NDK1执行相应的功能程序KK3:CJNE A,#07H,KK4;相等说明该行第四列有键按下,不等则转移MOV BUFF,#3;该键值为2LJMP NDK1; 跳到NDK1执行相应的功能程序KK4:NOPNDK1:MOV A,BU
26、FFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,AMOV A,BUFFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,A+DPTRMOV STL0,AMOV TL0,ASETB TRONDK1A:MOV A,P1ANL A,#0FHXRL A,#0FHJNZ NDK1ACLR TROKKEY1:开始扫描第二行MOV P1,#OFFH ;CLR P1.5MOV A,P1ANL A,#0FHXRL A,#0FHJZ KKEY2L
27、CALL DELY10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ KKEY2MOV A,P1ANL A,#0FHCJNE A,#0EH,KK5MOV BUFF,#4LJMP NDK2KK5:CJNE A,#0DH,KK6MOV BUFF,#5LJMP NDK2KK6:CJNE A,#0BH,KK7MOV BUFF,#6LJMP NDK2KK7:CJNE A,#07H,KK8MOV BUFF,#7LJMP NDK2KK8:NOPNDK2:MOV A,BUFFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,AMOV A,BUFFMOV B,#2MUL A
28、BMOV TEMP,AMOV DPTR,#TABLE1MOVC A,A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,A+DPTRMOV STL0,AMOV TL0,ASETB TR0NDK2A:MOV A,P1ANL A,#0FHXRL A,#0FHJNZ NDK2ACLR TR0KKEY2:开始扫描第三行MOV P1,#OFFH ;CLR P1.6MOV A,P1ANL A,#0FHXRL A,#0FHJZ KKEY3LCALL DELY10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ KKEY3MOV A,P1ANL
29、A,#0FHCJNE A,#0EH,KK9MOV BUFF,#8LJMP NDK3KK9:CJNE A,#0DH,KK10MOV BUFF,#9LJMP NDK3KK10:CJNE A,#0BH,KK11MOV BUFF,#10LJMP NDK3KK11:CJNE A,#07H,KK12MOV BUFF,#11LJMP NDK3KK12:NOPNDK3:MOV A,BUFFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,AMOV A,BUFFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,A+DPTRMOV STH0,AMOV
30、 TH0,AINC TEMPMOV A,TEMPMOVC A,A+DPTRMOV STL0,AMOV TL0,ASETB TR0NDK3A:MOV A,P1ANL A,#0FHXRL A,#0FHJNZ NDK3ACLR TR0KKEY3:MOV P1,#0FFH;开始扫描第四行CLR P1.7MOV A,P1ANL A,#0FHXRL A,#0FHJZ KKEY4LCALL DELY10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ KKEY4MOV A,P1ANL A,#0FHCJNE A,#0EH,KK13MOV BUFF,#12LJMP NDK4KK13:CJNE A
31、,#0DH,KK14MOV BUFF,#13LJMP NDK4KK14:CJNE A,#0BH,KK15MOV BUFF,#14LJMP NDK4KK15:CJNE A,#07H,KK16MOV BUFF,#15LJMP NDK4KK16: NOPNDK4:MOV A,BUFFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,AMOV A,BUFFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,A+DPTRMOV STL0,AMO
32、V TL0,ASETB TR0NDK4A:MOV A,P1ANL A,#0FHXRL A,#0FHJNZ NDK4ACLR TR0KKEY4: MOV A,#0FFHMOV P2,AMOV A,P2JB ACC.0, KKEY5LCALL DELY10MSMOV A,P2JB ACC.0, KKEY5MOV BUFF,#16LJMP START22START22: MOV A,BUFFCJNE A,#16,KKEY5LJMP START2KKEY5: LJMP MAINSTART2: MOV TMOD,#10H设 T1 在 M1MOV IE,#88H ;中断使能START0: MOV 30H,
33、#00 ;取简谱码指针NEXT: MOV A,30H ;简谱码指针载入 AMOV DPTR,#TAB至TAB取简谱码MOVC A,A+DPTR ;MOV R2,A ;渠道的简谱码暂存于R2JZ END0 ;是否渠道00 (结束码)ANL A,#0FH ;不是,则取低4位(节拍码)MOV R5,A ;将节拍码存入 R5MOV A,R2 ;将取到的简谱码再载入 ASWAP A高低4位交换ANL A,#0FH ;取低4位(音符码)JNZ SING ;取到的音符码是否为0?CLR TR1 ;开始,则不发音SJMP D1 ;跳至 D1SING:DEC A ;取到的音符码减1 (不含0)MOV 22H,A
34、 ;存入(22H)RL A ;乘 2MOV DPTR,#TAB1至TABLE1取相对的高位字节计数值MOVC A,A+DPTR ;MOV TH1,A ;取到的高位字节存入 TH0MOV 21H,A ;取到的高位字节存入(21H)MOV A,22H ;在载入取到的音符码RL A ;乘 2INC A ;力卩1MOVC A,A+DPT至;TABLE1取相对的低位字节计数值MOV TL1,A ;取到的低位字节存入 TL0MOV 20H,A ;取到的低位字节存入(20H)SETB TR1 ;启动 TIMER0D1:LCALL DELAY ;其本单位时间1/4拍187毫秒INC 30H ;取简谱码指针加1JMP NEXT 取下一个简谱码END0: CLR TR1 ;停止 TIMER0LJ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023-2025北京高二(上)期末数学汇编:直线的方程
- 经典计算机VB试题及答案分享
- 走向未来2025年法学概论考试试题及答案
- 教师评审职称个人总结(3篇)
- 行政权力的法律限制探讨试题及答案
- 行政法学发展中的伦理争议试题与答案
- 行业监管与经济发展的关系试题及答案
- 高考数学2024年趋势研究与试题及答案
- 行政管理实践中的法律风险及试题与答案
- 大数据技术分析与应用试题及答案
- 土木工程材料期末考试试题库
- 智能化弱电工程方案
- 光伏项目材料设备报审、开箱记录
- 施工作业人员配备与人员资格及职责分工表
- 广东广州市2025届高一数学第二学期期末考试试题含解析
- 林则徐虎门销烟历史事件
- 静脉导管常见并发症临床护理实践指南
- 矿井通风与安全-金属非金属矿山
- 成人雾化吸入护理团体标准解读
- 2024年新疆乌鲁木齐市天山区中考一模历史试题
- MOOC 房地产管理-华中科技大学 中国大学慕课答案
评论
0/150
提交评论