找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1695|回复: 2
收起左侧

在protues中12T单片机(如at89c52)可以和1T(如stc15系列)用串口通信吗

[复制链接]
ID:710551 发表于 2020-5-20 00:14 | 显示全部楼层 |阅读模式
本帖最后由 Gflgfl 于 2020-5-20 00:17 编辑

我在protues上用让他们之间通信,有的时候乱码,有的时候就接受不到,按说可以通信呀,波特率和方式都一样。两个stc就可以正常通信。(好困惑)发送端(at89c52):
void main()                                          
{


        unsigned char i;
        LcdInit();
        SCON=0x50;         //配置SCON寄存器为0101 0000,选取方式1,允许接收
        PCON=0;                 //不加倍
        TMOD=0x20;         //定时器方式2
        TL1=TH1=0xfd; //设置波特率9600(11.0592Mhz)
        TR1=1;                  //开启定时器1
        
        while(1)
        {
                for(i=0;i<9;i++)
                {
                        SBUF=i;
                        while(!TI);
                        TI=0;
                        LcdWriteCom(0x80);
                        LcdWriteData(i+'0');
                        delay(40000);
                }
        }
}               
接收端(stc15):

void main()                                          
{
        unsigned char dat;
        port_mode();
        LcdInit();
        SCON=0x50;         //配置SCON寄存器为0101 0000,选取方式1,允许接收
        PCON=0;                 //不加倍
        AUXR=0x00;       //12分频且使用定时器1作为波特率发生器
        TMOD=0x20;         //定时器1方式2
        TL1=TH1=0xfd; //设置波特率9600(11.0592Mhz)
//        TL1=TH1=0xfa; //设置波特率9600(22.1184Mhz)
        TR1=1;        
        
        while(1)
        {
                while(!RI);
                RI=0;
                dat=SBUF;
                LcdWriteCom(0x80);
                LcdWriteData(dat);
          }
}



望大家指点迷津(好困惑),感谢感谢,一起学习


51hei图片20200520001230.png
回复

使用道具 举报

ID:235200 发表于 2020-5-20 07:57 | 显示全部楼层
只要波特率一致,串口接线正确,是可以通信的
回复

使用道具 举报

ID:710551 发表于 2020-5-22 17:16 | 显示全部楼层
有没有哪位大佬可以提供一下程序及仿真(简单的就好)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表