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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2189|回復: 0
打印 上一主題 下一主題
收起左側

數(shù)字溫度計

[復制鏈接]
跳轉到指定樓層
樓主
ID:149266 發(fā)表于 2016-11-21 17:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//程序:ex6_2_1.c
//功能:數(shù)字溫度計
#include "reg51.h"
#include "intrins.h"  //包含內(nèi)部函數(shù)頭文件intrins.h
#define uchar unsigned char
#define uint unsigned int
#define out P2
sbit smg1=P3^1;               //溫度個位位選端
sbit smg2=P3^0;                  //溫度十位位選端
sbit DQ=P3^7;            //溫度采集
void delay5us(uchar n);     //精確延時n*5us子程序
void delayms(uint j);
void init_ds18b20(void); //總線初始化復位
uchar readbyte(void);    // 讀取一個字節(jié)
void writebyte(uchar);   //寫一個字節(jié)
uchar readtemp(void);   //讀取溫度
unsigned char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//共陽數(shù)碼管顯示"0-9"字型碼
void main(void)
{uchar i;
uchar temp;
temp=readtemp();         //讀取轉換的溫度
delayms(1000);
while(1)
        {
                  temp=readtemp();         //讀取轉換的溫度
        for(i=0;i<10;i++)        //連續(xù)掃描數(shù)碼管10次
         {
                 out=led[temp/10];         //顯示溫度十位
                 smg1=0;
                 smg2=1;
                 delay5us(200);        //延時1ms
                 out=0xff;
                 out=led[temp%10];        //顯示溫度個位
                 smg1=1;
                 smg2=0;
                 delay5us(200);        //延時1ms
                 out=0xff;

        }

}
}
//函數(shù)名:delay5us
//函數(shù)功能:精確延時5us子程序
//形式參數(shù):延時時間參數(shù)n,unsigned char 類型
//返回值:無       
void delay5us(unsigned char n)
{         do
         {
         _nop_();
         _nop_();
         _nop_();
         n--;
         }
         while(n);
}

//函數(shù)名:init_ds18b20
//函數(shù)功能:         總線初始化復位
//形式參數(shù):無
//返回值:無
void init_ds18b20(void)
{
         uchar x=0;
         DQ=1;
         delay5us(10);
         DQ =0;   
         delay5us(120);                 //低電平480-960s
         DQ =1;                   
         delay5us(16);           //等待50-100s
         x=DQ;   
         delay5us(80);
         DQ=1;

         }

//函數(shù)名:readbyte
//函數(shù)功能:         讀取一個字節(jié)
//形式參數(shù):無
//返回值:讀取字節(jié)數(shù)據(jù)date, unsigned char 類型
uchar readbyte(void)
{
        uchar i=0;
        uchar date=0;
        for (i=8;i>0;i--)
         {
                  DQ =0;
                  delay5us(1);
                  DQ =1;            //15微秒內(nèi)拉釋放總線
                  date>>=1;
                  if(DQ)
                  date|=0x80;
                  delay5us(11);        //讀完需要45us的等待
         }
        return(date);
}

//函數(shù)名:writebyte
//函數(shù)功能:         寫一個字節(jié)
//形式參數(shù):寫字節(jié)數(shù)據(jù)dat, unsigned char 類型
//返回值:無
void writebyte(uchar dat)
{
uchar i=0;
for(i=8;i>0;i--)
         {
          DQ =0;
          DQ =dat&0x01;  //寫"1" 在15微秒內(nèi)拉低
          delay5us(12);           //寫"0" 拉低60微秒等待寫完
          DQ = 1;                   //恢復高電平,至少保持1us
          dat>>=1;                //下次寫作準備,移位數(shù)據(jù)
          delay5us(5);        //延時25us
          }
}
//函數(shù)名: readtemp
//函數(shù)功能:讀取溫度
//形式參數(shù):無
//返回值:單字節(jié)的溫度值tt, unsigned char 類型

uchar readtemp(void)
{
        uchar templ,temph,tt;
        uint t;
        init_ds18b20();
        writebyte(0xCC);         
        writebyte(0x44);        //跳過ROM匹配,跳過讀序列號的操作,可節(jié)省操作時間
        init_ds18b20();                //開始操作前需要復位                 
        writebyte(0xCC);
        writebyte(0xBE);   //讀暫存器中的溫度值
        templ=readbyte();         //分別讀取溫度的低、高字節(jié)
        temph=readbyte();
        t=temph;
        t<<=8;
        t=t|templ;
        tt=t*0.0625;         //溫度轉換
        return(tt);
}//函數(shù)名:delayms(uint ms)
//函數(shù)功能:延時ms毫秒子函數(shù)
//形式參數(shù):ms
//返回值:無

void delayms(uint ms)//延時ms毫秒子函數(shù)
{
        uint i,j;
        for(i=0;i<ms;i++)
           {
           for(j=0;j<110;j++);//延時1毫秒
       }

}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品日韩一区二区 | 久久综合影院 | 欧美综合视频在线 | 亚洲欧美一区二区三区在线 | caoporn国产 | 波多野结衣av中文字幕 | 国产欧美精品一区二区三区 | 日韩欧美大片 | 97精品国产97久久久久久免费 | 国产精品毛片一区二区在线看 | 久久久久九九九九 | 九九一级片 | 国产一区二区三区四区在线观看 | 久久一二 | 成人在线不卡 | 91麻豆精品国产91久久久久久 | 欧美性一区二区三区 | 三级在线观看 | 日韩av成人 | www.久久精品视频 | 日韩三区在线观看 | 久久久青草 | 久久精品亚洲国产奇米99 | 欧美激情 一区 | 亚洲国产免费 | 男女性毛片 | 日日操视频 | 台湾a级理论片在线观看 | 日韩精品在线视频免费观看 | 99pao成人国产永久免费视频 | 日韩第一区 | 91大神在线看 | 精品一区二区三区中文字幕 | 日本欧美国产在线 | 国产精品久久影院 | 久久久精彩视频 | a国产一区二区免费入口 | 国产成人91视频 | 国产我和子的乱视频网站 | av大全在线 | 亚洲网站在线观看 |