首页 > 代码库 > 串行口应用

串行口应用

方式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;
}



串行口应用