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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > AVR128的程序——ADC轉換

          AVR128的程序——ADC轉換

          作者: 時間:2016-11-22 來源:網(wǎng)絡 收藏
          #include
          #include
          #define uchar unsigned char
          #define uint unsigned int
          void Delayms(uint MS);
          void display(uchar FirstBit,uchar Num);
          uchar TempData[8];
          uchar WeiMa[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
          uchar led_discode[11]={0xc0,0xf9,0xa4,0xb0,0x99,
          0x92,0x82,0xf8,0x80,0x90,0xff};
          void display(uchar FirstBit,uchar Num)
          {
          unsigned char i;
          for(i=0;i
          {
          PORTC=led_discode[10];
          PORTA=WeiMa[i+FirstBit];
          PORTC=TempData[i];
          Delayms(2);
          }
          }
          void display1(uchar FirstBit,uchar Num)
          {
          unsigned char i;
          for(i=0;i
          {
          PORTC=led_discode[10];
          PORTA=WeiMa[i+FirstBit];
          PORTC=0X7F;
          Delayms(2);
          }
          }
          void port_init(void)
          {
          DDRF = 0x00;
          PORTF= 0x00;
          }
          void adc_init(void)
          {
          ADMUX = 0x00;
          ADCSRA= 0x00;
          ADMUX |= 0X40;
          ADCSRA |= 0XE8;
          }
          //AD是10位的,那么它將基準為5V的電壓分為1024份,精度就很高了。
          void data_pro(uint temp_l,uint temp_h)
          {
          uint temp1,temp2,dyz;
          temp1=temp_h*256;
          temp2=temp1+temp_l;
          dyz= ((500 * (long)temp2)>>10);
          temp2 = (uint)dyz;
          TempData[0]=led_discode[temp2/100];
          TempData[1]=led_discode[temp20/10];
          TempData[2]=led_discode[temp20];
          }
          void main(void)
          {
          port_init();
          adc_init();
          DDRA=0XFF;
          PORTA=0XFF;
          DDRC=0XFF;
          PORTC=0XFF;
          DDRF|=0X0E;
          PORTF|=0X0E;
          PORTF&=0xF7;
          DDRB |=0X10;
          PORTB|=0X10;
          TempData[0]=led_discode[0];
          TempData[1]=led_discode[0];
          TempData[2]=led_discode[0];
          TempData[3]=led_discode[0];
          SEI();
          while(1);
          }
          void Delayms(uint MS)
          {
          uint i,j;
          for( i=0;i
          for(j=0;j<1141;j++);
          }
          #pragma interrupt_handler adc_isr:22
          void adc_isr(void)
          {
          uint adc_l,adc_h;
          adc_l=ADCL;
          adc_h=ADCH;
          data_pro(adc_l,adc_h);
          display(5,3);
          display1(5,1);
          }


          關鍵詞: AVR128ADC轉

          評論


          技術專區(qū)

          關閉
          看屁屁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); })();