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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2009|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

求助求助求助 有關(guān)溫度計(jì)的 我是新手

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:79449 發(fā)表于 2015-10-27 18:27 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
/***************讀取DS18B20溫度,通共陰數(shù)碼管顯示**************/                                                                                                                                                       
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int

code uchar seven_seg[] = {0xFA,0x22,0xB9,0xAB,0x63,0xCB,0xDB,0xA2,0xFB,0xEB};
code uchar seven_bit[] = {0xfe,0xfd,0xfb,0xf7,0xff};///{0x01,0x02,0x04,0x08,0x00};
uint timer;
uint temp;
sbit DQ = P2^0;

void delay(uint x)
{
        while(x--);  
}
void Init_DS18B20(void)
{
        unsigned char x=0;
        DQ = 1;         //DQ復(fù)位
        delay(8);       //稍做延時(shí)
        DQ = 0;                //單片機(jī)將DQ拉低
        delay(80);           //精確延時(shí) 大于 480us
        DQ = 1;              //拉高總線
        delay(14);
        x=DQ;                  //稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗
        delay(20);
}
/******************************從18B20中讀一個(gè)字節(jié)****************************/
uchar Read_OneChar(void)
{
        uchar i = 0;
        uchar dat = 0;
        for (i=8;i>0;i--)
        {
                  DQ = 0;          // 給脈沖信號(hào)
                  dat >>= 1;
                  DQ = 1;          // 給脈沖信號(hào)
                  if(DQ)
                  dat |= 0x80;
                  delay(8);
        }
        return(dat);
}
/******************************向18B20中寫一個(gè)字節(jié)****************************/
void Write_OneChar(uchar dat)
{
        uchar i=0;
        for (i=8; i>0; i--)
        {
                DQ = 0;
                DQ = dat&0x01;
                delay(10);
                DQ = 1;
                dat >>= 1;
        }
        delay(8);
}
/***********************************讀取溫度**********************************/
uint Read_Temperature(void)
{
        int t=0;
        float tt=0;               
        uchar temp_L,temp_H;        //溫度低8位,和高8位
        EA=0;                                        //關(guān)中斷,以免意外
        Init_DS18B20();
        Write_OneChar(0xcc);         // 跳過讀序號(hào)列號(hào)的操作
        Write_OneChar(0xbe);         // 讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)就是溫度
        temp_L = Read_OneChar();           //讀取溫度值低位
        temp_H = Read_OneChar();           //讀取溫度值高位
        Init_DS18B20();

        Write_OneChar(0xcc);         //跳過讀序號(hào)列號(hào)的操作
        Write_OneChar(0x44);         //啟動(dòng)溫度轉(zhuǎn)換
       
        t=temp_H;
        t<<=8;
        t=t|temp_L;
        tt=t*0.0625;
        t= tt*10+0.5;
        EA=1;                                    //開中斷
        return(t);
}
/********延時(shí)函數(shù)************/
void delay_time(uint time)
{uint a,b;
for(a=0;a<time;a++)
for(b=0;b<2;b++);
}

/********初始化中斷函數(shù)************/
void timer0_init(void)         //初始化
{
        TMOD = 0x01;
        TH0 = 0xec;
        TL0 = 0x78;
        TR0 = 1;
        EA  = 1;
        ET0 = 1;
}       
/************************************************************************/
void timer0_isr(void) interrupt 1                  //中斷
{

        TH0 = (65535-1000)/256;
        TL0 = (65535-1000)%256;
        timer++;
}
/**********顯示函數(shù)************/
void display_num(uint num)
{

P3=seven_bit[1];
P1=seven_seg[num/100%10];
delay_time(10);
P1=0;

P3=seven_bit[2];
P1=seven_seg[num/10%10]+0x80;
delay_time(10);
P1=0;

P3=seven_bit[3];
P1=seven_seg[num%10];
delay_time(10);
P1=0;
}

/***********主函數(shù)*************/
void main(void)
{
        timer0_init();
        while(1)
{
       
        display_num(temp+1);        //  temp2
       
        if(timer>1000)
        {timer=0;temp=Read_Temperature();}

}
}


6OL(C~}G2BZ~D5]@}AQK)}Q.png (32 KB, 下載次數(shù): 145)

6OL(C~}G2BZ~D5]@}AQK)}Q.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:79449 發(fā)表于 2015-10-27 18:28 | 只看該作者
無法正常顯示溫度,倒入硬件數(shù)碼管都不會(huì)亮   
回復(fù)

使用道具 舉報(bào)

板凳
ID:96682 發(fā)表于 2015-11-22 17:19 | 只看該作者
LZ 還是先弄清楚電路圖與程序的關(guān)系就不會(huì)再犯同樣錯(cuò)誤。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产亚洲欧美在线 | 国产羞羞视频在线观看 | 中文一区| 欧美精品二区三区 | 国产福利视频 | 日韩免费一级 | 国产一区精品在线 | 天堂资源最新在线 | 一区二区三区视频在线观看 | 九九九久久国产免费 | 狠狠干美女 | 密色视频| 国产一级淫片免费视频 | 精品永久| 国产精品久久久久久婷婷天堂 | 91观看 | 99国产精品久久久 | 亚洲欧美一区二区三区国产精品 | 日韩av免费在线电影 | 爱爱免费视频 | 久草在线 | 欧美一区中文字幕 | 精品久久国产 | 日本一区二区三区在线观看 | 特黄特色大片免费视频观看 | 色综合天天网 | 日日天天| 亚洲综合国产 | 97久久精品午夜一区二区 | 日韩另类视频 | 久草视频在线播放 | 精品综合久久久 | 欧美成人综合 | 美女国内精品自产拍在线播放 | 在线观看一区 | 男人天堂午夜 | 91精品国产综合久久精品 | 欧美久久精品一级黑人c片 91免费在线视频 | 在线中文字幕日韩 | 久久日韩粉嫩一区二区三区 | 亚洲xxxxx |