




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
漳州师范学院漳州师范学院 简易万年历的设计 姓 名: 学 号: 系 别: 物理与电子信息工程系 专 业: 电子信息科学与技术 年 级: 10 级 指导教师: 白炳良 2013 年 6 月 目录目录 1. 设计任务.5 1.1 设计任务.5 1.2 设计要求.6 2.设计方案6 2.1 设计思路 .6 2.2 方案比较与论证 .6 2.2.1 数码管显示模块.6 2.2.2 温度传感器的选择.6 2.2.3 时钟计时的选择.7 2.3 系统结构框图 .7 3.各功能模块设计.8 3.1 显示模块原理 .8 3.2 参数计算.9 3.3 独立式按键模块.9 3.4 时钟模块.10 3.4.1 ds1302特性介绍10 3.4.2 ds1302引脚介绍10 3.4.3 ds1302有关日历、时间的寄存器10 3.4.4 ds1302控制字介绍.11 3.4.5 ds1302单字节读写时序介绍.11 3.4.6 ds1302操作指令介绍.12 3.4.7 ds1302与单片机接口电路.13 3.5 温测模块.13 3.5.1 单总线介绍.13 3.5.2 ds18b20特性介绍13 3.5.3 ds18b20管脚介绍14 3.5.4 ds18b20内部结构.14 3.5.5 ds18b20温度转化示例.14 3.5.6 ds18b20时序介绍.15 3.5.7 ds18b20操作步骤.16 3.5.8 ds18b20与单片机的接口电路.17 3.6 总系统原理图.17 4.软件设计.18 4.1 i/o 口分配.18 4.2 按键扫描.18 5.流程图.19 5.1 主程序流程图 .19 5.2 work0 模块流程图.19 5.3 work1 模块流程图.20 5.4 work2 模块流程图.20 5.5 获取温度子程序流程图.21 5.6 按键扫描.22 5.7 中断服务子程序.22 5.8 显示方式 122 5.9 初始化 ds1302 子程序流图23 5.10 温显模块子程序流图.24 5.11 读取时间模块子程序流图.24 6.程序代码.25 6.1 主程序部分.25 6.2 包含文件部分.33 6.3 包含文件部分35 7.调试要点.43 7.1 硬件调试.43 7.2 软件调试.43 7.3 结果分析及设计工作总结.43 8.参考文献及附件.43 8.1 参考文献.43 8.2 元器件清单.44 8.3 pcb 版图.44 8.4 实物图 正面.45 8.5 实物图 背面.45 摘要摘要:单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。单 片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应 用系统。将它嵌入到形形色色的应用系统中,就构成了众多产品、设备的智能 化核心。本设计就是应用单片机强大的控制功能制作而成的电子万年历,该电 子万年历包括两大功能:可显示年、月、日、时、分;实时监测环境温度(具 有超低温的报警功能,且报警的上下限值可由用户自定义设置),。 关键字关键字:单片机,ds18b20,ds1302,共阳数码管. 1. 设计任务设计任务 1.1 设计任务设计任务 利用单片机、时钟芯片 ds1302、温度传感器 ds18b20、数码管等 实现日期、时间、温度的显示,即一个简单的万年历。 1.2 设计要求设计要求 1. 通过 ds1302 计时,时间可调并在数码管上显示出来。 2. 通过 ds18b20 检测当前环境温度,精读为 0.5。 3. 具有超温报警功能 2.设计方案 2.1 设计思路设计思路 本设计由 ds18b20 作为温度检测的核心,检测一次当前温度所 耗费的时间大约在 100ms750ms 之间,随着检测精度的增加,耗费 时间在方位内逐渐增加,所以利用软件延时的方法来实现温检,并且 具有超温和低温的报警功能,其温度报警的上下限值可根据用户喜好 进行更改;时钟部分使用专用计时芯片 ds1302,可精确显示年、月、 日、时、分、秒; 2.2 方案比较与论证方案比较与论证 2.2.1 数码管显示模块数码管显示模块 方案一:单片机输出数据经译码芯片 cd4511 进行译码后直接驱动 数码管,数码管公共端接 9012 三极管扩流,并通过单片机 i/o 口控制三 极管的选通,实现动态显示。 方案二:有单片机的 i/o 口直接驱动数码管的段码,数码管的公共端 接 9012 三极管,通过灌电流的方式点亮数码管,也需通过单片机 i/o 口 控制三极管的选通,实现动态显示。 由于所需 i/o 口由 at98s52 可直接提供,无须因为 i/o 口不够而用 cd4511 来节省 i/o 口,方案二又较方案一更容易实惠,所以,我选择方案二。 2.2.2 温度传感器的选择温度传感器的选择 方案一:采用热敏电阻作为检测温度的核心元件,由于热敏电阻会 随温度变化而变化,进而其阻值发生变化,再经 555 振荡器变化的脉冲 数传递给单片机进行处理。 方案二:采用数字式的集成温度传感器 ds18b20 作为温度检测的核 心元件,由其检测并直接输出数字温度信号给单片机进行处理。 对于方案一,采用热敏电阻作为温度检测元件,有价格便宜,元件 易购的优点,但热敏电阻对温度的细微变化不太敏感,并且由于热敏电 阻的 r-t 关系的非线性,其自身电阻对温度的变化存在较大误差,而且 在人体所处环境温度变化过程中难以检测到小的温度变化。但作为本次 设计虽已能满足基本要求,但为了更深入的学习,所以放弃该方案。 对于方案二,由于数字式集成温度传感器 ds18b20 的高度集成化, 大大降低了外接放大转化等电路的误差因数,温度误差变得很小,并且 由于其检测温度的原理与热敏电阻检测的原理有着本质的不同,使得其 温度分辨力极高。温度值在器件内部转化成数字量直接输出,简化了系 统程序设计,又由于该温度传感器采用先进的单总线技术,与单片机的 接口变得非常简洁,抗干扰能力强,虽然芯片原理复杂,但是可以对时 序的理解更深入一步,所以选择此方案。 2.2.3 时钟计时的选择时钟计时的选择 方案一:at89s52 单片机内部带有定时/计数功能,此定时功能是通 过对外部晶振的脉冲进行计数,从而达到计时功能,只要使用 11.0592 的晶振就能实现零误差的计时,因此可以利用此功能实现计时,但因为 只有单一的计时功能要实现“万年历”的功能需要较复杂的程序,而且 如果单片机掉电无法继续进行计时,所以使用不便。 方案二:ds1302 是美国 dallas 公司推出的一种高性能、低功耗的实时时 钟芯片,附加 31 字节静态 ram,采用 spi 三线接口与 cpu 进行通信, 并可采用突发方式一次传送多个字节的时钟信号和 ram 数据。实时时 钟可提供秒、分、时、日、星期、月和年,一个月小与 31 天时可以自动 调整,且具有闰年补偿功能。工作电压宽达 2.55.5v。采用双电源供电 (主电源和备用电源) ,可设置备用电源充电方式,提供了对后备电源进 行涓细电流充电的能力。利用单片机强大的控制功能就可实现实时计时 的功能,而且消耗的系统资源少,程序简单。 综合上述两种方案,宜采用方案二实现实时计时功能。 2.3 系统结构框图系统结构框图 at89s52 单片机在模式键、设置键的控制下,由 p0 口输出数据, 通 过 p2.0 、p2.1、p2.2、p2.3 进行选通,用数码管显示信息。 系统框图: 图 2-3 系统总框图 3.各功能模块设计各功能模块设计 3.1 显示模块显示模块原理原理 由单片机(at89s52)的引脚 p0 口输出温度、时间等数据信息,通过 片选信号 p2.0 、p2.1、p2.2、p2.3 就可在相应的数码管进行显示。当位 选信号 p2.0 为低电平时,p1 口送出数据也为低电平就点亮数码管,电流 灌进单片机。多位 led 显示,为了简化电路,降低成本,将所有位的段 选线并联在一起,由一个 8 位 i/o 口控制。而共阳极公共端分别接一个 9012,由相应的 i/o 口线控制 9012,实现各位数码管的分时选通。段选 码,位选码每送入一次后延时 5ms,因人的视觉暂留时间为 0.1s(100ms) ,所以每位显示的时间不能超过 20ms,并保持延时一段 时间,以造成视觉暂留效果,给人看上去每个数码管总在亮。电路如 (图 3-1)所示。 由于采用的是共阳极数码管,所以要让段码点亮需把 i/o 口置 0, 例如:段码 a 到 h 对应的 i/o 口是 p0.0 到 p0.7,则要让数码管显示 0 到 9 对应的 16 进值如图 3-2 所示 at89s52 键盘 18b20 ds1302 晶振 数码管 蜂鸣器 led 电源 q 0 90 12 q 1 90 12 q 2 90 12 q 3 90 12 a b r 047 0 r 147 0 r 247 0 r 347 0 r 447 0 r 547 0 r 647 0 r 747 0 v ccv ccv ccv cc r 84k 7r 94k 7r 10 4k 7 r 11 4k 7 p 00 p 01 p 02 p 03 p 04 p 05 p 06 p 07 c d e f g h a b c d e f g h a b c d e f g h a b c d e f g h c s0c s1c s2c s3 位位位位位位 a bf c g d e dp a 7 b 6 c 4 d 2 e 1 f 9 g 10 dp 5 com 3 com 8 sh u1 sm 4 11 00 6 a bf c g d e dp a 7 b 6 c 4 d 2 e 1 f 9 g 10 dp 5 com 3 com 8 sh u2 sm 4 11 00 6 a bf c g d e dp a 7 b 6 c 4 d 2 e 1 f 9 g 10 dp 5 com 3 com 8 sh u3 sm 4 11 00 6 a bf c g d e dp a 7 b 6 c 4 d 2 e 1 f 9 g 10 dp 5 com 3 com 8 sh u4 sm 4 11 00 6 a b c d e f g h 图 3-1 显示电路 图 3-2 码表 3.2 参数计算参数计算 由于 i/o 口高电平约等于 5v,使用灌电流的方式驱动数码管,故选 用 pnp 型三极管 9012;数码管能正常工作的段电流为 3ma-10 ma,压 降为 1.7v,三极管发射极和集电极的压降为 0.3v,因此限流电阻的压 降为 3.0v, 所以选用限流电阻的阻值 r=470 欧. 3.3 独立式按键模块独立式按键模块 独立式按键是直接用 i/o 口线构成的单个按键电路,其特点是每个 hgfedcba16 进制 0110000000xc0h 1111110010xf9h 2101001000xa4h 3101100000xb0h 4100110010x99h 5100100100x92h 6100000100x82h 7111110000xf8h 8100000000x80h 9100100000x90h c110001100xc6h -101111110xbfh l110001110xc7h h100010010x89h 500 10 5 ma v r 按键单独占用一根 i/o 口线,每个按键的工作不会影响其它 i/o 口线的 状态。独立式按键的典型应用如(图 3-3)所示。 独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一 根 i/o 口线,因此,在按键较多时,i/o 口线浪费较大,但本设计只用到 四个按键,顾采用独立式按键电路。 k 0 k 1 k 2 k 3 p 24 p 25 p 26 p 27 位位位位 图 3-3 独立式按键电路 3.4 时钟模块时钟模块 ds1302 通过三根口线实现与单片机的通信,因 ds1302 功耗很小, 即使电源掉电后通过 3v 的纽扣电池仍能维持 ds1302 精确走时。 3.4.1 ds1302 特性介绍特性介绍 ds1302 是美国 dallas 公司推出的一种高性能、低功耗的实时时 钟芯片,附加 31 字节静态 ram,采用 spi 三线接口与 cpu 进行通信, 并可采用突发方式一次传送多个字节的时钟信号和 ram 数据。实时时 钟可提供秒、分、时、日、星期、月和年,一个月小与 31 天时可以自动 调整,且具有闰年补偿功能。工作电压宽达 2.55.5v。采用双电源供电 (主电源和备用电源) ,可设置备用电源充电方式,提供了对后备电源进 行涓细电流充电的能力。 3.4.2 ds1302 引脚介绍引脚介绍 各引脚的功能为: 1、vcc2:5v 电源。当 vcc2vcc1+0.2v 时,由 vcc2 向 ds1302 供电, 当 vcc2 /52 单片机头文件 #include /52 单片机头文件 #include #include /52 单片机头文件 #define sm_port p0 /输出口定义 #define uint unsigned int #define uchar unsigned char uchar code table=0xc0,0xf9,0xa4,0xb0,0x99, /0,1,2,3数码管 /断码表,16 关,17h,18,19l 0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1, 0x86,0x8e,0xff,0x89,0xbf,0xc7; uchar lbj_buf0,lbj_buf1,hbj_buf0,hbj_buf1; uchar h2_weishan,l2_weishan; uchar r0,delay_mode; uchar msta,bj_l,bj_h,cnt1,cnt; void rdkey() p2=0xff; /扫描第 0 行(row0),即 k0-k3 键 r0=p2; r0=r0; r0 /将读取到的 k0-k3 键值保存于 key0 的低四位 if(r0!=key0) /判断是否有键按下 tr0=1; ekey0=key0; /时间未到,沿用原来保留的键值 else /未有键按下 tr0=0; ekey0=0x00; ekey0=r0 /提取键前沿 key0=r0; void disp () uchar i; for(i=0;i=bj_h|temp16h部分部分 #ifndef _ds18b20_h_ #define_ds18b20_h_ #define uint unsigned int /宏定义 #define uchar unsigned char /宏定义 sbit ds18b20_dq=p31; uchar a1,a2,a3; uchar temp_l,temp_h; /用于读取 18b20 中温度 /的高 8 位和低八位数值 uchar tempint,tempdf,temp16h; /温度整数部分和小数部分 void delay_us(uchar i) /延时时间为 2*i 微秒; while(-i); void init_ds18b20() ds18b20_dq=1; /先将数据线置高电平 1 delay_us(1); /稍微延时 ds18b20_dq=0; /先将数据线置低电平 0 delay_us(250); /延时 500us,该时间范围可以在 480960us /之间 ds18b20_dq=1; /数据线拉到高电平 1 delay_us(30); /延时等待,如果初始化成功则在 1560us /内由 18b20 产生一个低电平 0 if(ds18b20_dq=0) /如果 18b20 存在 delay_us(240); /再延时 480us void write_ds18b20_data(uchar value) uchar i; for(i=0;i=1; /数据右移位 ds18b20_dq=1; uchar read_ds18b20_data() uchar i; uchar dat; for(i=0;i=1; /数据右移位 ds18b20_dq=0; delay_us(1); ds18b20_dq=1; /数据线置低电平 delay_us(4); /延时 7us if(ds18b20_dq) dat|=0x80; /一位一位地读取数据,对 18b20 /来说要,写数据也是由低位到高 位 delay_us(25); return dat; void get_temperature() /温度转换、获得温度子程序 init_ds18b20(); /初始化 ds18b20 write_ds18b20_data(0xcc); /发跳过 rom 匹配命令 write_ds18b20_data(0x44); /发温度转换命令 init_ds18b20(); /初始化 ds18b20 write_ds18b20_data(0xcc); /发跳过 rom 匹配命令 write_ds18b20_data(0xbe); /发出读温度命令 temp_l=read_ds18b20_data(); /读取到的第一个字节为 温 /度 lsb temp_h=read_ds18b20_data(); /读取到的第二个字节 /为温度 msb tempdf=temp_l /将读取的数据转换成温度 /值,整数部分存 tempint,小数部分存 tempdf temp_l=4; temp_h=8)tempdf=5; /0.5 度精度显示 else tempdf=0; a3 = tempint/10; /十位 a2 = tempint%10; /个位 a1 = tempdf; temp16h=(a3部分部分 #ifndef _ds1302_h_ #define_ds1302_h_ #define uint unsigned int /宏定义 #define uchar unsigned char /宏定义 sbit ds1302_clk=p32; sbit ds1302_io=p33; sbit ds1302_rst=p34; uchar bdata key0; uchar bdata ekey0; sbit cs0=p20; sbit cs1=p21; sbit cs2=p22; sbit cs3=p23; sbit fmq=p30; /定义蜂鸣器和 led 灯 sbit point=p07; /定义数码管小数位 sbit k0=key04; sbit k1=key05; sbit k2=key06; sbit k3=key07; sbit ek0=ekey04; sbit ek1=ekey05; sbit ek2=ekey06; sbit ek3=ekey07; sbit acc0=acc0; sbit acc7=acc7; uchar second,minute,hour,day,week,month,year; uchar second_buf,minute_buf,hour_buf,day_buf,week_buf,month_buf,year_buf; uchar tztime_flag1; uchar second_buf1,minute_buf1,hour_buf1,day_buf1,week_buf1,month_buf1,ye ar_buf1; uchar r0,msta,fl_300,dsw,fh_300,buf0,buf1,buf2,buf3,dsw,point_flag; uchar mode,f500,f300,k,msta1; void ds1302writebyte(uchar dat) uchar i; acc=dat; for(i=8;i0;i-) ds1302_io=acc0; ds1302_clk=1; ds1302_clk=0; acc=1; uchar ds1302readbyte() uchar i; for(i=8;i0;i-) acc=1; acc7=ds1302_io; ds1302_clk=1; ds1302_clk=0; return acc; void ds1302write(uchar cmd,uchar dat) ds1302_rst=0; ds1302_clk=0; ds1302_rst=1; ds1302writebyte(cmd); ds1302writebyte(dat); ds1302_clk=1; ds1302_rst=0; uchar ds1302read(uchar cmd) uchar dat; ds1302_rst=0; ds1302_clk=0; ds1302_rst=1; ds1302writebyte(cmd|0x01); dat=ds1302readbyte(); ds1302_clk=1; ds1302_rst=0; return dat; void ds1302_gettime() uchar readvalue; readvalue=ds1302read(0x80); second=(readvalue readvalue=ds1302read(0x82); minute=(readvalue readvalue=ds1302read(0x84); hour=(readvalue readvalue=ds1302read(0x86); day=(readvalue readvalue=ds1302read(0x8a); week=(readvalue readvalue=ds1302read(0x88); month=(readvalue readvalue=ds1302read(0x8c); year=(readvalue void initial_ds1302() if(tztime_flag1) ds1302write(0x8e,0x00); /写保护关,将 8e 单元置为 00, 将/wp 位写 0 /写年,月,日,星期 如: /2008.06.09.01 ds1302write(0x8c,year_buf); /向年寄存单元写初始年份 08 ds1302write(0x88,month_buf); /向月份寄存单元写初始 /月份 06 ds1302write(0x86,day_buf); /向日寄存单元写初始日 09 ds1302write(0x8a,week_buf); /向星期寄存单元写初始星 期/01 /写时间,如:23:59:55 ds1302write(0x84,hour_buf); ds1302write(0x82,minute_buf); ds1302write(0x80,second_buf); ds1302write(0x8e,0x80); /禁止写入 tztime_flag1=0;/将允许修改时间的标志位清零,带下 次/主程序循环中,不执行该子程序,知道该标志位被允许为 1 时,才唤 醒/该子程序 void time_show() buf1=minute/10;/走时模块,显示时间 buf0=minute%10; buf3=hour/10; buf2=hour%10; f500+; if(f500=100) f500=0; fmq=fmq; void hour_set() /时间修改模块,修改小时 fl_300=0; if(f300=60) fh_300=fh_300; f300=0; if(ek3) hour_buf1+=1; if(hour_buf1=24)hour_buf1=0; if(ek2) hour_buf1-=1; if(hour_buf1=-1)hour_buf1=23; buf3=hour_buf1/10; buf2=hour_buf1%10; buf1=minute_buf1/10; buf0=minute_buf1%10; hour_buf=(buf3 /将修改后的值转换成 /bcd 码 void minute_set()/时间修改模块,修改分钟 fh_300=0; if(f300=60) fl_300=fl_300; f300=0; if(ek3) minute_buf1+=1; if(minute_buf1=60)minute_buf1=0; if(ek2) minute_buf1-=1; if(minute_buf1=-1)minute_buf1=59; buf1=minute_buf1/10; buf0=minute_buf1%10; minute_buf=(buf1 /将修改后的值转换成 /bcd 码 void month_show() buf1=day/10; /走时模块,显示月份 buf0=day%10; buf3=month/10; buf2=month%10; fmq=1; void month_set() /月份修改模块,修改月 fl_300=0; if(f300=60) fh_300=fh_300; f300=0; if(ek3) month_buf1+=1; if(month_buf1=13)month_buf1=0; if(ek2) month_buf1-=1; if(month_buf1=-1)month_buf1=12; buf3=month_buf1/10; buf2=month_buf1%10; buf1=day_buf1/10; buf0=day_buf1%10; month_buf=(buf3 /将修改后的值转换成 /bcd 码 void day_set() /月份修改模块,修改日 fh_300=0; if(f300=60) fl_300=fl_300; f300=0; if(ek3) day_buf1+=1; if(day_buf1=32)day_buf1=0; if(ek2) day_buf1-=1; if(day_buf1=-1)day_buf1=31; buf1=day_buf1/10; buf0=day_buf1%10; day_buf=(buf1 /将修改后的值转 /换成 bcd 码 void year_show() /走时模块,显示年份 buf1=year/10; buf0=year%10; buf3=2; buf2=0; fmq=1; void year_set() /年份修改模块,修改年 fh_300=0; if(f300=60) fl_300=fl_300; f300=0; if(ek3) year_buf1+=1; if(year_buf1=100)year_buf1=0; if(ek2) year_buf1-=1; if(year_buf1=-1)year_buf1=99; buf1=year_buf1/10; buf0=year_buf1%10; buf3=2; buf2=0; year_buf=(buf1 /将修改后的值转换成 /bcd 码 void week_show() /走时模块,显示星期 buf1=week/10; buf0=week%10; buf3=16; buf2=16; fmq=1; void week_set() /星期修改模块,修改星期 fh_300=0; if(f300=60) fl_300=fl_300; f300=0; if(ek3) week_buf1+=1; if(week_buf1=100)week_buf1=0; if(ek2) week_buf1-=1; if(week_buf1=-1)week_buf1=99; buf1=week_buf1/10; buf0=week_buf1%10; buf3=16; buf2=16; week_buf=(buf1 /将修改后的值转换 /成 bcd 码 void set_begin()/开始进行时间设置的预准备工作 minute_buf1=minute;/将当前有关时间的左右信息寄存 /到 xxxx_buf1 中 hour_buf1=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脑干出血术后护理查房
- 山西省晋源区第七小学2025年三年级数学第二学期期末经典模拟试题含解析
- 四川音乐学院《设计素描(1)》2023-2024学年第二学期期末试卷
- 中央司法警官学院《文化哲学》2023-2024学年第二学期期末试卷
- 襄樊市南漳县2025届数学五下期末教学质量检测试题含答案
- 辽宁理工学院《化工应用软件实践》2023-2024学年第二学期期末试卷
- 浙江理工大学《商务英语写作(二)》2023-2024学年第二学期期末试卷
- 重庆护理职业学院《数据结构》2023-2024学年第二学期期末试卷
- 延安大学《数据分析与数据挖掘》2023-2024学年第二学期期末试卷
- 娄底职业技术学院《导演学》2023-2024学年第二学期期末试卷
- 常见内科疾病护理要点试题及答案
- 2025年江苏建筑职业技术学院高职单招(数学)历年真题考点含答案解析
- 2025-2030中国冷轧钢板行业市场发展现状及发展趋势与投资前景研究报告
- 矿山雨季生产安全知识培训
- 配电工程施工方案
- 数学-湖南省2025届高三下学期“一起考”大联考(模拟二)试题+答案
- 封神榜讲解课件
- 2025年中国计量器具市场调查研究报告
- 中央2025年中国信息安全测评中心招聘31人笔试历年参考题库附带答案详解
- 2025年吉林铁道职业技术学院单招职业倾向性考试题库必考题
- 《正定矩阵的应用分析》1400字
评论
0/150
提交评论