版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AT89S51单片机的定时器和计数器从硬件原理到编程实战的系统讲解Contents课程目录AT89S51单片机的定时器和计数器——从基础概念到实战应用的完整学习路径。01定时器/计数器基础概念02AT89S51定时器硬件结构03四种工作模式详解04编程初始化与中断处理05典型应用案例实战06进阶技巧与调试方法CHAPTER01定时器/计数器基础概念理解可编程计数器的本质与两种工作模式的差异Fundamentals什么是定时器/计数器定时器/计数器是微控制器内部的可编程计数寄存器模块,本质是加法计数器,通过硬件自动完成计时或计数任务而无需CPU持续干预,当计数值达到预设最大值时触发溢出中断信号。AT89S51·DIP-40封装01脉冲检测与自增—核心是加法计数器,对输入脉冲的上升沿或下降沿进行检测,每检测到一个有效跳变沿寄存器数值自动加102硬件独立完成—计数过程由硬件独立完成,CPU只需设置初始值和控制位,无需轮询等待,极大提升系统效率03溢出触发中断—当计数器累加到最大值产生溢出时,硬件自动置位中断标志位TFx,可通过中断或查询方式获知溢出事件04T0/T1双模块—AT89S51内置两个16位定时器/计数器T0和T1,是8051架构中最核心的外设模块之一AT89S51·定时器/计数器定时模式与计数模式的核心差异定时器与计数器硬件结构相同,核心区别在于脉冲信号来源:定时模式由内部系统时钟驱动实现精确时间控制,计数模式由外部引脚脉冲驱动实现事件统计,两者本质都是加法计数器。定时模式与计数模式对比对比维度定时模式(Timer)计数模式(Counter)输入信号源内部系统时钟(晶振提供)外部引脚输入脉冲(T0/P3.4或T1/P3.5)信号频率已知且固定(fosc/12)未知,取决于外部事件核心功能产生精确的固定时间间隔统计外部事件的发生次数典型应用延时控制、PWM波形、波特率发生流量计、转速测量、产品计数计数触发每个机器周期自动加1检测到外部引脚负跳变时加1定时与计数模式的根本区别在于脉冲来源——内部时钟实现时间控制,外部信号实现事件统计HardwareCounter加法计数器的硬件工作原理计数器核心由脉冲触发判断电路和触发器级联电路组成,前者识别有效计数脉冲并滤除干扰,后者通过D触发器级联实现二进制加法计数,溢出时最后一个触发器的1→0翻转产生进位信号。脉冲触发判断电路每个机器周期监测引脚电平,连续检测到高→低跳变才判定为有效计数脉冲,有效滤除毛刺干扰。高→低跳变触发器级联电路每个D触发器的时钟端接前一级的输出,脉冲到来时逐级翻转实现二进制加法计数。逐级翻转2位计数与溢出00→01→10→11→00,第4个脉冲使所有位归零,最后触发器1→0翻转产生溢出信号。4脉冲归零寄存器状态同步触发器状态通过电平直连同步到CPU可寻址的THx和TLx寄存器,CPU可实时读取或写入初始值。THx/TLx定时/计数原理溢出机制与定时时间计算计数器累加到最大值后再加1产生溢出归零,溢出所需时间等于(最大值−初值+1)×脉冲周期。通过设置不同初值可精确控制定时长度,这是定时器实现时间控制的数学基础。01溢出触发条件8位计数器最大值255(0xFF),16位最大值65535(0xFFFF),累加到最大值后再输入一个脉冲即产生溢出归零,触发硬件中断响应0xFFFF02定时公式定时时间=(最大值−初始值+1)×脉冲周期,初值越小定时越长,初值越大定时越短,灵活设置初值实现精确时间控制T=N×t03典型实例12MHz晶振:机器周期1μs,16位模式最大定时65536μs≈65.5ms,如需更长定时需软件多次溢出累加,扩展定时范围65.5ms04溢出响应溢出时硬件自动将TCON寄存器中的TFx标志位置1,CPU可通过中断或查询方式响应此事件,执行相应的定时处理程序TFx=1APPLICATIONSCENARIOS定时器/计数器的工程应用场景定时器/计数器是嵌入式系统中应用最广泛的外设模块之一,覆盖了测控系统的大部分时间相关需求。定时功能应用精确延时控制为LED闪烁、按键消抖、数码管扫描等提供可靠的时间基准,替代不精确的软件循环延时时间基准PWM波形生成通过调节占空比实现直流电机调速、LED亮度调节、舵机角度控制等功能占空比波特率发生器为UART串口通信提供精确时钟信号,模式2的自动重载特性使其特别适合此场景UART计数功能应用工业脉冲计数生产线产品计数、流量计脉冲累积、编码器位置检测等工业自动化场景工业自动化频率与转速测量统计单位时间内的脉冲数计算信号频率,或测量旋转机械的转速RPM事件触发统计记录外部事件发生次数,如按键按下次数、报警触发次数等监控应用事件监控CHAPTER02AT89S51定时器硬件结构深入理解T0/T1的寄存器架构与控制逻辑TIMER/COUNTERAT89S51定时器寄存器架构总览AT89S51配备两个16位定时器/计数器T0和T1,每个由THx和TLx两个8位寄存器组成,通过TMOD方式寄存器配置工作模式,通过TCON控制寄存器实现启停控制和溢出状态管理。01T0由TH0(8CH)和TL0(8AH)组成,T1由TH1(8DH)和TL1(8BH)组成,均可直接读写02TMOD(89H)为方式控制寄存器,分别设置T0和T1的工作模式(0-3)和功能选择(定时/计数)03TCON(88H)为控制寄存器,包含TR0/TR1启停控制位和TF0/TF1溢出标志位,支持位寻址操作0416位计数值由THx作高8位、TLx作低8位拼接而成,编程时需分别赋值,不能作为一个整体16位寄存器操作AT89S51单片机开发板实物RegisterArchitectureTMOD方式寄存器详解TMOD寄存器(地址89H)分高低两组各4位,分别控制T1和T0。每组包含GATE门控位、C/T功能选择位和M1M0模式选择位,通过组合配置实现定时/计数选择和四种工作模式切换。TMOD寄存器位定义(D7→D0)位名称归属功能说明D7/D3GATET1/T0门控位:0=仅TRx控制启停;1=TRx且INTx引脚为高时才运行D6/D2C/TT1/T0功能选择:0=定时器模式(内部时钟);1=计数器模式(外部脉冲)D5/D1M1T1/T0模式选择高位:与M0组合决定工作模式D4/D0M0T1/T0模式选择低位:00=模式0,01=模式1,10=模式2,11=模式3GATE门控决定定时器启停是否受外部INTx引脚电平约束,实现硬件门控触发。ExternalGateC/T功能选择切换内部时钟驱动的定时器模式与外部脉冲驱动的计数器模式。Timer/CounterM1M0模式选择两位组合定义四种工作模式:13位、16位、8位自动重载及双独立计数器。Mode0–3TIMER/COUNTERTCON控制寄存器详解TCON寄存器(地址88H,可位寻址)包含定时器的运行控制位TRx和溢出标志位TFx,TRx用于软件启停定时器,TFx在计数器溢出时由硬件自动置位,是CPU判断定时/计数完成的依据。运行控制位TR0/TR1TR0(位84H)和TR1(位8CH)为运行控制位,软件置1启动对应定时器,清0停止计数,操作方式直观灵活。84H/8CH溢出标志位TF0/TF1TF0(位85H)和TF1(位8DH)为溢出标志位,计数器从最大值溢出时硬件自动置1,通知CPU定时/计数完成。85H/8DH中断与查询清除中断方式下CPU响应后硬件自动清除TFx;查询方式下需软件手动执行TFx=0清零,否则重复触发。自动/手动位寻址操作TCON支持位寻址,可用sbit定义后直接赋值(如TR0=1),也可通过整体赋值同时操作多个控制位。88HCHAPTER03四种工作模式详解从13位到自动重载,掌握每种模式的硬件结构与适用场景TIMERMODE0模式0:13位定时器模式模式0由THx全8位和TLx低5位组成13位加法计数器,最大计数值8192,溢出后需软件重装初值。此模式主要为兼容MCS-48而保留,实际开发中较少使用,通常被16位的模式1所替代。级联结构THx(8位)与TLx(低5位)级联构成13位计数器,TLx的高3位未参与计数,写入时会被忽略8+5位级联定时范围最大计数值8192(2¹³),12MHz晶振下机器周期1μs,单次最大定时8192μs≈8.2ms8192μs溢出处理溢出后计数器归零,不会自动恢复初值,必须在中断服务程序中用软件重新写入THx和TLx的初始值SoftwareReload模式选择设置M1M0=00选择此模式,实际项目中建议优先使用模式1以获得更大的定时范围和更高的精度M1M0=00TIMERMODE1模式1:16位定时器模式(最常用)模式1使用THx和TLx完整16位构成计数器,最大计数值65536,是通用性最强的定时模式。溢出后需软件重装初值,存在微小定时误差,但对大多数应用场景精度已足够,是实际项目中最常选用的模式。01完整16位计数器—THx(8位)与TLx(8位)全部参与计数,构成完整16位加法计数器,最大计数值65536(216)。02最大定时范围—12MHz晶振下定约65.5ms,11.0592MHz晶振下定约58.98ms,更长定时需多次溢出软件累加。03初值计算公式—THx=(65536−N)/256,TLx=(65536−N)%256,其中N为需要计数的脉冲个数。04溢出重装机制—需在ISR中手动重装初值,从中断响应到重装约有3-8个机器周期延迟,产生微小定时误差。Keil开发环境·单片机C语言编程TIMERMODE模式2:8位自动重载模式模式2使用TLx作8位计数器、THx存储重载值,TLx溢出时硬件自动将THx的值重装到TLx,无需软件干预。这保证了严格的定时周期一致性,特别适合波特率发生器和精确周期中断等对时间精度要求极高的场景。角色分离TLx作为8位加法计数器运行,THx保存重载常数,两者角色分离,THx在计数过程中不参与递增。TLx/THx自动重装TLx从初值计数到255后溢出,硬件自动将THx的值装入TLx继续计数,定时周期严格等于(256−THx)×机器周期。256−THx精度优势自动重载消除了软件重装初值的延迟误差,每次溢出到重装仅需1个机器周期,定时精度远优于模式0和模式1。1周期典型应用8位计数最大256个脉冲,12MHz晶振下单次最大定时256μs,常用作UART波特率发生器或高频周期中断源。256μsTIMER0·MODE3模式3:双8位定时器模式(仅T0)模式3将T0拆分为TL0和TH0两个独立的8位定时器,TL0使用T0原有控制位,TH0借用T1的TR1和TF1。此模式仅T0支持,T1设置模式3将停止计数。TL0独立运行独立运行8位定时/计数功能,使用T0原有的TR0控制启停、TF0标志溢出,与原T0操作方式完全一致,可灵活配置工作模式。控制信号TR0/TF0TH0借用控制被固定为8位定时器(只能定时不能计数),借用T1的TR1和TF1进行启停控制和溢出标志管理,实现资源复用。借用信号TR1/TF1T1模式3停止T1设置模式3时会停止工作,但可在模式0/1/2下运行(无TR1控制,始终运行),适合作为波特率发生器使用。应用模式波特率发生器实际应用价值将AT89S51扩展为3个独立定时器,适用于多任务定时需求但芯片资源受限的嵌入式项目开发场景。扩展能力3个定时器AT89S51TIMER/COUNTER四种工作模式参数汇总AT89S51的四种定时器模式在计数位数、最大计数值、自动重载能力和适用场景上各有特点,模式1和模式2覆盖绝大多数工程需求,模式0已淘汰,模式3用于特殊的多定时器场景。T0/T1四种工作模式对比模式计数位数最大计数值自动重载典型应用场景模式013位8,192否(需软件重装)兼容MCS-48,实际极少使用模式116位65,536否(需软件重装)通用定时、PWM生成、长时间延时模式28位256是(硬件自动重载)波特率发生器、精确周期中断模式3双8位256×2是(各自重载)需要额外定时器资源时使用(仅T0)模式1(16位通用)和模式2(8位自动重载)是实际开发中最常用的两种工作模式CHAPTER04编程初始化与中断处理掌握定时器配置的标准流程与两种溢出响应方式ProgrammingWorkflow定时器初始化标准五步流程定时器编程遵循固定的初始化流程:选模式→设TMOD→写初值→配中断→启TRx。严格按序操作可避免误触发和配置遗漏,是保证定时器正确运行的基本编程规范。01确定工作模式:根据定时长度和精度需求选择模式1(16位)或模式2(8位自动重载),计算所需计数值N模式1/模式202配置TMOD:根据功能需求设置C/T位(定时0/计数1),设置M1M0选择模式,通常GATE=0由软件控制TMOD03写入计数初值:16位模式THx=(65536-N)/256,TLx=(65536-N)%256;8位模式THx=TLx=256-N65536-N04配置中断(可选):设置ETx=1开启定时器中断,设置EA=1开启总中断,并编写中断服务函数ETx+EA05启动定时器:置位TRx=1开始计数,至此定时器按配置开始独立运行,等待溢出事件触发TRx=1TimerInitialValue计数初值计算方法详解初值计算的关键公式:初值=最大值-(定时时间/机器周期)。12MHz晶振下机器周期为1μs,11.0592MHz下约为1.085μs。模式1(16位)初值计算FORMULAN=65536−定时时间/机器周期THx=N/256取高字节,TLx=N%256取低字节EXAMPLE12MHz晶振定时50ms:N=65536−50000=15536=0x3CB0TH0=0x3C,TL0=0xB0MAXTIMING12MHz下最大65536μs≈65.5ms,超长定时需配合软件计数器多次溢出累加65536CounterMax模式2(8位自动重载)初值计算FORMULAN=256−定时时间/机器周期THx=TLx=N,硬件自动重载只需设置一次EXAMPLE12MHz晶振定时200μs:N=256−200=56=0x38TH0=0x38,TL0=0x38MAXTIMING12MHz下最大256μs,适合高频周期中断,溢出后硬件自动重装256CounterMaxOVERFLOWRESPONSE中断方式与查询方式的对比溢出响应有中断和查询两种方式:中断方式由硬件自动跳转ISR并清除标志位,CPU利用率高,是工程首选;查询方式通过while循环检测TFx标志位,实现简单但持续占用CPU,仅适用于极简程序。01中断方式工作原理设置ETx=1和EA=1后,溢出时CPU自动跳转到对应中断向量地址执行ISR,执行完毕自动返回主程序ETx=1·EA=102查询方式工作原理主程序中使用while(!TFx)循环等待溢出,检测到TFx=1后执行任务并手动清TFx=0,持续占用CPUwhile(!TFx)03标志位清除机制中断方式的TFx由硬件在CPU响应中断后自动清0;查询方式必须软件手动清0,否则下一轮会立即误判为溢出硬件自动vs软件手动04工程建议优先使用中断方式提高CPU利用率,仅在无其他任务或中断资源耗尽的极简系统中考虑查询方式中断优先CODEWALKTHROUGH模式1实现50ms定时中断(完整代码)模式1定时编程的核心是:TMOD配置16位定时模式,计算并写入THx/TLx初值,开启中断并启动定时器,在ISR中手动重装初值并用软件计数器累加实现更长定时。此框架可复用于绝大多数定时应用场景。01·TMOD先用与操作清除T0控制位,再用或操作设置M1M0=01选择16位定时模式02·初值计算12MHz晶振下50ms需计数50000个脉冲,初值为15536,分别写入TH0和TL003·ISR重装ISR中必须重装初值,否则第二次从0开始计数导致定时错误04·软件计数软件计数器count累加溢出次数,count达20即1秒(20×50ms),翻转LED并重置timer0_mode1.c#include
<reg51.h>sbitLED=P1^0;unsignedintcount=0;void
timer0_init(){TMOD&=0xF0;//清除T0控制位TMOD|=0x01;//M1M0=01→16位模式TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;//开总中断ET0=1;//开定时器0中断TR0=1;//启动定时器0}void
timer0_isr()interrupt
1{TH0=(65536-50000)/256;//重装初值TL0=(65536-50000)%256;count++;if(count==20){//20×50ms=1秒LED=~LED;count=0;}}void
main(){timer0_init();while(1);}TIMERMODE2·AUTO-RELOAD模式2自动重载定时(代码对比)模式2编程的最大优势是ISR中无需重装初值——硬件自动将THx的值重载到TLx,代码更简洁且定时精度更高。代价是单次定时范围仅256个机器周期,需要更多软件累加次数实现长定时。018位自动重载配置TMOD|=0x02设置M1M0=10选择8位自动重载模式,TH0=TL0=256−250=6(0x06)设定250μs定时周期。0x0602ISR零延迟重载ISR中不需要重装初值——这是与模式1的核心区别,硬件自动将TH0的值装入TL0,消除软件重装延迟。硬件重载03精确累加计时250μs×4000次=1秒,软件计数器count累加到4000翻转LED,虽然累加次数多但每次定时周期严格一致。4000次/s04波特率发生器应用模式2特别适合做波特率发生器:自动重载保证了比特周期的精确性,避免因重装延迟导致通信误码。波特率Chapter05典型应用案例实战从LED闪烁到PWM调速,掌握定时器的工程化应用方法CASESTUDY·定时器应用案例1:精确延时控制LED闪烁使用定时器实现精确延时替代软件循环延时,通过模式1产生50ms基准中断配合软件计数器累加,可实现任意长度的精确时间控制。LED发光二极管电路板实拍PROBLEM软件延时缺陷:for循环空操作的延时时间受编译器优化级别、指令周期数和晶振频率影响,精度无法保证SOLUTION模式1配置50ms定时中断,ISR中count++累加,达到目标值(如20=1秒)时执行动作并清零EXTENSION定义全局标志位flag,定时到达后flag=1,主循环检测flag执行任务,实现定时与业务逻辑解耦PRECISION12MHz晶振下机器周期1μs严格固定,50ms定时误差仅来源于中断响应延迟(约3-8μs),相对误差<0.02%<0.02%CASESTUDY·TIMERINTERRUPT案例2:数码管动态扫描定时控制数码管动态扫描需要精确的位切换时间基准(通常2-5ms/位),使用定时器周期中断驱动位切换可保证刷新率稳定。8位数码管以2ms/位扫描时刷新率约62.5Hz,超过人眼临界融合频率,显示效果稳定无闪烁。动态扫描原理多位数码管共用段选线,通过位选信号快速轮流点亮,利用人眼视觉暂留效应实现"同时"显示效果。视觉暂留定时器配置模式2设定2ms周期中断,12MHz下TH0=256−2000=56超出8位范围,需切换模式1或进行分频处理。2ms周期ISR核心逻辑每次中断关闭当前位→切换段选数据→打开下一位→位指针+1取模循环,确保均匀分配时间。4步循环工程要点扫描频率需大于50Hz避免闪烁,各位亮度需等时分配保持一致,段选数据需消隐防止鬼影。>50HzCASESTUDY案例3:PWM波形生成与占空比控制PWM通过改变脉冲占空比控制平均输出功率,使用定时器产生固定周期中断并在周期内设置翻转点即可实现。占空比=高电平时间/周期×100%,调节翻转点位置可线性改变占空比,广泛应用于电机调速和LED调光。直流电机PWM调速驱动模块实拍PWM原理固定频率方波信号,调节高电平持续时间控制平均输出电压,占空比50%即半功率输出定时器实现设定固定周期T定时中断,维护计数器cnt每次+1,cnt<比较值输出高电平,cnt≥比较值输出低电平占空比调节比较值/周期计数值=占空比,如周期100次、比较值30则30%,修改比较值即可实时调速典型应用直流电机调速、LED呼吸灯渐变、舵机0.5-2.5ms脉宽对应0-180°角度控制CASE04·COUNTERMODE外部事件计数(流水线产品计数)计数器模式通过外部引脚(T0/P3.4或T1/P3.5)接收脉冲信号,每检测到一个负跳变自动加1,适用于产品计数、流量统计等事件驱动场景。外部脉冲最高频率受限于fosc/24,12MHz下不超过500kHz。硬件连接光电传感器输出接P3.4(T0)或P3.5(T1),传感器每检测一个产品输出一个下降沿脉冲,实现非接触式产品计数P3.4/P3.5TMOD配置C/T=1选择计数模式,M1M0=01选择16位模式,GATE=0由软件控制启停,TR0置1启动计数C/T=1读取计数值直接读取TH0和TL0拼接为16位数值即为累计脉冲数,读取时应先读TH0再读TL0以保证数据一致性,最大计数值65535TH0+TL0频率限制外部脉冲高电平和低电平各需持续至少1个机器周期才能被识别,最高计数频率=fosc/24,12MHz晶振对应500kHz上限fosc/24CASESTUDY·定时器应用案例5:串口波特率发生器(T1模式2)AT89S51的UART串口使用T1模式2作为波特率时钟源,模式2的自动重载保证比特周期严格一致。11.0592MHz晶振可被常用波特率整除得到整数初值,是串口通信的标准选择,12MHz晶振会导致部分波特率出现误差。波特率计算公式BR=(2SMOD/32)×fosc/(12×(256−TH1))SMOD为PCON寄存器最高位,置1可使波特率加倍SMOD11.0592MHz晶振目标波特率9600,计算得TH1=0xFD,整数初值频率可被常用波特率整除,串口通信零误差0xFD·零误差12MHz晶振同样9600波特率,TH1=256−3.255,非整数约8.5%误差导致通信不稳定,容易出错≈8.5%误差Chapter06进阶技巧与调试方法多定时器协同、精度优化与常见故障排查TIMERCOORDINATION多定时器协同与资源优化策略AT89S51仅有两个硬件定时器,通过'单定时器多路软件分发'策略可支持数十个独立定时任务:用模式1产生1ms基准中断,在ISR中维护多个软件计数器,各自匹配不同定时周期,实现硬件资源的高效复用。时间基准+软件分发01T0配置模式1产生1ms基准中断,ISR中维护task1_cnt、task2_cnt等多个计数器,各自累加并比较目标值02示例:task1每10ms执行(LED闪烁),task2每500ms执行(传感器采集),task3每1000ms执行(状态上报)03优势:一个硬件定时器支撑无限个软件定时任务,各任务周期独立可调,是嵌入式多任务调度的经典模式双定时器分工协作01T1专用于UART波特率发生器(模式2自动重载),T0做主定时器(模式1)驱动多路软件分发02极端场景用T0模式3拆出两个8位定时器,加上T1共3路独立定时,最大化利用有限硬件资源03注意T0模式3下TH0借用TR1/TF1,T1无法启停控制,只能配置为始终运行的波特率发生器模式TIMER·GATEMODEGATE门控功能:脉冲宽度测量当GATE=1时定时器需同时满足TRx=1和INTx引脚高电平才运行,利用此特性可精确测量外部脉冲高电平宽度,适用于频率计和信号分析仪器。双重门控条件GATE=1时定时器运行条件变为双重门控:软件TRx=1且硬件INTx引脚为高电平,两个条件缺一不可,实现软硬件协同控制。TRx+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 血栓四项临床意义及其临床应用标准化解读
- 2027届甘肃省庆阳市高考物理押题试卷(含答案解析)
- 高中班主任2026年二季度班级学风建设工作总结
- 2026 年精神分裂症冲动攻击行为安全护理个案
- 2026年秋季幼儿园开学第一课 新学期学习规划主题班会
- 2026年秋季动物医学专业开学第一课 职业发展前景分析讲座方案
- 2026年北师大版小学六年级数学上册课时《数学总结》教案
- 中医院半年总结
- 临床康复工程学基础
- 经方是中医的成才之路
- 北京市门头沟区城子街道办事处招聘城市协管员3人考试参考题库及答案详解
- 2026年汛期防汛排涝安全培训试题(含答案)
- 2025年教育综合知识真题试题及答案
- 2026年浙江省综合性评标专家库评标专家考试在线题库
- 2026年国企招聘副总测试题及答案
- 2026年留疆战士考核综合应试能力提升练习题含答案
- GB/T 31897.201-2025灯具性能第2-1部分:特殊要求LED灯具
- 高中数学解题思想与方法大全
- JB-T 7550-2023 空气分离设备用切换蝶阀
- 国内城市机场三字代码
- 【课件】《我善养吾浩然之气》课件 2022-2023学年人教版高中语文选修《先秦诸子选读》
评论
0/150
提交评论