版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DANPIANJIYUANLIYUJIEKOUJISHU单片机的串行口单片机原理与接口技术(第七版)“十四五”职业教育国家规划教材李明项目规划12了解有关通信的知识345认识单片机的串行口单片机串行口的工作方式和应用远程控制电子钟的设计6远程控制电子钟的仿真调试首前后利用单片机制作简易电子钟。正常显示时、分、秒,必要时需要用到对表功能。可以在PC机上实现远程控制。项目规划首前后项目规划利用单片机的定时器T0定时,工作方式2,自动重装初值,中断编程,精度高。经中断程序计算,产生时分秒。通过模拟串行口方式0扩展6个并行口,实现静态显示。通过P0口连接3个按键,实现现场对表功能。通过串行口实现与PC机通信,远程控制对表。首前后1.串行口的结构、工作方式、控制方法2.查询、中断编程3.串行口的应用(初始化、中断服务)项目规划
1.使用软件设计电路图、编写并调试程序2.使用工具制作电路板并测试其正确性3.软硬件联调,完成要求功能项目规划说明这个项目是自动打铃器的部分内容,自动打铃器也是利用T0定时。1.参考样本:光盘仿真文件:T0方式1时钟595远程.DSN这个项目比较简单,主要是串行口的应用,掌握了串行口的知识,这个项目就好办了。当然还需要定时器和中断的配合。还有对按钮的检查处理。项目规划了解有关通信的知识任务5.1
5.1.1数据通信的概念●了解有关通信的知识
计算机的CPU与外部设备之间、计算机与计算机之间的信息交换称为数据通信。基本的数据通信方式有两种,即并行通信和串行通信。1.并行通信并行通信是数据的各位同时进行传送(发送或接收)的通信方式。其优点是数据传送速度快;缺点是数据有多少位,就需要多少根传送线。2.串行通信串行通信是数据的各位一位一位顺序传送的通信方式。其优点是数据传送线少(利用电话线就可作为传送线),这样就大大降低了传送成本,特别适用于远距离通信;其缺点是传送速度较低。●了解有关通信的知识
5.1.1数据通信的概念串行通信中数据的传输方式有单工、半双工、全双工传输方式。单工传输方式:数据只能单方向地从一端向另一端传送。半双工传输方式:允许数据向两个方向中的任一方向传送,但每次只允许向一个方向传送。全双工传输方式:允许数据同时双向传送。全双工通信效率最高,适用于计算机之间的通信。●了解有关通信的知识
5.1.2串行通信中数据的传输方式
异步通信和同步通信串行通信有两种基本通信方式,即同步通信方式和异步通信方式。1.同步通信在同步通信中,发送器和接收器由同一个时钟控制,如图7-1(a)所示。同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在要传送的数据块开始传送前,用同步字符SYNC来指示,其数据格式如图5-2(b)示。
●了解有关通信的知识
5.1.3串行通信的两种基本通信方法图5-2同步通信和同步字符
2.异步通信异步通信中,发送器和接收器均有各自时钟控制,如图5-3(a)所示。通信时,数据是一帧一帧(包含一个字符代码或一字节数据)传送的,每一串行帧的数据格式如图5-3(b)所示。在帧格式中,一个字符由四个部分组成:起始位、数据位、奇偶校验位和停止位。即首先是一个起始位“0”,然后是数据位(规定低位在前,高位在后),接下来是奇偶校验位(可省略),最后是停止位“1”。●了解有关通信的知识
5.1.3串行通信的两种基本通信方法图5-3异步通信和帧数据格式
1.波特率通信线路上传送的所有位信号都保持一致的信号持续时间,每一位的宽度都由数据传送速率确定,而传送速率是以每秒传送多少个二进制位来度量的,这个速率叫波特率,它的单位是位/秒(b/s或bps)。波特率对于CPU与外部的通信是很重要的。●了解有关通信的知识
5.1.4
串行通信的传送速率注意:波特率是衡量传输通道频宽的指标,与时钟频率有关,时钟频率越高,波特率越大。2.允许的波特率误差假设传递的数据一帧为10位,若发送和接收的波特率达到理想的一致,那么接收方对数据的采样都将发生在每位数据有效时刻的中点。如果接收一方的波特率比发送一方大或小5%,那么对10位一帧的串行数据,时钟脉冲相对数据有效时刻逐位偏移,当接收到第10位时,积累的误差达50%,则采样的数据已是第10位数据的有效与无效的临界状态,这时就可能发生错位,所以5%是10位一帧串行传送的最大的波特率允许误差。●了解有关通信的知识
5.1.4
串行通信的传送速率思考:对于常用的8位、9位、和11位一帧的串行传送,其最大的波特率允许误差分别为多少?在通信过程中往往要对数据传送的正确与否进行校验。校验是保证准确无误传输数据的关键。常用的校验方法有奇偶校验、和校验等。1.奇偶校验奇偶校验是检验串行通信双方传输的数据正确与否的一个措施,并不能保证通信数据的传输一定正确。换言之,如果奇偶校验发生错误,表明数据传输一定出错了;如果奇偶校验没有出错,绝不等于数据传输完全正确。奇校验:8位有效数据连同1位附加位中,二进制“1”的个数为奇数偶校验:8位有效数据连同1位附加位中,二进制“1”的个数为偶数●了解有关通信的知识
5.1.5串行通信中的校验在通信过程中往往要对数据传送的正确与否进行校验。校验是保证准确无误传输数据的关键。常用的校验方法有奇偶校验、和校验等。2.和校验所谓和校验是发送方将所发数据块求和(或各字节异或),产生一个字节的校验字符(校验和)附加到数据块末尾。接收方接收数据同时对数据块(除校验字节外)求和(或各字节异或),将所得的结果与发送方的“校验和”进行比较,相符则无差错,否则即认为传送过程中出现了差错。●了解有关通信的知识
5.1.5串行通信中的校验实际上,单片机串行通信的过程是将其内部的并行数据转换成串行数据,通过串行通信线传送,接收方将接收到的串行数据再转换成并行数据送到计算机中。在MCS-51系列单片机中,串-并、并-串转换是由串行口的移位寄存器来自动完成的。●了解有关通信的知识
5.1.6串行通信的实现思考:串行通信的基本特征是什么?
实际上,单片机串行通信的过程是将其内部的并行数据转换成串行数据,通过串行通信线传送,接收方将接收到的串行数据再转换成并行数据送到计算机中。在MCS-51系列单片机中,串-并、并-串转换是由串行口的移位寄存器来自动完成的。●了解有关通信的知识
5.1.6串行通信的实现思考:串行通信的基本特征是什么?
认识单片机的串行口任务5.2
●
认识单片机的串行口
5.2.1串行接口结构
MCS-51系列单片机串行口由串行控制器电路、发送电路、接收电路三部分组成。其结构如图5-4所示。接收、发送缓冲器SBUF是物理上完全独立的两个8位缓冲器,发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,两个缓冲器占用同一个地址(99H)。图5-4串行接口的结构原理示意图
5.2.1串行接口结构串行口的发送和接收都是以特殊功能寄存器SBUF的名义进行读或写的。当向SBUF发“写”命令时,向发送缓冲器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。指令MOVSBUF,A启动一次数据发送。当TI=1时,可向SBUF再发送下一个数。在接收数据时,一帧数据从RXD端经接收端口进入SBUF之后,RI=1,串行口发出中断请求,通知CPU接收这一数据。CPU执行一条读指令,就能将接收的数据送入累加器中。与此同时,接收端口接收下一帧数据。●
认识单片机的串行口
5.2.1串行接口结构指令MOVA,SBUF完成一次数据接收,SBUF可再接收下一个数。●
认识单片机的串行口
注意:串行发送与接收的速率与移位时钟同步,移位时钟的速率即是波特率。思考:两个缓冲器占用同一个地址(99H),如何来区分?5.2.2串行接口控制串行通信有关的控制寄存器有串行控制寄存器SCON、电源控制寄存器PCON及中断允许寄存器IE等。1.串行控制寄存器SCONSCON寄存器的字节地址为98H,可位寻址,位地址为98H~9FH。SCON用于设定串行接口工作方式、接收发送控制及设置状态标志。SCON格式如下:●
认识单片机的串行口
位序号D7D6D5D4D3D2D1D0位名称SM0SM1SM2RENTB8RB8TIRI位地址9F9E9D9C9B9A9998
SCON中的各位含义如下:(1)SM0,SM1串行口的工作方式选择位。其功能说明见表5-1。注:12,32,64是波特率因子,表示传送一个数据位所需脉冲个数,单位个/位●
认识单片机的串行口
5.2.1串行接口结构SM0SM1工作方式功能说明波特率000移位寄存器方式(同步半双工)fosc/1201110位异步收发方式(UART)由T1控制10211位异步收发方式(UART)fosc/32或fosc/6411311位异步收发方式(UART)由T1控制表5-1串行口工作方式
SCON中的各位含义如下:(2)SM2多机通信控制位在方式2或方式3中,如果SM2=1,则接收到的第9位数据(RB8)为0时不激活RI,接收到的数据丢失;只有当收到的第9位数据(RB8)为1时才激活RI,向CPU申请中断。如果SM2=0,则不论收到的第9位数据(RB8)为1还是为0,都会将接收的前8位数据装入SBUF中。在方式1时,如果SM2=1,则只有收到有效的停止位时才会激活RI;若没有接收到有效的停止位,则RI清零。在方式0中,SM2必须为0。●
认识单片机的串行口
5.2.1串行接口结构位序号D7D6D5D4D3D2D1D0位名称SM0SM1SM2RENTB8RB8TIRI位地址9F9E9D9C9B9A9998
SCON中的各位含义如下:(3)REN允许串行接收控制位。由软件置位以允许接收,由软件清零时禁止接收。(4)TB8为发送数据位。在方式2和方式3时,TB8为要发送的第9位数据。根据需要由软件置位和复位。在多机通信时,TB8的状态用来表示主机发送的是地址或是数据,通常协议规定“0”表示数据,“1”表示地址。(5)RB8为接收数据位。在方式2和方式3时,RB8为接收到的第9位数据。RB8和SM2,TB8一起,常用于通信控制。在方式1时,如果SM2=0,RB8接收到的是停止位。在方式0时,不使用RB8。●
认识单片机的串行口
5.2.1串行接口结构位序号D7D6D5D4D3D2D1D0位名称SM0SM1SM2RENTB8RB8TIRI位地址9F9E9D9C9B9A9998
SCON中的各位含义如下:
(6)TI发送完成标志位。由片内硬件在方式0串行发送第8位结束时置位,或在其他方式串行发送停止位的开始时置位。必须由软件清零。①当SUBF发送完一个完整的数据帧时TI=1。如果串口中断是开放的,则TI=1时会自动引发中断。用户可以通过中断服务程序向SBUF送下一个要发送的数据。
MOVSBUF,A②也可以使用查询的方式对TI进行检测,如图5-5(a)所示,如果TI=1则执行:
MOVSBUF,A否则等待。●
认识单片机的串行口
5.2.1串行接口结构位序号D7D6D5D4D3D2D1D0位名称SM0SM1SM2RENTB8RB8TIRI位地址9F9E9D9C9B9A9998
SCON中的各位含义如下:(7)RI接收完成标志。由片内硬件在方式0串行接收到第8位结束时置位,或在其他方式串行接收到停止位的中间时置位。必须由软件清零。①当SUBF从RXD接收完一个完整的数据帧时RI=1。如果串口中断是开放的,则RI=1时会自动引发中断。用户可以通过中断服务程序将SBUF中的数据取出送累加器A。
MOVA,SBUF;中断方式接收数据;②也可以使用查询的方式对RI进行检测,如图5-5(b)所示,如果RI=1则执行:
MOVA,SBUF;查询方式接收数据。
否则等待●
认识单片机的串行口
5.2.1串行接口结构位序号D7D6D5D4D3D2D1D0位名称SM0SM1SM2RENTB8RB8TIRI位地址9F9E9D9C9B9A9998●
认识单片机的串行口
5.2.1串行接口结构(a)利用TI标志控制数据发送(b)利用RI标志控制数据接收图5-5采用查询方式进行数据发送或接收流程图
2.电源控制寄存器PCON电源控制寄存器PCON能够进行电源控制,项目3与中断有关部分已经介绍过了。其最高位D7位SMOD与串行口有关,是串行口波特率设置位。寄存器PCON的字节地址为87H,没有位寻址功能。PCON与串行通信有关的格式如下:●
认识单片机的串行口
5.2.1串行接口结构位序D7D6D5D4D3D2D1D0位名称SMODCF1CF0PDIDL
2.电源控制寄存器PCONPCON寄存器的D7位为SMOD,称为波特率倍增位。即当SMOD=1时,波特率加倍;当SMOD=0时,波特率不加倍。通过软件可设置SMOD=0或SMOD=1。因为PCON无位寻址功能,所以,要想改变SMOD的值,可通过执行以下指令来完成:ANLPCON,#7FH;使SMOD=0ORL PCON,#80H;使SMOD=1注意:单片机复位时,SMOD位被清零。●
认识单片机的串行口
5.2.1串行接口结构位序D7D6D5D4D3D2D1D0位名称SMODCF1CF0PDIDL
2.电源控制寄存器PCON电源控制寄存器PCON能够进行电源控制,项目3与中断有关部分已经介绍过了。在此顺便说明PCON中其他各位功能:CF1和CF0是通用标志位,可由指令置1或清0。PD是掉电方式控制位,PD=1时进入掉电方式,单片机停止一切工作,只有硬件复位可以恢复工作。IDL=1时进入待机方式,可以由中断唤醒。●
认识单片机的串行口
5.2.1串行接口结构位序D7D6D5D4D3D2D1D0位名称SMODCF1CF0PDIDL
3.中断允许控制寄存器IEIE寄存器控制中断系统的各中断的允许与否。其中与串行通信有关的位有EA和ES位,当EA=1且ES=1时,串行中断允许。●
认识单片机的串行口
5.2.1串行接口结构单片机串行口的工作方式和应用任务5.3
●单片机串行口的工作方式和应用
串行接口的工作方式有四种,由SCON中的SM0和SM1来定义。重述如下:SM0SM1SM0SM1工作方式功能说明波特率000移位寄存器方式(同步半双工)fosc/1201110位异步收发方式(UART)由T1控制10211位异步收发方式(UART)fosc/32或fosc/6411311位异步收发方式(UART)由T1控制在这四种工作方式中,异步串行通信只使用方式1、方式2、方式3。方式0是同步半双工通信,经常用于扩展并行输入/输出口。5.3.1串行口方式0串行口工作于方式0下,串行口为8位同步移位寄存器输入/输出口,其波特率固定为fosc/12。数据由RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)端输出,发送、接收的是8位数据,不设起始位和停止位,低位在先,高位在后。注意:串行口方式0的发送和接收不能同时进行,即半双工。其帧格式为:●单片机串行口的工作方式和应用
5.3.1串行口方式01.发送SBUF中的串行数据由RXD逐位移出;TXD输出移位时钟,频率=fosc/12;每送出8位数据TI就自动置1;需要用软件清零TI。方式0的发送与串入并出移位寄存器(如74LS164,CD4094等)一起使用扩展并行输出口。2.接收串行数据由RXD逐位移入SBUF中;TXD输出移位时钟,频率=fosc/12;每接收8位数据RI就自动置1;需要用软件清零RI。方式0的接收与并入串出移位寄存器(如74LS165,CD4014等)一起使用扩展并行输入接口。●单片机串行口的工作方式和应用
5.3.1串行口方式03.方式0的波特率波特率=fosc/12方式0工作时,多用查询方式编程:发送:MOV SBUF,A
JNBTI,$CLRTI接收:JNBRI,$CLRRIMOVA,SBUF●单片机串行口的工作方式和应用
注意:在方式0中,TB8位没有用,SM2位(多机通信控制位)必须为0;复位时,SCON已经被清零,缺省值:方式0;接收前,务必先置位REN=1允许接收数据。提示:串行口常用工作方式0扩展并行I/O口。并行输出口可接各种设备,比如发光二极管、LED数码管显示器等,并行输入口可接开关、按钮等。5.3.1串行口方式0【5-1】利用串行口扩展并行输出口
目的:串行口方式0内容:硬件,利用移位寄存器74LS164扩展并行口,在P1口输入8位二进制数。驱动程序使P1口的内容从串行口输出。说明:这是个模仿型项目,电路如图5-5所示,(参考仿真文件:51-74164.DSN)。图中使用的移位寄存器型号是74LS164,它可以在时钟脉冲的作用下,将数据串行移位。图中对74164的特性做了说明。当然,也有其他可用的移位寄存器可用,不过这个是比较传统的用法。以后再介绍别的器件,比如74595。希望通过这个训练能使我们掌握串行口的方式0的特点和用法。●单片机串行口的工作方式和应用
5.3.1串行口方式0●单片机串行口的工作方式和应用
图5-6串行口方式0扩展并行口5.3.1串行口方式0●单片机串行口的工作方式和应用
程序清单:;串行口实验;P1口输入,串行口输出
ORG0000MAIN:MOVSCON,#0;串行口方式0MOVSBUF,P1;读入P1口的内容,送给串行口缓冲器,发送立即开始
JNBTI,$;等待一个字节发完,查询方式
CLRTI;完成,清除发送完成标志
;LCALLDELAY;调用延时子程序
SJMPMAIN;无限循环,从头再来
END5.3.1串行口方式0●单片机串行口的工作方式和应用
操作步骤:1.利用proteus软件绘制原理图(如图5-6所示)2.添加驱动程序,编译通过。3.执行仿真,点击指拨开关,改变输入内容,观察串行口输出情况。4.原来单片机的时钟频率设为12HZ,当然可以看到移位寄存器的移位过程。将单片机频率改回12MHz,将会看到,速度太快,看不清楚。解决办法:要想看清,在串行口发送完成一个字节后,延时一段时间,即可看清。程序中被打了分号的一行,去掉分号即可。出问题了?啊!本程序中还没有这段延时子程序。那好办,从原来的什么程序中拷贝一个过来粘贴即可。比如,8D齐闪中就有。还有问题?那就使用你的3中求助方式吧!5.赶紧填写项目实施记录单吧。提示:关于串行口扩展并行口输出的应用还有许多,可以看光盘里的项目。思考:如果在扩展的并行输出口接上数码管,能出什么结果?5.3.1串行口方式0●单片机串行口的工作方式和应用
5-2串行口方式0扩展8位并行输入口目的:串行口方式0内容:利用串行口工作方式0扩展出8位并行输入口,指拨开关状态经并转串芯片74LS165输入到单片机,再将其状态由P0口输出到发光二极管显示,如图5-7所示。模仿型项目,参考文件:51-165.DSN。图5-7串行口扩展8位输入口
5.3.1串行口方式0●单片机串行口的工作方式和应用
5-2串行口方式0扩展8位并行输入口参考源程序:;165.ASM;串行口方式0,扩展165输入一个字节
PL BITP2.7START:MOVSCON,#10H;方式0,允许串行口接收数据START1:CLR PL;PL=0,165读入并行数据
SETBPL;PL=1,可以移位输出WAIT:JNBRI,WAIT CLRRI;清除接收中断标志
MOVA,SBUF;读取数据
MOVP1,A;接收到的数据送P1口显示
ACALLDELAY SJMPSTART1DELAY:延时子程序略思考:如何用串行口扩展16位的输入口?5.3.1串行口方式0●单片机串行口的工作方式和应用
5-2串行口方式0扩展8位并行输入口操作步骤:1.利用proteus软件绘制原理图(如图5-7所示)2.添加驱动程序,编译通过。3.执行仿真,点击指拨开关,改变输入内容,观察P0口输出情况。4.注意:74165的移位是从D0->D1->......->D7,就是高位在前,51单片机是低位在前5.填写项目实施记录单。思考:如何用串行口扩展16位的输入口?5.3.2方式1●单片机串行口的工作方式和应用
5-2串行口方式0扩展8位并行输入口方式1是10位为一帧的全双工异步串行通信方式。共包括1个起始位、8个数据位(低位在先)和一个停止位。TXD为发送端,RXD为接收端,波特率可变。其帧格式为:5.3.2方式1●单片机串行口的工作方式和应用
5-2串行口方式0扩展8位并行输入口1.发送串行口在方式1下进行发送时,数据由TXD端输出,CPU执行一条写入SBUF的指令就会启动串行口发送,发送完一帧数据信息时,发送中断标志TI置“1”;需要用软件清零TI。2.接收接收数据时,SCON应处于允许接收状态(REN=1)。接收数据有效时,装载SBUF,停止位进入RB8,RI置“1”。中断标志RI必须由软件清零。注意:方式1接收数据有效需同时满足:RI=0;SM2=0或接收到的停止位为1。5.3.2方式1●单片机串行口的工作方式和应用
5-2串行口方式0扩展8位并行输入口3.方式1的波特率使用定时器T1作为串行口方式1和方式3的波特率发生器,定时器T1常工作于方式2,波特率计算公式如下:其中X是定时器的初值。思考:使用定时器T1作为波特率发生器,为何常使其工作于方式2?5.3.2方式1●单片机串行口的工作方式和应用
5-2串行口方式0扩展8位并行输入口3.方式1的波特率在实际应用中,一般是先按照所要求的通信波特率设定SMOD,然后再算出定时器T1的时间常数。定时器T1的时间常数X=28-2SMOD×fosc/(12×32×波特率)通常为避免复杂定时器初值计算,将波特率和定时器T1初值的关系列成表,以便查询,表5-2表示常用波特率和定时器T1初值关系。5.3.2方式1●单片机串行口的工作方式和应用
3.方式1的波特率表5-2表示常用波特率和定时器T1初值关系。波特率方式1、3fosc=6MHzfosc=12MHzfosc=11.059MHzSMODT1方式初值SMODT1方式初值SMODT1方式初值62.5k12FFH19.2k12FDH9.6k02FDH4.8k12F3H02FAH2.4k12F3H02F3H02F4H1.2k12E6H02E6H02E8H60012CCH02CCH02D0H30002CCH0298H02A0H137.5121DH021DH022EH1100272H01FEEBH01FEFFH5.3.2方式1●单片机串行口的工作方式和应用
5-3波特率计算目的:波特率计算内容:波特率计算和初始化程序要求:某AT89C51单片机控制系统,晶振频率为12MHz,要求串行口发送数据为8位,波特率为1200b/s,编写串行口的初始化程序。计算过程:设SMOD=1,则定时器T1的时间常数X的值为X=28-2SMOD×fosc/(384×波特率)
=256-2×12×106/(384×1200)
=256-52.08=203.92≈0CCH5.3.2方式1●单片机串行口的工作方式和应用
5-3波特率计算串行口初始化程序如下:
MOV SCON,#50H ;串行口工作于方式1ORL PCON,#80H ;SMOD=1MOV TMOD,#20H ;T1工作于方式2,定时方式
MOV TH1,#0CCH ;设置时间常数初值
MOV TL1,#0CCHSETB TR1;启动T1执行上面的程序后,即可使串行口工作于方式1,波特率为1200b/s。如果允许中断需设中断允许标志位;如果是接收数据,仍要先将REN位置1。5.3.2方式1●单片机串行口的工作方式和应用
5-4双机通信目的:串行口方式1应用内容:2个单片机互相传送数据说明:单片机串行接口主要用于计算机之间的串行通信,包括两个单片机之间、多个单片机之间及单片机与PC机之间的串行通信。通信应考虑接口电路、通信协议、程序编写、问题处理等几方面内容。5.3.2方式1●单片机串行口的工作方式和应用
5-4双机通信关于双机串行通信的实现方法:(1).接口电路两台单片机通信根据双方距离的远近可采取不同的接口电路。如果两台单片机应用系统相距很近,将它们的串行口直接相连,即发送方的TXD接到接收端的RXD,而接收端的TXD连接到发送端的RXD端,双方的GND线相连。如果通信距离较远,通信线路必须加辅助电路,如可采用RS-232C接口、RS-485接口、调制解调器等。(2).通信协议通信协议就是通信双方要遵守共同约定。协议内容包括双方采取一致的通信方式、一致的波特率设定、确认何方为收机何方为发机、设定通信开始时发机的呼叫信号和收机的应答信号以及通信结束的标志信号等。通常在设计发送与接收程序时应考虑以下问题:5.3.2方式1●单片机串行口的工作方式和应用
5-4双机通信关于双机串行通信的实现方法:●发送程序:①波特率设置初始化(与接收程序设置相同);②串行口初始化(允许接收);③相关工作寄存器设置:(原数据地址指针等);④按约定发送/接收数据;●接收程序:①波特率设置初始化(与发送程序设置相同); ②串行口初始化(与发送程序设置相同);③工作寄存器设置:(保存数据地址指针等);④按约定发送/接收数据,传送状态字如正确标志,错误标志;5.3.2方式1●单片机串行口的工作方式和应用
5-4双机通信5.3.2方式1●单片机串行口的工作方式和应用
5-4双机通信参考程序:;双机通信.ASM;电路如双机通信.DSN,双机对称,使用相同程序;串行口方式1,波特率1200;从P1口输入数据,然后从串行口发送到对方;从串行口接收到的数据,送到P0口显示;就是说,本机输入的数据,在对方的P0口显示5.3.2方式1●单片机串行口的工作方式和应用
5-4双机通信参考程序:START:MOVTMOD,#20H;设定定时器T1为方式2MOVTL1,#0E8H;送定时初值,波特率为1200MOVTH1,#0E8H;送定时初值,波特率为1200MOVPCON,#00H;PCON中的SMOD=0SETBTR1;启动定时器T1MOVSCON,#50H;设定串行口为方式1,允许接收
MOVP1,#0FFH;输入要先输出1;以上初始化,以下死循环
LOOP1:MOVA,P1;从P1口输入数据
MOVSBUF,A;数据送SBUF发送
LOOP2:JNBTI,LOOP2;判断数据是否发送完毕?
CLRTI;发送完一帧后清标志
LOOP3:JNBRI,LOOP3;判断是否接收到数据?
CLRRI;接收到数据后清接收标志
MOVA,SBUF;数据送累加器AMOVP0,A;从P0口输出
SJMPLOOP1;返回继续5.3.2方式1●单片机串行口的工作方式和应用
5-4双机通信参考程序:操作步骤:1.用proteus软件画出电路图2.编辑双机通信程序,并编译通过3.在proteus项目中,给2个单片机都添加程序(同一个程序即可)。4.全部编译(BuildAll)5.运行,看到虚拟串口不断发送的数据,出现在对方P0口6.改变P1口状态,查看发送的数据变化,对方显示也在变。7.讨论,总结8.填写实训记录单参考文件:双机通信.DSN5.3.3方式2●单片机串行口的工作方式和应用
串行口工作于方式2,为波特率固定11位异步通信口,发送和接收的一帧信息由11位组成,即1位起始位、8位数据位(低位在先)、1位可编程位(第9位)和1位停止位,TXD为发送端,RXD为接收端,发送时可编程位(TB8)根据需要设置为“0”或“1”(TB8既可作为多机通信中的地址数据标志位又可作为数据的奇偶校验位);接收时,可编程位的信息被送入SCON的RB8中。其帧格式为:5.3.3方式2●单片机串行口的工作方式和应用
1.发送2.接收3.方式2的波特率在方式2发送时,数据由TXD端输出,附加的第9位数据为SCON中的TB8,CPU执行一条写SBUF的指令后,便立即启动发送器发送,送完一帧信息后,TI被置“1”。在发送下一帧信息之前,TI必须由中断服务程序(或查询程序)清零。2.当REN=1时,允许串行口接收数据。数据由RXD端输入,接收11位信息。接收数据有效,8位数据装入SBUF,第9位数据装入RB8,并置RI为1。方式2的波特率=(2SMOD/64)×fosc5.3.4方式3●单片机串行口的工作方式和应用
串行口工作于方式3,为波特率可变的11位异步通信方式,除了波特率外,方式3和方式2相同。方式3的波特率和方式1的波特率计算相同。思考:串行口方式3和方式2区别是什么;串行口四种工作方式的特点分别是什么?5.3.5关于11位帧格式的使用●单片机串行口的工作方式和应用
串行口方式2和方式3都是11位帧格式,正常数据一般是8位(一字节),加上起始位和停止位共10位。多出来的1位是TB8/RB8,这一位有什么用呢?可以用来进行奇偶校验,还可以实现多机通信。5.3.5关于11位帧格式的使用●单片机串行口的工作方式和应用
5.3.5.1关于奇偶校验奇偶校验,就是在发送了8位数据之后,再来一个奇偶检验位。程序状态字寄存器PSW中有一个奇偶状态位P(PSW.0):P=1表示目前累加器中“1”的个数为奇数;P=0表示目前累加器中“1”的个数为偶数。CPU随时监视着Acc的“1”的个数并自动反映在P。5.3.5关于11位帧格式的使用●单片机串行口的工作方式和应用
5.3.5.1关于奇偶校验1.发送:(约定采用偶校验)若发送的8位有效数据中“1”的个数为偶数,则要人为添加一个附加位“0”一起发送;若发送的8位有效数据中“1”的个数为奇数,则要人为添加一个附加位“1”一起发送。选用偶校验方式发送,如果A中的数的1的个数是奇数(P=1),将TB8写成“1”一起发出去;反之:若(P=0)则写TB8=“0”发出去。具体操作就是将让TB8=P。程序片段:CLRTI ;清发送中断标志以备下次发送MOVA,@R0 ;取由R0所指向的单元中的数据MOVC,P ;将奇偶标志位通过C放进TB8MOVTB8,C ;一起发送出去MOVSBUF,A ;启动发送INCR0;指针指向下一个数据单元5.3.5关于11位帧格式的使用●单片机串行口的工作方式和应用
5.3.5.1关于奇偶校验2.接收(约定采用偶校验)若接收到的9位数据中“1”的个数为偶数,则表明接收正确,取出8位有效数据即可;若接收到的9位数据中“1”的个数为奇数,则表明接收出错!应当进行出错处理。选用偶校验方式接收,若P=0,且RB8=0或P=1,且RB8=1表示偶校验没有出错。若P=0且RB8=1或P=1且RB8=0偶校验出错。程序片段:
CLRRI ;清接收中断标志以备下次接收
MOVA,SBUF;读进收到的数据
MOVC,P ;奇偶标志位
CJNCL1;C=0时转到L1,即P=0时转到L1JNBRB8,ERR;P=1时,若RB8=0“出错”转到ERRSJMPL2;若RB8=1则表明接收正确,转L2L1:JBRB8,ERR;P=0且RB8=1表明“出错”转ERRL2:MOV@R0,A;P=0且RB8=0表明接收正确
INCR0;指针指向下一个数据单元…
ERR:出错处理……RET;返回
●单片机串行口的工作方式和应用
5-5双机通信奇偶校验目的:奇偶校验内容:发送一批数据,设1号机发送,2号机接收,串行接口工作于方式3(每帧数据为11位,第9位用于奇偶校验),将1号机片内RAM中30H单元开始的32个数据发送到2号机片内RAM中30H开始的单元中。两机的晶振频率均为11.0592MHz,通信波特率为1200bit/s。接收机判断奇偶正确就发回00H,发现奇偶错误就返回FFH。发送机接到FFH,就会重新发送刚才的数据。在发送机改一点就会看到错误,程序中有注明。操作:略限于篇幅,proteus项目移入光盘,参考光盘文件:双机-奇偶.DSN,有电路和程序,注释很详细,可以看懂。5.3.5关于11位帧格式的使用5.3.5关于11位帧格式的使用●单片机串行口的工作方式和应用
5.3.5.2关于多机通信MCS-51系列单片机多机分布式系统常构成主从式通信方式,主机与从机可实现全双工通信,而各从机之间只能通过主机交换信息。设有一个多机分布式系统,1个主机,n个从机。系统如图5-9所示.。主机的RXD端与所有从机的TXD端相连,主机的TXD端与所有从机的RXD端相连(为增大通信距离,各机之间还要配接RS-232C、或RS-485标准接口)。
ERR:出错处理……RET;返回
5.3.5关于11位帧格式的使用●单片机串行口的工作方式和应用
5.3.5.2关于多机通信图5-9MCS-51主从式多机通信系统5.3.5关于11位帧格式的使用●单片机串行口的工作方式和应用
5.3.5.2关于多机通信(1)多机通信原理在多机通信中,为了保证主机与所选择的从机实现可靠的通信,必须保证通信接口具有识别功能,可以通过控制单片机的串行口控制寄存器SCON中的SM2位来实现多机通信的功能,其原理简述如下:利用单片机串行口方式2或方式3及串行口控制寄存器SCON中的SM2和RB8的配合可完成主从式多机通信。串行口以方式2或方式3接收时,若SM2为1,则仅当从机接收到的第九位数据(在RB8中)为1时,数据装入接收缓冲器SBUF,并置RI=1向CPU申请中断;如果接收到第九位数据为0,则不置位中断标志RI,信息将丢失。而SM2为0时,则接收到一个数据字节后,不管第九位数据是1还是0都产生中断标志RI,接收到的数据装入SBUF。应用这个特点,便可实现多个单片机之间的串行通信。5.3.5关于11位帧格式的使用●单片机串行口的工作方式和应用
5.3.5.2关于多机通信(2)多机通信协议多个单片机通信过程可约定如下:①所有从机串行口初始化为工作方式2或方式3,SM2置位,串行中断允许。各从机均有编址。②主机首先发送一帧地址信息,其中包括8位地址,第9位为地址置位,表示发送的为地址。③所有从机均接收主机发送的地址,并进入各自中断服务程序,与各自的地址进行比较。④被寻址的从机确认后,把自身SM2清零,并向主机返回地址供主机核对。对于地址不符的从机,仍保持SM2=1状态。⑤主机核对地址无误后,再向被寻址的从机发送命令,命令从机是进行数据接收还是数据发送,第9位清零。⑥主从机之间进行数据传送,其他从机检测到主机发送的是数据而非地址,则不予理睬。直到接收主机发送新的地址后。⑦数据传输完毕后,从机将SM2重新置位。⑧重复②~⑦过程。思考:在多机通信中TB8/RB8、SM2各起什么作用?●单片机串行口的工作方式和应用
5-6多机通信目的:奇偶校验内容:发送一批数据,设1号机发送,2号机接收,串行接口工作于方式3(每帧数据为11位,第9位用于奇偶校验),将1号机片内RAM中30H单元开始的32个数据发送到2号机片内RAM中30H开始的单元中。两机的晶振频率均为11.0592MHz,通信波特率为1200bit/s。接收机判断奇偶正确就发回00H,发现奇偶错误就返回FFH。发送机接到FFH,就会重新发送刚才的数据。在发送机改一点就会看到错误,程序中有注明。操作:略限于篇幅,proteus项目移入光盘,参考光盘文件:双机-奇偶.DSN,有电路和程序,注释很详细,可以看懂。5.3.5关于11位帧格式的使用远程控制电子钟的设计任务5.4
5.4.1远程控制电子钟的电路设计按照项目规划单的要求,设计远程控制电子钟电路如下:远程控制电子钟的6位数码管显示,可以使用以前的数码管显示电路,但是我们为了让大家看到不同的电路和元件使用方法,重新设计了显示电路。●远程控制电子钟的设计
如图5-10所示●远程控制电子钟的设计
在这个电路中,我们使用了现在市场使用很多的性能更好的串行口扩展器件,74LS595。可以先看一下仿真项目:595X6.DSN,这是这个电路的一个原型。它利用了单片机的串行口方式0,输出扩展6个并行口,实现静态显示。这种显示占用单片机的I/O口线少,显示稳定,亮度高。为了实现远程控制,利用单片机的串行口,加上串行口电平转换器件MAX232,实现与PC机的通信。将来只要利用PC机就可控制电子钟。●远程控制电子钟的设计
5.4.1远程控制电子钟的电路设计
PC机的串行口一般是9芯D型接口母头,与此相对应的是9芯D型接口公头,它们可以顺利对接。见图5-11.●远程控制电子钟的设计
5.4.2PC机的串行口(a)D9母头(b)D9公头图5-11
串行接口接头(a)图是PC机上的串行口接头,其中左边的露在机箱外部的接口,右边的是背面的接线端子。(b)图是外设串行口接头。有时它们直接相连,有时通过串口线连接。见图5-12。●远程控制电子钟的设计
(a)普通串口线(b)USB转串口线图5-12
串口线5.4.2PC机的串行口图5-13串口接头引脚排列PC机的串行口符合RS-232C标准,主要特点是,用+3~+15V表示逻辑0,用-3~-15V表示逻辑1。各个引脚排列如图5-13所示。引脚定义符号1载波检测DCD2接收数据RXD3发送数据TXD4数据终端准备好DTR5信号地SG6数据准备好DSR7请求发送RTS8清除发送CTS9振铃提示RI●远程控制电子钟的设计
图5-13
串口接头引脚排列5号引脚没有标出,直接接地了。我们只使用3个引脚就可以了,就是2号引脚RXD(接收数据)和3号引脚(发送数据),还有地线。其他引脚暂时不用,忽略。有兴趣的可以自行查找有关资料。5.4.2PC机的串行口
利用串行口实现与PC机联系,这个联系建立起来后,就可以利用普通的台式机来控制单片机。单片机的串行口信号电平符合TTL标准,PC机的串行口符合RS-232C标准,这二个标准不一致,需要对逻辑电平进行转换,才可以连接。PC机的串行口符合RS-232C标准,主要特点是,用+3~+15V表示逻辑0,用-3~-15V表示逻辑1。一般电平转换使用专用芯片进行,常见的芯片是MAX232,具体方法请看图5-14.●远程控制电子钟的设计
5.4.3单片机与PC机串口相连●远程控制电子钟的设计
图5-145.4.3单片机与PC机串口相连
MAX232芯片是内部具有电压转换电路,自动将+5V电源转换成具有+12V和-12V,用来与PC机的数据电平配合。●远程控制电子钟的设计
5.4.3单片机与PC机串口相连转换电路需要电容配合工作,电容太小可能使电压不够,电容太大可能影响数据传输波特率。MAX232有2个串行口通道,图中只使用了1号通道,2号通道没有使用。芯片有16个引脚,16号接+5V电源,15号接地,这2个引脚图中是隐藏的。
单片机有了转换后的符合RS-232标准的串行口,就可以使用串口线与PC机的串口连接了。不过,现在有的PC机和笔记本没有了RS-232接口。有办法,使用USB接口转换成RS-232接口,现在有现成的转换线出售,买来用就行了。电路接好,还需要有程序。单片机要有串口通信程序,PC机也要有串口通信程序,而且通信协议必须一致。这个程序问题请自行查找资料。本书不再深入。●远程控制电子钟的设计
5.4.3单片机与PC机串口相连
单片机有了转换后的符合RS-232标准的串行口,就可以使用串口线与PC机的串口连接了。不过,现在有的PC机和笔记本没有了RS-232接口。有办法,使用USB接口转换成RS-232接口,现在有现成的转换线出售,买来用就行了。电路接好,还需要有程序。单片机要有串口通信程序,PC机也要有串口通信程序,而且通信协议必须一致。这个程序问题请自行查找资料。本书不再深入。●远程控制电子钟的设计
5.4.3单片机与PC机串口相连提示:有好多可用的串口调试软件,在PC机上运行,可以与单片机的串行口实现通信测试。在这个项目中,我们利用proteus软件提供的一个虚拟的串行口来实现仿真。为了更好的理解51单片机与PC机的通信,可以看光盘中的一个仿真文件:51-232-PC.DSN。同时学会虚拟终端的用法。程序名:T0方式1时钟595远控.ASM,全文太长,要看的请看光盘文件,这里只介绍程序思路和重点子程序。先利用伪指令定义资源使用。主程序进行初始化,包括定时器T0、T1和串行口,中断,堆栈,各种初值。●远程控制电子钟的设计
5.4.4远程控制电子钟的程序设计
建议:还是使用编程软件来讲解比较好。
显示子程序;驱动74595串行显示,用软件模拟串行口时序,发送数据TIME_DSP:MOVR7,#6;显示6位数
MOVR0,#DISPRAM+5;显示缓冲区首地址,秒的地址
CLRST_CP;595内部输出允许,上升沿有效
CLRSH_CP;595移位时钟信号输入端,上升沿有效TD0:MOVR6,#8;每个显示数8位二进制数
MOVA,@R0;取显示的数据,分离BCD码
LCALLSEG7;查表取得字型码,在A中TD1:RRCA;右移一位到CMOVSDS,C;数据送到串行器件595的输入端
SETBSH_CP;595移位时钟信号输入端,上升沿数据移位
CLRSH_CP;595移位时钟信号输入端,下降沿不变
DJNZR6,TD1;循环8次,发送一字节
DECR0;下一个字节地址
DJNZR7,TD0;循环6次,发送6个字节
SETBST_CP;595内部输出允许,上升沿有效
CLRST_CP;595内部输出允许,上升沿有效
RET上述程序中阴影部分是模拟串行口的关键,需要针对器件特性来理解。其中的接口定义在整个程序开头,必要时参看一下,程序就好理解。●远程控制电子钟的设计
5.4.4远程控制电子钟的程序设计2、远程通信部分:远程控制的功能暂时只有对表,将来还有可能其他功能。远程对表就是有PC机发送来时间(或日期),单片机按照这个时间对表。除了主程序中的串行口波特率设定和中断设定,就是串行口中断(接收)程序和控制程序。
串行口中断服务程序.接收时间数据,如果接收完全,建立一个标志BSJ=1,;以便修改时钟时间,实现对表。串行发送的数据以ASCII码形式实现。接收的第一个字符包含标题和字节数,'A'=41H=时间6字节;'B'=42H=日历8字节,接收后存放在PCDATA单元,其后是依次接收的数据。程序先对接收的数据判断开头字符,'A'代表时间6字节,'B'代表日期8字节。如果不是字符头,就应该是数据,转移到接收数据部分。数据收完建立一个标志,以便对表。●远程控制电子钟的设计
5.4.4远程控制电子钟的程序设计2、远程通信部分:(1)SFW:PUSHACC;保护现场------串行口中断服务程序
PUSHPSWPUSHBSETBRS1;使用工作寄存器组2CLRRS0SFW8:JNBRI,SFWB;不是接收完成,转判断发送标志
CLRRI;是接收完一个字节的标志,清除
MOVA,SBUF;接收来的数据送累加器
MOVB,A;暂存
CJNEA,#041H,SFW9;判断是否时间标题,不是转
MOVPCDATA,A;保存标题和字节数,是时间
MOVZJS,#6+1;本次要接收的时间字节数
MOVDIZ,#1;保存下次接收数据的地址偏移量
CLRBSJ;没接收完时间标志BSJ=0SJMPSFWY;头字节处理完●远程控制电子钟的设计
5.4.4远程控制电子钟的程序设计2、远程通信部分:(2)SFW9:CJNEA,#42H,SFW8X;判断是否日历标题,不是转
MOVPCDATA,AMOVZJS,#8+1MOVDIZ,#1CLRBRLSJMPSFWY;头字节处理完SFW8X:MOVA,ZJS;剩下的字节数,-每次接收数据字节从SFW8X开始
JZSFWEE;如果剩下的字节数=0,就是错误,转错误处理
MOVA,#PCDATA;保存接收数据的开始地址
ADDA,DIZ;计算保存具体地址:开始地址+偏移量
MOVR0,A;准备用间接寻址,必须的
MOV@R0,B;保存收到的数据
INCDIZ;下次保存地址
DECZJS;字节数减1,减到0,就完成了
MOVA,ZJS;JNZSFWY;ZJS<>0,没收完
SETBBSJ;SJS=0,收完,标志BSJ=1MOVSBUF,#4FH;发送字符’O’SJMPSFWZ;本次中断完成●远程控制电子钟的设计
5.4.4远程控制电子钟的程序设计2、远程通信部分:(2)SFWB:JNBTI,SFWEE;既不是RI也不是TI,奇怪,是干扰,转错误处理
CLRTI;是发送完成标志,清除
SJMPSFWZ;转正常结束SFWEE:MOVSBUF,#4EH;向控制机发送错误标志'N';错误处理
MOVSJS,#0;时间字节数清零
MOVRLS,#0SJMPSFWZ;转正常结束SFWY:MOVSBUF,#59H;接收正常,发回'Y'SFWZ:POPB;正常结束
POPPSW;恢复现场
POPACCRETI标号SFW8开始是判断是否时间,标号SFW9开始判断是否日期,标号SFW8X开始接收并保存数据,保存在片内RAM中。还有一点判断错误的内容,如果发现错误将发回’N’,正确发回’Y’,结束发回’O’。不过没有太多的错误检查,那太麻烦,以后实际使用远程通信可是不要怕麻烦哦!因为不检查错误会更麻烦!●远程控制电子钟的设计
5.4.4远程控制电子钟的程序设计2、远程通信部分:3、远程控制部分:(1);---------以下控制子程序-----;将远程控制PC机送来的对表时间实施。将串行口接收到的时间数据用来修改当前时间。KONG:PUSHACC;保护现场
PUSHBPUSHPSWCLRRS0;使用工作寄存器组0CLRRS1MOVA,PCDATA;读取数据头
CJNEA,#41H,KONGA;判断时间还是日历
MOVR0,#PCDATA;是时间
LCALLHEBING;调用合并子程序
MOVHOUR,A;修改小时值
LCALLHEBING;接下页●远程控制电子钟的设计
5.4.4远程控制电子钟的程序设计2、远程通信部分:3、远程控制部分:(1);---------以下控制子程序-----;将远程控制PC机送来的对表时间实施。将串行口接收到的时间数据用来修改当前时间。;接上页
MOVMINUTES,A;修改分
LCALLHEBINGMOVSECOND,A;修改秒
SJMPKONGZ;时间修改完毕--------KONGA:;修改日期部分略KONGZ:POPPSW;恢复现场
POPBPOPACCRET其中用到子程序:HEBING,就是把接收到的ASCII码转换成二进制数据,这里略。还有一些资源定义以及其他子程序,略。需要可以参看源程序文件。●远程控制电子钟的设计
5.4.4远程控制电子钟的程序设计远程控制电子钟的仿真调试任务5.5
●远程控制电子钟的仿真调试
远程控制电子钟目的:串行口通信和模拟串行口扩展I/O口输出内容:定时器T0方式1产生时间,中断编程。模拟串行口输出扩展并行口,用于数码管显示。按键对表。串行口远程通信步骤:1.按照任务5-4的电路绘制电路图
2.按照任务5-4的程序编辑源程序并编译通过3.执行,观察时间显示,要注意每秒变化一次,快了慢了都不对,要找出原因并改正之。4.点击加1按钮,看对表功能。把时间调到当前标准时间,运行一段时间,看看误差。
●远程控制电子钟的仿真调试
远程控制电子钟5.点击暂停按钮,在显示子程序开始放置断点,全速执行到断点。6.单步执行,查看内存和寄存器内容变化,查看子程序调用过程,理解堆栈的作用和进出栈过程,理解代码转换,理解模拟串行口工作过程,看到要显示的字符从左到右移动过程。步骤:(2)7.按照电路图中说明文字,对虚拟串行口设置属性。8.在代表PC机的虚拟串行口PCS窗口输入字符,看电路反9.在PCS窗口输入‘A123456#’,看时钟反应。这时时钟应该从12点24分56秒继续走时。●远程控制电子钟的仿真调试
远程控制电子钟10.完成以上步骤,并且真正理解,就可以下一步。否则要返回步骤6,直到弄懂。如果有困难可以使用“求助3+1”。11.讨论步骤6的收获。12.填写技能训练记录单。远程控制电子钟的制作和调试任务5.6
●远程控制电子钟的制作和调试
5.6.1制作要点从电路图到PCB,元件选择和测试,板子测试,焊接,电路测试,加载程序,功能调试,外观设计装修,交工。只要理解了电路原理和程序流程,没有什么难度。外观设计可是需要高超的审美观点,手工制作技能也不是一天就能练熟的,需要慢慢提高。●远程控制电子钟的制作和调试
5.6.2调试要点如果功能正常,那就还有一点,精确度。如果能用到好的晶振,加上精心调整定时器的初值,就会实现一年误差在一秒之内。实在不行,就一个月误差在一秒之内。●远程控制电子钟的制作和调试
5.6.3改进方向远程控制电子钟,只是为了让我们练习一下定时器、串行口和中断,也就是复习一下学过的指令知识而已。如果能做成自动打铃器,用处就大大增加了,再加上LCD显示,那就上了一个档次。想一想,那些和时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宝的市场调研与分析报告
- 电商平台数据安全处理流程详解
- 2026 学龄前自闭症想象力技能巩固课件
- 委托诉讼代理合同(14篇)
- 市场调研报告15篇
- 2025工程(管道维修)合同
- 2026年一级建造师《水利水电工程》真题及答案解析
- 【完整版】门式起重机安全操作规程
- 人防风管密闭处理施工工艺流程
- 2026年交替传译技巧培训方案
- 中建科技与质量管理手册2024
- 纺织厂消防应急预案
- 电网运行预警管理办法
- 【《基于S7-1200 PLC的风力发电机变桨距复合控制系统设计》8400字(论文)】
- 常州大学c语言考试题及答案
- 道路热熔型标线施划的技术要求
- 2025年中国邮政集团工作人员招聘考试笔试试题(含答案)
- 山西省怀仁一中2025年高一下化学期末学业质量监测试题含解析
- 机电专业考试题及答案
- 法兰螺栓紧固培训课件
- 突聋的护理课件
评论
0/150
提交评论