<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. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

      51單片機制作的四位數字溫度計,Digital thermometer

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2016/12/16
      關鍵字:AT89S51,數字溫度計電路圖
      1.溫度傳感器AD590基本知識
      AD590產生的電流與絕對溫度成正比,它可接收的工作電壓為4V-30V,檢測的溫度范圍為-55℃-+150℃,它有非常好的線性輸出性能,溫度每增加1℃,其電流增加1uA。
      AD590溫度與電流的關系如下表所示
      攝氏溫度
      AD590電流
      經10KΩ電壓
      0℃
      273.2 uA
      2.732V
      10℃
      283.2 uA
      2.832 V
      20℃
      293.2 uA
      2.932 V
      30℃
      303.2 uA
      3.032 V
      40℃
      313.2 uA
      3.132 V
      50℃
      323.2 uA
      3.232 V
      60℃
      333.2 uA
      3.332 V
      100℃
      373.2 uA
      3.732 V
      AD590引腳圖
       
      2.實驗任務
      利用AD590溫度傳感器完成溫度的測量,把轉換的溫度值的模擬量送入ADC0809的其中一個通道進行A/D轉換,將轉換的結果進行溫度值變換之后送入數碼管顯示。
      3.電路原理圖
       51單片機制作的四位數字溫度計,溫度計電路圖
      四位數數字溫度計Digital thermometer
       
       
      4.系統板上硬件連線
      (1).    把“單片機系統”區域中的P1.0-P1.7與“動態數碼顯示”區域中的ABCDEFGH端口用8芯排線連接。
      (2).    把“單片機系統”區域中的P2.0-P2.7與“動態數碼顯示”區域中的S1S2S3S4S5S6S7S8端口用8芯排線連接。
      (3).    把“單片機系統”區域中的P3.0與“模數轉換模塊”區域中的ST端子用導線相連接。
      (4).    把“單片機系統”區域中的P3.1與“模數轉換模塊”區域中的OE端子用導線相連接。
      (5).    把“單片機系統”區域中的P3.2與“模數轉換模塊”區域中的EOC端子用導線相連接。
      (6).    把“單片機系統”區域中的P3.3與“模數轉換模塊”區域中的CLK端子用導線相連接。
      (7).    把“模數轉換模塊”區域中的A2A1A0端子用導線連接到“電源模塊”區域中的GND端子上。
      (8).    把“模數轉換模塊”區域中的IN0端子用導線連接到自制的AD590電路上。
      (9).    把“單片機系統”區域中的P0.0-P0.7用8芯排線連接到“模數轉換模塊”區域中的D0D1D2D3D4D5D6D7端子上。
      5.程序設計內容
      (1).      ADC0809的CLK信號由單片機的P3.3管腳提供
      (2).      由于AD590的溫度變化范圍在-55℃-+150℃之間,經過10KΩ之后采樣到的電壓變化在2.182V-4.232V之間,不超過5V電壓所表示的范圍,因此參考電壓取電源電壓VCC,(實測VCC=4.70V)。由此可計算出經過A/D轉換之后的攝氏溫度顯示的數據為:
      如果(D*2350/128)<2732,則顯示的溫度值為-(2732-(D*2350/128))
      如果(D*2350/128)≥2732,則顯示的溫度值為+((D*2350/128)-2732)
      6.匯編源程序
      (略)
      7.C語言源程序
      #include
      #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,0x40};
      unsigned char dispbuf[8]={10,10,10,10,10,10,0,0};
      unsigned char dispcount;
      unsigned char getdata;
      unsigned long temp;
      unsigned char i;
      bit sflag;
      sbit ST=P3^0;
      sbit OE=P3^1;
      sbit EOC=P3^2;
      sbit CLK=P3^3;
      sbit LED1=P3^6;
      sbit LED2=P3^7;
      sbit SPK=P3^5;
      void main(void)
      {
        ST=0;
        OE=0;
        TMOD=0x12;
        TH0=0x216;
        TL0=0x216;
        TH1=(65536-4000)/256;
        TL1=(65536-4000)%256;
        TR1=1;
        TR0=1;
        ET0=1;
        ET1=1;
        EA=1;
        ST=1;  
        ST=0;
        getdata=148;
        while(1)
          {
            ;
          }
      }
      void t0(void) interrupt 1 using 0
      {
        CLK=~CLK;
      }
      void t1(void) interrupt 3 using 0
      {
        TH1=(65536-4000)/256;
        TL1=(65536-4000)%256;
        if(EOC==1)
         {
           OE=1;
           getdata=P0;
           OE=0;
           temp=(getdata*2350);
           temp=temp/128;
           if(temp<2732)
             {
               temp=2732-temp;
               sflag=1;
             }
             else
               {
                 temp=temp-2732;
                 sflag=0;
               }
           i=3;
           dispbuf[0]=10;
           dispbuf[1]=10;
           dispbuf[2]=10;
           if(sflag==1)
             {
               dispbuf[7]=11;
             }
             else
               {
                 dispbuf[7]=10;
               }
           dispbuf[3]=0;
           dispbuf[4]=0;
           dispbuf[5]=0;
           dispbuf[6]=0;
          while(temp/10)
            {
              dispbuf[i]=temp%10;
              temp=temp/10;
              i++;
            }
          dispbuf[i]=temp;        
           ST=1;
           ST=0;
         }
        P1=dispcode[dispbuf[dispcount]];
        P2=dispbitcode[dispcount];
        dispcount++;
        if(dispcount==8)
          {
            dispcount=0;
          }
      }
       
      Tags:單片機,四位數字溫度計,單片機溫度計,制作  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 伊人青青综合网站| 久久久久青草大香线综合精品 | 欧美日韩色另类综合| 狠狠色伊人亚洲综合网站色| 综合偷自拍亚洲乱中文字幕| 图图资源网亚洲综合网站| 狠狠色丁香婷婷久久综合五月 | 国产综合视频在线观看一区| 丁香六月激情综合| 色噜噜成人综合网站| 久久综合狠狠色综合伊人| 色天天综合色天天看| 狠狠色丁香久久婷婷综合_中 | 一本久道久久综合狠狠躁AV | 国产尹人香蕉综合在线电影| 久久综合给合久久狠狠狠97色69| 国产成人综合久久精品下载| 伊人久久久大香线蕉综合直播| 丁香色欲久久久久久综合网| 午夜激情影院综合| 国产性天天综合网| 一本色道久久88综合日韩精品| 国产成人综合网在线观看| 亚洲情综合五月天| 久久丝袜精品综合网站| 国产成人麻豆亚洲综合无码精品 | 色五月丁香五月综合五月4438| 亚洲综合色丁香麻豆| 久久91精品久久91综合| 国产色婷婷五月精品综合在线| 国产91久久综合| 久久青青草原综合伊人| 狠狠色综合久色aⅴ网站| 香蕉蕉亚亚洲aav综合| 国产香蕉久久精品综合网| 色综合天天综合高清网国产| 一本久到久久亚洲综合| 精品综合久久久久久97超人| 丁香五月综合缴情综合| 一本色道久久88综合亚洲精品高清 | 久久综合久久综合亚洲|