第十一讲 串行通讯教材第六章一 数字的并行传输与时序二 数字的串行通讯与波特率三 上位机 COM口,VB控件及编程四 下位机中断、协约及节拍时钟演示五 现场总线简介一数值的并行传输与时序二 数字的串行传输与波特率数字并行与串行传输
2,RS-232串行通讯接口定义及线路连接
RS-232串行接口( 25)管脚定义:
1 保护地( FG) 2 发送数据( TXD)
3 接受数据( RXD) 4 请求发送( RTS)
5 清除发送( CTS) 6 设备就绪( DSR)
7 信号地( GND) 8 载波检测( DCD)
20 终端就绪( DTR) 22 振铃指示( RI)
远程连接近程连接简单连接
3.数值串行传输的节拍与波特率波特率:每秒传送的二进制代码的位数
( bps)
时钟脉冲与传送节拍三 上位( PC)机串行通讯及 VB软件
1 COM口 9 针插座 3 线定义:
2---发送,3---接受,5---数字地
2 VB 软件中的 COM 控件及其属性设置
VB 控件箱中有一 标有电话机样图标的控 件,
用鼠标拖至窗体的适当位置。单击此控件(选中)
后,再按,F4”键,视窗中出现其属性栏。
Commprot (1 or 2) ;两个 COM口的选择
InBuffersize ;接受缓存器的容量大小
OutBuffersize ;发送缓存器的容量大小
Seting 4800,n,8,1 ;参数依次为波特率,
(无)校验,有效位数及开始位数
3 VB 软件串行通讯基本指令语句
发送程序
Comm1.Output=“0” ;输出缓存器清 0
Comm1.Output=Str$(Val(Text2.text)) ;发送文本框 2中的内容
Comm1.OutBuffercount=0 ;输出缓存器清 0
Comm1.Output=“f” ;发送结束信号,f”
接受程序
Do while Comm1.InBuffercount<5
DoEvents
Loop ;等待接受完毕
Si=Comm1.Input ;取接受的信息
Text1.text=Si ;把接受的信息送文本框 1显示
d=Val(Si) ;把接受的信息变换为数值四 下位(单片)机中断、协约及节拍时钟
1 单片机串行通讯中断环节
中断允许寄存器 IE( A8H)的相关位定义如下:
IE D7 ----D4 D3 D2 D1 D0
EA ----ES ET1 EX1 ET0 EX0
EA( IE.7) CPU中断总允许位。 EA=1,CPU开放中断; EA=0,
CPU屏蔽所有中断。
ES( IE.4) 串行中断总允许位。为 1允许,为 0禁止。
ET1( IE.3) T1溢出断总允许位。为 1允许,为 0禁止。
EX1( IE.2)外部中断 1( INT1)断总允许位。为 1允许,为 0否。
ET0( IE.1) T0溢出断总允许位。为 1允许,为 0禁止
EX0( IE.0)外部中断 0( INT0)断总允许位。为 1允许,为 0否。
由于串行通讯涉及 EA,ES及控制波特率的 ET1(时钟 1),因此,
IE寄存器应赋值为 98H。其助记符(汇编指令)为:
MOV IE,#98H
2.串行口控制 串行口控制寄存器 SCON( 99H)的相关位定义如下:
SCON D7 D6 D5 D4 D3 D2 D1 D0
SM0 SM1 SM2 REN TB8 RB8 TI RI
方式控制
00:方式 1
01:方式 2
10:方式 3
11:方式 4
多机通讯
1:
允许
0:
禁止接受控制
1:
允许
0:
禁止发送第九位接受第九位发送中断接受中断
3 波特率的产生方法
2 ( 1 )
32
SM O D T? 溢出率由图可以得出波特率的表达式波特率 =
求波特率为 4800 ()的定时器 T1的常数 X
X= 661 0 1 1,0 5 9 2 1 0
256
3 2 1 6 4 8 0 0 3 8 4 4 8 0 0
2 5 6 6 2 5 0 ( ) 0 ( )
f
D FA H




4 中断矢量及中断服务程序
串行口的中断矢量为 23H。此处仅留出 8个字节的矢量长度,一般情况下,满足不了中断处理的要求;大多在中断矢量处写一跳转语句:
ORG 0023H ;首地址规定
LJMP SRI ;跳转到串行中断服务程序指令
串行通讯的中断服务程序如下:
SRI,SETB RS1 ;保护 R0—R7
PUSH ACC ;保护 A
PUSH PSW ;保护标志位
PUSH DPH ;保护地址高字节
PUSH DPL ;保护地址低字节
JNB RI,SRIF ;查接受标志位,0无效; 1接受
ACALL GET ;调接受子程序
SRIF,CLR TI ;发送标志回 0
CLR RI ;接受标志回 0
POP DPL ;地址恢复
POP DPH
POP PSW ;标志位恢复
POP ACC ; A恢复
CLR RS1 ; R0—R7恢复
RETI ;中断结束返回
GET,MOV A,SBUF ;接受一个字节程序
MOV RMY,A
RET
SAV,MOV A,TMY ;发送一个字节程序
MOV SBUF,A
RET
5 与 PC 的 COM口之间的电平转换在接口电路和计算机接口芯片中,大都为
TTL或 CMOS电平。而
RS-232的信号采用负逻辑规定,+3--+15V之间的任意电压视为逻辑,0”
电平,-3---15V之间的任意电压视为逻辑,1”
电平。之间的电平转换可由 ICL-232芯片完成;
电路见图。
现场总线( Field bus )简介应用于生产现场,在微机化测控设备之间实现双向串行多节点数字通讯;也称之开放式、数字化、多点通讯的底层控制网络。
1 速度快( 232—9600bit;CAN1Mbit)
2 双绞线(布线简单)
3 随意拔插(使用方便)
4 多主机(网络特征)
5 链路层 (帧操作;出错少,软件简单 )
6 实例-- CAN总线( Controller Area
Network )
分极网络结构现场总线网络结构