版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录第一章 引言2第二章 设计方案论证.3 2.1 方案论证与设计3 2.1.1 控制部分的方案选择.3 2.1.2 显示部分的方案选择.4 2.1.3 系统基本方案选择和论证.4 2.2 单片机原理5 2.3 led显示数码管.5第三章 计算部分.5 3.1 主要单元电路的器件.5 3.1.1 单片机主控制模块.6 3.2其他模块器件.10 3.2.1 74ls164.10 3.2.2 其他元器件.10第四章 结构设计部分13 4.1 显示部分设计.12 4.1.1 万年历优先算法.13 4.1.2 秒表显示.13 4.2 电路控制部分设计.13 4.3 整体设计.14 4.4 系统软件设计
2、.16 4.4.1 proteus 软件仿真.17结束语19参考文献.20系统程序清单.20第一章 引言 随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操
3、作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式led数码管显示的日历钟逐渐受到人们的欢迎。led数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。 所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。关键字: 单片机 显示器 计时 万年历 秒表第二章 设计方案论证21方案论证与设计2.1.1.控制部分的方案选择 a)用可编程逻辑器件设计。可采用altera公司的flex10k系列pld器件。设计起来结构清晰,各个模块,从硬件上设计起来相对简单,控制与
4、显示的模块间的连接也会比较方便。但是考虑到本设计的特点,eda在功能扩展上比较受局限,而且eda占用的资源也相对多一些。从成本上来讲,用可编程逻辑器件来设计也没有什么优势。 b)用凌阳16位单片机设计。凌阳16位单片机有丰富的中断源和时基,方便本实验的设计。它的准确度相当高,并且c语言和汇编兼容的编程环境也很方便来实现一些递归调用。i/o口功能也比较强大,方便使用。用凌阳16位单片机做控制器最有特色的就是它的可编程音频处理,可完成语音的录制播放和识别。这些都方便对设计进行扩展,使设计更加完善。成本也相对低一些。2.1.2显示部分的方案选择a)液晶显示方式。液晶显示效果出众,可以运用菜单项来方便
5、操作,但是在显示时,特别是使用秒表功能时扫描速度跟不上,屏幕会有明显的闪烁。而且由于61板的存储空间有限,液晶显示就不能与语音播抱程序同时实现。这些大大影响了电子万年历的性能。b)相比液晶显示,采用8段数码管既经济实惠,在效果上也可以加入语音报时功能,操作比较液晶显示来说虽然略显繁琐,但总体也还可以做到比较人性化。所以,最后选择led数码管显示方案。2.1.3系统基本方案选择和论证1.单片机芯片的选择方案和论证:方案一: 采用at89s52,片内rom全都采用flash rom;能以3v的超底压工作;同时也与mcs-51系列单片机完全该芯片内部存储器为8kb rom 存储空间,同样具有89c5
6、1的功能,且具有在线编程可擦除技术,与51单片机相比,存储空间更大一些,处理能力更强一些,但价格昂贵。方案二:采用89c51芯片作为硬件核心,采用flash rom,内部具有4kb rom 存储空间,能于3v的超低压工作,而且与mcs-51系列单片机完全兼容,虽然其存储空间和处理能力都比不上52单片机,但是51单片机的处理能力完全能够满足我们的要求,而且价格方面非常便宜。所以选择采用at89c51作为主控制系统.2. 显示模块选择方案和论证:方案一: 采用led液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形led数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连,显示
7、多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用led液晶显示屏.方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.方案三:采用led数码管动态扫描,接时,占用的单片机口线少。所以采用了led数码管作为显示。3. 电路设计最终方案决定综上各方案所述,对此次作品的方案选定: 采用at89c51作为主控制系统;led数码管动态扫描作为显示。2.2 单片机原理单片机就是简化的微型计算机。cpu中本身自带存储器rom和ram。cpu片内也有总线。ic(集成电路)技术是将电
8、路通过特殊工艺做在一块硅基片上封装成芯片,比如cpu,片外存储器等等。 将单片机cpu(比如51系列),晶振,存储器,地址锁存器,逻辑门,七段译码器(显示器),按钮(类似键盘),扩展芯片,接口等通过pcb工艺(比如smt贴片,或者插装)做在环氧树脂板上。这样才是一个完整的单片(做在一块pcb板上)的微型计算机。 2.3 led显示数码管常见的led显示具有清晰明亮的特点。是显示接口也是绝大多数单片机应用系统必备的部件之一。发光二极管组成的显示器是单片机应用产品中最常用的廉价输出设备。它由若干个发光二极管按一定的规律排列而成。当某一个发光二极管导通时,相应的一个点或一笔画被点亮,控制不同组合的二
9、极管导通,就能显出各种字符。1. 显示器的结构常用的7段显示器的结构如图所示,发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的成为共阴显示器。1位显示器由8个发光二极管组成,其中7个发光二极管ag控制7个笔画的亮或暗,另一个控制一个小数点的亮和暗,这种笔画的七段显示器能显示的字符较少,字符的形状有些失真,但失控简单,使用方便。第三章计算部分3.1 主要单元电路的器件3.1.1单片机主控制模块1内部结构8051是mcs-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 8051单片机包含中央处理器、程序存储器(rom)、数据存储器(ram)、定时/计数器、并行接口、串行
10、接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器:中央处理器(cpu)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,cpu负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(ram):8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的ram只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。程序存储器(rom):8051共有4096个
11、8位掩膜rom,用于存放用户程序,原始数据或表格。定时/计数器(rom):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(i/o)口:8051共有4组8位i/o口(p0、 p1、p2或p3),用于对外部数据的传输。全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:8051内置最高频率达12mhz的时钟电路,用于产
12、生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(princeton)结构。intel的mcs-51系列单片机采用的是哈佛结构的形式,而后续产品16位的mcs-96系列单片机则采用普林斯顿结构。2.引脚定义及功能: mcs-51系列单片机中的8031、8051及8751均采用40pin封装的双列直接dip结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个i/
13、o口,中断口线与p3口线复用。现在我们对这些引脚的功能加以说明: 1).电源及时钟引脚vcc:接+5v 电源vss:接地xtal1和xtal2:时钟引脚,外接晶体引线端。当使用芯片内部时钟时,此两引脚端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。2).控制引脚rst/vpq:rst是复位信号输入端,vpd是备用电源输入端。当rst输入端保持2个机器周期以上高电平时,单片机完成复位初始化操作。当主电源vcc发生故障而突然下降到一定低电压或断电时,第2功能vpd将为片内ram提供电源以保护片内ram中的信息不丢失。ale/prog:地址锁存允许信号输入端。在存取外存储器时
14、,用于锁存低8位地址信号。当单片机正常工作后,ale端就周期性地以时钟振荡频率的1/6固定频率向外输出正脉冲信号。此引脚的第2功能prog是对片内带有4k字节eprom的8751固外程序时,作为编程脉冲输入端。psen:程序存储器允许输出端。当片外程序存储器的读选通信号,低电平有效。cpu从外部程序存储器取指令时,psen信号会自动产生负脉冲,作为外部程序存储器的选通信号。ea/vpp:程序存储器地址允许输入端。当ea为高电平时,cpu执行片内程序存储器指令,但当pc中的值超过0fffh时,将自动转向执行片外程序存储器指令;当ea为低电平时,cpu只执行片外程序存储器指令。3).i/o口引脚p
15、0.0p0.7:p0口8位双向i/o口;p1.0p1.7:p1口8位准双向i/o口;p2.0p2.7:p2口8位准双向i/o口;p3.0p3.7:p3口8位准双向i/o口。3片外总线结构分为三部分:数据总线 data bus(db),地址总线 address bus (ab),控制总线 control bus(cb) 3.2其他模块器件(1) 74hc164芯片外观图如下:74hc是个串入并出的8位移位寄存器,它常用于单片机系统中,其主要工作特点如下:串行输入带锁存; 时钟输入,串行输入带缓冲 ;异步清除; 最高时钟频率可高达36mhz ;功耗:10mw/bit ;74系列工作温度: 0c t
16、o 70c ;vcc最高电压:7v ;输入最高电压:7v; 高电平:0.4ma ;低电平:8ma其内部引脚结构图如下:(2).电阻本实验采用金属薄膜电阻,阻值为1k, 金属膜电位器的电阻体可由合金膜、金属氧化膜、金属箔等分别组成。特点是分辩力高、耐高温、温度系数小、动噪声小、平滑性好。(3)电解电容本实验电解电容分别有20uf和100uf,在电路中起微调作用,用于复位与电源电路中。元件示意图如下:(4).电容本实验中采用c104,在电源与地之间其去耦的作用,同时用于振荡电路中。(5).晶振本实验采用6mhz的晶体振荡器,xtal1和xtal2分别为晶振的输入和输出。该反向放大器可以配置为片内振
17、荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(6).七段数码管显示器本实验选用元件示意图如下:由于系统要显示的内容较简单,显示量不多,所以选用此数码管既方便又经济。led有共阴极和共阳极两种。如下图所示。二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5v的电压。一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)ag,另一个小数点为dp发光二极管。当在某段发光二极管施加一定
18、的正向电压时,该段笔划即亮;不加电压则暗。为了保护各段led不被损坏,需外加限流电阻。图3 led数码管结构原理图led显示数码管通常由硬件7段译码集成电路,完成从数字到显示码的译码驱动。本系统采用软件译码,以减小体积,降低成本和功耗,软件译码的另一优势还在于比硬件译码有更大的灵活性。所谓软件译码,即由单片机软件完成从数字到显示码的转换。从led数码管结构原理可知,为了显示字符,要为led显示数码管提供显示段码,组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给led数码管的显示段码为1个字节。各段码位与显示段的对应关系如表1。表1 各段码位的对应关系段码位d7d6d5d4
19、d3d2d1d0显示段dpgfedcba需说明的是当用数据口连接led数码管adp引脚时,不同的连接方法,各段码位与显示段有不同的对应关系。通常数据口的d0位与a段连接,d1位与b段连接,d7位与dp段连接,如表1所示,表2为用于led数码管显示的十六进制数和空白字符与p的显示段码。表2 led显示段码字型共阳极段码共阴极段码字型共阳极段码共阴极段码0c0h3fh990h6fh1f9h06ha88h77h2a4h5bhb83h7ch3boh4fhcc6h39h499h66hda1h5eh592h6dhe86h79h682h7dhf84h71h7f8h07h空白ffh00h880h7fhp8ch
20、73h注:(1)本表所列各字符的显示段码均为小数点不亮的情况。 (2)“空白”字符即没有任何显示。(7)、发光二极管发光二极管也与普通二极管一样由pn结构成,也具有单向导电性。本实验选用下图钟红色的发光二极管,在电子钟电路中起闪烁计时作用,每半秒闪烁一次。6、8位移位寄存器芯片74hc16474hc164与89c51连接在一起实现了移位的串入并出。本实验中是利用89c51芯片的rxd(p30)和txd(p31)两个引脚,通过串行口的缓冲寄存器sbuf将数据送入移位寄存器,然后串行输入数码管译码显示。第四章 结构设计部分4.1 显示部分设计基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显
21、示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒 ,分钟加1,10秒位回0。依次类推,时钟最大的显示值为23小时59分59秒。这里只要确定了1秒的定时时间, 其他位均以此为基准往上累加。 同时时钟达到最大值的时候天数也增加一位,根据不同的月份显示的天数阳历有28,29,30,31天,到了12个月后,年数自动增加1,以此类推。显示部分电路图4.1.1万年历优化算法每十月的总的天数相对来说是固定的。只有2月份,在闰年是29天,在非闰年是28天。每400年整一闰,或每4年且不为百年的一润。 表1月份123456789101112闰年312931303130
22、313130313031非闰年3128313031303131303130314.1.2 秒表显示多功能秒表系统采用at89c51单片机为中心器件,利用其定时器/计数器定时和技术的原理,结合显示电路、电源电路、led数码管以及键盘电路来设计定时电路。将软硬件有机的结合起来,使得系统能够实现四位的led显示,显示时间为00-99秒。4.2 电路控制部分设计从左到右依次是a、b、c三个按键,当用作电子表时间显示功能时,键c是模式选择键,分别实现对时、分、秒的选择功能,键b是加1键,键a是减1键;当用作万年历显示功能时,用c键选择,键b是加1键,键a是减1键;当用作秒表功能时,键b是启动/暂停功能键
23、,键a是复位键。4.3整体设计硬件设计模块实现:实现过程:单片机处理后通过串行口输出到74ls164,而74ls164将串行信号变成并行信号,每个164对应led七段码,6个164对应6行led数码管。其整个过程,如原理图所示。生成pcb版图,如下图所示:4.4系统软件设计4.4.1 proteus软件仿真 单片机加载程序启动仿真后,按下开始键开始仿真,下图是电子表功能的仿真结果图, 按下mod键,1次可调时,2次可调分,3次可调秒。 当按下模式c键达到四次时,这时可以按下a键进入万年历显示的功能,此时显示10年12月25日,按下c键可以实现模式选择分别调节年、月、日。 当按下b键进入秒表显示
24、模式,而且可以暂停显示,此时按下c键可以退出秒表显示模式。由以上仿真可知,此设计程序及电路逻辑功能正确,基本完成了实验所要求的任务,达到了预期的目的。结束语通过这个月的学习和调试过程,终于完成了单片机模块数字钟的工作。并且使电子钟够顺利运行,完成了预期的目标。从单片机模块数字钟的设计过程中也找到了一些单片机开发的规律:先了解所有元件的具体内容,从而画出其电路图,使数字钟从简易变成多功能的方式,虽没有做多功能数字钟,却知晓了其方法。从而让我踏入了单片机应用领域的第一步。然而在调试过程中有也有许多的不足之处:例如编写调试程序有点不足。希望能够在以后的不断深入学习中能够弥补自己的不足之处。同时更是朝
25、着单片机应用领域迈进。这次课程设计整体来说是成功的,但我也发现了自己许多错漏和不足之处。譬如,最简单的程序没写好就想着写更复杂的程序,做事还是缺乏耐性和细心,当有时遇到问题时,总觉得无从下手,对于课本上的知识不能很好的组织起来。在编写各功能程序时,特别是后来增添的比较复杂的程序,更是找不着思路,在以后的学习中,确实应加强这一模块的练习。总的来说,这次课程设计的探索与完成,给我最深的体会就是书本上的知识和实际的应用真的存在着较大的差别,甚至脱节。平时自己感觉什么都掌握的差不多了,也似乎是明白了,但真到具体应用时,确如纸上谈兵,无从下手。所以,我们不仅要熟练掌握课本知识,更要学以致用,能让自己真正
26、成为一个有实际操作能力的单片机应用型人才。附录一:参考文献【1】单片机微型计算机与理与应用 西安电子科技大学出版社 张毅坤 陈善久 裘雪红 编著【2】 51系列单片机设计实例.北京航空航天大学出版社。【3】单片机应用技术.西安电子科技大学出版社。【4】单片机原理及接口技术实验.北方交通大学出版社。二:系统程序清单#includeunsigned char dispbuf6; /时间显示缓冲区unsigned char disdate6; /日期显示缓冲区unsigned char dissec6; /秒表缓冲区struct /设定时间结构体 unsigned char hour; unsign
27、ed char min; unsigned char sec; time;struct /设定日期结构体 unsigned char year; unsigned char month; unsigned char days; date;struct /设定毫秒结构体 unsigned char minite; unsigned char second; unsigned char millisec; millisecond;unsigned char point=0;unsigned char point1=0;unsigned char point2=0;unsigned char day
28、mount;unsigned char daymount1;unsigned char t0_int_times=0; /中断次数计数变量unsigned char flash_flag=0; /闪烁标志,每半秒闪烁unsigned char flash_flag1=0; /闪烁标志,每半秒闪烁unsigned char display_back=0; /显示缓冲区更新备份,如果显示缓冲区更新则跟闪烁标志不一致unsigned char display_back1=0; /显示缓冲区更新备份,如果显示缓冲区更新则跟闪烁标志不一致unsigned char i,j;unsigned char s
29、etmillisecond; /启动秒表code unsigned char ledcode=0x01,0xd7,0x22,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80; /数码管显示代码code unsigned char errorledcode=0x01,0xe7,0x12,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80;/绘制错误图纸的数码管显示代码void displaybuf();void changetodispcode();void changetodispcode1();void changedate(); / 调日期void d
30、isplaydate(); / 显示日期void makedays(); /确定每个月的日期void runsec();void delay(unsigned int i); /函数声名sbit p1_0=p10;sbit p1_1=p11;sbit p1_2=p12;/*/ init 初始化代码/ 设定50ms中断一次,注:在fosc=6m情况下/*void init(void) date.year=10; date.month=12; date.days=25; time.hour=12; time.min=0; time.sec=0; tmod=0x01; th0=(65536-5000
31、)/256; tl0=(65536-5000)%256; tr0=1; et0=1; ea=1;/*延时子程序*/void delay(unsigned int i) char j; for(i; i 0; i-) for(j = 200; j 0; j-);/*/ 主程序/* main() init(); /初始化for(;) if(display_back!=flash_flag) /是否显示? display_back=flash_flag; /显示过后要半秒后再显示 changetodispcode(); /转化时间为可显示代码 if(flash_flag) /更新双点闪烁 dispb
32、uf2=dispbuf2|0x10; /双点熄灭 dispbuf4=dispbuf4|0x20; else dispbuf2=dispbuf2&0xef; /点亮双点 dispbuf4=dispbuf4&0xdf; ; if(flash_flag & point=1) /更新小时 dispbuf0=dispbuf0|0xff; /小时熄灭 dispbuf1=dispbuf1|0xff; else dispbuf0=dispbuf0&0xff; /小时点亮 dispbuf1=dispbuf1&0xff; ; if(flash_flag & point=2) /更新分钟 dispbuf2=disp
33、buf2|0xff; /分钟熄灭 dispbuf3=dispbuf3|0xff; else dispbuf2=dispbuf2&0xff; /分钟点亮 dispbuf3=dispbuf3&0xff; ; if(flash_flag & point=3) /更新秒钟 dispbuf4=dispbuf4|0xff; /秒钟熄灭 dispbuf5=dispbuf5|0xff; else dispbuf4=dispbuf4&0xff; /秒钟点亮 dispbuf5=dispbuf5&0xff; ; displaybuf();/显示 if(p1&0x07)!=0x7) /按键处理模块模块 delay(2
34、50); if(p1&0x07)!=0x7) if(p1_2=0) point=(point+1)%5; else if (p1_1=0) switch(point) case 0: millisecond.minite=0; millisecond.second=0; millisecond.millisec=0; setmillisecond+; runsec(); break; case 1: time.hour=( time.hour+1)%24; break; case 2: time.min=( time.min+1)%60; break; case 3: time.sec=( t
35、ime.sec+1)%60; break; ; else if (p1_0=0) switch(point) case 0: changetodispcode1(); disdate2=disdate2&0xef; /点亮双点 disdate4=disdate4&0xdf; displaydate(); delay(2000); break; case 1: time.hour=( time.hour+24-1)%24; break; case 2: time.min=( time.min+60-1)%60; break; case 3: time.sec=( time.sec+60-1)%6
36、0; break; case 4: changedate(); break; ; ; ; ;makedays(); /*/ 把时间显示缓冲区的内容发到74hc164/* void displaybuf(void) unsigned char i; for(i=0;i6;i+) sbuf=dispbufi;while(ti=0); /等待发送完毕ti=0; /把发送完标志清掉以备下次再用 ;/*/ 把日期显示缓冲区的内容发到74hc164/* void displaydate(void) unsigned char i; for(i=0;i6;i+) sbuf=disdatei;while(ti=0); /等待发送完毕ti=0; /把发送完标志清掉以备
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 包头轻工校车削加工技能(劳动版)教案学习情境二车削台阶轴类零件-子学习情境一认识车刀
- 《麻绳》小班美术教案 - 幼儿园美术教案
- 《液压传动》教案(劳动版)
- 临时广告投放合同
- 城市轨道交通招投标详解
- 生态农业发展公益林管理计划
- 电子商务平台交易信息保护规定
- 餐饮业宿舍电费管理规则
- 城市污水处理厂改造协议
- 企业社会责任激励管理办法
- 机电材料见证取样复试
- 2024年秋新版人教版三年级英语上册电子课本
- 护理安全教育案例及分析(3篇模板)
- 关爱失智失能老年人(失智失能老人健康照护课件)
- 事业单位嫖娼违法写检讨书
- 2024年信息安全师考试题库及答案(含AB卷)
- 24春国家开放大学《教育研究方法#》作业1-4参考答案
- 机场地勤的职业规划
- 大学物理-5省公开课金奖全国赛课一等奖微课获奖课件
- zpl语言指令解析
- 房屋维修实施方案
评论
0/150
提交评论