智能车制作

标题: 51串口助手问题求助 [打印本页]

作者: ^她妈妈不喜欢我    时间: 2014-7-21 19:03
标题: 51串口助手问题求助
如题,想用串口助手给单片机发送指令控制数码管的移位,开发板的位选是P2口通过38译码器控制。但是不知道为什么需要发送两次才移位,第一次发送返回的是上一次的值。打什么能不能帮忙看看程序该怎么改。十分感谢
#include<reg52.h>
unsigned char A;
void init()
{
        TMOD=0X20;
        TR1=1;                 //开定时器1,设置工作方式2
        SCON=0X50;         //开串口接收,设置工作方式1
        TH1=0XFD;
        TL1=0XFD;         //波特率9600
        EA=1;
        ES=1;                 //开总中断,串口中断
}
void main()
{       
        init();
        while(1)
        {
                A=SBUF;                 //串口助手给A赋值
                while(!RI);
                RI=0;
                P2=A;                 //A的值通过38译码器控制哪一位数码管亮
                SBUF=A;               
        }
}


作者: ^她妈妈不喜欢我    时间: 2014-7-21 19:47
不知道为什么   调了一下顺序就好了
        while(1)
        {
                A=SBUF;                 //串口助手给A赋值
                P2=A;                 //A的值通过38译码器控制哪一位数码管亮
                SBUF=A;       
                while(!RI);
                RI=0;               
        }
作者: lxa0    时间: 2015-3-8 15:21
这就是 c语言的麻烦之处




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2