欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 雙單片機通信接收端顯示(用1602)出錯 [打印本頁]

作者: hary    時間: 2012-12-5 20:45
標題: 雙單片機通信接收端顯示(用1602)出錯

  #include<reg51.h>      //主機發送
  #include<intrins.h>
  #define lcddate P0
  #define unint unsigned int
  #define unchar unsigned char
  sbit EN=P2^0; /*使能*/
  sbit RW=P2^1; /*讀/寫*/
  sbit RS=P2^2; /*寄存器選擇*/
  unchar code table[7]="FM 10.6"; /*顯示內容*/
  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]);}//數組做函數參數
    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;}//發送數據
  }

 

/*接收端*/


     #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; /*讀/寫*/
  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;       //先請中斷標志 ??
            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); //八位數據,雙列
   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;
  }

 







歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1