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

QQ登錄

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

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

雙單片機(jī)通信接收端顯示(用1602)出錯(cuò)

[復(fù)制鏈接]
ID:46670 發(fā)表于 2012-12-5 20:45 | 顯示全部樓層 |閱讀模式

  #include<reg51.h>      //主機(jī)發(fā)送
  #include<intrins.h>
  #define lcddate P0
  #define unint unsigned int
  #define unchar unsigned char
  sbit EN=P2^0; /*使能*/
  sbit RW=P2^1; /*讀/寫(xiě)*/
  sbit RS=P2^2; /*寄存器選擇*/
  unchar code table[7]="FM 10.6"; /*顯示內(nèi)容*/
  unchar code table1[12]="voice*1*****";
  unchar rxbuf=0;
  void main()
  {unchar m,n;
   void lcd_init(void);
   void lcd_wcom(unchar com);
      void lcd_wdate(unchar date);
   void ms_delay(unint delaytime);
   TMOD=0X20;
   PCON&=0X7F;
   SCON=0xd0;
   TH1=0XF0;//9600@11.0592MHZ
   TL1=0xfd;
   TR1=1;
   ES=1;
   EA=1;
   lcd_init();
   lcd_wcom(0x80);
   for(m=0;m<7;m++)
       {lcd_wdate(table[m]);}//數(shù)組做函數(shù)參數(shù)
    ms_delay(1);
   lcd_wcom(0x80+0x40);
   for(n=0;n<12;n++)
       {lcd_wdate(table1[n]);}
         while(1);     
  }
  /*-----------------------------------------------*/
  void lcd_init() /*LCD intiation*/
  {lcd_wcom(0x38);
   lcd_wcom(0x0c);
   lcd_wcom(0x06);
   lcd_wcom(0x01);
   }
   /*--------------------------------------------*/ 
  void lcd_wcom(unchar com)/*com regester*/
  {RW=0;
   RS=0;
   lcddate=com;
   SBUF=com;
      ms_delay(1);
   EN=1;
   _nop_();
   _nop_();
   EN=0;
  }
  /*-----------------------------------------------*/
  void lcd_wdate(unchar date)/*date regester*/
  {RW=0;
  RS=1;
  lcddate=date;
  SBUF=date;
  ms_delay(1);
  EN=1;
   _nop_();
   _nop_();
   EN=0;
  }
  /*----------------------------------------------*/
  void UART()interrupt 4 using 0//TX
  {if(TI){
  ms_delay(1);
  TI=0;}//發(fā)送數(shù)據(jù)
  }

 

/*接收端*/


     #include<reg51.h>
  #include<intrins.h>
  #define unint unsigned int
  #define unchar unsigned char
   #define lcddate P2
  sbit EN=P3^7; /*使能*/
  sbit RW=P3^6; /*讀/寫(xiě)*/
  sbit RS=P3^5; /*寄存器選擇*/

  unchar rxbuf=0;
  void main()
  {
      void lcd_init(void);
   void lcd_wcom(unchar com);
      void lcd_wdate(unchar date);
   void ms_delay(unint delaytime);
   TMOD=0X20;
   PCON&=0X7F;
   SCON=0xd0;
   TH1=0Xfd;//9600@11.0592MHZ
   TL1=0xfd;
   TR1=1;
   ES=1;
   EA=1;
   RI=1;
   while(1);
   }
  /*----------------------------------------------*/
   void UART()interrupt 4
   { unchar m=0;
      while(RI){RI=0;       //先請(qǐng)中斷標(biāo)志 ??
            lcd_init();
                  m++;
      if (m<=7)
                  {rxbuf=SBUF;
      lcd_wcom(0x80);
      lcd_wdate(rxbuf);}
      else{
                  lcd_wcom(0xc0);
                  rxbuf=SBUF;
      lcd_wdate(rxbuf);}
      }
   }
  /*-----------------------------------------------*/
  void lcd_init() /*LCD intiation*/
  {lcd_wcom(0x38); //八位數(shù)據(jù),雙列
   lcd_wcom(0x0c);
   lcd_wcom(0x06);
   lcd_wcom(0x01);
   }
   /*--------------------------------------------*/ 
  void lcd_wcom(unchar com)/*com regester*/
  {RW=0;
   RS=0;
   lcddate=com;
      ms_delay(1);
   EN=1;
   _nop_();
   _nop_();
   EN=0;
  }
  /*-----------------------------------------------*/
  void lcd_wdate(unchar date)/*date regester*/
  {
  RW=0;
  RS=1;
  lcddate=date;//date 是否還需申明呢?
  ms_delay(1);
  EN=1;
   _nop_();
   _nop_();
   EN=0;
  }

 

uart.jpg
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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