这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 请教一个关于单片机串口的程序问题

共2条 1/1 1 跳转至

请教一个关于单片机串口的程序问题

工程师
2021-11-14 21:44:41     打赏


#include<reg52.h>

void main()

{

        TMOD=0x20;

        TH1=0xfd;

        TL1=0xfd;

        TR1=1;

        REN=1;

        SM0=0;

        SM1=1;

        EA=1;

        

        while(1)

                {

                while(!RI);

                        RI=0;

                        P1=0x00;

                }        

}


天祥单片机里面第七讲,想不明白,为什么这样写,P1口全被置零了,事实上,我并没有往串口发送数据。程序烧好之后,按复位键之后,P1口还是全置零(P1口等于0代表LED灯亮。)


如果把循环换成

while(1)

                {

                while(!RI);

                        RI=0;

                        P1=SBUF;

                }

P1口接到的是串口传来的数据。

这是为什么?





关键词: 单片机     串口     程序    

工程师
2021-11-14 22:54:49     打赏
2楼

谢谢楼上兄弟的答复!

谢谢回复,我是89C52的单片机,天祥电子的板子,我自己也试了一些程序,第一个确实是乱七八糟的数字,但是如果程序这样写的话,
#include<reg52.h>
void main()
{
        TMOD=0x20;
        TH1=0xfd;
        TL1=0xfd;
        TR1=1;
        REN=1;
        SM0=0;
        SM1=1;
        EA=1;
        
        while(1)
                {
                while(!RI);
                        RI=0;
                        P1=SBUF;
                }        
}
串口输入什么,P1就是什么,
SBUF 是第一个吗,这边没有把第一个噪音显示进来吗?



共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]