3) RS-232C接口电平转换
RS-232C是早期为促进公用电话网络进行数据通信而制定的标准,其逻辑电平对地是对称的,完全与TTL、CMOS逻辑电平不同。
RS-232C采用负逻辑,即:
逻辑1:-5V~-15V。 逻辑0:+5V~+15V。
由于MCS-51采用TTL电平,若用RS-232C标准接口通信必须进行电平转换。目前RS-232C与TTL电平转换最常用的集成电路芯片是传输线驱动器MC1488传输线接收器MC1489。其内部结构和引脚如下图(c)所示。
MC1488可完成TTL电平到RS-232C的电平转换,输入为TTL电平,输出为RS-232C电平。其内部有3个与非门和1个反相器。采用±12V或±15V电源供电。
MC1489可完成由RS-232C到TTL电平转换,输入为RS-232C电平,输出为TTL电平。其内部有4个反相器,采用+5V电源供电。MC1489中每个反相器都有一个控制端,高电平有效,可作为RS-232C操作的控制端。图(d)给出了RS-232C接口电路原理图。
(c)RS-232C电平转换芯片MC1488和MC1489
(d) RS-232C接口电路MAX232芯片
MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。它的内部结构基本可分三个部分;
第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
第三部分就是供电。15脚DNG、16脚VCC(+5v)。
2.2.3 串行接口
控制串行接口的寄存器有两个,即特殊功能寄存器PCON和SCON。
1)PCON中的波特率选择位
PCON是一个特殊功能寄存器(如下图所示),没有位寻址功能,字节地址为87H。其中D7位(SMOD)为波特率选择位。其他位均无意义。复位时的SMOD值为0。可用MOV PCON。#80H或MOV 87H,#80H指令使该位置1。当SMOD=1时,在串行接口方式1、2或3情况下,波特率提高一倍。
D7 D0
PCON
SMOD波特率选择位 | 无定义位 |
2)串行接口控制寄存器 SCON
特殊功能寄存器SCON用于定义串行接口的操作方式和控制它的某些功能。其字节地址为98H。寄存器中各位内容如下:
SCON
位 D7 D6 D5 D4 D3 D2 D1 D0
位地址
9F
9E
9D
9C
9B
9A
99
98
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
SM0,SM1 串行接口操作方式选择位。两个选择位对应于四种状态,所以串行接口能以四种方式工作。
SM2 允许方式2和3的多机通信使能位。
REN 允许串行接收位。由软件置位或清0,使允许接收或禁止接收。
TB8 是在方式2和3中要发送的第9位数据可按需要由软件置位或复位
RB8 是方式2和3中已接收到的第9位数据。
TI 发送中断标志。
RI 接收中断标志。
串行接口工作方式
串行接口的操作方式由SM0、SM1定义,编码和功能如下表所示
串行接口方式选择
SM0 SM0
方式
功能说明
波特率
0 0
0
移位寄存器方式
Fosc/12
0 1
1
8位UART
可变
1 0
2
9位UART
Fosc/64或fosc/32
1 1
3
9位UART
可变
2.2.4 TMOD介绍
定时器/计数器T0、T1 的方式寄存器TMOD
字节地址为89H。TMOD的格式如下:低4位用来定义T0,高4位用来定义T1D7
D7 D6 D5 D4 D3 D2 D1 D0
GATE
C/T
M1
M0
GATE
C/T
M1
M0
| T1 | T0 |
各位的意义如下:
1、 GATE——门控位。
GATE=1时,由外部中断引脚、和TR0、TR1共同来启动定时器。当引脚为高电平时,TR0置位启动定时器T0;当引脚为高电平时,TR1置位,启动定时T1。
GATE=0时,仅由TR0和TR1置位来启动定时器T0和T1。