liuli45600 发表于 2012-11-28 16:09:51

51单片机串口通信问题.

好吧死了一帖了..换个方式问下.看有人能帮助我下不...
如题,使用C2051单片机晶振16M 波特率250K
串口通信方式2发现接收机无论如何也接收不到第九位数据.
即RB8始终等于0
附发送机 接收机源程序 及仿真图.


求帮助=.=

liuli45600 发表于 2012-11-28 16:16:55

#include<reg2051.h>
main()
{
SCON=0x90;
PCON=0x00;
EA=1;
ES=1;
while(1)
{
       
}
}

void see() interrupt 4
{
           RI = 0;   
       if(RB8)
           {
             P1 = SBUF;
               while(1);
           }
}

接收机程序

liuli45600 发表于 2012-11-28 16:17:27

#include <reg2051.h>
sbit key = P3^7;


void output(unsigned char now)
{
        unsigned char j;
       SBUF = 0x00;                           //起始码
       while(!TI);
       TI= 0;
       for(j = 10;j>0;j--)
       {
       SBUF = now;
       while(!TI);
       TI= 0;
       }
}

void out_init()
{
        SM0 = 1;
        SM1 = 0;                                  //工作方式2
        TB8 = 1;                                                                       
   P3_1 = 1;
}

main()
{
        out_init();
        while(1)
        {
                if(!key){
                output(0xaa);       
                while(!key);
                }
        }
}
发送机程序.

sdnumcu 发表于 2012-11-28 19:23:41

这个怎么了,有问题me

canidream 发表于 2012-11-28 21:38:19

从电子示波器可以看得出你的第九位数据么??

liuli45600 发表于 2012-11-29 08:35:59

sdnumcu 发表于 2012-11-28 19:23 static/image/common/back.gif
这个怎么了,有问题me

就是接收机 始终接收不到第九位数据....
RB8 ==1 的条件成立不了.

liuli45600 发表于 2012-11-29 08:37:21

canidream 发表于 2012-11-28 21:38 static/image/common/back.gif
从电子示波器可以看得出你的第九位数据么??

条件有限...没有电子示波器.但是手头有一个 可以肯定发送过第九位数据的设备.但是接收不到第九位数据.

liuli45600 发表于 2012-11-29 11:01:35

好吧 问题解决了....果然我很2=.=
页: [1]
查看完整版本: 51单片机串口通信问题.