<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 使用PCF8591進(jìn)行ADDA轉(zhuǎn)換

          使用PCF8591進(jìn)行ADDA轉(zhuǎn)換

          作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
          void display(uchar ge,uchar shi,uchar bai)
          {
          P0=0xff;
          LS138A=1;   //第一位
          LS138B=1;
          LS138C=1;
          P0=table[ge];
          delay_1ms(5);
          P0=0xff;
          LS138A=0;   //第二位
          LS138B=1;
          LS138C=1;
          P0=table[shi];
          delay_1ms(5);
          P0=0xff;
          LS138A=1;   //第三位
          LS138B=0;
          LS138C=1;
          P0=table[bai];
          delay_1ms(5);
          }
          void main()
          {      
          uchar num,ge,shi,bai;
          init();
          while(1)
          {
          display(ge,shi,bai);
          num=read_add(0x40);
          ge=num;
          num/=10;
          shi=num;
          num/=10;
          bai=num;
          }
          }

          3.DA轉(zhuǎn)換

          本文引用地址:http://www.ex-cimer.com/article/201611/322104.htm

          //I2C總線很強(qiáng)大
          //程序功能:通過DA轉(zhuǎn)換把輸出電壓逐漸增大,使加在上面的發(fā)光二級管慢慢變亮
          // 到最亮后再變暗,如此循環(huán)
          #include 
          #define uchar unsigned char
          #define uint unsigned int
          #define PCF8591 0x90 //PCF8591 地址
          sbit SCL=P2^1;      //串行時鐘輸入端
          sbit SDA=P2^0;  //串行數(shù)據(jù)輸入端
          void delay()       //延時4-5個微秒
          {;;}
          void delay_1ms(uint z)
          {
          uint x,y;
          for(x=z;x>0;x--)
          for(y=110;y>0;y--)
          ;
          }
          void start()//開始信號
          {
          SDA=1;
          delay();
          SCL=1;
          delay();
          SDA=0;
          delay();
          }
          void stop()      //停止信號
          {
          SDA=0;
          delay();
          SCL=1;
          delay();
          SDA=1;
          delay();
          }
          void respons()//應(yīng)答 相當(dāng)于一個智能的延時函數(shù)
          {
          uchar i;
          SCL=1;
          delay();
          while((SDA==1)&&(i<250))
          i++;
          SCL=0;
          delay();
          }
          void init()      //初始化
          {
          SDA=1;
          delay();
          SCL=1;
          delay();    
          }
          void write_byte(uchar date)      //寫一字節(jié)數(shù)據(jù)
          {
          uchar i,temp;
          temp=date;
          for(i=0;i<8;i++)
          {
          temp=temp<<1; //左移一位 移出的一位在CY中
          SCL=0;                      //只有在scl=0時sda能變化值
          delay();
          SDA=CY;
          delay();
          SCL=1;
          delay();            
          }   
          SCL=0;
          delay();
          SDA=1;
          delay();
          }
          void write_add(uchar control,uchar date)
          {
          start();
          write_byte(PCF8591);        //10010000 前四位固定 接下來三位全部被接地了 所以都是0 最后一位是寫 所以為低電平
          respons();
          write_byte(control);
          respons();
          write_byte(date);
          respons();
          stop();
          }
          void main()
          {
          uchar a;
          init();
          while(1)
          {
          write_add(0x40,a);
          delay_1ms(5);
          a++;
          if(a>250)
          a=0;                
          }
          }

          上一頁 1 2 下一頁

          關(guān)鍵詞: PCF8591ADDA轉(zhuǎn)

          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();