<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

      電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

      利用單片機(jī)AT89S51與ADC0809設(shè)計數(shù)字電壓表,Voltmeter

      作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時間:2016-11-15

      1. 實(shí)驗任務(wù)
      利用(51單片機(jī))單片機(jī)AT89S51與ADC0809設(shè)計一個數(shù)字電壓表,能夠測量0-5V之間的直流電壓值,四位數(shù)碼顯示,但要求使用的元器件數(shù)目最少。
      2. 電路原理圖

      51單片機(jī)數(shù)字電壓表電路圖 
       
      單片機(jī)數(shù)字電壓表電路圖Voltmeter
       
       
      3. 系統(tǒng)板上硬件連線
      a)         把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0-P1.7與“動態(tài)數(shù)碼顯示”區(qū)域中的ABCDEFGH端口用8芯排線連接。
      b)        把“單片機(jī)系統(tǒng)”區(qū)域中的P2.0-P2.7與“動態(tài)數(shù)碼顯示”區(qū)域中的S1S2S3S4S5S6S7S8端口用8芯排線連接。
      c)        把“單片機(jī)系統(tǒng)”區(qū)域中的P3.0與“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的ST端子用導(dǎo)線相連接。
      d)        把“單片機(jī)系統(tǒng)”區(qū)域中的P3.1與“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的OE端子用導(dǎo)線相連接。
      e)         把“單片機(jī)系統(tǒng)”區(qū)域中的P3.2與“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的EOC端子用導(dǎo)線相連接。
      f)         把“單片機(jī)系統(tǒng)”區(qū)域中的P3.3與“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的CLK端子用導(dǎo)線相連接。
      g)        把“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的A2A1A0端子用導(dǎo)線連接到“電源模塊”區(qū)域中的GND端子上。
      h)        把“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的IN0端子用導(dǎo)線連接到“三路可調(diào)電壓模塊”區(qū)域中的VR1端子上。
      i)          把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0-P0.7用8芯排線連接到“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的D0D1D2D3D4D5D6D7端子上。
      4. 程序設(shè)計內(nèi)容
                               i.              由于ADC0809在進(jìn)行A/D轉(zhuǎn)換時需要有CLK信號,而此時的ADC0809的CLK是接在AT89S51單片機(jī)的P3.3端口上,也就是要求從P3.3輸出CLK信號供ADC0809使用。因此產(chǎn)生CLK信號的方法就得用軟件來產(chǎn)生了。
                             ii.              由于ADC0809的參考電壓VREF=VCC,所以轉(zhuǎn)換之后的數(shù)據(jù)要經(jīng)過數(shù)據(jù)處理,在數(shù)碼管上顯示出電壓值。實(shí)際顯示的電壓值 (D/256*VREF)
      5. 匯編源程序
      (略)
      6.C語言源程序
      #include
      unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
                                        0xef,0xdf,0xbf,0x7f};
      unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
                                     0x6d,0x7d,0x07,0x7f,0x6f,0x00};
      unsigned char dispbuf[8]={10,10,10,10,0,0,0,0};
      unsigned char dispcount;
      unsigned char getdata;
      unsigned int temp;
      unsigned char i;
      sbit ST=P3^0;
      sbit OE=P3^1;
      sbit EOC=P3^2;
      sbit CLK=P3^3;
      void main(void)
      {
        ST=0;
        OE=0;
        ET0=1;
        ET1=1;
        EA=1;
        TMOD=0x12;
        TH0=216;
        TL0=216;
        TH1=(65536-4000)/256;
        TL1=(65536-4000)%256;
        TR1=1;
        TR0=1;
        ST=1;
        ST=0;
        while(1)
          {
            if(EOC==1)
              {
                OE=1;
                getdata=P0;
                OE=0;
                temp=getdata*235;
                temp=temp/128;
                i=5;
                dispbuf[0]=10;
                dispbuf[1]=10;
                dispbuf[2]=10;
                dispbuf[3]=10;
                dispbuf[4]=10;
                dispbuf[5]=0;
                dispbuf[6]=0;
                dispbuf[7]=0;
                while(temp/10)
                  {  dispbuf[i]=temp%10;
      temp=temp/10;
      i++;
      }
      dispbuf[i]=temp;
      ST=1;
      ST=0;
      }
      }
      }
       
      void t0(void) interrupt 1 using 0
      {
      CLK=~CLK;
      }
       
      void t1(void) interrupt 3 using 0
      {
      TH1=(65536-4000)/256;
      TL1=(65536-4000)%256;
      P1=dispcode[dispbuf[dispcount]];
      P2=dispbitcode[dispcount];
      if(dispcount==7)
      {
      P1=P1 | 0x80;
      }
      dispcount++;
      if(dispcount==8)
      {
      dispcount=0;
      }
      }

      Tags:數(shù)字電壓表,ADC0809,51單片機(jī),電壓表  
      責(zé)任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網(wǎng)友評論
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 婷婷激情五月综合| 狠狠色婷婷久久综合频道日韩| 激情综合一区二区三区| 久久天天躁狠狠躁夜夜躁综合| 亚洲成AV人综合在线观看| 亚洲综合色婷婷在线观看| 丁香五月缴情综合网| 亚洲精品综合在线影院| 色久悠悠婷婷综合在线亚洲| 色偷偷91综合久久噜噜噜男男| 国产在线五月综合婷婷| 色天使亚洲综合一区二区| 亚州欧州一本综合天堂网| 亚洲国产aⅴ综合网| 亚洲日本国产综合高清| 亚洲综合久久一本伊伊区| 亚洲国产综合精品一区在线播放| 一本久道综合色婷婷五月| 天天影视色香欲综合免费| 97色伦图片97综合影院久久| 99热婷婷国产精品综合| 亚洲综合日韩久久成人AV| 一本一本久久aa综合精品| 亚洲伊人久久综合影院| 国产成人亚综合91精品首页| 久久综合偷偷噜噜噜色| 色综合久久天天影视网| 99久久综合久中文字幕| 亚洲AV日韩综合一区尤物| 亚洲AV综合色区无码二区偷拍| 久久婷婷国产综合精品 | 伊人久久综合无码成人网 | 色综合久久一本首久久| 色综合久久精品亚洲国产| 91丁香亚洲综合社区| 天天综合网天天做天天受| 亚洲精品欧美综合四区| 精品综合久久久久久99| 久久久久一级精品亚洲国产成人综合AV区 | 一本大道久久a久久综合| 久久天天日天天操综合伊人av|