專注電子技術學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

關于51單片機雙機通信

作者:未知   來源:chenxitianlan   點擊數(shù):  更新時間:2014年06月19日   【字體:



上圖為雙機通信示意圖,下面分別給出雙機通信的程序

 

//用于接收方
#include
#define  uchar  unsigned  char;
#define  uint  unsigneed int;
uchar a;//用于保存發(fā)來的數(shù)據(jù)
uchar b[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //數(shù)碼管顯示0-9;
void init(void)
{
  SCON = 0x50;
  PCON = 0x00;
  TMOD = 0x20;
  TH1 = 0xf4;
   TL1 =0xf4;
   TR1 = 1;
 EA=1;
 ES=1;

  }
  void main()
  {
   init();
  while(1)
  {
  P2=b[a];
  
    
  }
 void zd() interrupt 4//當進入中斷,要么RI=1,要么TI=1

{
if(RI)
{
  RI=0;
  a=SBUF;
  SBUF=a+1;
}
   else
   T1=0;
 }

//用于發(fā)送方
#include
#define  uchar  unsigned  char;
#define  uint  unsigneed int;
unsigned char a;//用于保存發(fā)來的數(shù)據(jù)
unsigned char b[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //數(shù)碼管顯示0-9;
void init(void)
{
  SCON = 0x50;
  PCON = 0x00;
  TMOD = 0x20;
  TH1 = 0xf4;
   TL1 =0xf4;
   TR1 = 1;
 EA=1;
 ES=1;

  }
  void main()
  {
   init();
   P1=0xff;
   a=P1&0x0f;
   SBUF=a;
    
  }
void zd() interrupt 4//當進入中斷,要么RI=1,要么TI=1

{
 if(RI)
  {
     RI=0;
     a=SBUF;
     P2=b[a];
  }
  else T1=0;
 }

 

關閉窗口

相關文章