串行口应用
方式2和方式3
方式2 和方式3都是为11位数据的异步通信口,他们的惟一差别是传输速率不同。
TXD为数据发送引脚,RXD为数据接收引脚。用这两种方式数据传输时。起始位1位,数据位9位(含1位附加的第9位。发送时为SCON中的TB8,接收时为RB8),停止位1位。一贞数据为11位。
方式2的波特率固定为晶振的1/64或1/32,方式3的波特率有定时器T1的溢出率决定。一贞数据传输格式
发送起始时。先把起始位0输出到TXD引脚,然后发送移位寄存器的输出位(D0)到TXD引脚。每个移位脉冲都使输出移位寄存器的各位右移一位,并由TXD引脚输出。
TB=0时总共同拥有11位,
TB=1时总共同拥有9位。
#include<reg52.h>
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
SM0=1;
SM1=0;
TB8=0;
EA=1;
ES=1;
TI=0;
while(1)
{
SBUF=0xaa;
delayms(1);
}
}
void ser0() interrupt 4
{
TI=0;
}