1、1 在同一时刻内,数据的各位并行传送。在同一时刻内,数据的各位并行传送。典型应用,计算机与并行打印机连接。典型应用,计算机与并行打印机连接。优点:处理速度快。优点:处理速度快。缺点:占用传输线多,传输距离短,一般小于缺点:占用传输线多,传输距离短,一般小于30米。米。数据一位一位的依次传送。数据一位一位的依次传送。优点:传输线少,适合于远距离传送。优点:传输线少,适合于远距离传送。缺点:传送速度较慢。缺点:传送速度较慢。2 传送方向传送方向.1 数据数据 0 .1 数据数据 0.1 数据数据 0 停止位停止位 起始位起始位 停止位停止位 起始位起始位 停止位停止位 起始位起始位 若干空闲位若干
2、空闲位 数据中信息的两种状态分别以数据中信息的两种状态分别以mark 和和space 标志标志,其中:其中:mark 译为译为”标号标号”,对应逻辑,对应逻辑1的状态。的状态。Space 译为译为”空格空格”,对应逻辑,对应逻辑0的状态。的状态。3说明:说明:每一幀数据均以每一幀数据均以0开始开始,以以1终止终止,中间传送的数据位可以是,中间传送的数据位可以是5位,位,7位,位,8位均可位均可,中间有若干空闲位,空闲时一般处于,中间有若干空闲位,空闲时一般处于1的状的状态。态。异步通讯比较灵活,实现起来比较简单异步通讯比较灵活,实现起来比较简单 选用一个同步字符,选用一个同步字符,发送过去,约
3、定同时开始发送过去,约定同时开始同步传送。数据之间没有间隔,可连续发送同步传送。数据之间没有间隔,可连续发送。传送方向传送方向 数据数据 数据数据 数据数据 数据数据 同步字符同步字符4 同步传送同步传送比异步高。如果传送比异步高。如果传送200个字节加一各同步字个字节加一各同步字符,则辅助数据只佔符,则辅助数据只佔0.5若用异步传送到若用异步传送到200个字节则至少有个字节则至少有400位辅助数据,其数量可观。位辅助数据,其数量可观。RS232 TXD甲机甲机 RXD GND1488148914891488RXD乙机乙机TXD GNDTTLTTLTTLTTLRS2325近程通讯采用数字信号直
4、接传送方式:近程通讯采用数字信号直接传送方式:计算机内部的数据信号是计算机内部的数据信号是TTL电平标准电平标准,而通信线上的数据,而通信线上的数据信号是信号是RS-232电平标准电平标准。尽管电平标准不同,但数据信号的波形。尽管电平标准不同,但数据信号的波形和频率并没有改变,近程串行通讯只需进行和频率并没有改变,近程串行通讯只需进行后,用传输后,用传输线把两端接口电路直接连接起来即可实现。线把两端接口电路直接连接起来即可实现。RS-232标准标准 TTL标准标准逻辑逻辑1(mark)(高电平额定值高电平额定值3V)逻辑逻辑0(space)(低电平额定值低电平额定值0.2V)6计算机计算机MO
5、DEMMODEM计算机计算机数字信号数字信号数字信号数字信号RS-232标准标准RS-232标准标准模拟信号模拟信号电话线电话线地地地地 在远程通讯中,应使用在远程通讯中,应使用,出于经济的考虑,通常,出于经济的考虑,通常使用使用作为传输线,如图:作为传输线,如图:7 ,信号会发生,信号会发生,为此要把数,为此要把数字信号转变为模拟信号再进行传送,通常使用字信号转变为模拟信号再进行传送,通常使用,即以不同频率的载波信号代表数字信号的,即以不同频率的载波信号代表数字信号的电电平状态,这种数据传送方式称为频带传送方式。通常为:平状态,这种数据传送方式称为频带传送方式。通常为:mark:1270HZ
6、 或或 2225HZ space:1070HZ 或或 2025HZ 在串行通信发送端有在串行通信发送端有通常串行通信通常串行通信,因此均应设置调制器,因此均应设置调制器和解调器,二者合二为一为调制解调器,即和解调器,二者合二为一为调制解调器,即。8ABABAB数据单向传送,只需一条传输线。数据单向传送,只需一条传输线。数据传送是双向,但不可同时进行。数据传送是双向,但不可同时进行。传输线可用一条,也可用两条。传输线可用一条,也可用两条。数据传送是双向,且可同时发送接收。数据传送是双向,且可同时发送接收。需两条传输线。需两条传输线。9 用每秒传送数据的位数衡量,现在常用用每秒传送数据的位数衡量,
7、现在常用 波特率波特率 (baudrate)表示,以波特为单位表示,以波特为单位 1波特波特=1bit/s (位位/秒秒)例如电传打字机传送速率为例如电传打字机传送速率为,则波特率为:则波特率为:,它在不同的工,它在不同的工作方式中可同步或异步发送或接收数据。作方式中可同步或异步发送或接收数据。其波特率范围:以其波特率范围:以6MHZ晶振为例:晶振为例:10 串行口串行口P3.0(10脚脚)RXD,P3.1(11脚脚)TXD。(1)串行口控制寄存器串行口控制寄存器SCON 字节地址字节地址98H 可位寻址。可位寻址。SM0 SM1 SM2 REN TB8 RB8 TI RI 多机通信位多机通信
8、位 00:方式:方式0 接收中断标志接收中断标志 01:方式:方式1 发送中断标志发送中断标志 10:方式:方式2 1:允许接收:允许接收 接收到的第接收到的第9位位 11:方式:方式3 0:禁止接收:禁止接收 待发送的第待发送的第9位位11例:使串行口方式例:使串行口方式1发送发送 MOV SCON ,#40H 0 1 0 0 0 0 0 0 方式方式1 禁止接收禁止接收(2)电源控制寄存器:电源控制寄存器:字节地址字节地址87H D7 SMOD ,SMOD称波特率选择位。称波特率选择位。SMOD为为1时比为时比为0时波特率高一倍。时波特率高一倍。(3)串行通道数据寄存器:串行通道数据寄存器
9、:它是两个它是两个8位移位寄存器,一个是发送缓冲器,只写不读,另位移位寄存器,一个是发送缓冲器,只写不读,另一个是接收缓冲器,只读不写,它们一个是接收缓冲器,只读不写,它们121314 移位寄存器输入输出方式,移位寄存器输入输出方式,8位数据,每个位数据,每个移一位,移位脉冲由移一位,移位脉冲由TXD提供。如图提供。如图:ABCP 74LS164 Q0 Q7 RXD TXD8051 RXD TXD8051Q7CP 74LS165 D0 D7 输出方式输出方式 输入方式输入方式15 MOV SCON,#00H MOV A,#nnH CLR TI MOV SBUF,AWAIT:JNB TI ,WA
10、IT CLR TI;SM0=SM1=0,选方式,选方式0;取待输出数据取待输出数据nnH;清发送中断标志清发送中断标志;数据写入数据写入SBUF;判断数据是否发送完,判断数据是否发送完,TI=1?;清发送完标志,准清发送完标志,准 备发送下一字节备发送下一字节引脚每隔一个引脚每隔一个发出一个发出一个;中的数据在中的数据在下下一一 次送至次送至;当当中的数据全部移出后,单片机中的数据全部移出后,单片机将将;要再次发送数据必须要再次发送数据必须。16 当当,接收中断标志,接收中断标志,则启动接收,移位脉冲仍,则启动接收,移位脉冲仍从从TXD端输出,数据从端输出,数据从RXD端输入,当一个字节数据输
11、入完毕时,端输入,当一个字节数据输入完毕时,。异步串行通讯。发送或接收一帧数据为异步串行通讯。发送或接收一帧数据为位,其格式是:位,其格式是:1 8 位位 数数 据据 0 SCON 中中SM0,SM1 为为01则选方式则选方式117 执行一条访问执行一条访问SBUF指令即启动发送,且同时指令即启动发送,且同时 装入第装入第9位。位。由选定的波特率决定。由选定的波特率决定。首先起始位首先起始位脚发出,且第脚发出,且第,然后每个移位,然后每个移位脉冲将脉冲将SBUF中数据中数据,从,从,填充。发送填充。发送结束后,结束后,发送发送,申请中断。,申请中断。18 REN=1且且RI=0时,允许接收。时
12、,允许接收。以选定波特率的以选定波特率的16倍速率采样倍速率采样RXD端,当连续三次采样中有端,当连续三次采样中有两次是两次是0时,确认为起始位,此时开始时,确认为起始位,此时开始接收接收数据。数据。每来一个移每来一个移位位脉冲,脉冲,RXD引脚移入一位数据,一帧数据接收引脚移入一位数据,一帧数据接收完后,完后,TI置置1可申请中断。移位脉冲的频率由选定波特率决定。可申请中断。移位脉冲的频率由选定波特率决定。是:是:或者或者,符合,符合两组条件其中之一则将数据保留在两组条件其中之一则将数据保留在SBUF中,并置位中,并置位RI。若不符合保留数据的条件,则将收到的数据丢弃,重新检测若不符合保留数
13、据的条件,则将收到的数据丢弃,重新检测RXD端准备下次接收。端准备下次接收。19异步发送或接收一帧数据为异步发送或接收一帧数据为11位,其格式为:位,其格式为:1 第第9位位 8 位位 数数 据据 0 发送与接收操作同方式发送与接收操作同方式1,注意,注意为:为:与方式与方式2相同的是异步接收发送一帧数据是相同的是异步接收发送一帧数据是11位,但波特率与位,但波特率与方式方式2不同,与方式不同,与方式1相同。相同。注:所有方式当注:所有方式当一帧数据置位一帧数据置位标志后,必须软标志后,必须软件清件清0,以备下一帧数据的发送或接收。,以备下一帧数据的发送或接收。20 在数据通讯中,由于在数据通
14、讯中,由于较远,数据在传输过程中可较远,数据在传输过程中可能发生能发生,从而引起误码,为了保证传输质量,除了硬件措,从而引起误码,为了保证传输质量,除了硬件措施外,软件可采取检错措施,可用第施外,软件可采取检错措施,可用第9位数据进行位数据进行。MOV SCON,#80H ;选串行口方式选串行口方式2,传送,传送11位数据位数据MOV A,#DATA ;待发送数据送待发送数据送A,该指令影响奇偶标志,该指令影响奇偶标志P MOV C,PSW.0(P);奇偶标志送奇偶标志送C,奇为,奇为1、偶为、偶为0MOV TB8,C ;奇偶标志送奇偶标志送TB8,为发送的第,为发送的第9位数据位数据MOV
15、SBUF,A ;启动一次发送共启动一次发送共11位数据位数据LOOP:JBC TI,OK ;TI=1时,数据发送成功时,数据发送成功SJMP LOOP21 MOV SCON,#90HLOOP:JBC RI,ROK SJMP LOOP ROK:MOV A,SBUF JB P,ONE JB RB8,ERR SJMP OK ONE:JNB RB8,ERR OK:ERR:.22 在方式在方式2和方式和方式3中,当接收到一帧数据时,只有符合下列条中,当接收到一帧数据时,只有符合下列条件之一数据才会被保留,否则将被丢弃:件之一数据才会被保留,否则将被丢弃:要求要求SM2=1,此时要求第,此时要求第9位数据
16、为位数据为1。约定主机发出约定主机发出,而,而,主机先向各从机发出主机先向各从机发出,地址信息,地址信息,符合条,符合条件件,各从机均能接收到地址信息,同时与自己的地址相比较,各从机均能接收到地址信息,同时与自己的地址相比较,接收到的地址信息与本机接收到的地址信息与本机,则使,则使,准备,准备信息。信息。23 随后主机向总线发出数据,随后主机向总线发出数据,地址不符合的从机,地址不符合的从机接收后均不符合条件接收后均不符合条件,;只有地址相符的从机由于只有地址相符的从机由于SM2=0符合条件符合条件而而到到的数据信息,从而实现了的数据信息,从而实现了。数据通信结束后,主机应当发送一个数据通信结
17、束后,主机应当发送一个,通知从机,通知从机,从机接收到该命令后,把从机接收到该命令后,把,或者从机接收完数据后,或者从机接收完数据后,如果确认,如果确认后,自动后,自动把把SM2重新置重新置1。恢恢复复。24 (B代表波特率,以代表波特率,以f 代表晶振频率)代表晶振频率)方式方式0的波特率固定,为晶振频率的的波特率固定,为晶振频率的1/12(一个机器周期)(一个机器周期)如如6M晶振,晶振,B=6M/12=0.5M位位/秒秒=0.5106 波特波特 传送一位所需时间是传送一位所需时间是2微秒微秒注:方式注:方式0波特率只与晶振频率波特率只与晶振频率 f 有关,有关,f 愈大传送速度愈快。愈大
18、传送速度愈快。B=f2SMOD/64 SMOD是是PCON的最高位,可为的最高位,可为0或或1,若若f=6M,SMOD=0 B=6M20/64=93750 波特波特 SMOD=1 B=6M21/64=187500 波特波特注:方式注:方式2波特率与晶振频率和波特率与晶振频率和SMOD有关,一经选定晶振频率,有关,一经选定晶振频率,波特率只有波特率只有可选择。可选择。25。由于定时器工作在不同的工作方式时,具有不同的计数器位由于定时器工作在不同的工作方式时,具有不同的计数器位数,数,(13位、位、16位、位、8位位),装入不同的初始常数,因此溢出率也不,装入不同的初始常数,因此溢出率也不同。同。
19、溢出率溢出率1溢出周期,溢出周期,式中:式中:为定时时间,为定时时间,TC=(2n-X)机器周期机器周期 为本次溢出到再次启动定时之间的时间间隔为本次溢出到再次启动定时之间的时间间隔具体:具体:转入中断入口硬件子程序所需的转入中断入口硬件子程序所需的;重装时间常数后中断返回所需的重装时间常数后中断返回所需的。12)9X-(2fn溢出率26上述公式是对定时器方式上述公式是对定时器方式0和和1而言;而言;定时器方式定时器方式2由于可自动重装时间常数而省去了转入中由于可自动重装时间常数而省去了转入中断断 服务重装时间常数所需的服务重装时间常数所需的9个机器周期,即个机器周期,即TI=0。因此定时器方
20、式因此定时器方式2时溢出率为:时溢出率为:12X)-(2fn溢出率12)9X-(2fn溢出率27 综上分析,串行口方式综上分析,串行口方式1和方式和方式3的波特率计算公式为:的波特率计算公式为:)(1 3212)9X-(22fBnSMOD)(2 3212X)-(22fBnSMOD28:当当,所获得的波特率为最小值:所获得的波特率为最小值:所获得的波特率为最大值:所获得的波特率为最大值:同理:同理:T1方式方式1时:波特率范围为时:波特率范围为 T1方式方式2时,时,)(1 3212)9X-(22fBnSMOD)(2 3212X)-(22fBnSMOD29编一程序,设置编一程序,设置8051串行
21、口可发送、接收一帧数据为串行口可发送、接收一帧数据为11位,位,其波特率选定其波特率选定125波特,设晶振频率为波特,设晶振频率为6MHZ。分析:分析:当当SMOD=0时时 B=93750波特波特当当SMOD=1时时 B=187500波特波特 均不满足均不满足125波特,因此只能选波特,因此只能选SCON:1 1 0 1 0 0 0 0 方式方式3 允许接收允许接收 D0H30选选T1方式方式2,其波特率范围为,其波特率范围为 61 31250 波特可满足波特可满足125波特。波特。T1工作于方式工作于方式2时时 选选SMOD=1 则:则:解之得解之得 X=6 3212X)-(22612581
22、 3212X)-(22fBnSMOD31程序如下:程序如下:ORG 0000H AJMP MAIN ORG 0023H AJMP BTLMAIN:MOV SP,#30H MOV SCON,#0D0H ;串行口方式串行口方式3,允许接收,允许接收 MOV PCON,#80H ;SMOD=1 MOV TL1,#06H ;设置波特率设置波特率125波特波特 SETB EA ;允许允许CPU中断中断 SETB ES ;允许串行口中断允许串行口中断 SETB TR1 ;启动启动T1发出波特率发出波特率 .BTL:.32333435TXDRXDR1OUTT1INT1OUTR1IN523GNDGND36 假
23、设需要波特率为,外部晶振选择,T1工作在,计数初值为,MOV TMOD,00100000BMOV TL1,#0FDHMOV PCON,00H 无需考虑奇偶校验,那么可让串行口工作在,一帧数据为帧格式。MOV SCON,01000000B37MOV TMOD,00100000B;T1工作在 MOV TL1,#0FDH ;波特率;波特率9600 MOV PCON,00H38。每个使用的每个使用的 控件对应着一个串行端口。如果应用控件对应着一个串行端口。如果应用程序需要访问多个串行端口,必须使用多个程序需要访问多个串行端口,必须使用多个 控件。控件。可以利用可以利用 控件的控件的 事件捕获并处理这些事件捕获并处理这些通讯事件。通讯事件。事件还可以检查和处理通讯错误。事件还可以检查和处理通讯错误。设置通讯端口号。以字符串的形式设置波特率、奇偶校验、数据位、停止位。设置端口的状态。也可以打开和关闭端口 从接收缓冲区返回和删除字符。向传输缓冲区写一个字符串。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。