vc编程实现串口通讯

vc编程实现串口通讯

ID:14431785

大小:57.50 KB

页数:21页

时间:2018-07-28

vc编程实现串口通讯_第1页
vc编程实现串口通讯_第2页
vc编程实现串口通讯_第3页
vc编程实现串口通讯_第4页
vc编程实现串口通讯_第5页
资源描述:

《vc编程实现串口通讯》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、vc编程实现串口通讯首先,我们来大概的回忆一下单片机的串口通信。8051单片机的串行接口由数据缓冲寄存器SBUF、移位寄存器、串行控制寄存器SCON组成。8051单片机的串行接口是一个可编程的全双工通信接口,通过软件编程可以作为通用异步接收和发送器使用,也可作为同步移位寄存器,还可实现多机通信。其帖格式有8位、10位和11位,通过T1或T2设置各种波特率。1.1串行口工作原理在发送和接收数据前,先对串行口进行初始化设置,要明确串行口的工作方式、波特率等。1.发送数据发送数据,由累加器A送入发送缓冲寄存器SBUF,在发送控制器控制下组成

2、帧结构,并自动以串行方式从TXD输出,每发送完一帧TI置位,可以通过中断方式或查询方式来了解数据的发送情况。值得注意的是TI只能用软件复位。2.接收数据单片机每接收完一帧数据,RI置位,通过中断或查询方式来了解数据的接收情况,然后用MOVA,SBUF指令,将接收缓冲寄存器(SBUF)的值送累加器A。RI与TI一样,也只能用软件复位。1.2串行口工作方式8051单片机通过编程可选择4种串行通信工作方式。1.方式0在方式0下,串行口用作同步移位寄存器,以8位数据为1帧,先发送或接收最低位,每个机器周期发送或接收1位,其波特率为fosc/1

3、2。串行数据由RXD端输入或输出,同步移位脉冲由TXD端送出。方式0数据发送与接收是无起始位和停止位,先发送或接收最低位,数据格式为:—D0D1D2D3D4D5D6D72.方式1在方式1下,串行口为10位通用异步接口,数据格式为:——0D0D1D2D3D4D5D6D71——发送数据:当执行MOVSBUF,A指令,CPU将1字节的数据写入发送缓冲寄存器SBUF,数据从引脚TXD端输出,当发送完1帧数据后,TI标志置1,可用中断或查询方式来了解数据发送情况,TI只有通过软件复位。接收数据:接收时,先使REN置1,使串行口处于允许接收状态,

4、RI标志为0,串行口采样到RXD由1到0时,确认是起始位0,就开始接收1帧数据。当停止位到来时,RB8位置1,同时,中断标志位RI也置1,用中断或查询方式,通知CPU从SBUF取走接收到的数据。3.方式2和方式3方式2和方式3均为11位异步通信方式,只是波特率的设置方法不同,数据格式为:—0D0D1D2D3D4D5D6D7D81——发送数据:发送前,先要根据能信协议由软件设置TB8,然后将要发送的数据写入SBUF即可启动发送器。接收数据:接收时,先使REN置1,使串行口处于允许接收状态,RI标志为0。在满足这个条件的前提下,再根据SM

5、2的状态和所接收到的RB8的状态,才能决定此串行口在信息到来后是否会使RI置1。如果置1,在中断方式下将申请中断,接收数据。当SM2=0时,不管RB8为0还是为1,RI都置1,此串行口将接收发来的信息。当SM2=1,且RB8为1时,表示在多机能信情况下,接收的信息为地址帧,此时RI置1。串行口将接收发来的地址。当SM2=1,且RB8为0时,表示接收到的信息为数据帧,便不是发给本从机的,此时RI不置1,因而SBUF中所接收的数据帧将丢失。4.多机通信在方式2和方式3下,有一个专门用于多机通信的功能,这一功能使它可以方便地应用于集散分布系

6、统中,这种系统采用一台主机和多台从机之间通信。多机通信的实现,主要靠主、从机之间正确地设置与判断多机通信控制位SM2和发送或接收的第9位数据位。在硬件上,所有从机的TXD接主机的RXD,所有从机的RXD接主机的TXD。在编程序前,首先要给从机地址编号,如分别为00H、01H、02H等,主机设置在工作方式2或方式3,TB8=1,从机初始化时设置SM2=1,处于方式2或方式3的允许接收状态。主机与从机通信前,主机先发送一个地址字节(地址字节和数据字节可用第9位数据位来区别,第9位为1表示发送的是地址)给从机,从机接收到主机发来的信息时,第

7、9位RB8若为1,则置位中断标志位RI,并在中断后判断主机送来的地址与本机是否相同,若相同,则被寻址的从机设置成SM2=0,准备接收即将从主机送来的数据帧,未被选中的从机保持SM2=1的状态。当主机发送数据时,应置TB8为0,此时,虽各从机处于接收状态,但由于TB8=0,所以只有SM2=0的从机才接收数据,其余从机保持SM2=1状态。1.3串行口控制串行口控制与串行口控制寄存器SCON、电源控制寄存器PCON、串行口发送/接收缓冲区SBUF中断允许寄存器IE、中断优先级、定时控制寄存器TCON及方式控制寄存器TDOM有关。1.串行控制

8、寄存器SCONSCON是一个可位寻址的专用寄存器,地址为98H,用于串行数据通信的控制,位功能如下:SM0SM1SM2RENTB8RB8TIRISM0、SM1:串行口工作方式选择位。工作方式的选择如表8.1所示下。表8.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。