串行口应用

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



posted @ 2016-04-14 14:28  blfshiye  阅读(191)  评论(0编辑  收藏  举报