在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PCF8591的I_2C總線A_D_D_A轉(zhuǎn)換的資料

      基于PCF8591的I_2C總線A_D_D_A轉(zhuǎn)換的資料

      作者: 時(shí)間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
      void respons()
      /*
      應(yīng)答信號(hào),SCL在高電平期間,SDA被從設(shè)備拉為低電平表示應(yīng)答。
      (sda==1)和i<255相與,表示若在一段時(shí)間內(nèi)沒有從器件的應(yīng)答則主器件
      默認(rèn)從器件已經(jīng)收到數(shù)據(jù)而不再等待應(yīng)答信號(hào)
      */
      {
      uchar i;
      scl=1;
      delay();
      while((sda==1)&&(i<250))
      {
      i++;
      }
      scl=0;
      delay();
      }
      void stop()//SCL在高電平期間,SDA一個(gè)上升沿停止信號(hào)
      {
      sda=0;
      delay();
      scl=1;
      delay();
      sda=1;
      }
      void write_byte(uchar date)//寫一個(gè)字節(jié)
      {
      uchar i,temp;
      temp=date;
      for(i=0;i<8;i++)
      {
      temp=temp<<1;
      scl=0;//只有在SCL為0期間才允許SDA數(shù)據(jù)線上的狀態(tài)才允許變化
      delay();
      sda=CY;//PSW的寄存器的CY進(jìn)位標(biāo)志位
      delay();
      scl=1; //SCL時(shí)鐘信號(hào)為高電平期間數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定 delay();
      delay();
      }
      scl=0;
      delay();
      sda=1;//釋放總線
      delay();
      }
      uchar read_byte()
      {
      uchar i,k;
      scl=0;
      delay();
      sda=1;//釋放總線
      delay();
      for(i=0;i<8;i++)
      {
      scl=1;
      delay();
      k=(k<<1)|sda;
      scl=0;
      delay();
      }
      //delay();here is a bug
      return k;
      }

      void write_address(uchar address,uchar date)
      {
      start();
      write_byte(0x90);
      respons();
      write_byte(address);
      respons();
      write_byte(date);
      respons();
      stop();
      }
      uchar read_address(uchar address)
      {
      uchar date;
      start();
      write_byte(0x90); //10010000 前四位固定 接下來三位全部被接地了 所以都是0 最后一位是寫 所以為低電平
      respons();
      write_byte(address);
      respons();
      start();
      write_byte(0x91);
      respons();
      date=read_byte();
      stop();
      return date;
      }
      void display(uchar ge,uchar shi,uchar bai)
      {
      P0=0xff;
      LS138A=1; //第一位
      LS138B=1;
      LS138C=1;
      P0=table[ge];
      delay1ms(1);
      P0=0xff;

      LS138A=0; //第二位
      LS138B=1;
      LS138C=1;
      P0=table[shi];
      delay1ms(1);
      P0=0xff;

      LS138A=1; //第三位
      LS138B=0;
      LS138C=1;
      P0=table[bai];
      delay1ms(1);
      }
      void main()
      {
      init();
      while(1)
      {
      num=read_address(0x40);
      bai=num/100;
      shi=num/10%10;
      ge=num%10;
      display(ge,shi,bai);
      }
      }
      上一頁 1 2 下一頁

      關(guān)鍵詞: PCF8591DA轉(zhuǎn)換總

      評(píng)論


      技術(shù)專區(qū)

      關(guān)閉