找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3308|回復(fù): 8
收起左側(cè)

做雙機(jī)串行通信的仿真出了問題

[復(fù)制鏈接]
ID:255495 發(fā)表于 2017-11-30 22:34 來自手機(jī) | 顯示全部樓層 |閱讀模式
本帖最后由 么么兒 于 2017-11-30 22:52 編輯

發(fā)送和接收的程序編譯時都沒有錯誤,用proteus仿真時,虛擬終端不能顯示發(fā)出的數(shù)據(jù)字節(jié),而是不停的跳這些綠色的框 QQ圖片20171130225152.jpg QQ圖片20171130225217.jpg
回復(fù)

使用道具 舉報

ID:255495 發(fā)表于 2017-11-30 22:38 來自手機(jī) | 顯示全部樓層
第一次做雙機(jī)串行通信的東西,對硬件當(dāng)面真的好多地方不懂
IMG_20171130_222829.jpg
IMG_20171130_222534.jpg
回復(fù)

使用道具 舉報

ID:222948 發(fā)表于 2017-12-1 09:18 | 顯示全部樓層
第一,程序雖然編譯過了,但你確保邏輯上的錯誤
回復(fù)

使用道具 舉報

ID:222948 發(fā)表于 2017-12-1 09:19 | 顯示全部樓層
第二應(yīng)該試著去其他電腦試一下,因為仿真有時候也會出錯的

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:111634 發(fā)表于 2017-12-1 10:16 | 顯示全部樓層
本帖最后由 zl2168 于 2017-12-1 10:19 編輯

給你介紹一個正確有效的案例,自己對照查錯吧!
Proteus仿真一下,確認(rèn)有效。
實例77  雙機(jī)串行通信方式1
實例77 雙機(jī)通信方式1.rar (40.4 KB, 下載次數(shù): 21)
串1.jpg

實例78  雙機(jī)串行通信方式2 實例78 雙機(jī)通信方式2.rar (46.57 KB, 下載次數(shù): 4) 串2.jpg
實例79  雙機(jī)串行通信方式3 實例79 雙機(jī)通信方式3.rar (45.3 KB, 下載次數(shù): 2) 串3.jpg
以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計實例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行。書中電路和程序設(shè)計有詳細(xì)說明,程序語句條條有注解。仿真電路和Hex文件能在清華出版社網(wǎng)站免費(fèi)下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網(wǎng)上書店打折購買。

回復(fù)

使用道具 舉報

ID:255495 發(fā)表于 2017-12-1 10:33 來自手機(jī) | 顯示全部樓層
999333 發(fā)表于 2017-12-1 09:19
第二應(yīng)該試著去其他電腦試一下,因為仿真有時候也會出錯的

在舍友的電腦上也試了,不行
回復(fù)

使用道具 舉報

ID:222948 發(fā)表于 2017-12-1 11:26 | 顯示全部樓層
么么兒 發(fā)表于 2017-12-1 10:33
在舍友的電腦上也試了,不行

把仿真和程序發(fā)過來我看看
回復(fù)

使用道具 舉報

ID:255495 發(fā)表于 2017-12-1 14:48 | 顯示全部樓層
999333 發(fā)表于 2017-12-1 11:26
把仿真和程序發(fā)過來我看看

#include<reg52.h>                 
#define uchar unsigned char
#define uint unsigned int  
void delayms(uchar n)
{
uchar m,s;
for(m=n;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
void Init_Com(void)
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
void main()
{
Init_Com();         //初始化
delayms(40); //延時等待

while(1)
  {

  do{
     SBUF=0XAA;          //發(fā)送AAH
           while(!TI);
         TI=0;
         while(!RI);
         RI=0;
     }

        while(SBUF!=0XBB); //等待接收乙發(fā)送的BBH

   do{                           //發(fā)送P1口狀態(tài)
     SBUF=P1;
           while(!TI);
         TI=0;
         SBUF=0XFF;
         while(!TI);
         TI=0;
         while(!RI);
         RI=0;
     }
    while(SBUF!=0XFF);
  }
}這個是發(fā)送程序
#include<reg52.h>                 //庫文件
#define uchar unsigned char//宏定義無符號字符型
#define uint unsigned int  //宏定義無符號整型
void delayms(uchar n)
{
uchar m,s;
for(m=n;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
void Init_Com(void)
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
void main()
{
Init_Com();         //初始化
delayms(40); //延時等待

while(1)
  {

  do{
     while(!RI);//等待接收中斷置位
         RI=0;                //中斷清零
     }

       while(SBUF!=0XAA);

        do{                          
         SBUF=0XBB;        //向甲發(fā)送BBH
           while(!TI);
         TI=0;
         while(!RI);
         RI=0;
         P2=SBUF;
         while(!RI);
         RI=0;
     }
    while(SBUF!=0XFF);

     SBUF=0xFF;
           while(!TI);
         TI=0;
         }
}這個是接收程序

這個是電路圖

這個是電路圖



回復(fù)

使用道具 舉報

ID:255495 發(fā)表于 2017-12-1 14:50 | 顯示全部樓層
#include<reg52.h>                 //庫文件
#define uchar unsigned char//宏定義無符號字符型
#define uint unsigned int  //宏定義無符號整型
void delayms(uchar n)
{
uchar m,s;
for(m=n;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
void Init_Com(void)
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
void main()
{
Init_Com();         //初始化
delayms(40); //延時等待

while(1)
  {

  do{
     while(!RI);//等待接收中斷置位
         RI=0;                //中斷清零
     }
   
       while(SBUF!=0XAA);

        do{                          
         SBUF=0XBB;        //向甲發(fā)送BBH
           while(!TI);
         TI=0;
         while(!RI);
         RI=0;
         P2=SBUF;
         while(!RI);
         RI=0;
     }
    while(SBUF!=0XFF);
                 
     SBUF=0xFF;
           while(!TI);
         TI=0;
         }
}發(fā)送程序
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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