单片机串行通信

上传人:gb****c 文档编号:243298966 上传时间:2024-09-20 格式:PPT 页数:67 大小:1.38MB
返回 下载 相关 举报
单片机串行通信_第1页
第1页 / 共67页
单片机串行通信_第2页
第2页 / 共67页
单片机串行通信_第3页
第3页 / 共67页
点击查看更多>>
资源描述
Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,单片机应用技术,66,单片机应用技术,应用电子技术专业,E-mail,:,串行通信,1.,串行通信基础,2.80C51,串行口结构,3.,串行口应用举例,单片机应用技术,一、 计算机串行通信基础,通讯:信息交换,计算机 计算机,计算机 外设,应用:多机系统、计算机网络,方式:,并行通信,串行通信,1.,串行通信基础,单片机应用技术,并行通信:数据多位同时传送,控制简单,传输速度快,传输线较多,1.,串行通信基础,单片机应用技术,串行通信:数据字节一位一位在一条传输线上逐个传送。,传输线少,可利用电话网,但传送控制复杂。,1.,串行通信基础,单片机应用技术,二、 串行通信的基本概念,异步通信与同步通信,异步通信,收、发设备使用各自时钟。,1.,串行通信基础,单片机应用技术,以字符(构成的帧)为单位,字符间是异步的,字符内各位是同步的,数据格式 :,1.,串行通信基础,单片机应用技术,同步通信,发送方时钟与接收方时钟同步。既保持位同步,也保持字符同步。同步方法:,外同步 自同步,1.,串行通信基础,单片机应用技术,串行通信的传输方向,单工,半双工,全双工,单工,半双工,全双工,1.,串行通信基础,单片机应用技术,信号的调制与解调,调制器把数字信号转换成模拟信号,然后送到通信线路上去,解调器把从通信线路上收到的模拟信号转换成数字信号。,1.,串行通信基础,单片机应用技术,串行通信的错误校验,奇偶校验,代码和校验,循环冗余校验,传输速率与传输距离,传输速率,比特率,:,每秒钟传输二进制代码的位数,波特率,:,每秒钟调制信号变化的次数,单位是:波特(,Baud,)。,传输距离与传输速率的关系,传输距离随传输速率的增加而减小。,1.,串行通信基础,单片机应用技术,RS-232C,接口,EIA,(,美国电子工业协会),1969,年修订,RS-232C,标准,它定义了,DTE,与,DCE,间的物理接口标准。,机械特性,使用,25,针连接器,连接器的尺寸及每个插针的排列位置都有明确的定义。(阳头),三、 串行通信接口标准,1.,串行通信基础,单片机应用技术,功能特性,1.,串行通信基础,单片机应用技术,过程特性,规定了信号间的时序关系,。,远程通信连接,电气特性,负逻辑,,DC,(,-3-15v,)为,1,。,DC,(,+3+15v,)为,0,,,DC,(,-3+3v,),为过渡区。,1.,串行通信基础,单片机应用技术,近程通信连接,1.,串行通信基础,单片机应用技术,RS-232C,电平与,TTL,电平转换驱动电路,1.,串行通信基础,单片机应用技术,1.,串行通信基础,单片机应用技术,采用,RS-232C,接口存在的问题,距离短,速率低,受电容允许值的约束,传输距离一般不要超过,15,米。最高传送速率为,20Kbps,。,有电平偏移,收发双方共地。通信距离较大时,在信号地上将有比较大的地电流并产生压降。,抗干扰能力差,单端输入输出。为了提高信噪比,不得不采用比较大的电压摆幅。,1.,串行通信基础,单片机应用技术,RS-485,接口,RS-485,用于半双工,最多可以使用,32,对差分驱动器,/,接收器。还可以用中继器。,RS-485,干扰抑制性好。因为阻抗低,无接地问题,传输距离可达,1200,米,传输速率可达,1Mbps,。,1.,串行通信基础,单片机应用技术,RS-485,常用于一点对多点的通信。一般采用双绞线的结构。,单片机通过,MAX485,来完成,TTL/RS-485,的电平转换。,普通的,PC,机一般不带,RS485,接口,因此要使用,RS-232C/RS-485,转换器。,1.,串行通信基础,单片机应用技术,2,个物理上独立的接收、发送缓冲器,SBUF,,占用同一地址,99H,;接收器是双缓冲结构 。,2.80C51,串行口结构,单片机应用技术,设定工作方式、接收,/,发送控制以及设置状态标志,一、,80C51,串行口的控制寄存器,SM0 SM1 SM2 REN TB8 RB8 TI RI,SCON (98H),SM0,、,SM1,:,工作方式设置位,0 0,:,8,位同步移位寄存器 ,,fosc/12,0 1,:,10,位异步收发器(,8,位数据),,波特率可变,1 0,:,11,位异步收发器(,9,位数据),,fosc/64,或,fosc/32,1 1,:,11,位异步收发器(,9,位数据),,波特率可变,2.80C51,串行口结构,单片机应用技术,SM2,,,多机通信控制位。,主要用于方式,2,和方式,3,。对于接收机,SM2=0,,,收到,RB8,(,0,或,1,)即可使收到的数据进入,SBUF,,,并激活,RI,。,SM2=1,,,收到的,RB8,0,时,收到的信息丢弃,不激活,RI,;,若收到的,RB8,1,时,收到的数据进入,SBUF,,,并激活,RI,,,进而在中断服务中将数据从,SBUF,读走。,方式,0,时,,SM2,必须是,0,。,方式,1,时,,SM2=1,时,只有接收到有效停止位时,,RI,才激活。,REN,,,允许串行接收位。,置,REN=1,,,启动串口接收过程,置,REN=0,,,则禁止串口接收,2.80C51,串行口结构,单片机应用技术,TB8,,,在方式,2,、,3,中,是发送数据的第,9,位,数据的奇偶校验位,地址帧,/,数据帧的标志位,RB8,,,在方式,2,、,3,中,是接收到数据的第,9,位,奇偶校验位,地址帧,/,数据帧的标志位。,方式,1,时,若,SM2=0,,则,RB8,是接收到的停止位。,2.80C51,串行口结构,单片机应用技术,TI,,,发送中断标志位。,方式,0,时,串行发送第,8,位数据结束时,其它方式,串行发送停止位的开始时,硬件使,TI,置,1,,发中断申请。必须在中断服务程序中用软件将其清,0,。,RI,,,接收中断标志位。,方式,0,时,串行接收第,8,位数据结束时,其它方式,串行接收停止位的中间时,硬件使,RI,置,1,,发中断申请。必须在中断服务程序中用软件将其清,0,。,2.80C51,串行口结构,单片机应用技术,PCON,:,SMOD,,,波特率倍增位。,在方式,1,、,2,、,3,时,波特率与,SMOD,有关:,SMOD=1,时,波特率提高一倍。复位时,,SMOD=0,。,SMOD,PCON (97H),2.80C51,串行口结构,单片机应用技术,二、,80C51,串行口的工作方式,方式,0,同步移位寄存器的输入输出方式。用于扩展并行输入或输出口。数据由,RXD,引脚输入或输出,移位脉冲由,TXD,引脚输出。,8,位数据。波特率为,fosc/12,。,方式,0,输出,2.80C51,串行口结构,单片机应用技术,方式,0,输入,方式,0,接收和发送电路,2.80C51,串行口结构,单片机应用技术,方式,1,10,位数据的异步通信。帧格式如图所示。,方式,1,输出,2.80C51,串行口结构,单片机应用技术,方式,1,输入,置,REN,为,1,时,接收器检测到,RXD,引脚输入电平发生负跳变时,则说明起始位有效,将其移入输入移位寄存器,并开始接收这一帧信息的其余位。,当,RI=0,,且,SM2=0,(,或接收到的停止位为,1,)时,将收到的,9,位数据的前,8,位装入,SBUF,,第,9,位(停止位)进入,RB8,,,并置,RI=1,,向,CPU,请求中断。,2.80C51,串行口结构,单片机应用技术,方式,2,和方式,3,11,位数据的异步通信。,起始位,1,位,数据,9,位,停止位,1,位,方式,2,的波特率固定为晶振频率的,1/64,或,1/32,方式,3,的波特率由定时器,T1,的溢出率决定,2.80C51,串行口结构,单片机应用技术,方式,2,和方式,3,输出,先把起始位,0,输出到,TXD,,然后发送移位寄存器的输出位(,D0,)。每一移位脉冲都使输出移位寄存器的各位移动一位,并由,TXD,引脚输出。,最后一次移位后,置,TI=1,,请求中断。,2.80C51,串行口结构,单片机应用技术,方式,2,和方式,3,输入,数据从右边移入输入移位寄存器,最后一次移位后,若,RI=0,,且,SM2=0,(,或接收到的第,9,位数据为,1,)时,接收到的数据装入接收缓冲器,SBUF,和,RB8,(,接收数据的第,9,位),置,RI=1,,向,CPU,请求中断。,如果条件不满足,则数据丢失,且不置位,RI,2.80C51,串行口结构,单片机应用技术,波特率的计算,方式,0,、,2,的波特率是固定的,而方式,1,、,3,的波特率是可变的,由定时器,T1,的溢出率来决定。,方式,0,波特率,= fosc/12,方式,2,波特率,=,(,2,SMOD,/64,), fosc,方式,1,波特率,=,(,2,SMOD,/32,),(,T1,溢出率),方式,3,波特率,=,(,2,SMOD,/32,),(,T1,溢出率),T1,溢出率,= fosc /12256,(,TH1,),T1,方式,2,,,TR1=1,(以启动定时器),2.80C51,串行口结构,单片机应用技术,2.80C51,串行口结构,单片机应用技术,串行口初始化具体步骤:,确定,T1,的工作方式(编程,TMOD,寄存器);,计算,T1,的初值,装载,TH1,、,TL1,;,启动,T1,(,编程,TCON,中的,TR1,位);,确定串行口控制(编程,SCON,寄存器);,串行口在中断方式工作时,还要进行中断设置(编程,IE,、,IP,寄存器)。,2.80C51,串行口结构,单片机应用技术,一、,单片机与单片机的通信,点对点的通信,硬件连接,3.,串行口应用举例,单片机应用技术,单片机应用技术,设,1,号机是发送方,,2,号机是接收方。当,1,号机发送时,先发送一个“,E1”,联络信号,,2,号机收到后回答一个“,E2”,应答信号,表示同意接收。当,1,号机收到应答信号“,E2”,后,开始发送数据,每发送一个数据字节都要计算“校验和”,假定数据块长度为,16,个字节,起始地址为,40H,,一个数据块发送完毕后立即发送“校验和”。,2,号机接收数据并转存到数据缓冲区,起始地址也为,40H,,每接收到一个数据字节便计算一次“校验和”,当收到一个数据块后,再接收,1,号机发来的“校验和”,并将它与,2,号机求出的校验和进行比较。若两者相等,说明接收正确,,2,号机回答,00H,;若两者不相等,说明接收不正确,,2,号机回答,0FFH,,请求重发。,1,号机接到,00H,后结束发送。若收到的答复非零,则重新发送数据一次。双方约定采用串行口方式,1,进行通信,一帧信息为,10,位,其中有,1,个起始位、,8,个数据位和一个停止位;波特率为,2400,波特,,T1,工作在定时器方式,2,,振荡频率选用,11.0592MHZ,,查表可得,TH1=TL1=0F4H,,,PCON,寄存器的,SMOD,位为,0,。,3.,串行口应用举例,单片机应用技术,发送程序清单如下:,ASTART,:,CLR EA,MOV TMOD,,,#20H,;定时器,1,置为方式,2,MOV TH1,,,#0FDH,;装载定时器初值,波特率,?,MOV TL1,,,#0FDH,MOV PCON,,,#00H,SETB TR1,;启动定时器,MOV SCON,,,#50H,;设定串口方式,1,,且准备接收应答信号,ALOOP1,:,MOV SBUF,,,#01H,;发联络信号,JNB TI,,,$,;等待一帧发送完毕,CLR TI,;允许再发送,JNB RI,,,$,;等待,2,号机的应答信号,CLR RI,;允许再接收,MOV A,,,SBUF,;,2,号机应答后,读至,A,CJNE A,#02H, ALOOP1,;,2,号机未准备好,继续联络,ALOOP2,:,MOV R0,,,#30H,;,2,号机准备好,设定数据块地址指针初值,MOV R7,,,#20H,;设定数据块长度初值,MOV R6,,,#00H,;清校验和单元,3.,串行口应用举例,单片机应用技术,ALOOP3,:,MOV SBUF,,,R0,;发送一个数据字节,MOV A,,,R6,ADD A,,,R0,;求校验和,MOV R6,,,A,;保存校验和,INC R0,JNB TI,,,$,CLR TI,DJNZ R7,,,ALOOP3,;整个数据块是否发送完毕,MOV SBUF,,,R6,;发送校验和,JNB TI,,,$,CLR TI,JNB RI,,,$,;等待,2,号机的应答信号,CLR RI,MOV A,,,SBUF,;,2,号机应答,读至,A,JNZ ALOOP2,;,2,号机应答“错误”,转重新发送,RET,;,2,号机应答“正确”,返回,3.,串行口应用举例,单片机应用技术,接收程序清单如下:,BSTART,:,CLR EA,MOV TMOD,,,#20H,MOV TH1,,,#0FDH,MOV TL1,,,#0FDH,MOV PCON,,,#00H,SETB TR1,MOV SCON,,,#50H,;设定串口方式,1,,且准备接收,BLOOP1,:,JNB RI,,,$,;等待,1,号机的联络信号,CLR RI,MOV A,,,SBUF,;收到,1,号机信号,CJNE A,#01H, BLOOP1,;不是,1,号机联络信号,再等待,MOV SBUF,,,#02H,;是,1,号机联络信号,发应答信号,JNB TI,,,$,CLR TI,BLOOP2: MOV R0,,,#50H,;设定数据块地址指针初值,MOV R7,,,#20H,;设定数据块长度初值,MOV R6,,,#00H,;清校验和单元,3.,串行口应用举例,单片机应用技术,BLOOP3,:,JNB RI,,,$,CLR RI,MOV A,,,SBUF,MOV R0,,,A,;接收数据转储,INC R0,ADD A,,,R6,;求校验和,MOV R6,,,A,DJNZ R7,,,BLOOP3,;判数据块是否接收完毕,JNB RI,,,$,;完毕,接收,1,号机发来的校验和,CLR RI,MOV A,,,SBUF,XRL A,,,R6,;比较校验和,JZ END1,;校验和相等,跳至发正确标志,MOV SBUF,,,#0FFH,;校验和不相等,发错误标志,SJMP BLOOP3,END1,:,MOV SBUF,,,#00H,RET,3.,串行口应用举例,单片机应用技术,多机通信,硬件连接,主从系统,在实际系统中,常采用,RS-485,标准进行数据传输。,3.,串行口应用举例,单片机应用技术,通信协议,所有从机的,SM2,置,1,,以接收地址帧,主机发地址帧,所有从机收到地址帧后,将收到地址与本机地址比较:,相符的从机,使,SM2,置,0,(以接收随后的数据帧),并把本机地址发回主机作为应答,不符的从机,保持,SM2=1,,,对主机随后发来的数据帧不予理睬。,从机发送数据结束后,要发送一帧校验和,并置第,9,位(,TB8,)为,1,,作为从机数据传送结束的标志。,3.,串行口应用举例,单片机应用技术,主机接收数据时先判断数据接收标志(,RB8,),若,RB8=1,,,表示数据传送结束,并比较此帧校验和,若正确则回送正确信号,00H,,,此信号命令该从机复位(即重新等待地址帧);若校验和出错,则发送,0FFH,,,命令该从机重发数据。若接收帧的,RB8=0,,,则存数据到缓冲区,并准备接收下帧信息。,主机收到从机应答地址后,确认地址是否相符,如果地址不符,发复位信号(数据帧中,TB8=1,);,如果地址相符,则清,TB8,,,开始发送数据。,从机收到复位命令后回到监听地址状态(,SM2=1,)。,否则开始接收数据和命令。,3.,串行口应用举例,单片机应用技术,应用程序,主机发地址联络信号:,00H,,,01H,,,02H,,, ,(,即从机设备地址),,FFH,为命令各从机复位,即恢复,SM2=1,。,主机命令编码为:,01H,,,主机命令从机接收数据;,02H,,,主机命令从机发送数据。其它都按,02H,对待。,RRDY=1,:表示从机准备好接收。,TRDY=1,:表示从机准备好发送。,ERR=1,: 表示从机接收的命令是非法的。,程序分为主机程序和从机程序。约定一次传递数据为,16,个字节,以,01H,地址的从机为例。,3.,串行口应用举例,单片机应用技术,主机程序清单:,设从机地址号存于,40H,单元,命令存于,41H,单元。,MAIN,:,MOV TMOD,,,#20H,;,T1,方式,2,MOV TH1,,,#0FDH,;初始化波特率,9600,MOV TL1,,,#0FDH,MOV PCON,,,#00H,SETB TR1,MOV SCON,,,#0F0H,;串口方式,3,,多机,准备接收应答,LOOP1,:,SETB TB8,MOV SBUF,,,40H,;发送预通信从机地址,JNB TI,,,$,CLR TI,JNB RI,,,$,;等待从机对联络应答,CLR RI,MOV A,,,SBUF,;接收应答,读至,A,XRL A,,,40H,;判应答的地址是否正确,JZ AD_OK,3.,串行口应用举例,单片机应用技术,AD_ERR,:,MOV SBUF,,,#0FFH,;应答错误,发命令,FFH,JNB TI,,,$,CLR TI,SJMP LOOP1,;返回重新发送联络信号,AD_OK,:,CLR TB8,;应答正确,MOV SBUF,,,41H,;发送命令字,JNB TI,,,$,CLR TI,JNB RI,,,$,;等待从机对命令应答,CLR RI,MOV A,,,SBUF,;接收应答,读至,A,XRL A,,,#80H,;判断应答是否正确,JNZ CO_OK,SETB TB8,SJMP AD_ERR,;错误处理,3.,串行口应用举例,单片机应用技术,CO_OK,:,MOV A,,,SBUF,;应答正确,判是发送还是接收,XRL A,,,#01H,JZ SE_DATA,;从机准备好接收,可以发送,MOV A,,,SBUF,XRL A,,,#02H,JZ RE_DATA,;从机准备好发送,可以接收,LJMP SE_DATA,RE_DATA,:,MOV R6,,,#00H,;清校验和接收,16,个字节数据,MOV R0,,,#30H,MOV R7,,,#10H,3.,串行口应用举例,单片机应用技术,LOOP2,:,JNB RI,,,$,CLR RI,MOV A,,,SBUF,MOV R0,,,A,INC R0,ADD A,,,R6,MOV R6,,,A,DJNZ R7,,,LOOP2,JNB RI,,,$,CLR RI,MOV A,,,SBUF,;接收校验和并判断,XRL A,,,R6,JZ XYOK,;校验正确,MOV SBUF,,,#0FFH,;校验错误,JNB TI,,,$,CLR TI,LJMP RE_DATA,3.,串行口应用举例,单片机应用技术,XYOK,:,MOV SBUF,,,#00H,;校验和正确,发,00H,JNB TI,,,$,CLR TI,SETB TB8,;置地址标志,LJMP RETEND,SE_DATA,:,MOV R6,,,#00H,;发送,16,个字节数据,MOV R0,,,#30H,MOV R7,,,#10H,LOOP3,:,MOV A,,,R0,MOV SBUF,,,A,JNB TI,,,$,CLR TI,INC R0,ADD A,,,R6,MOV R6,,,A,DJNZ R7,,,LOOP3,3.,串行口应用举例,单片机应用技术,MOV A,,,R6,MOV SBUF,,,A,;发校验和,JNB TI,,,$,CLR TI,JNB RI,,,$,CLR RI,MOV A,,,SBUF,XRL A,,,#00H,JZ RET_END,;从机接收正确,SJMP SE_DATA,;从机接收不正确,重新发送,RET_END,:,RET,3.,串行口应用举例,单片机应用技术,从机程序清单:,设本机号存于,40H,单元,,41H,单元存放“发送”命令,,42H,单元存放“接收”命令。,MAIN,:,MOV TMOD,,,#20H,;初始化串行口,MOV TH1,,,#0FDH,MOV TL1,,,#0FDH,MOV PCON,,,#00H,SETB TR1,MOV SCON,,,#0F0H,LOOP1,:,SETB EA,;开中断,SETB ES,SETB RRDY,;发送与接收准备就绪,SETB TRDY,SJMP LOOP1,3.,串行口应用举例,单片机应用技术,SERVE,:,PUSH PSW,;中断服务程序,PUSH ACC,CLR ES,CLR RI,MOV A,,,SBUF,XRL A,,,40H,;判断是否本机地址,JZ SER_OK,LJMP ENDI,;非本机地址,继续监听,SER_OK,:,CLR SM2,;是本机地址,取消监听状态,MOV SBUF,,,40H,;本机地址发回,JNB TI,,,$,CLR TI,JNB RI,,,$,CLR RI,JB RB8,,,ENDII,;是复位命令,恢复监听,MOV A,,,SBUF,;不是复位命令,判是“发送”还是“接收”,XRL A,,,41H,JZ SERISE,;收到“发送”命令,发送处理,MOV A,,,SBUF,XRL A,,,42H,JZ SERIRE,;收到“接收”命令,接收处理,SJMP FFML,;非法命令,转非法处理,3.,串行口应用举例,单片机应用技术,SERISE,:,JB TRDY,,,SEND,;从机发送是否准备好,MOV SBUF,,,#00H,SJMP WAIT01,SEND,:,MOV SBUF,,,#02H,;返回“发送准备好”,WAIT01,:,JNB TI,,,$,CLR TI,JNB RI,,,$,CLR RI,JB RB8,,,ENDII,;主机接收是否准备就绪,LCALL SE_DATA,;发送数据,LJMP END,FFML,:,MOV SBUF,,,#80H,;发非法命令,恢复监听,JNB TI,,,$,CLR TI,LJMP ENDII,SERIRE,:,JB RRDY,,,RECE,;从机接收是否准备好,MOV SBUF,,,#00H,SJMP WAIT02,3.,串行口应用举例,单片机应用技术,RECE,:,MOV SBUF,,,#01H,;返回“接收准备好”,WEIT02,:,JNB TI,,,$,CLR TI,JNB RI,,,$,CLR RI,JB RB8,,,ENDII,;主机发送是否就绪,LCALL RE_DATA,;接收数据,LJMP END,ENDII,:,SETB SM2,ENDI,:,SETB ES,END,:,POP ACC,POP PSW,RETI,3.,串行口应用举例,单片机应用技术,SE_DATA,:,CLR TRDY,;发送数据块子程序,MOV R6,,,#00H,MOV R0,,,#30H,MOV R7,,,#10H,LOOP2,:,MOV A,,,R0,MOV SBUF,,,A,JNB TI,,,$,CLR TI,INC R0,ADD A,,,R6,MOV R6,,,A,DJNZ R7,,,LOOP2,;数据块发送完毕?,MOV A,,,R6,MOV SBUF,,,A,JNB TI,,,$,;发送校验和,CLR TI,JNB RI,,,$,CLR RI,MOV A,,,SBUF,XRL A,,,#00H,;判发送是否正确,JZ SEND_OK,SJMP SE_DATA,;发送错误,重发,3.,串行口应用举例,单片机应用技术,SEND_OK,:,SETB SM2,;发送正确,继续监听,SETB ES,RET,RE_DATA,:,CLR RRDY,;接收数据块子程序,MOV R6,,,#00H,MOV R0,,,#30H,MOV R7,,,#10H,3.,串行口应用举例,单片机应用技术,LOOP3,:,JNB RI,,,$,CLR RI,MOV A,,,SBUF,MOV R0,,,A,INC R0,ADD A,,,R6,MOV R6,,,A,DJNZ R7,,,LOOP3,;接收数据块完毕?,JNB RI,,,$,;接收校验和,CLR RI,MOV A,,,SBUF,XRL A,,,R6,;判断校验和是否正确,JZ RECE_OK,MOV SBUF,,,#0FFH,;校验和错误,发,FFH,JNB TI,,,$,CLR TI,LJMP RE_DATA,;重新接收,3.,串行口应用举例,单片机应用技术,RECE_OK,:,MOV A,,,#00H,;校验和正确,发,00H,MOV SBUF,,,A,JNB TI,,,$,CLR TI,SETB SM2,;继续监听,SETB ES,RET,3.,串行口应用举例,单片机应用技术,6.3.2,单片机与,PC,机的通信,应用系统设计中,单片机与,PC,机可以方便地组合成分布式控制系统。主计算机监督管理各子系统分机的运行状况。其特点是灵活性好、可靠性高。,3.,串行口应用举例,单片机应用技术,DOS,环境下,要实现通信只要直接对微机接口芯片,8250,进行口地址操作即可,WINDOWS,环境下,不允许用户直接操作串口地址。可以调用,API,函数,但较为复杂。使用,VB,通信控件(,Mscomm,),很容易完成通信任务,VB,简明易用,实用性强。它具备基本的串行通信能力:即通过串行口发送和接收数据。,3.,串行口应用举例,单片机应用技术,MSComm,控件主要属性如下:,CommPort,:设置并返回通信端口号;,Settings,: 以字符串的方式设置并返回波特率、奇偶校验、数据位、停止位;,PortOpen,:设置并返回端口的状态,也可以打开和关闭端口;,Input,: 从接收缓冲区返回字符和删除字符;,Output,: 向传输缓冲区写一个字符。,3.,串行口应用举例,单片机应用技术,单片机程序清单如下:,ORG 3000H,MAIN,:,MOV TMOD,,,#20H,;在,11.0592MHz,下,串行口波特率,MOV TH1,,,#0FDH,;,9600bps,,方式,3,MOV TL1,,,#0FDH,MOV PCON,,,#00H,SETB TR1,MOV SCON,,,#0D8H,LOOP,:,JBC RI,,,RECEIVE,;接收到数据后立即发出去,SJMP LOOP,RECEIVE,:,MOV A,,,SBUF,MOV SBUF,,,A,SEND,:,JBC TI,,,SENDEND,SJMP SEND,SENDEND,:,SJMP LOOP,3.,串行口应用举例,单片机应用技术,Sub Form_Load,(),MSComm1.CommPort=2,MSComm1.PortOpen=TURE,MSComm1.Settings=“9600,,,N,,,8,,,1”,End Sub,Sub command1_Click,(),Instring as string,MSComm1.InBufferCount=0,MSComm1.Output=A,Do,Dummy=DoEvents,(),Loop Until,(,MSComm1.InBufferCount2,),Instring=MSComm1.Input,End Sub,Sub command2_Click,(),MSComm1.PortOpen=FALSE,UnLoad Me,End Sub,3.,串行口应用举例,单片机应用技术,Thank You !,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!