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

標題: 51單片機數碼管顯示溫度測量資料程序 [打印本頁]

作者: 51mcu    時間: 2017-7-13 20:59
標題: 51單片機數碼管顯示溫度測量資料程序
       下面是51單片機數碼管顯示溫度測量設計源程序,測量范圍-9.9~99.9℃,當溫度高于定值時,蜂鳴器發出滴、滴、滴報警志響,同時發光二極管閃光。溫度低于-9.9℃時,顯示 L L .L C ,溫度高于99.9℃時,顯示 H H.H C”。
下載:
單片機數碼管顯示溫度測量報警程序.zip (2.05 MB, 下載次數: 389)

如下列圖所示:





















    源程序:

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char           //宏定義
sbit DQ=P3^7;                                     //定義DS18B20 的 I/O        
sbit DIAN = P0^7;                        //顯示小數點用
sbit LED=P1^7;
sbit LED1=P2^0;
sbit LED2=P2^1;
sbit LED3=P2^2;
sbit LED4=P2^3;
sbit BEEP=P3^6;
uchar x=0;                                      //計數器
signed char m;                                     //溫度值全局變量
uchar n,zf,l;                                              //溫度值全局變量
uint z;
int c;
uint gaowen=28;                         //高溫報警溫度,默認值為35
uint diwen=0;                                    //低溫報警溫度,默認值0
uchar code  LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uchar Data[]={0,0,0};


