c8051f020单片机与pc机之间的串口通信

2020-01-26 13:06发布

大家帮我看看这个程序哪儿有问题,谢谢了
#include<c8051f020.h>
unsigned char flag,a;
void main()
{

        TMOD=0x20;//设置定时器1为工作方式2
        TH1=0xfa;//晶振22.1184MHz,波特率9600
        TL1=0xfa;
        TR1=1;
        SCON0=0x50;//串口工作方式1
        EA=1;
        ES0=1;
        while(1)
                {
                if(flag==1)
                  {
                        ES0=0;
                        flag=0;
                        SBUF0=a;
                        while(!TI0);       
                        TI0=0;
                        ES0=1;
                   }
                }
}

void ser() interrupt 4
{
        RI0=0;
        a=SBUF0;
        flag=1;
}
在串口调试助手里面发送一个数据之后接收区没有反应,不知道是什么问题。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
susuyu
2020-01-27 17:18
回复【5楼】cpp12003
1、未配置交叉开关指定到io口上;
2、未选择外部时钟22.1184mhz;
3、未禁止看门狗;
/////////////////////////////////////
//  generated initialization file  //
/////////////////////////////////////
#include "c8051f020.h"
// peripheral specific initialization functions,
// called from the init_device() function
void reset_sources_init()
{
    wdtcn     = 0xde;
    wdtcn     = 0xad;
}
void timer_init()
{
    ckcon    ......
-----------------------------------------------------------------------

多谢了,我菜鸟级别,还没入门。。

一周热门 更多>