版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、学习目标1.了解点阵的硬件结构。2.掌握单片机驱动8*8点阵方法。3.掌握单片机驱动16*16点阵方法。4.掌握点阵的动态显示方法。5.掌握点阵显示内容动态更新方法。二、学习任务任务一8*8点阵的使用;任务二16*16点阵的使用;任务三16*64点阵的使用。三、任务分解任务一8*8点阵的使用【任务描述】随着信息产业的高速发展,LED显示屏作为信息传播的一种重要手段成为现代信息化社会的一个闪亮标志。近年LED显示屏已广泛应用于室内、外需要进行服务内容和服务宗旨宣传的公众场所如银行、营业部、车站、机场、港口、体育场馆等信息的发布,政府机关政策、政令,各类市场行情信息的发部和宣传等。汉字显示方式是先根据所需要的汉字提取汉字点阵,将点阵文件存入ROM,形成新的汉字编码。而在使用时则需要先根据新的汉字编码组成语言,再由MCU根据新编码提取相应的点阵进行汉字显示。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。【任务分析】无论是单个发光二极管还是数码管,都不能显示字符汉字和一些特殊字符,更不能显示复杂的图像信息,这主要是因为它们没有足够的信息显示单位。LED点阵显示器是把很多的LED按矩阵方式排列在一起,通过对各个LED的亮灭控制来完成各种字符或图形的显示。【相关知识】一、8X8点阵简介1.点阵结构(以8*8为例)8X8点阵共由64个发光二极管按照8行8列排列成矩阵形式,且每个发光二极管是放置在行线和列线的交叉点上(类似矩阵式按键)引脚:16根(8行8列),字母为行引脚,数字为列引脚。一般需要自己用万用表检测双色点阵;24根(16行8列)(1).共阴(对行而言)例如型号为JM-M1088A2.点阵分类(2).共阳(对行而言)例如型号为JM-M1088B有时也不做区分,旋转即可3.点阵原理
以共阳为例,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则9脚接高电平13脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第9脚要接高电平,而(13、3、4、10、6、11、15、16)这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第13脚接低电平,而(9、14、8、12、1、7、2、5)接高电平,那么第一列就会点亮。共阴呢?
4.显示方式点阵LED一般采用扫描式显示,实际运用分为三种方式:(1)点扫描(逐点显示);(2)行扫描(逐行显示);(3)列扫描(逐列显示);若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即可。若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。5.举例例:使用一块8X8的LED点阵来显示一个心型1.那么如何点亮一个点?首先调出一个8×8点阵,在点阵的管脚上接上VCC,另一端的管脚就接GND,运行仿真,看看点阵是不是能亮,亮了哪几个点,如果不亮就调换VCC和GND,这样测出点阵的行和列,共阴或共阳等引脚信息。
从图3判别出上面为行,下面为列,为共阴点阵。要想显示如图所示的亮点:则上面对应的行为低电平,对应的列为高电平(此时8个列值00100000,和第二行8个点亮灭情况一致)。所以我们可以通过某一行8个等的亮灭状态从而得到显示时所需的列值2.采用动态显示(行扫描法,逐行显示)以共阴点阵为例先显示第一行,8个灯亮灭情况为00100100,则此时需送进去的列值也为00100100(即24H),延时;再第二行,8个灯亮灭情况为01011010,则此时需送进去的列值为01011010(5AH),再延时;依次类推,第三行:42H;第四行:42H;第五行:42H;第六行:24H;第七行:18H;第八行:00H总结:采用共阴点阵,行扫描法显示,8行对应的列值分别为:24H,5AH,42H,42H,42H,24H,18H,00H(该值也叫做编码)3.如何得到其他字符的编码?(1).自己在纸上画(2).利用软件生成(PCtoLCD2002,字模生成软件)对应的程序代码为:#include<reg52.h>charcodetable[]={0x24,0x5a,0x42,0x42,0x42,0x24,0x18,0x00};//"心"形编码voiddelay(intz)//延时函数{intx,y;for(x=0;x<z;x++)for(y=0;y<110;y++);}voidmain(){intnum;while(1)//循环显示
{for(num=0;num<8;num++)//8行扫描P3行选,P0列选
{P3=num;//行选
P0=table[num];//列选
delay(5);//延时
}}}【任务实施】#include<reg52.h>charcodetable[]={0x00,0x08,0x08,0x7E,0x18,0x14,0x24,0x43};//"大"字编码voiddelay(intz)//延时函数{intx,y;for(x=0;x<z;x++)for(y=0;y<110;y++);}#include<reg52.h>charcodetable[]={0x00,0x08,0x08,0x7E,0x18,0x14,0x24,0x43};//"大"字编码voiddelay(intz)//延时函数{intx,y;for(x=0;x<z;x++)for(y=0;y<110;y++);}voidmain(){intnum;while(1)//循环显示
{for(num=0;num<8;num++)//8行扫描P3行选,P2列选
{P3=num;//行选
P2=table[num];//列选
delay(5);//延时
}}}注意:由于此时如果用字模软件生成字模的话,按下图进行设置:【进阶提高】接下来,我们在前面所介绍知识的基础上,让8*8点阵轮流显示0-9,看看如何实现呢?字的滚动,实际上就是列取表的偏移量变化。例如,从右往左滚动,第一幅画面就是,前n列不亮,最后一列显示汉字最左边一列,第二幅画面就是,前n-1列不亮,汉字最左边2列亮。比如,一个8*8点阵,一个汉字8个模,偏移量0~7是一副画面,1~8是一副画面,2~9是一副画面。点阵滚动显示对应的程序代码如下:#include<reg52.h>unsignedcharcodedigittab[88]={//行选通0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,//00x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00,/*1*/0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00,/*2*/0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00,/*3*/0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,/*4*/0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00,/*5*/0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00,/*6*/0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00,/*7*/0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00,/*8*/0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00,/*9*/0x00,0x00,0x00,0x00//让9继续滚动完};unsignedcharcodetab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,};//列选通voiddelay(){unsignedintx,y;for(x=2;x>0;x--)for(y=123;y>0;y--);}voidmain(){unsignedchari=0,x=0,tcount=0;while(1){for(x=0;x<8;x++)//扫描显示出当前字样{P0=tab[x];P2=digittab[x+i];delay();}if(++tcount>20)//扫描20次{tcount=0;if(++i>=80)i=0;}}}任务二16*16点阵的使用【任务描述】在16*16点阵上先显示一个汉字,然后实现动态显示“欢迎光临!”【任务分析】由于Proteus中没有16*16点阵,需要自己制作(网上有制作好的16*16点阵元件,大家可以自行搜索下载),制作教程查阅本任务相关知识。先实现静态显示然后在实现动态显示。【相关知识】一、16*16点阵的制作首先打开Proteus,输入MATRIX-8×8,放置一8×8点阵,然后选中该点阵执行顺时针旋转90度。接着选中该点阵,右键单击,执行copytoCliboard,复制4份如图:引脚上添加标签,如图
接下来,可以把四个推挤,形成一个16*16点阵二、相关芯片介绍1.74HC595的使用74HC595具有8位移位寄存器和一个存储器,三态输出功能。具有移位寄存器和存储器有相互独立的时钟,其引脚如图14脚:SI,串行数据输入引脚。
英文全称是:Serialdatainput,顾名思义,就是串行数据输入口。595的数据来源只有这一个口,一次只能输入一个位,那么连续输入8次,就可以积攒为一个字节了。13脚:OE,
输出使能控制脚,它是低电才使能输出,所以接GND12脚:RCK,输出存储器锁存时钟线。上升沿时移位寄存器的数据进入存储寄存器(相当于通过引脚QA-QH输出数据),下降沿时存储寄存器数据不变。11脚:SCK,移位寄存器时钟引脚,上升沿时,移位寄存器中的bit数据整体后移,并接受新的bit,上升沿时数据寄存器的数据按QA-->QB-->QC-->...-->QH移动;下降沿移位寄存器数据不变。10脚:SCLR,低电平时,清空移位寄存器中已有的bit数据,一般不用,接高电平即可。9脚:串行数据出口引脚。当移位寄存器中的数据多于8bit时,会把已有的bit“挤出去”,就是从这里出去的。用于595的级联。Qx:并行输出引脚赛马其实就两步第一步:首先8匹马有“侧门”一匹一匹进入,待全部进入后,第二步:一声枪响“大门”打开,8匹马闻声出栏。
我们将每一匹马比作电脑里面的二进制位,公马为阳(1),母马为阴(0)。每当一匹马要从侧门进入马栏时,需打开侧门,这里的侧门锁就是“SCLR(10号)引脚”为1开门,为0关门,每一匹马进栏都必须先开门然后关门,进入前开,进入后关,循环八次开关门,八匹马就都进栏了,至于这个字节的值就看公母的排序了。当八匹马都进栏后,我们就立刻打开”大门“这里的大门锁就是“RCK(12号)引脚”为1开门,为0关门,当然打开后八匹马都跑出去了,就要立刻关上门了。2.74HC154简介只要控制端G1、G2任意一个为高电平,A、B、C、D任意电平输入都无效。G1、G2必须都为低电平才能操作芯片。【任务实施】程序代码:#include<reg52.h>sbitSH_CP=P2^0;sbitDS=P2^1;sbitST_CP=P2^2;unsignedcharcodedisplay[]={0x10,0x04,0x60,0x04,0x02,0x7E,0x8C,0x01,0x00,0x00,0x88,0x1F,0x88,0x08,0xFF,0x08,0x88,0x08,0x88,0x9F,0x00,0x60,0xFE,0x1F,0x22,0x42,0x22,0x82,0xFE,0x7F,0x00,0x00,/*"湖",0*/};voidhc595_senddat(unsignedchardat){ unsignedchari; for(i=0;i<8;i++) { DS=dat&0x80; SH_CP=1; SH_CP=0; dat<<=1; } }main(){ unsignedchari; SH_CP=0; ST_CP=0; while(1) { for(i=0;i<16;i++) { hc595_senddat(display[2*i+1]); hc595_senddat(display[2*i]); P3=i; ST_CP=1; ST_CP=0; } }}【进阶提高】16*16点阵中滚动显示“欢迎光临!”对应的程序代码如下:#include<reg52.h>sbitSH_CP=P2^0;sbitDS=P2^1;sbitST_CP=P2^2; unsignedcharcodedisplay[]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01,0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30,0x0F,0x0C,0xE8,0x03,0x08,0x0C,0x08,0x10,0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00,/*欢*/0x40,0x00,0x42,0x40,0x44,0x20,0xC8,0x1F,0x00,0x20,0xFC,0x47,0x04,0x42,0x02,0x41,0x82,0x40,0xFC,0x7F,0x04,0x40,0x04,0x42,0x04,0x44,0xFE,0x63,0x04,0x20,0x00,0x00,/*迎*/0x40,0x00,0x40,0x80,0x42,0x40,0x44,0x20,0x58,0x18,0xC0,0x07,0x40,0x00,0x7F,0x00,0x40,0x00,0xC0,0x3F,0x50,0x40,0x48,0x40,0x46,0x40,0x64,0x40,0x40,0x70,0x00,0x00,/*光*/0x00,0x00,0xFC,0x1F,0x00,0x00,0xFF,0xFF,0x40,0x00,0x20,0xFF,0x10,0x41,0x0C,0x41,0x2B,0x41,0x48,0x7F,0xC8,0x41,0x08,0x41,0x08,0x41,0x8C,0xFF,0x08,0x01,0x00,0x00,/*临*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x10,0xFE,0x3B,0xFE,0x3B,0x7C,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*!*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};voiddelay(unsignedxms){ unsignedi,j; for(i=0;i<xms;i++) for(j=0;j<120;j++);}voidhc595_senddat(unsignedchardat){ unsignedchari; for(i=0;i<8;i++) { DS=dat&0x80; SH_CP=1; SH_CP=0; dat<<=1; } }voidhc595_out(){ ST_CP=0; ST_CP=1; ST_CP=0;}voidclear_out(){ unsignedchari; SH_CP=0; for(i=0;i<16;i++) { hc595_senddat(display[2*i+1]); hc595_senddat(display[2*i]); P3=i; hc595_out();}}main(){ unsignedchari,j; unsignedintk=2; SH_CP=0; //ST_CP=0; while(1) {for(j=0;j<20;j++){ for(i=0;i<16;i++) { hc595_senddat(display[2*i+1+k]); hc595_senddat(display[2*i+k]); P3=i; hc595_out(); delay(3); }clear_out(); k+=2; if(k==288)k=0; } }}任务三16*64点阵的使用【任务描述】在16*64点阵上滚动显示“众创咖啡欢迎您!”,并实现串口对其显示内容动态更新。【任务分析】继续熟悉74HC595的级联使用,同时使用PC与单片机的通信方法,特别是十六进数的发送方法。【相关知识】一、51单片机数组的定义方法(code与data的作用)数组前不加“code”或“data”,则默认将数组存放在程序存储器中;code指定数据是存储在代码区,数据是在编程的时候跟代码一起写入代码存储器,运行过程中不能改变;xdata指定数据是存储在外部数据存储器了;data指定数据存储在内部低128字节数据存储器里,如果变量不指定存储位置,默认就是data型,这部分存储器寻址速度最快;idata指定数据存储在内部低256字节数据存储器里,但51只有128字节内部RAM,52才有256字节;pdata指定数据存储在外部低256字节数据存储器里,这时候寻址用8位寄存器R0和R1,而不用16位的DPTR,寻址速度比xdata快。单片机C语言unsignedcharcodetable[]code是什么作用?code的作用是告诉单片机,我定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,其实是相当与汇编里面的寻址MOVC(好像是),因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有data是存入RAM的意思。程序可以简单的分为code(程序)区,和data(数据)区,code区在运行的时候是不可以更改的,data区放全局变量和临时变量,是要不断的改变的,cpu从code区读取指令,对data区的数据进行运算处理,因此code区存储在什么介质上并不重要,像以前的计算机程序存储在卡片上,code区也可以放在rom里面,也可以放在ram里面,也可以放在flash里面(但是运行速度要慢很多,主要读flash比读ram要费时间),因此一般的做法是要将程序放到flash里面,然后load到ram里面运行的;DATA区就没有什么选择了,肯定要放在RAM里面,放到rom里面改动不了。二、用Proteus仿真C51时用到xdata时的问题在用Proteus仿真做一个程序,但是51的内存资源太过稀有,使用到较大的数组的时候资源很快就耗尽了,这时需要用到xdata大模式下编译。然而在Proteus下默认xdata是必须加上外扩ram才可运行的,需要对Proteus下的单片机的数据内存位图设置,如图:三、生产点阵字模的处理这里介绍另外一个字模软件,晓奇工作室液晶汉字字提取软件。取模方式纵向8点下高位,数据排列顺序选择低2项,从上到下,从左到右,然后单击参数确认。接下来,输入“众创咖啡欢迎您!”,得到其字模为:structtypFNT_GB16codeGB_16[]=//数据表{"众",0x00,0x40,0x00,0x20,0x40,0x10,0x40,0x0C,0x20,0x03,0x10,0x04,0x08,0x58,0x07,0x20,0x08,0x10,0x10,0x0C,0x20,0x03,0x60,0x0C,0x20,0x30,0x00,0x60,0x00,0x20,0x00,0x00,"创",0x80,0x00,0x40,0x00,0xF0,0x3F,0x4C,0x40,0x43,0x42,0x44,0x44,0xC8,0x43,0x10,0x70,0x30,0x00,0x00,0x00,0xF8,0x07,0x00,0x40,0x00,0x80,0xFF,0x7F,0x00,0x00,0x00,0x00,"咖",0x00,0x00,0xFC,0x1F,0x04,0x88,0xFC,0x4F,0x10,0x30,0xFF,0x0F,0x10,0x20,0x10,0x40,0xF8,0x3F,0x10,0x00,0xF8,0x7F,0x08,0x20,0x08,0x20,0xFC,0x7F,0x08,0x00,0x00,0x00,"啡",0x00,0x00,0xFC,0x1F,0x04,0x08,0x04,0x08,0xFE,0x1F,0x8C,0x10,0x88,0x10,0x88,0x10,0xFF,0xFF,0x00,0x00,0x00,0x00,0xFF,0xFF,0x88,0x10,0xCC,0x18,0x88,0x10,0x00,0x00,"欢",0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01,0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30,0x0F,0x0C,0xE8,0x03,0x08,0x0C,0x08,0x10,0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00,"迎",0x40,0x00,0x42,0x40,0x44,0x20,0xC8,0x1F,0x00,0x20,0xFC,0x47,0x04,0x42,0x02,0x41,0x82,0x40,0xFC,0x7F,0x04,0x40,0x04,0x42,0x04,0x44,0xFE,0x63,0x04,0x20,0x00,0x00,"您",0x40,0x40,0x20,0x30,0x10,0x00,0xFC,0x77,0x23,0x80,0x10,0x81,0x8C,0x88,0x67,0x92,0x04,0xB4,0xF4,0x83,0x04,0x80,0x44,0xE0,0x94,0x00,0x8C,0x11,0x00,0x60,0x00,0x00,"!",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x10,0xFE,0x3B,0xFE,0x3B,0x7C,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};把此数组内的内容复制到Notepad++软件中,进行批量替换处理。【任务实施】16*64点阵驱动电路对应的程序代码如下:#include<reg52.h>sbitSH_CP=P2^0;sbitDS=P2^1;sbitST_CP=P2^2;unsignedcharcodedisplay[]={0x00,0x40,0x00,0x20,0x40,0x10,0x40,0x0C,0x20,0x03,0x10,0x04,0x08,0x58,0x07,0x20,0x08,0x10,0x10,0x0C,0x20,0x03,0x60,0x0C,0x20,0x30,0x00,0x60,0x00,0x20,0x00,0x00,/*"众",0*/0x80,0x00,0x40,0x00,0xF0,0x3F,0x4C,0x40,0x43,0x42,0x44,0x44,0xC8,0x43,0x10,0x70,0x30,0x00,0x00,0x00,0xF8,0x07,0x00,0x40,0x00,0x80,0xFF,0x7F,0x00,0x00,0x00,0x00,/*"创",1*/0x00,0x00,0xFC,0x1F,0x04,0x88,0xFC,0x4F,0x10,0x30,0xFF,0x0F,0x10,0x20,0x10,0x40,0xF8,0x3F,0x10,0x00,0xF8,0x7F,0x08,0x20,0x08,0x20,0xFC,0x7F,0x08,0x00,0x00,0x00,/*"咖",2*/0x00,0x00,0xFC,0x1F,0x04,0x08,0x04,0x08,0xFE,0x1F,0x8C,0x10,0x88,0x10,0x88,0x10,0xFF,0xFF,0x00,0x00,0x00,0x00,0xFF,0xFF,0x88,0x10,0xCC,0x18,0x88,0x10,0x00,0x00,/*"啡",3*/};voidhc595_senddat(unsignedchardat){ unsignedchari; for(i=0;i<8;i++) { DS=dat&0x80; SH_CP=1; SH_CP=0; dat<<=1; } }main(){ unsignedchari; charj; SH_CP=0; ST_CP=0; while(1) { for(i=0;i<16;i++) { for(j=3;j>=0;j--) { hc595_senddat(display[32*j+2*i+1]); hc595_senddat(display[32*j+2*i]); } P3=i; ST_CP=1; ST_CP=0; } }}【进阶提高】在18*64点阵上滚动显示“众创咖啡欢迎您!”,且由串口实现动态更新。16*64点阵串口动态更新对应程序代码如下:#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitSH_CP=P2^0;sbitDS=P2^1;sbitST_CP=P2^2;#defineN256ucharx;charxdatatable[N];uintcnt=0;uintRecStart=0,chaoshi=0,sendone=0;//接收开始标志位ucharsendFlag=0;//未发送数据时ucharreceFlag=0;//未接受到数据时uinti=0,j;/*****************************
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025方供货合同协议书正规版样书
- 二零二五年度成都高空广告安装公司高空广告设施施工合同4篇
- 二零二五年度材料垫资工程结算合同2篇
- 二零二五年度高端不锈钢门定制采购合同细则1500字3篇
- 2025年度水电工程节能改造安装合同4篇
- 主播合同范本(2024版)
- 二零二五年度多功能储罐设计与建造合同4篇
- 2025年度信用卡额度出借及还款合同4篇
- 二零二五年度大型餐饮活动厨师临时雇佣合同3篇
- 二零二五年度体育设施场地租赁合同终止及赛事组织协议3篇
- 完整版秸秆炭化成型综合利用项目可行性研究报告
- 油气行业人才需求预测-洞察分析
- 《数据采集技术》课件-Scrapy 框架的基本操作
- (2024)河南省公务员考试《行测》真题及答案解析
- 围城读书分享课件
- 2025年河北省单招语文模拟测试二(原卷版)
- 工作计划 2025年度医院工作计划
- 高一化学《活泼的金属单质-钠》分层练习含答案解析
- DB34∕T 4010-2021 水利工程外观质量评定规程
- 2024年内蒙古中考英语试卷五套合卷附答案
- 2024年电工(高级)证考试题库及答案
评论
0/150
提交评论