在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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) > 設計應用 > 基于PCF8591的I_2C總線A_D_D_A轉換的資料

      基于PCF8591的I_2C總線A_D_D_A轉換的資料

      作者: 時間:2016-12-01 來源:網(wǎng)絡 收藏
      /*******************
      程序功能:
      通過DA轉換把輸出電壓逐漸增大,
      使加在上面的發(fā)光二級管慢慢變亮
      到最亮后再變暗,如此循環(huán)
      *******************/

      /*******************
      D/A轉換
      *******************/
      #include
      #define uint unsigned int
      #define uchar unsigned char
      #define PCF8591 0x90//PCF8591的地址
      sbit sda=P2^0;
      sbit scl=P2^1;
      void delay()//執(zhí)行空語句,微秒級延時函數(shù)
      {;;}
      void delay1ms(uint z)//延時1ms
      {
      uint x,y;
      for(x=z;x>0;x--)
      {
      for(y=0;y<=110;y++)
      {
      }
      }
      }
      void init()//初始化狀態(tài)下SCL和SDA都為高電平
      {
      scl=1;
      delay();
      sda=1;
      delay();
      }
      void start()//在SCL為高電平時SDA由高電平到低電平
      {
      sda=1;
      delay();
      scl=1;
      delay();
      sda=0;
      }
      void respons()
      /*
      應答信號,SCL在高電平期間,SDA被從設備拉為低電平表示應答。
      (sda==1)和i<255相與,表示若在一段時間內沒有從器件的應答則主器件
      默認從器件已經收到數(shù)據(jù)而不再等待應答信號
      */
      {
      uchar i;
      scl=1;
      delay();
      while((sda==1)&&(i<250))
      {
      i++;
      }
      scl=0;
      delay();
      }
      void stop()//SCL在高電平期間,SDA一個上升沿停止信號
      {
      sda=0;
      delay();
      scl=1;
      delay();
      sda=1;
      }
      void write_byte(uchar date)//寫一個字節(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進位標志位
      delay();
      scl=1; //SCL時鐘信號為高電平期間數(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 main()
      {
      uint count;
      init();
      while(1)
      {
      write_address(0x40,count);
      delay1ms(5);
      count++;
      if(count>250)
      {
      count=0;
      }
      }

      }


      /*******************
      程序功能:
      旋轉A/D電位器,將模擬量變成數(shù)字量,并用數(shù)碼管顯示其結果。
      *******************/

      /*******************
      A/D轉換
      *******************/
      #include
      #define uint unsigned int
      #define uchar unsigned char
      #define PCF8591 0x90//PCF8591的地址
      sbit sda=P2^0;
      sbit scl=P2^1;
      sbit LS138A=P2^2;//138譯碼器的3位 控制數(shù)碼管的
      sbit LS138B=P2^3;
      sbit LS138C=P2^4;
      uchar num,ge,shi,bai;
      uchar code table[]={
      0x3f,0x06,0x5b,0x4f,
      0x66,0x6d,0x7d,0x07,
      0x7f,0x6f};//段選
      void delay()//執(zhí)行空語句,微秒級延時函數(shù)
      {;;}
      void delay1ms(uint z)//延時1ms
      {
      uint x,y;
      for(x=z;x>0;x--)
      {
      for(y=0;y<=110;y++)
      {
      }
      }
      }
      void init()//初始化狀態(tài)下SCL和SDA都為高電平
      {
      scl=1;
      delay();
      sda=1;
      delay();
      }
      void start()//在SCL為高電平時SDA由高電平到低電平
      {
      sda=1;
      delay();
      scl=1;
      delay();
      sda=0;
      }
      上一頁 1 2 下一頁

      關鍵詞: PCF8591DA轉換總

      評論


      技術專區(qū)

      關閉
      ×

      “芯”朋友见面大会
      珠海|11.14|泰克“芯”朋友见面大会珠海站|泰克带您从测试角度看半导体的整条产业链,快来报名抢位吧>>