
飞利浦半导体
产品speci fi cation
低电压的单芯片8位微控制器
80CL31/80CL51
1.5标准串行接口SI0 :UART
该串口是全双工的,这意味着它可以发送和接收
同时。它也得到缓冲,这意味着它可以
以前接收前开始接收第二个字节
字节已经从寄存器中读出。 (然而,如果第一个字节还是
没有被读出的时刻接收的第二个字节是
完成后,将其中的一个字节将丢失) 。串口接收和
发送寄存器都在访问特殊功能寄存器
S0BUF 。写S0BUF装入发送寄存器,读
S0BUF装入发送寄存器,读S0BUF访问
在物理上独立的接收寄存器。
串行口可以工作在四种模式:
模式0:
通过RxD串行数据进入和退出。 TxD输出
移位时钟。 8位发送/接收( LSB在前) 。该
波特率固定为1/12振荡器频率。
10位发送(通过TXD)或接收(通过
RXD) :一个起始位( 0 ) , 8个数据位( LSB在前) ,及一个停止位
(1) 。在接收时,停止位进入RB8内
功能寄存器SCON 。波特率是可变的。
11位发送(通过TXD)或接收(通过
RXD) :起始位( 0 ) , 8个数据位( LSB在前) ,一个可编程
第九个数据位和一个停止位( 1 ) 。发送时,第9个数据
位( SCON中的TB8 )可以被分配为0或者1的值。
或者,例如,在奇偶校验位(P,在PSW中)可能是
放入TB8。在接收时,第9个数据位进入
RB8在特殊功能寄存器SCON ,而停止
位被忽略。波特率可编程为
1/32或1/64的振荡器频率。
11位发送(通过TXD)或接收(通过
RXD) :一个起始位( 0 ) , 8个数据位( LSB在前) ,一个
可编程的第9个数据位和一个停止位( 1 ) 。事实上,
模式3在各方面,除了模式2相同
波特率。波特率在模式3是可变的。
1.5.2串口控制寄存器
串口控制和状态寄存器的特殊功能
寄存器S0CON ,在图6所示的寄存器包含不仅
模式选择位,同时也是第9位数据的发送和
接收( TB8和RB8 ) ,并中断位串行端口( T1和
R 1) 。参见下页。
波特率
波特率在模式0是固定的:模式0波特率=振荡器
频率/ 12 。波特率在模式2取决于位的值
SMOD在特殊功能寄存器PCON 。如果SMOD = 0 (这是
上电复位值) ,波特率为1/64振荡频率。如果
SMOD = 1 ,波特率为1/32振荡频率。
模式2波特率= ( 2
SMOD
/ 64 ) (振荡器频率)
波特率在模式1和3是由定时器1的决定
溢出率。
使用定时器1产生波特率
当定时器1作为波特率发生器,波特率在
模式1和3是由定时器1的溢出率和确定
SMOD的值如下所示:
(2
SMOD
/ 32 ) (定时器1溢出率)
定时器1的中断应该在此应用程序被禁用。该
计时器本身可针对“计时器”或“柜台”进行配置
操作,并且在其任何3的运行模式。在最典型的
应用程序,它被配置为“定时器操作,在自动重装
模式( TMOD的高四位等于0010B ) 。在这种情况下,波特率是
由下式给出:
模式1 , 3波特率=
{(2
SMOD
/ 32 ) (振荡器频率) } / { 12 ( 256 - ( TH 1 ) }
人们可以通过留下的实现非常低的波特率与定时器1
定时器1的中断使能,并配置该定时器为一个运行
16位定时器( TMOD的= 0001B高半字节) ,并使用定时器1
中断了一个16位的软件重装。表2列出了各种
常用的波特率和如何从获得
定时器1 。
更多关于模式0
图7示出了串行端口的简化功能框图
模式0中,并且相关联的定时。传输任何启动
指令使用S0BUF作为目标寄存器。 “写到
S0BUF “在S6P2信号也加载一个1到的第9位
发送移位寄存器,并告诉TX控制块开始
传输。内部定时是这样的,一个完整的机器
周期会相隔“写入S0BUF ” ,并激活发送。
SEND使移位寄存器的向备用输出的输出
P3.0的功能线,也使移位时钟到
选择输出功能线P3.1的。移位时钟为低电平时
S3,S4和每个机器周期的S5和S6的过程中, S1和高
S2。在每个机器周期中, SEND是活动的,对S6P2
发送移位的内容向右移一个位置。
作为数据比特移出到右侧,零来在从左边。当
数据字节的MSB在移位寄存器的输出位置时,
然后,最初加载到第9位的1只是给
的MSB ,和所有位置的左到包含零的左侧。
这种情况标志TX控制块做最后一次移位和
然后关闭SEND和设置T1 。这两个操作发生在
S1P1第10个机器周期后, “写入S0BUF ” 。
招待会由条件REN = 1启动, R1 = 0。 S6P2
一个机器周期的, RX控制单元写入的位
11111110到接收移位寄存器,并在下一时钟阶段
激活接收。
模式1:
模式2 :
模式3 :
在四种模式中,发送任何指令发起的
使用S0BUF作为目标寄存器。招待会在启动模式
0的条件RL = 0和REN = 1,接待处位于启动
由输入的起始位其他模式,如果REN = 1 。
1.5.1多机通信
模式2和3对多处理器的特别规定
通信。在这些模式中,第9个数据位被接收。第9
1进入RB8 。接着进来一个停止位。该端口可以是
编程,使得当收到停止位,串行端口
中断只有当RB8 = 1 ,此功能在启用将被激活
置位SCON内SM2位。一种方法使用多处理器这一功能
系统如下:
当主机需要一个数据块传送给一个
几个奴隶,它首先发送一个地址字节,以辨认
目标从机。一个地址字节的不同之处在于,一个数据字节
第9位是1,数据字节的地址字节和0 。当SM2 = 1 ,无
从机的数据字节中断。一个地址字节,但是,
将中断所有从机,这样每个从机可以检查接收到的
字节,看它是否得到解决。从机地址将清除
SM2位以准备接收的数据字节,将要到来。
那些没有被寻址的从机的SM2S设置和
继续他们的工作,忽略进来的数据字节。
SM2在模式0无影响,并且在模式1可用于检查
的停止位的有效性。在接收模式1中,如果SM2 = 1,
接收中断不会被激活,除非一个有效的停止位为
收到。
1995年1月
12