单片机通信模块和PC机通信模块分析

单片机通信模块和PC机通信模块分析,第1张

PC机和多个单片机也可以组成多级控制系统,一般以PC机为后级,多个单片机最小系统为前级。其通信一般由两个独立的模块组成,即单片机通信模块和PC机通信模块。

1.单片机通信模块的设计

51单片机内串行口部分有两个物理上相互独立的数据缓冲器SBUF,但两个缓冲器的地址是一个(99H)。该缓冲器用来发送和接收数据。专用寄存器SCON和PCON控制串行口的工作方式和通信的波特率设定。定时器作为波特率发生器。CPU和SBUF写数据即是发送数据,CPU从SBUF读数据就是接收数据。

单片机51串行口是全双工串行通信口。0串行口控制寄存器是SCON。

SMO和SMl:工作方式选择位,如表所列。

单片机通信模块和PC机通信模块分析,单片机通信模块和PC机通信模块分析,第2张

表中UART是异步串行通信。

SM2:允许方式2和方式3多机通信。

REN:允许串行接收。

TB8:在方式2和方式3时是发送数据的第9位。

RB8:在方式2和方式3时接收数据的第9位;在方式1时,若SM2=0,则RB8为接收到数据的停止位。

TI和RI:发送和接收中断标志,表示是否已发送完或接收到数据,由硬件置位,软件清O。因为PC机的RS - 232接口是由8250芯片控制的,所以一般PC/XT和PC/AT机用RS - 232与其他设备通信时所使用的是8位数据位(可少于8位数据),由此决定单片机必须设置方式1。

工作方式1:当SMO和SM1一0时,串行接口被选择为工作方式1,此时为可变波特率的8位异步通信方式。

发送数据以TxD端输出,每帧信息为10位:一位起始标志位0、8位数据位和一位停止位1。发送时数据先送到缓冲器SBUF,然后启动发送。数据发送完后,将中断标志TI置1。

接收时(BEN-1),数据从RxD输入,当采样到第一个1到O的下跳沿时,启动接收器;确认起始位后,接收一帧信息;当RI=O,停止位为1或SM2 =0时,停止位进入RB8,中断标志位RI置1,接收了一帧数据。

波特率的设定 单片机定时器作为波特率发生器。为此定时器1须是工作方式2,即自动重装载模式。TL1作为8位计数器,TH1作为常数缓冲器。当TL1计数溢出时,将TH1中常数送到TLO中,使TL1再次从初值开始重新计数。定时器1产生固定频率占空比是1:1的脉冲,波特率可由设定时间常数确定。

单片机通信模块和PC机通信模块分析,单片机通信模块和PC机通信模块分析,第3张

式中:fosc是主振荡频率,选用6 MHz。

当波特率为1 200时,TH1=TLl=OF3H。

通信所用线是一般双绞电源线。通信距离一般在30 m以内。如果通信距离比较远,则须考虑用光电隔离或电流环来驱动,这时距离可达1000 m。波特率为300时问题不大,通信是可靠的,对通信线也无特殊要求。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2646429.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-12
下一篇 2022-08-12

发表评论

登录后才能评论

评论列表(0条)

保存