找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1501|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

請教仿真單片機(jī)串口通訊甲機(jī)能發(fā),乙機(jī)不能接收的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

請大家?guī)臀铱纯,仿真串口能正常發(fā)送,但接收不到數(shù)據(jù)不知為何?



單片機(jī)源程序如下:
發(fā)送:
  1. #include <STC89C5xRC.H>
  2. #include<intrins.h>

  3. void Delay(unsigned int xms)                //@11.0592MHz
  4. {
  5.         unsigned char i, j;
  6.         while(xms--)
  7.         {
  8.                 _nop_();
  9.                 i = 2;
  10.                 j = 199;
  11.                 do
  12.                 {
  13.                         while (--j);
  14.                 } while (--i);
  15.         }
  16. }

  17. unsigned char Ledtab[16]={0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff,0x00};

  18. void send(unsigned char ucdata)
  19. {
  20.         SBUF = ucdata;
  21.         while(TI==0);
  22.         TI=0;
  23. }

  24. void main()
  25. {
  26.          unsigned char i;
  27.          TMOD=0X20;
  28.          SCON=0X40;
  29.          PCON=0X00;
  30.          TH1=0XFD;
  31.          TL1=0XFD;
  32.          TR1=1;
  33.          P1=0XFF;

  34.         while(1)
  35.         {
  36.                 for(i=0;i<16;i++)
  37.                  {
  38.                          P1=Ledtab[i];
  39.                          send(Ledtab[i]);
  40.                          Delay(200);
  41.                  }
  42.         }
  43.         
  44. }
復(fù)制代碼


接收:
#include <STC89C5xRC.H>

unsigned char Receive()  
{
        unsigned char ucdata;
        
        while(RI==0);
                RI=0;
                ucdata = SBUF;
                return ucdata;

}


void main()
{
    TMOD=0X20;
          SCON=0X50;
          PCON=0X00;
          TH1=0XFD;
          TL1=0XFD;
          TR1=1;
          REN=1;
         P1=0XFF;
    while(1)
                 {
                         P1=Receive();
                 }

}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:96682 發(fā)表于 2024-1-8 11:56 來自觸屏版 | 只看該作者
仿真嘛假設(shè)程序電路沒錯(cuò)還需軟件的操作設(shè)置問題,
回復(fù)

使用道具 舉報(bào)

板凳
ID:161164 發(fā)表于 2024-1-8 11:57 | 只看該作者
可能是Proteus的Bug
回復(fù)

使用道具 舉報(bào)

地板
ID:883242 發(fā)表于 2024-1-8 12:23 | 只看該作者
#include <STC89C5xRC.H>
這句話里面包含的SFR定義,與你用的AT89C52的SFR兼容嗎?
回復(fù)

使用道具 舉報(bào)

5#
ID:891876 發(fā)表于 2024-1-8 13:20 | 只看該作者
改了頭文件<reg52.h>也不行,難道是仿真軟件的問題?
回復(fù)

使用道具 舉報(bào)

6#
ID:275826 發(fā)表于 2024-1-8 16:14 | 只看該作者
芙蓉焊料 發(fā)表于 2024-1-8 13:20
改了頭文件也不行,難道是仿真軟件的問題?

估計(jì)是兩個(gè)單片機(jī)晶振不一樣
回復(fù)

使用道具 舉報(bào)

7#
ID:883242 發(fā)表于 2024-1-8 16:41 | 只看該作者
tyrl800 發(fā)表于 2024-1-8 16:14
估計(jì)是兩個(gè)單片機(jī)晶振不一樣

圖上都沒接晶振,然而串口好用,應(yīng)該是仿真軟件默認(rèn)振蕩,兩個(gè)是一樣的。
回復(fù)

使用道具 舉報(bào)

8#
ID:1010435 發(fā)表于 2024-1-10 12:35 | 只看該作者
接收沒有開總中斷把 EA=1   ???
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表