久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
12
返回列表 發(fā)新帖
樓主: 七顆星星
打印 上一主題 下一主題
收起左側

剛剛告知老師不允許用DS18B20數字傳感器測溫,還有什么嗎?

  [復制鏈接]
41#
ID:145062 發(fā)表于 2016-10-29 15:26 | 只看該作者
通過熱敏電阻的阻值變化,通過MCU的ADC獲取熱敏電阻的兩端電壓變化,計算出相應的電阻值,根據組織查邊獲取溫度值,首先熱敏電阻便宜,電阻簡單,查表方便,相應的江都不高一般是0.1攝氏度吧!
回復

使用道具 舉報

42#
ID:143848 發(fā)表于 2016-10-29 20:15 | 只看該作者
pingguotu 發(fā)表于 2016-10-29 15:26
通過熱敏電阻的阻值變化,通過MCU的ADC獲取熱敏電阻的兩端電壓變化,計算出相應的電阻值,根據組織查邊獲取 ...

熱敏電阻3950的測溫單片機里程序
code        uint VOL[]和code        uint Temper[]中的數據是怎么計算查表得到的。
       result=(uint)((res/2048.0-1.0)*500.0);
                 
                 temp1=abs(result-VOL[0]);
                 for(i=1;i<150;i++)
                 {
                         temp2=abs(result-VOL);
                        if(temp1>=temp2)
                        {
                                temp1=temp2;
                                flag=i;
                        }
   這一段程序是什么意思呢?         
               :#include <reg52.h>           
#include <intrins.h>
#include <math.h>

typedef unsigned char uchar;
typedef unsigned int  uint;
code        uint VOL[]={                343,        339,        339,        335,        332,        332,        328,        324,        320,        320,        
                                                        316,        312,        312,        308,        304,        300,        300,        296,        292,        292,
                                                        289,        285,        285,        281,        277,        273,        273,        269,        265,        265,        
                                                        261,        257,        257,        253,        250,        250,        246,        242,        242,        238,
                                                        234,        234,        230,        230,        226,        222,        222,        218,        218,        214,        
                                                        210,        210,        207,        207,        203,        199,        199,        195,        195,        191,
                                                        191,        187,        187,        183,        179,        179,        175,        175,        171,        171,        
                                                        167,        167,        164,        164,        160,        160,        160,        156,        156,        152,
                                                        152,        148,        148,        144,        144,        140,        140,        140,        136,        136,        
                                                        132,        132,        132,        128,        128,        125,        125,        125,        121,        121,
                                                        121,        117,        113,        109,        109,        105,        101,        101,        97,                97,
                                                        93,                89,                89,                85,                85,                82,                82,                78,                78,                74,        
                                                        74,                70,                70,                66,                66,                66,                62,                62,                58,                58,        
                                                        58,                54,                54,                54,                50,                50,                50,                46,                46,                46,        
                                                        42,                42,                42,                42,                39,                39,                39,                39,                35,                35};

code        uint Temper[]={                100,        150,        200,        250,        300,        350,        400,        450,        500,        550,        
                                                        600,        650,        700,        750,        800,        850,        900,        950,        1000,        1050,
                                                        1100,        1150,        1200,        1250,        1300,        1350,        1400,        1450,        1500,        1550        
                                                        1600,        1650,        1700,        1750,        1800,        1850,        1900,        1950,        2000,        2050,
                                                        2100,        2150,        2200,        2250,        2300,        2350,        2400,        2450,        2500,        2550,        
                                                        2600,        2650,        2700,        2750,        2800,        2850,        2900,        2950,        3000,        3050,
                                                        3100,        3150,        3200,        3250,        3300,        3350,        3400,        3450,        3500,        3550,        
                                                        3600,        3650,        3700,        3750,        3800,        3850,        3900,        3950,        4000,        4050,
                                                        4100,        4150,        4200,        4250,        4300,        4350,        4400,        4450,        4500,        4550,        
                                                        4600,        4650,        4700,        4750,        4800,        4850,        4900,        4950,        5000,        5050,
                                                        5100,        5200,        5300,        5400,        5500,        5600,        5700,        5800,        5900,        6000,
                                                        6100,        6200,        6300,        6400,        6500,        6600,        6700,        6800,        6900,        7000,        
                                                        7100,        7200,        7300,        7400,        7500,        7600,        7700,        7800,        7900,        8000,        
                                                        8100,        8200,        8300,        8400,        8500,        8600,        8700,        8800,        8900,        9000,        
                                                        9100,        9200,        9300,        9400,        9500,        9600,        9700,        9800,        9900,        10000};
sbit STS=P1^0;                           
sbit CE = P1^1;
sbit CS=P1^2;
sbit A0=P1^3;
sbit RC=P1^4;

sbit RS=P1^5 ;
sbit RW=P1^6 ;
sbit EN=P1^7 ;           

void delay_ms(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
uint AD1674_Read(void)
{
        uint temp;
        uchar temp1,temp2;
        CS=1;        //片選信號
        CE=0;        //初始化,關閉數據采集
        CS=0;
        A0=0;
        RC=0;
        CE=1;//CE=1,CS=0,RC=0,A0=0啟動12位溫度轉換
        _nop_();
        while(STS==1);         //等待數據采集結束
        CE=0;         //芯片使能關閉
        RC=1;
        A0=0;
        CE=1;//CE=1,CS=0,RC=1,12/8=1,A0=0 允許高八位數據并行輸出
        _nop_();
        temp1=P0; //讀取轉換結果的高八位
        CE=0;  //芯片使能關閉
        RC=1;
        A0=1;
        CE=1;//CE=1,CS=0,RC=1,12/8=0,A0=1 允許低四位數據 并行輸出
        _nop_();
        temp2=P0;         //讀取轉換結果的第四位
        temp=((temp1<<4)|(temp2&0X0F));          //高位和低位合成實際溫度,temp2為PO口的高四位
        return (temp);           //還回轉換結果,右移四位是因為temp2為P0口的高四位
}
/*** 寫數據***/
void w_dat(unsigned char dat)
{
        RS = 1;
        //EN = 0;
        P2 = dat;
        delay_ms(5);
        RW = 0;
        EN = 1;
        EN = 0;
}
/*** 寫命令***/
void w_cmd(unsigned char cmd)
{
        RS = 0;
//        EN = 0;
        P2 = cmd;
        delay_ms(5);
        RW = 0;
        EN = 1;
        EN = 0;
}                        
/*** 發(fā)送字符串到LCD***/
void w_string(unsigned char addr_start, unsigned char *p)
{
        unsigned char *pp;
        
        pp = p;
        w_cmd(addr_start);
        while (*pp != '\0')
        {
                w_dat(*pp++);
        }
}           

/*** 初始化1602****/
void Init_LCD1602(void)
{
        EN = 0;
        w_cmd(0x38);  // 16*2顯示,5*7點陣,8位數據接口
        w_cmd(0x0C);  // 顯示器開、光標開、光標允許閃爍
        w_cmd(0x06);  // 文字不動,光標自動右移
        w_cmd(0x01);  // 清屏
}
void process(uint date,uchar add)
{
        uchar A[7];
        A[0]=date/1000%10+'0';
        A[1]=date/100%10+'0';
        A[2]='.';        
        A[3]=date/10%10+'0';
        A[4]=date%10+'0';
        A[5]='C';                        
        w_string(add,A);
}         
void main()
{

        uchar i,flag=0;
        uint result,temp1,temp2;
        float        res;

        Init_LCD1602();
         
        w_string(0x80,"Temper:");
        
        while (1)
        {
                 res=(float)(AD1674_Read());
                 result=(uint)((res/2048.0-1.0)*500.0);
                 
                 temp1=abs(result-VOL[0]);
                 for(i=1;i<150;i++)
                 {
                         temp2=abs(result-VOL);
                        if(temp1>=temp2)
                        {
                                temp1=temp2;
                                flag=i;
                        }
                                
                 }
        
                 process(Temper[flag],0x80+7);
        }   
回復

使用道具 舉報

43#
ID:140371 發(fā)表于 2016-10-30 16:11 | 只看該作者
這個電路不妨用麵包板,試做看看(或是用仿真軟體模擬看看)...例如測試範圍從  0到 100度  輸出Vo從0到4.92 這個電路就可以用  
回復

使用道具 舉報

44#
ID:164989 發(fā)表于 2017-5-28 16:48 | 只看該作者
pt100接一個tl431恒流源再接2個運放加調零出來就是電壓的變化再接個tl1543AD轉換接到單片機里計算電阻值在計算溫度temp_r=((float)temp)*5000/(1024*20)+100;  //計算電阻值。[img]C:\Users\asus\Desktop\E13DA9FA454BBB6930F3639E5E9D33EE.pngC:\Users\asus\Desktop\4700A418B4F82E4F6F6DE1ED1AB49134.png[/img]
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产日韩精品视频 | 国产免费自拍 | 黄色成人免费在线观看 | 免费在线一区二区 | 国产精品久久久久久久久久久久久久 | 91视频久久 | 亚洲国产精久久久久久久 | 台湾佬伊人 | 嫩草黄色影院 | 久久国产精品久久国产精品 | 麻豆精品一区二区三区在线观看 | 亚洲成av人片在线观看 | www.久久精品 | 日本久久久一区二区三区 | 久久99视频| 欧美成人精品一区二区男人看 | 91精品国产综合久久精品 | 免费精品 | 欧美精品黄 | 99久久精品国产毛片 | 精品久久久999 | 香蕉视频在线播放 | 久久网站黄 | 午夜日韩 | 欧美13videosex性极品 | 欧美激情国产精品 | 国产精品美女久久久久久久网站 | 国产精品一区在线 | 亚洲欧美综合 | 五月激情六月婷婷 | 欧美成年人| 五月婷亚洲 | 99九九久久| 久久r免费视频 | 亚洲 欧美 日韩在线 | 国产精品国产精品国产专区不片 | 精品一级 | 偷拍自拍网址 | 日韩在线观看视频一区 | 日本韩国欧美在线观看 | 欧美日韩国产一区二区三区 |