/*****延時子程序*****/
void Delay_DS18B20(int num)
{
        while(num--) ;
}
/*****初始化DS18B20*****/
void Init_DS18B20(void)
{
        unsigned char x=0;
        DQ = 1;                 //DQ復位
        Delay_DS18B20(8);   //稍做延時
        DQ = 0;                           //單片機將DQ拉低
        Delay_DS18B20(80);  //精確延時,大于480us
        DQ = 1;                 //拉高總線
        Delay_DS18B20(14);
        x = DQ;                   //稍做延時后,如果x=0則初始化成功,x=1則初始化失敗
        Delay_DS18B20(20);
}
/*****讀一個字節*****/
unsigned char ReadOneChar(void)
{
        unsigned char i=0;
        unsigned char dat = 0;
        for (i=8;i>0;i--)
          {
            DQ = 0;                         //給脈沖信號
            dat>>=1;
            DQ = 1;                     //給脈沖信號
            if(DQ)
            dat|=0x80;
            Delay_DS18B20(4);
          }
          return(dat);
}
/*****寫一個字節*****/
void WriteOneChar(unsigned char dat)
{
        unsigned char i=0;
          for (i=8; i>0; i--)
          {
            DQ = 0;
            DQ = dat&0x01;
            Delay_DS18B20(5);
            DQ = 1;
            dat>>=1;
          }
}
/*****讀取溫度*****/
unsigned int ReadTemperature(void)
{
        unsigned char a=0;
          int b=0;
          int t=0;
          float tt=0;
          Init_DS18B20();
          WriteOneChar(0xCC);  //跳過讀序號列號的操作
          WriteOneChar(0x44);  //啟動溫度轉換
          Init_DS18B20();
          WriteOneChar(0xCC);  //跳過讀序號列號的操作
          WriteOneChar(0xBE);  //讀取溫度寄存器
          a=ReadOneChar();     //讀低8位
          b=ReadOneChar();         //讀高8位
          t=b;                                 //高8位轉移到t
          t<<=8;                             //t數據左移8位
          t=t|a;                             //將t和a按位或,得到一個16位的數
          tt=t*0.0625;                 //將t乘以0.0625得到實際溫度值
                                             //(溫度傳感器設置12位精度,最小分辨率是0.0625)
          t= tt*10+0.5;        //放大10倍(將小數點后一位顯示出來)輸出并四舍五入
          return(t);                     //返回溫度值
}
/*****延時子程序*****/
void Delay(uint num)
{
        while( --num );
}                        
/*****讀取溫度*****/
void check_wendu(void)
{
        int a,b;
        c=ReadTemperature();                  //獲取溫度值
         if(c<0)                                  //溫度正負值判斷處理
        {
                c=-(c-1);
                   zf=1;
        }
        else
        {
                zf=0;
        }
        a=c/100;                                     //計算得到十位數字
        b=c/10-a*10;                            //計算得到個位數字
        m=c/10;                                      //計算得到整數位
        if(m<=0)                                    //如果溫度小于0,限制顯示為0
        {
                m=0;
        }
        n=c-a*100-b*10;                            //計算得到小數位
        Data[0]=LEDData[n];             //顯示小數位
        Data[1]=LEDData[m%10];    //顯示個位
............................................................................................
需要完整源程序的請自己下載




作者: mnbvcxzlkjhgfds    時間: 2017-10-21 19:12
感謝完美程序
作者: asusyt    時間: 2017-10-22 14:47
感謝樓主的分享
作者: lygweifeng    時間: 2018-2-26 10:54
感謝作者
作者: qjzyx    時間: 2018-2-26 12:00
收藏,謝謝分享
作者: kkfy888    時間: 2018-3-14 18:00
謝謝樓主,收藏一份了
作者: 情誼森林    時間: 2018-3-29 11:26
感謝分享
作者: 627532822lin    時間: 2018-7-11 09:26
謝謝樓主,感謝感謝
作者: 1304078500    時間: 2018-12-27 23:42
樓主我想要完整程序,
作者: 1304078500    時間: 2018-12-27 23:51
情誼森林 發表于 2018-3-29 11:26
感謝分享

有程序嗎
作者: unsigned_char_    時間: 2018-12-30 19:32
謝謝樓主,想請問您的位選頻率大概是多少?我用您這個圖和程序顯示不出來溫度值,只有初始的----和關閉顯示。數碼管八位顯示的高低電平是變化的,但是位選信號改變頻率極低,且幾乎一直保持高電平,所以沒有顯示……
作者: lsj123    時間: 2019-1-17 16:41
好帖子 就是沒黑幣不能下完整的

作者: 怎么滴    時間: 2019-1-17 20:00
感謝分享加油


作者: GRD    時間: 2019-3-17 22:35
unsigned_char_ 發表于 2018-12-30 19:32
謝謝樓主,想請問您的位選頻率大概是多少?我用您這個圖和程序顯示不出來溫度值,只有初始的----和關閉顯示 ...

同志我和你問題一樣 ,如果你解決了的話 ,麻煩也給我解下惑 不勝感激
作者: 丶Atlantis    時間: 2019-5-10 10:16
感謝作者的分享
作者: isg111    時間: 2019-5-29 09:11
感謝作者
作者: 316004322    時間: 2019-6-9 21:28
感謝作者
作者: choudary    時間: 2019-11-5 09:52
感謝作者
作者: z0913    時間: 2019-11-19 16:10
剛需 謝謝樓主分享
作者: 撼地神牛雨    時間: 2020-6-3 23:02
學習學習,不錯的代碼
作者: 小小徐白    時間: 2020-6-10 10:48
有protues仿真文件嗎,搭出一樣的圖,但功能顯示不了
作者: lirit    時間: 2020-6-26 17:33
謝謝分享
作者: paran    時間: 2020-6-29 19:09
這是液晶吧,還數碼管坑人

作者: 陳潤源home    時間: 2020-6-29 20:31
感謝樓主,數碼管太坑了,準備用液晶,看到你的又準備用數碼管了
作者: 475749848    時間: 2020-7-1 16:01
unsigned_char_ 發表于 2018-12-30 19:32
謝謝樓主,想請問您的位選頻率大概是多少?我用您這個圖和程序顯示不出來溫度值,只有初始的----和關閉顯示 ...

我跟你一樣 不能顯示

作者: 475749848    時間: 2020-7-1 16:02
unsigned_char_ 發表于 2018-12-30 19:32
謝謝樓主,想請問您的位選頻率大概是多少?我用您這個圖和程序顯示不出來溫度值,只有初始的----和關閉顯示 ...

跟你一樣不行 不能顯示
作者: yang02    時間: 2020-7-3 19:04
數碼管不顯示是為什么啊




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 黄色大片免费观看 | 91在线看片| 亚洲一区二区在线 | 日韩欧美在线观看 | 成人一区二区电影 | 亚洲成人免费视频 | 狠狠艹| 日本在线看片 | 99热热99 | 国产成人综合在线 | www.日本在线| 玖玖视频 | 国产 日韩 欧美 在线 | a爱视频 | 操操网站 | 国产精品178页 | 欧美一区二区三区精品免费 | 亚洲一区日韩 | 一区二区三区四区视频 | 久久久久久久91 | 欧美一区二区三区精品 | 亚洲一二三区精品 | 国产精品亚洲一区 | 国产不卡一区 | 狠狠干av | 操操日| 最新午夜综合福利视频 | 午夜精品一区二区三区在线观看 | 欧美午夜视频 | 精品久久久久香蕉网 | 婷婷免费在线 | 久久黄色| 久久99精品久久久水蜜桃 | 中文字幕综合 | 欧美日韩国产一区二区三区不卡 | 国产精品99久 | 亚洲精品一区二区在线观看 | 国产极品粉嫩美女呻吟在线看人 | 成人国产精品一级毛片视频毛片 | 欧美色图另类 | 黄色av大片 |