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

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實(shí)例 >> 瀏覽文章

DS18B20溫度測試程序(51單片機(jī)數(shù)碼管顯示)+電路圖

作者:huqin   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時間:2014年10月24日   【字體:
  • 下面是電路圖 采用4位數(shù)碼管顯示 程序一共有2個文件 :


 
/***********************************************************************************************************************

ds18b20.h 頭文件
***********************************************************************************************************************/
#ifndef _DS18B20_H_
#define _DS18B20_H_
#include <reg51.h>
#define led P1
#define ledw P2 
extern unsigned char f;
extern void ds18b20_reset();
extern void dela(unsigned char i);
extern void ds18b20_write(unsigned char dat);
extern unsigned char ds18b20_read();
extern unsigned char ds18b20_temp();
extern unsigned char ledtab[];
#endif
 


/********************************************************************************************************************
 ds18b20.c 文件
********************************************************************************************************************/
#include"ds18b20.h"
#define uchar unsigned char
#define uint unsigned int
#define led P1
#define ledw P2 
uchar ledtab[]={0xc0,0xf9,0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbit dq=P3^7 ;
uchar delay,f;
//uchar f;            
void dela(uchar i)   //5us   t=5+i*2
{
 while(--i);
}
void ds18b20_reset()
{
 while(1)
 {
 dq=1;
 dq=0;
 delay=250;    //540us延時,當(dāng)delay=1時延時為2us ,T=2*x
 while(--delay);
 dq=1;
 delay=25;
 while(--delay);
 while(dq==0)
 {
  delay=220;
  while(--delay);
  if(dq==1)
  break;  
 }
 delay=150;
 while(--delay);
 break; 
   }
}
void ds18b20_write(uchar dat)
{
 uchar i=0;
 for(i=0;i<8;i++)
 {
  dq=1;
  dq=0;
  delay=3;
  while(--delay);
  dq=dat&0x01;
  delay=35;
  while(--delay);
  dq=1;
  dat=dat>>1;
 }
}
uchar ds18b20_read()
{
 uchar i=0,m=0;
 for(i=0;i<8;i++)
   {
    //m>>=1
    dq=1;
  dq=0;
  delay=4;
  while(--delay);
  dq=1;
  delay=4;
  while(--delay);
  if(dq==1)
  m|=0x01<<i;
  //m=m|0x80;
   delay=25;
   while(--delay);
   dq=1;
   delay=1;
   while(--delay);  
   } 
   return m;
}
         
uchar ds18b20_temp()
{
 uchar temp=0,temph=0,templ=0,k=0;
 ds18b20_reset();
 ds18b20_write(0xcc);
 ds18b20_write(0x44);
 ds18b20_reset();
 ds18b20_write(0xcc);
 ds18b20_write(0xbe);
 templ=ds18b20_read();
 temph=ds18b20_read();
 if((temph&0xf80)!=0)
 {
  f=1;
  templ=~templ;
  temph=~temph;
  k=templ+1;
  templ=k;
  if(templ>0xff)
  {
  temph++;
  }
 }
 else
 f=0;
 templ=templ>>4;
 temph=temph<<4;
 temp=templ|temph;
 return temp;
}
 


/******************************************************************************************************************
main.c 主文件
*******************************************************************************************************************/
#include<reg51.h>
#include"ds18b20.h"
#define uchar unsigned char
void main()
{
 uchar a=0,b=0,c=0,temp=0;
 while(1)
 {  
 temp=ds18b20_temp();
 a=temp/100;
 b=temp0/10;
 c=temp;
 
 if(f==1)
 {
  led=0xbf;
  ledw=1;
  dela(5000);
  ledw=0;
  dela(600);
 }
 led=ledtab[c];
 ledw=8;
 dela(5000);
 ledw=0;
 dela(600) ;
  
  led=ledtab[b];
  ledw=4;
    dela(5000);
  ledw=0;
  dela(600) ;
 
 
  led=ledtab[a];
  ledw=2;
  dela(5000);
  ledw=0;
  dela(600) ;
  }
}
 

 

 

關(guān)閉窗口
主站蜘蛛池模板: 51ⅴ精品国产91久久久久久 | 免费的日批视频 | 91视频国产区 | 国产精品久久久久久久岛一牛影视 | 午夜一区二区三区在线观看 | 久久精品久久精品 | 欧美精品一二三区 | 欧美一区二区大片 | 视频1区| 国产精品欧美一区二区 | 久草青青| 久久人人网 | 又黑又粗又长的欧美一区 | 成人亚洲 | 亚洲 欧美 日韩在线 | 亚洲网址| 另类视频在线 | 黄色大片免费网站 | 日韩av免费在线观看 | 久久国产区 | 色视频在线播放 | 久久久精品亚洲 | 七七婷婷婷婷精品国产 | 久在线视频播放免费视频 | 成人精品福利 | 超碰av人人| 国产蜜臀97一区二区三区 | 在线看无码的免费网站 | 国产一级电影在线 | www.久| 欧美一级大片免费看 | 在线视频91 | 成人av网站在线观看 | xx性欧美肥妇精品久久久久久 | 亚洲中午字幕 | 三级黄视频在线观看 | 男女网站视频 | 日本aa毛片a级毛片免费观看 | 国产精品久久久久久久久久三级 | 日本粉嫩一区二区三区视频 | 中文字幕国产一区 |