色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          AVR單片機IIC實驗

          作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏

          //-------------------1602.h--------------------
          //------------1602.h-------------
          #define RS1 PORTB_Bit0=1
          #define RS0 PORTB_Bit0=0
          #define RW1 PORTB_Bit1=1
          #define RW0 PORTB_Bit1=0
          #define EN1 PORTB_Bit2=1
          #define EN0 PORTB_Bit2=0
          #define DATAPORT PORTA
          #define busy 0x80
          void wait()
          {
          uchar val;
          DATAPORT=0xff;
          RS0;
          RW1;
          __no_operation();
          EN1;
          __no_operation();
          __no_operation();
          DDRA=0x00;
          val=PINA;
          while(val&busy)val=PINA;
          EN0;
          DDRA=0xff;
          }

          void writecmd(uchar w)
          {
          wait();
          RS0;
          RW0;
          __no_operation();
          DATAPORT=w;
          __no_operation();
          EN1;
          __no_operation();
          __no_operation();
          EN0;
          }

          void writedata(uchar data)
          {
          wait();
          RS1;
          RW0;
          __no_operation();
          DATAPORT=data;
          __no_operation();
          EN1;
          __no_operation();
          __no_operation();
          EN0;
          }

          void delay_nms(uint k)
          {
          uint i,j;
          for(i=0;i
          for(j=0;j<1140;j++);
          }

          void init()
          {
          delay_nms(15);
          writecmd(0x38);
          delay_nms(5);
          writecmd(0x38);
          delay_nms(5);
          writecmd(0x38);
          writecmd(0x80);
          writecmd(0x01);
          writecmd(0x06);
          writecmd(0x0c);
          }

          void display(uchar x,uchar y,uchar *p)
          {

          uchar add=0x80;
          y=y&0x01;
          x=x&0x0f;
          if(y)add=add+0x40;
          writecmd(add+x);
          while(*p!=