为什么我的PROTUES仿真串口通信有问题,求指教

2019-07-18 10:30发布

为什么我在仿真的过程中,单片机可以接收到串口软件发出的数据,但是串口软件收不到单片机转回的数据,求指教!谢谢!
代码及仿真图如下:
#include<reg51.h>
unsigned char flag,a;
void main()
{

        TMOD=0x20;
        TH1=0xfd;
        TL1=0xfd;
        TR1=1;
        REN=1;
        SM0=0;
        SM1=1;
        EA=1;
        ES=1;
        while(1)
                {
        
                        if(flag==1)
                                {
                                        ES=0;
                                        flag=0;
                                        SBUF=a;        
                                        while(!ti);        
                                        TI=0;
                                        ES=1;
                                }
                }
}

void ser() interrupt 4
{
        RI=0;
        a=SBUF;
        flag=1;
}
33.jpg
22.jpg
11.jpg


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
武力戡乱
1楼-- · 2019-07-18 13:50
第一:8.1无法仿真COMPIM,原因不明!
第二:单片机的晶振设置了吗?
闻名世界
2楼-- · 2019-07-18 16:05
武力戡乱 发表于 2015-6-1 23:41
第一:8.1无法仿真COMPIM,原因不明!
第二:单片机的晶振设置了吗?

我这个是7.8,并且我也设置了晶振为11.0592M,但就是收不到,不知道问题在哪
闻名世界
3楼-- · 2019-07-18 17:50
 精彩回答 2  元偷偷看……
武力戡乱
4楼-- · 2019-07-18 19:31
参考这个,先用虚拟串口调试出这个效果!
http://bbs.elecfans.com/jishu_472128_1_1.html
dmdz2015
5楼-- · 2019-07-18 21:47
路过学习。。。。。。。。。。。。
xgywd
6楼-- · 2019-07-18 22:11
你的设置有问题,REN应该写在SM之后,你没设工作模式呢就允许接收,什么乱七八糟的东西都来了.如果你跟踪调试过你就会发现,程序一运行就接了好几个串口中断

一周热门 更多>