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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3995|回復(fù): 1
收起左側(cè)

用單片機(jī)最小系統(tǒng)做18B20溫度測量試驗(yàn)

[復(fù)制鏈接]
ID:73477 發(fā)表于 2015-2-10 20:37 | 顯示全部樓層 |閱讀模式
       由電子樂屋介紹的用單片機(jī)最小系統(tǒng)做18B20溫度測量試驗(yàn)的這個(gè)單片機(jī)實(shí)驗(yàn)項(xiàng)目,所用到的試驗(yàn)器材,單片機(jī)最小系統(tǒng)系統(tǒng)板、發(fā)光二極管制作的四位7段數(shù)碼管,DS18B20溫度傳感器。試驗(yàn)過程及碰到的問題大家可一同進(jìn)行討論。試驗(yàn)前,將數(shù)碼管的A-H各段引線與單片機(jī)的P0.0-0.7口對應(yīng)用導(dǎo)線連接,將數(shù)碼管的位驅(qū)動(dòng)的℃位、小數(shù)位、個(gè)位十位與與單片機(jī)的P2.0、P2.1、P2.2、P2.3口連接。溫度傳感器DS18B20的1腳與GND連接、2腳與單片機(jī)的P1.0口連接、3腳與VCC連接。連接好的硬件下圖。將編譯好的HEX文件寫入單片機(jī)中,就可工作。單片機(jī)使用的是STC89C52RC單片機(jī),這種單片機(jī)可用板上的232口下載程序,只需要一條串口線,不需要額外的設(shè)備。源程序附后。這個(gè)程序測溫范圍為0-99.9℃。下面是試驗(yàn)板工作的照片。





        

用單片機(jī)最小系統(tǒng)做18B20溫度測量試驗(yàn)完整源程序

#include<reg52.h>

#include <intrins.h>
#define  uchar  unsigned  char
#define  uint   unsigned  int
sbit  DATA = P1^1; //DS18B20接入口
uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//共陽字型碼


int temp;  //溫度值
int ss;  //中間的一個(gè)變量
int j;
uchar data buf[4];//字型顯示中間變量


sbit  LED1=P2^3;
sbit  LED2=P2^2;
sbit  LED3=P2^1;
sbit  LED4=P2^0;


int n;


void delay(uint);
//函數(shù)的定義區(qū)
/*延時(shí)子函數(shù)*/
void delay(uint num)
{
while(num--) ;
}


//DS18b20溫度傳感器所需函數(shù),分為初始化,讀寫字節(jié),讀取溫度4個(gè)函數(shù)
Init_DS18B20(void)     //傳感器初始化
{
  uchar x=0;
  DATA = 1;    //DQ復(fù)位
  delay(10);  //稍做延時(shí)
  DATA = 0;    //單片機(jī)將DQ拉低
  delay(80); //精確延時(shí) 大于 480us    //450
  DATA = 1;    //拉高總線
  delay(20);
  x=DATA;      //稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗
  delay(30);
}
ReadOneChar(void)  //讀一個(gè)字節(jié)
{
uchar i=0;
uchar dat = 0;
for (i=8;i>0;i--)
  {
    DATA = 0; // 給脈沖信號
    dat>>=1;
    DATA = 1; // 給脈沖信號
    if(DATA)
     dat|=0x80;
    delay(8);
  }
  return(dat);
}
WriteOneChar(unsigned char dat) //寫一個(gè)字節(jié)
{
  uchar i=0;
  for (i=8; i>0; i--)
  {
    DATA = 0;
    DATA = dat&0x01;
   delay(10);
   DATA = 1;
   dat>>=1;
  }
delay(8);
}
int ReadTemperature(void) //讀取溫度
{
uchar a=0;
uchar b=0;
int t=0;
float tt=0;
Init_DS18B20();
WriteOneChar(0xCC); // 跳過讀序號列號的操作
WriteOneChar(0x44); // 啟動(dòng)溫度轉(zhuǎn)換
Init_DS18B20();
WriteOneChar(0xCC); //跳過讀序號列號的操作
WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)就是溫度
a=ReadOneChar();//低位
b=ReadOneChar();//高位
t=b;
t<<=8;
t=t|a;
tt=t*0.0625;
t= tt*10+0.5;
return(t);
}


//顯示正值子函數(shù)
void  display()
{  
buf[1]=temp/1000;//顯示百位
buf[2]=temp/100%10;//顯示十位
buf[3]=temp%100/10;//顯示個(gè)位
buf[0]=temp%10; //小數(shù)
for(j=0;j<3;j++)
{
     P0=table[buf[2]];
  LED1=0;
  delay(70);
  LED1=1;
  delay(20);
  P0=table[buf[3]];
  LED2=0;
  delay(70);
  LED2=1;
  delay(20);
  P0=0x7F;
  LED2=0;
  delay(70);
  LED2=1;
  delay(20);
     P0=table[buf[0]];
  LED3=0;
  delay(70);
  LED3=1;
  delay(20);
  P0=0xC6;
  LED4=0;
  delay(70);
  LED4=1;
  delay(20);
}
}




void  main()
{
    TCON=0x01;
    TMOD=0X01;
TH0=0XD8;
TL0=0XF0;
EA=1;
ET0=1;
TR0=1;
EX0=1;
while(1)
{
  ss=ReadTemperature();
  display();
}  
}
void time0(void) interrupt 1 using 1  //每隔10ms執(zhí)行一次此子程序
{
TH0=0X56;
TL0=0XDC;
temp=ss;
}      






回復(fù)

使用道具 舉報(bào)

ID:79034 發(fā)表于 2015-9-21 13:19 | 顯示全部樓層
頂一個(gè)。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩国产一区二区 | 日本不卡高字幕在线2019 | 欧美一级做性受免费大片免费 | 这里只有精品视频 | 精品黑人一区二区三区国语馆 | 免费视频国产 | 亚洲精品www久久久久久广东 | 欧美国产一区二区 | 中文字幕一区二区三区四区视频 | 亚洲午夜精品 | 日韩一级片视频 | 白白色免费视频 | 欧美成人精品欧美一级私黄 | 伊人国产精品 | 91视频精选| 麻豆一区二区三区 | 中文字幕在线观看第一页 | 国产精品一区二区三区不卡 | 亚洲成人精品 | 国产网站在线 | 亚洲一区二区av | 亚洲欧美精品在线 | 成人永久免费视频 | 欧美日韩国产在线 | www.天天操 | 青青草91 | 欧美日韩亚洲另类 | 日韩中文字幕在线 | 亚洲黄色精品 | 中文字幕一区二区在线播放 | 亚洲黄视频| 欧美综合在线视频 | 韩国三级中文字幕hd久久精品 | 性爱一级视频 | 国产精品视频久久 | 在线视频一区二区 | www.久久久 | 色综合天天综合网国产成人网 | 国产高清视频一区 | 黄色午夜 | 黄色免费av|