找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

分享用proteus仿真的兩個(gè)單片機(jī)通信程序

[復(fù)制鏈接]
ID:475102 發(fā)表于 2019-2-28 13:45 | 顯示全部樓層 |閱讀模式
這個(gè)是我用Proteus仿真完成完單片機(jī)與單片機(jī)進(jìn)行通信。
就是用單片機(jī)U1通過(guò)串行口TXD(P3. 1引腳)  細(xì)將控制碼發(fā)至單片機(jī)U2的RXD(P3.1腳)端.
U2單片機(jī)接收后把控制碼送8位LED顯示,如圖:
4.png


因?yàn)橛玫搅藛纹瑱C(jī)U1和單片機(jī)U2,因此需要對(duì)單片機(jī)U1和單片機(jī)U2分別設(shè)計(jì)兩個(gè)程序:單片機(jī)U1負(fù)責(zé)完成數(shù)據(jù)發(fā)送任務(wù):單片機(jī)U2負(fù)責(zé)完成數(shù)據(jù)接收任務(wù)對(duì)單片機(jī)U1編程時(shí),由于使用方式1,所以需要設(shè)置串行控制寄存器SCON,使SM0=0,SM1=1,選波特率為9600b/s, SMOD=0,計(jì)算出THI=FAH;
對(duì)單片機(jī)U2編程時(shí),需要設(shè)置SM0=0,SM1=1和REN= 1(允許接收)。
5.png

程序如下:

(I)單片機(jī)U1數(shù)據(jù)發(fā)送程序。
  1. # include "reg52.h"

  2. unsigned char code Tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0x7f,0xaa,0x0f,0xf0,0x55};


  3. //????????
  4. void Send (unsigned char dat)
  5. {
  6.         SBUF=dat;
  7.         while(TI==0);
  8.         TI=0;
  9. }

  10. void delay150ms(void)   //??? 0us
  11. {
  12.     unsigned char a,b,c;
  13.     for(c=229;c>0;c--)
  14.         for(b=4;b>0;b--)
  15.             for(a=80;a>0;a--);
  16. }

  17. void main(void)
  18. {
  19.         unsigned char i;
  20.         TMOD=0x20;
  21.         SCON=0x40;
  22.         PCON=0x00;
  23.         TH1=0xfa;
  24.         TL1=0xfa;
  25.         TR1=1;
  26.         while(1)
  27.         {
  28.                 for(i=0;i<12;i++)
  29.                 {
  30.                         Send(Tab[i]);
  31.                         delay150ms();
  32.                 }
  33.         }
  34. }








復(fù)制代碼
單片機(jī)U2數(shù)據(jù)發(fā)送程序
  1. # include "reg52.h"

  2. //??????????

  3. unsigned char Receive(void)
  4. {
  5.         unsigned char dat;
  6.         while(RI==0);
  7.         RI=0;
  8.         dat=SBUF;
  9.         return dat;
  10. }

  11. void main(void)
  12. {
  13.         TMOD=0x20;
  14.         SCON=0x50;
  15.         PCON=0x00;
  16.         TH1=0xfa;
  17.         TL1=0xfa;
  18.         TR1=1;
  19.         REN=1;
  20.         while(1)
  21.         {
  22.                 P2=Receive();
  23.         }
  24. }
復(fù)制代碼
資料分享:
雙單通信.rar (61.66 KB, 下載次數(shù): 107)




評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:373684 發(fā)表于 2019-2-28 17:03 | 顯示全部樓層
這是2機(jī)之間的 通信嗎?
回復(fù)

使用道具 舉報(bào)

ID:43121 發(fā)表于 2019-5-23 14:41 | 顯示全部樓層
謝謝,非常感謝
回復(fù)

使用道具 舉報(bào)

ID:502774 發(fā)表于 2019-5-23 21:52 來(lái)自手機(jī) | 顯示全部樓層
2機(jī)通信。不錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:111893 發(fā)表于 2020-4-18 13:09 | 顯示全部樓層
非常好的資料,感謝
回復(fù)

使用道具 舉報(bào)

ID:111893 發(fā)表于 2020-4-18 13:12 | 顯示全部樓層
很需要這個(gè)資料,謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:820507 發(fā)表于 2020-9-23 11:59 | 顯示全部樓層
文件損壞 打不開(kāi) 。而且重復(fù)扣積分
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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