版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章
单片机串行通信接口讲述串行通信的基本原理、单片机串行口的内部结构和工作原理,重点讲述MCS-51单片机串行通信的应用编程。第6章
单片机串行通信接口串行通信的基本概念6.1串行口的内部结构和工作原理6.2串行通信的应用6.36.1串行通信的基本概念1.并行通信多个数据位同时传输,速度快。因传输线多,特别适用于近距离通信。2.串行通信数据是一位一位地在通信线上传输,速度慢。因传输线少,特别适用于远距离通信。6.1.1串行通信的分类1.异步通信以字符为单位传送,字符间隔不固定发送端和接收端时钟彼此独立(异步)通信双方须规定相同的字符帧格式和波特率
6.1.1串行通信的分类①字符帧格式由起始位、数据位、校检位、停止位4部分组成。起始位:位于字符的开头,1位,用低电平0表示,表示字符的开始,通知接收端准备接收。数据位:紧跟在起始位之后,可以是5-8位数据,发送时低位在前,高位在后。校验位:1位,位于数据位之后,用户根据需要加入。停止位:位于字符最后,以高电平1表示字符的结束,告诉接收端本帧数据发送完毕,为下一帧数据作准备。6.1.1串行通信的分类②波特率波特率是单位时间内传输码元符号的个数(传符号率),即每秒钟传送的二进制位数,其单位为b/s(bitspersecond),是衡量串行数据速度快慢的重要指标。国际标准:110b/s、300b/s、600b/s、1200b/s、1800b/s、2400b/s、4800b/s、9600b/s、14.4Kb/s、19.2Kb/s、28.8Kb/s、33.6Kb/s、56Kb/s。假如在异步串行通信中,传送一个字符,包括12位(其中有1个起始位,8个数据位,1个校验位,2个停止位),其传输速率是1200b/s,每秒所能传送的字符数是1200/(1+8+1+2)=100个。6.1.1串行通信的分类2.同步通信一个信息帧中包含许多字符,每个信息帧用同步字符作为开始。由统一的时钟来实现发送端与接收端之间的严格同步。
接收端检测到有一串数位和同步字符相匹配时,把此后的数位作为实际传输信息来处理。同步信息帧通常由同步字符、数据字符和校验字符CRC三部分组成。同步字符1同步字符2数据字符1数据字符2……数据字符nCRC1CRC26.1.2串行通信的数据传输方式单工方式:信息传送只能在一个方向上进行。半双工方式:通信双方之间只有一根数据传输信号线,通过接收和发送转换开关,使得双方可以交替进行发送和接收,但两个方向的数据传送不能同时进行。全双工方式:通信双方之间有两条数据传输信号线,可以在同一时刻进行两个方向的数据传送。6.2串行接口的内部结构和工作原理-内部结构MCS-51单片机内部具有一个采用UART工作方式的全双工的串行通信接口。该接口有两根串行通信传输线RxD(P3.0)和TxD(P3.1),数据的接收和发送就是通过这两根信号线来实现的。收发数据是在发送/接收控制器的作用下完成的,波特率由定时器T1决定。MCS-51单片机在物理上存在两个互相独立的接收、发送缓冲器SBUF,通过特殊功能寄存器SBUF来访问。两个缓冲器共用一个地址99H(特殊功能寄存器SBUF的地址)发送数据需要执行以SBUF为目的操作数的指令,读出数据需要执行以SBUF为源操作数的指令,例如:SBUF=a;//将变量a中数据通过串口一位一位地发送出去a=SBUF;//从串口接收缓冲器中取走数据给变量a6.2串行接口的内部结构和工作原理-工作原理双机通信连接示意图当单片机串行口和其他设备的串行口连接时:本机的接收连接对方的发送;本机的发送连接对方的接收;双方的地相连(三线制)。6.2串行接口的内部结构和工作原理6.2.3串行口的控制与状态1.串行口的控制寄存器SCON(98H)D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI①SM0、SM1:指定串行口的工作方式。SM0SM1工作方式说明波特率00方式0同步移位寄存器fosc/1201方式110位异步收发由定时器控制10方式211位异步收发fosc/32或fosc/6411方式311位异步收发由定时器控制6.2.3串行口的控制与状态②SM2:多机通信控制位。主要用于方式2和方式3中。在方式2和方式3处于接收状态时,如SM2=1,REN=1,且接收到的第9位数据RB8是1,则RI(接收中断标志位)才被置1。若接收到的第9位数据RB8是0,则RI不会置1。在方式2和方式3处于接收状态时,如SM2=0,无论接收到的第9位数据RB8是0还1,则RI都会被置1。在方式1中,如SM2=1,只有在接收到有效停止位时,则RI才会被置1。所以,方式1中SM2一般设置为0,以免丢失数据。在方式0中,SM2必须为0。6.2.3串行口的控制与状态③REN:允许串行接收控制位。由软件置1或清除。REN=1,允许接收REN=0,禁止接收④TB8:发送数据位8,由软件进行置1或清0。在方式2和方式3时,它就是要发送的第9个数据位。如在多处理通信中,用于表示是地址帧还是数据帧。在方式0和方式1中,此位不用。⑤RB8:接收数据位8。在方式2和3时,它是接收到的第9个数据位。在方式1中,若SM2=0,RB8是接收到的停止位。在方式0中,此位不用。6.2.3串行口的控制与状态⑥TI:发送中断请求标志位。在方式0中,当发送完第8位数据时,由硬件置1在其他方式中,在发送停止位前,由硬件置1。TI=1时,申请中断,CPU响应中断后,发送下一帧数据。该位必须由软件清0。⑦RI:接收中断请求标志位。在方式0中,接收第8位结束时,由硬件置1;在其他方式中,在接收停止位的中间时刻,由硬件置1。RI=1时,申请中断,要求CPU取走数据。(但在模式1中,SM2=1时,若未接收到有效的停止位,则不会对RI置位。)该位必须由软件清0。6.2.3串行口的控制与状态2.电源控制寄存器PCON(87H)D7D6D5D4D3D2D1D0SMODD7位SMOD是串行口波特率倍增位。SMOD=1时,串行口工作方式1、方式2、方式3的波特率加倍。具体值见各种工作方式下的波特率计算公式。6.2.4串行口的工作方式1.方式0:移位寄存器输入/输出方式,用于扩展并行口
RxD:输入或输出引脚TxD:移位脉冲输出接收和方式都是8位波特率固定为:fosc/12注意:SM2必须为0!!!!6.2.4串行口的工作方式(2)接收过程:
(1)发送过程:
注意:SM2必须为0!!!!6.3.2串行口方式0用做扩展并行I/O口6.2.4串行口的工作方式起始位:1位数据位:8位停止位:1位2.方式1:10位异步通信接口,用于双机通信,波特率可变。方式1的波特率=(2SMOD/32)×T1的溢出频率方式1的波特率=(2SMOD/32)×T1的溢出频率定时器1溢出频率=fosc/[12×(256-X)]方式1的波特率=2SMOD×fosc/[12×32×(256-X)]6.2.4串行口的工作方式10位的异步通信接口,即传送一帧信息为10位。1位起始位“0”,8位数据位(先低位后高位),1位停止位“1”,其中起始位和停止位是在发送时自动插入的,数据位由TxD发送,由RxD接收。波特率可变。硬件上,T1的计数输出不仅使TF1置位,而且会产生一个脉冲送串行口。方式1的波特率这时就取决于T1(注意只是T1,不是T0)的溢出频率(每秒钟T1溢出多少次)和PCON中的SMOD的值。方式1的波特率=(2SMOD/32)×T1的溢出频率6.2.4串行口的工作方式(1)发送过程:(写SBUF启动发送过程)
(2)接收过程:(置REN=1启动接收过程)
6.2.4串行口的工作方式3.方式2和方式3:11位异步通信接口,可用于多机通信起始位:1位数据位:9位停止位:1位6.2.4串行口的工作方式串行口发送/接收的一帧信息共11位:1位是起始位“0”,8位数据,1位奇偶校验位或其他数据位,1位停止位“1”。方式2和方式3的发送、接收过程是完全一样的,只是波特率不同。方式2的波特率=(2SMOD/64)×fosc方式3的波特率=(2SMOD/32)×T1的溢出频率6.2.4串行口的工作方式(1)发送过程:(写SBUF启动发送过程)
(2)接收过程:(置REN=1启动接收过程)
6.3串行通信的应用1.波特率的计算(1)方式0的波特率=fosc/12。(2)方式2的波特率=(2SMOD/64)×fosc。SMOD为波特率加倍位。(3)方式1或方式3的波特率=(2SMOD/32)×T1的溢出频率。定时器1溢出频率=fosc/[12×(256-X)]方式1、3的波特率=2SMOD×fosc/[12×32×(256-X)]SMOD位数值的选择直接影响着波特率的精确度6.3.1串行口波特率的确定和初始化6.3.3双机通信设fosc=6MHz,在波特率=2400b/s,SMOD=0,则T1的时间常数X的值为:
实际产生的波特率及误差为:6.3.3双机通信设fosc=6MHz,在波特率=2400b/s,SMOD=1,则T1的时间常数X的值为:
实际产生的波特率及误差为:6.3串行通信的应用1.波特率的计算(1)方式0的波特率=fosc/12。(2)方式2的波特率=(2SMOD/64)×fosc。SMOD为波特率加倍位。(3)方式1或方式3的波特率=(2SMOD/32)×T1的溢出频率。定时器1溢出频率=fosc/[12×(256-X)]方式1、3的波特率=2SMOD×fosc/[12×32×(256-X)]SMOD位数值的选择直接影响着波特率的精确度当时钟频率选用11.0592MHz时,极易获得标准的波特率6.3.1串行口波特率的确定和初始化6.3.3双机通信设fosc=11.0592MHz,在波特率=2400b/s,SMOD=0,则T1的时间常数X的值为:
实际产生的波特率及误差为:6.3.3双机通信设fosc=11.0592MHz,在波特率=2400b/s,SMOD=1,则T1的时间常数X的值为:
实际产生的波特率及误差为:6.3.1串行口波特率的确定和初始化波特率(b/s)晶振(MHz)初值误差(%)晶振(MHz)初值误差(%)SMOD=0SMOD=1SMOD=0SMOD=1SMOD=0SMOD=130011.0592A0H40H01298H30H0.160.1660011.0592D0HA0H012CCH98H0.160.16120011.0592E8HD0H012E6HCCH0.160.16180011.0592F0HE0H012EFHDDH2.12-0.79240011.0592F4HE8H012F3HE6H1.161.16360011.0592F8HF0H012F7HEFH-3.352.12480011.0592FAHF4H012F9HF3H-6.99-3.55720011.0592FCHF8H012FCHF7H8.51-6.99960011.0592FDHFAH012FDHF9H8.518.511440011.0592FEHFCH012FEHFCH8.518.511920011.0592——FDH012FEHFDH-18.68.512880011.0592FFHFEH012FFHFEH8.518.51表6-2常用波特率设置方法2.串行口初始化的步骤确定串行口工作方式(配置SCON寄存器)确定T1的工作方式(配置TMOD寄存器)设置SMOD位(若不用SMOD,可跳过此步)计算T1的初值,装载TH1和TL1启动T1(置位TR1)串行口中断设置(配置IE、IP寄存器)X=256-2SMOD×fosc/[12×32×波特率]方式1、3的波特率=2SMOD×fosc/[12×32×(256-X)]6.3.1串行口波特率的确定和初始化6.3.1串行口波特率的确定和初始化【例6-1】某8051单片机控制系统,主振频率为12MHz,要求串行口发送数据为8位、波特率为1200b/s,编写串行口的初始化程序(设SMOD=1)。分析:设SMOD=1,则T1的时间常数X的值为:X=256-2SMOD×fosc/(12×32×波特率)=256-21×12×106/(12×32×1200)=256-52.08=203.92≈204=CCH初始化程序为:
SCON=0x40;//串行口工作于方式1 PCON|=0x80;//SMOD=1 TMOD=0x20;//T1工作于方式2,定时方式 TH1=0xcc;//设置时间常数初值 TL1=0xcc; TR1=1;//启动T16.3.2串行口用于扩展并行I/O口1.用方式0扩展并行输出口【例6-2】用89C51串行口外接CD4094扩展8位并行输出口,8位并行输出口的各位都接一个显示发光二极管。要求发光二极管从左到右以一定延时轮流显示,且不断循环。发光二极管为共阴极接法。6.3.2串行口方式0用做扩展并行I/O口#include <reg51.h> #include <intrins.h> #define ucharunsignedchar #define uintunsignedint uchar temp; sbit STB=P1^0;voiddelaynms(uintn){ uinti,j; for(i=0;i<n;i++) for(j=0;j<125;j++);}6.3.2串行口用于扩展并行I/O口参考程序void main() { SCON=0x00; //串行口方式0初始化 temp=0x80; //最左边的发光二极管先亮 STB=0; while(1) { SBUF=temp; while(!TI); STB=1;//启动并行输出 delaynms(1000); TI=0; temp=_cror_(temp,1);//右环移一次 STB=0; }}2.用方式0扩展并行输入口【例6-3】用89C51串行口外加移位寄存器扩展8位并行输入口。输入数据由8个开关提供,另有一个开关S提供联络信号。当S=0时,表示要求输入数据。输入的8位开关量为逻辑模拟子程序LOG提供输入信号。6.3.2串行口用于扩展并行I/O口#include
<reg51.h> #include
<intrins.h> #define
uchar
unsignedchar #define
uintunsignedint uchar temp; sbit PNS=P1^0; sbit S=P1^1;voiddelaynms(uintn){ uinti,j;for(i=0;i<n;i++)
for(j=0;j<125;j++);}6.3.2串行口用于扩展并行I/O口参考程序void
LOG(uchartemp)
//模拟处理程序{
//处理程序...}void
main()
//主函数{
while(1)
{
while(S);
PNS=1; //并行置入数据
PNS=0; //开始串行移位
SCON=0x10; //串行口方式0启动接收
while(!RI); //查询RI
RI=0;
temp=SBUF;
LOG(temp); //数据交给LOG函数
delaynms(1000);
}}双机通信现象6.3.3双机通信【例6-4】按图连接两个单片机系统进行串行通信,双机的RxD和TxD交叉相连,甲机的P1端口连接8个开关,乙机的P1端口通过上拉电阻连接8个LED灯,甲机读取P1口的8个开关状态后,通过串行口发送到乙机,乙机收到甲机收到的8个开关状态后送入P1端口控制8个LED灯的状态,波特率为1200b/s,晶振频率为12MHz。进行双机通信时,两机应设定相同的数据格式和相同的波特率。6.3.3双机通信分析:设SMOD=0,则T1的时间常数X的值为:
6.3.3双机通信//甲机发送#include <reg51.h>
#define ucharunsignedchar
void main()
{TMOD=0x20;TH1=0xe6;TL1=0xe6;SCON=0x40;PCON=0x00;TR1=1;EA=1;ES=1;P1=0xff;
//读P1口之前先给P1口送高电平
SBUF=P1;
//启动串行发送while(1);}voidsend()interrupt4
{TI=0;SBUF=P1;}参考程序1(采用中断方式)://乙机接收#include
<reg51.h> #define ucharunsignedchar void main() {TMOD=0x20;TH1=0xe6;TL1=0xe6;SCON=0x50;PCON=0x00;TR1=1;EA=1;ES=1;while(1);}voidreceiver()interrupt4{RI=0;P1=SBUF;}6.3.3双机通信//甲机发送#include
<reg51.h> #define ucharunsignedchar void main() {TMOD=0x20;TH1=0xe6;TL1=0xe6;SCON=0x40;PCON=0x00;TR1=1;P1=0xff; //读P1口之前先给P1口送高电平SBUF=P1; //启动串行发送while(1){while(!TI);TI=0;SBUF=P1;}}参考程序2(采用查询方式)://乙机接收#include
<reg51.h> #define ucharunsignedchar void main() {TMOD=0x20;TH1=0xe6;TL1=0xe6;SCON=0x50;PCON=0x00;TR1=1;while(1){while(!RI);RI=0;P1=SBUF;}}6.3.3双机通信【例6-5】按图连接两个单片机系统进行串行通信,双机的RxD和TxD交叉相连,甲乙双机分别配有1个按键和2个LED数码管。2个LED数码管分别代表发送和接收的数据。甲机通过按键SW2产生一个0~9之间的随机数并在LED2上显示,同理乙机通过按键SW3产生一个0~9之间的随机数并在LED3上显示。按键SW1按下时,甲机和乙机同时通过串行口发送产生的随机数,甲机接收的数据显示在LED1上,乙机收到的数据显示在LED4上,实现全双工通信,波特率为2400b/s,双方晶振都采用11.0592MHz,预置值TH1=0F4H。6.3.3双机通信分析:(1)产生随机数的方法有很多,由于串行通信要开启T1,所以需要随机数的时候去读取TL1获取随机数。(2)图中LED数码管全部采用共阳极接法,显示数字时需要将对应的字形码送入LED数码管的数据线上。(3)甲机和乙机都是P1口对应LED显示数据,P2口对应LED显示接收数据,SW1按钮控制发送,所以甲机和乙机程序相同。字符01234字形码C0HF9HA4HB0H99H字符56789字形码92H82HF8H80H90H6.3.3双机通信#include <reg51.h> //51系列单片机头文件#define ucharunsignedchar //宏定义#define LEDsend P1#define LEDrec P2uchar seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uchar send,rec;void main() //主函数{TMOD=0x20;TH1=0xf4;TL1=0xf4;SCON=0x50;PCON=0x00;TR1=1;EA=1;EX1=1;EX0=1;ES=1;while(1){LEDsend=seg[send];LEDrec=seg[rec];}}参考程序void int0()interrupt0 {send=TL1%10;}void int1()interrupt2 {ES=0;SBUF=send;while(!TI);TI=0;ES=1;}void serial()interrupt4 {RI=0;rec=SBUF;}【例10】试编写程序,将片内RAM40H~50H单元的数据块,全部搬移到片外RAM从2000H起始的存储区域。
#defineucharunsignedchardataucharbuffer1[17]_at_0x40;xdatauchar buffer2[17]_at_0x2000;voidmain(){ uchari; for(i=0;i<17;i++) { buffer2[i]=buffer1[i]; } while(1);}3.4.2循环语句参考程序:扩展:试编程将甲机片內RAM的40H~50H单元的数据块通过串行口发送到乙机片外RAM的2000H~2010H单元中去,要求接收和发送均采用中断方式。设晶振频率为12MHz,波特率为1200b/s。6.3.4多机通信1.多机通信原理单片机的主从式多机通信方式要有一台主机和多台从机。主机发送的信息可以传送到各个从机或指定的从机,各从机发送的信息只能被主机接收,从机之间不能直接进行通信。6.2.3串行口的控制与状态②SM2:多机通信控制位。主要用于方式2和方式3中。在方式2和方式3处于接收状态时,如SM2=1,REN=1,且接收到的第9位数据RB8是1,则RI(接收中断标志位)才被置1。若接收到的第9位数据RB8是0,则RI不会置1。在方式2和方式3处于接收状态时,如SM2=0,无论接收到的第9位数据RB8是0还1,则RI都会被置1。在方式1中,如SM2=1,只有在接收到有效停止位时,则RI才会被置1。所以,方式1中SM2一般设置为0,以免丢失数据。在方式0中,SM2必须为0。6.3.4多机通信具体过程如下:全部从机均初始化为方式2或方式3,SM2=1,允许中断。主机发送要寻址的从机地址,其中TB8=1表示发送的是呼叫地址帧(TB8=0时为数据帧)。所有从机均接收主机发送的地址,并进行地址比较。被寻址的从机确认地址后,置本机的SM2=0,向主机返回地址,供主机核对。核对无误后,主机向被寻址的从机发送命令,通知从机接收或发送数据。通信只能在主、从机之间进行,两个从机之间的通信需通过主机作中介。本次通信结束后,从机重置SM2=1,主机可再对其他从机寻址。6.3.4多机通信【例6-7】如图6-10所示,采用查询方式将主机字符数组send中的8个字符发送给02号从机;02号从机将接收到的数据放到内部字符数组rec中,波特率为1200b/s,fosc=11.0592MHz,预置值TH1=0E8H。#include <reg51.h> #define ucharunsignedchar #define uint
unsignedint uchar send[8]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};void main() //主函数{bit
flag02=0;uint
i;uchar
temp;TMOD=0x20; //设置T1工作方式2TH1=0xe8; //产生1200b/s波特率的初值TL1=0xe8;TR1=1;SCON=0xd8; //方式3,SM2=0,允许接收,TB8=1表示发送的是呼叫地址帧①主机程序:
while(!flag02){SBUF=0x02;//主机发送要寻址的从机地址while(!TI);TI=0;while(!RI);RI=0;temp=SBUF;if(temp==0x02)
flag02=1;}TB8=0;//主机向被寻址的从机发送数据,TB8=0for(i=0;i<8;i++){SBUF=send[i];while(!TI);TI=0;}}6.3.4多机通信②从机程序:
#include <reg51.h> #define ucharunsignedchar #define uintunsignedint uchar rec[8];void main() {bit
flag02=0;uinti;uchartemp;TMOD=0x20;//设置T1工作方式2TH1=0xe8; //产生1200b/s波特率的初值TL1=0xe8;TR1=1;SCON=0xf0;//方式3,SM2=1(接收地址帧)允许接收while(!flag02){while(!RI);RI=0;temp=SBUF;if(temp==0x02);//判断是否寻址本机{SM2=0;//确认地址后,置本机的SM2=0SBUF=0x02;//向主机返回地址while(!TI);TI=0;for(i=0;i<8;i++){while(!RI);RI=0;if(RB8){SM2=1;//若接收的仍为地址帧,则置位SM2,返回重新接收地址帧break;}else{rec[i]=SBUF;}}if(i==8)flag02=1;}}}6.3.5单片机与PC机之间的通信1.RS-232接口1)机械特性现在的PC机上出现的COM1和COM2就是标准的RS-232C接口,采用9针阳头。单片机和PC机都具有异步通信接口,但输出电平不同,单片机为TTL电平,PC机为RS-232电平,所以单片机与PC机之间必须通过电平转换才能实现串行通信。6.3.5单片机与PC机之间的通信引脚序号信号名称符号流向功能2(3)发送数据TXDDTE→DCEDTE发送串行数据3(2)接收数据RXDDTE←DCEDTE接收串行数据4(7)请求发送RTSDTE→DCEDTE请求DCE将线路切换到发送方式5(8)允许发送CTSDTE←DCEDCE告诉DTE线路已接通可以发送数据6(6)数据设备准备好DSRDTE←DCEDCE准备好7(5)信号地
信号公共地8(1)载波检测DCDDTE←DCE表示DCE接收到远程载波20(4)数据终端准备好DTRDTE→DCEDTE准备好22(9)振铃指示RIDTE←DCE表示DCE与线路接通,出现振铃
注:引脚序号括号内的是DB-9连接器的引脚2)功能特性
RS-232C接口的主要信号线的功能定义如表所示。6.3.5单片机与PC机之间的通信3)电气特性RS232采用负逻辑,即:逻辑“0”:+5V~+15V,逻辑“1”:-5V~-15V而单片机的输入、输出电平均为TTL电平,两者连接时要加电平转换电路。6.3.5单片机与PC机之间的通信4)适用范围RS-232C接口总线适用于通信距离仅为几十米、传输速率小于20Kb/s的设备。5)采用RS-232C总线标准连接系统①远程通信6.3.5单片机与PC机之间的通信②近程通信采用RS-232C总线标准作近距离串行通讯时,可将两个DTE直接接连
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第六课 选择结构程序设计教学设计初中信息技术(信息科技)九年级浙教版(广西、宁波)
- Unit 6 Topic 3 Section D 教学设计 仁爱科普版八年级英语下册
- 第20课《一滴水经过丽江》教学设计统编版语文八年级下册
- 二年级美术下册《第15课 家乡变了样》教学设计 人教 版
- 八年级地理下册 10.1辽阔的海域教案 (新版)商务星球版
- 2026年浙江公开选调公务员考试(综合应用能力测试)经典试题及答案
- 2026年眼科护士角膜溃疡冲刺押题试卷
- Unit8第2课时(SectionAGF-3b)教学设计-七年级英语下册同步备课系列(人教新目标Goforit!)
- 2026年新产品开发进度的确认函(7篇)
- 1 为自己感到骄傲说课稿-2025-2026学年小学心理健康五年级华中师大版
- 道路运输条例释义课件
- 康复科的科室介绍
- 密码技术应用员技术考核试卷及答案
- 工厂食品安全知识培训课件
- 2025年地质调查员地质灾害方向职业技能竞赛模拟试题(附答案)
- 深圳市交通运输一体化智慧平台
- 2024年广州市海珠区凤阳街道招聘雇员真题
- 牙周病病人护理
- 江苏无锡市小升初数学易错真题重组卷(苏教版)
- 口腔根管治疗护理
- 输电线路污秽度监测与评估
评论
0/150
提交评论