标题: 将上位机传过来的数据返回上位机,在串口助手哪里一直没有显示,而且流水灯也不亮 [打印本页]

作者: 陈立123    时间: 2019-3-26 20:24
标题: 将上位机传过来的数据返回上位机,在串口助手哪里一直没有显示,而且流水灯也不亮
#include<reg52.h>
unsigned char aa,flag;
void main()

{
        TMOD=0x20;
        TH1=0xfd;
        TL1=0xfd;
        TR1=1;
        SM0=0;
        SM1=1;
        REN=0;
        EA=1;
        ES=1;
        while(1)
                {
                        if(flag==1)
                                {
                                          ES=0;//关闭中断
                                        flag=0;
                                        SBUF=aa;
                                        while(!TI)
                                        TI=0;
                                        ES=1;
                                }
                }

}
void ser() interrupt 4
{       
    P1=SBUF;
        aa=SBUF;
        flag=1;
        RI=0;

}          


作者: wulin    时间: 2019-3-27 08:20
        REN=1;        //允许串行接收
作者: HC6800-ES-V2.0    时间: 2019-3-27 08:29
我在我的板子上调试好了。
#include<reg52.h>
unsigned char aa,flag;
void main()

{
        PCON=0x80;//加倍
                TMOD=0x20;
                SCON=0x50;
        TH1=0xf3;//12M晶振最大4800,否则误差太大
        TL1=0xf3;
        TR1=1;
//        SM0=0;
//        SM1=1;
//        REN=0;
        EA=1;
        ES=1;
        while(1)
                {
                        if(flag==1)
                                {
//                                         ES=0;//关闭中断
                                        flag=0;
                                        SBUF=aa;
                                        while(!TI)
                                        TI=0;
//                                        ES=1;
                                }
                }

}
void ser() interrupt 4
{        
    P2=SBUF;
        aa=SBUF;
        flag=1;
        RI=0;

}
你没有说你的板子晶振是多少。我的板子晶振12M,所以我只能最大4800的波特率,且加倍,才能正常通讯。
如果你的晶振是11.0592M,那么就可以是你现在设置的9600,不加倍也可以。
作者: 15555    时间: 2019-4-3 21:40
REN=1;




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1