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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單片機驅動ds18b20用12864液晶顯示溫度程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年08月07日   【字體:

效果視頻

 

 

全部完整的源代碼下載:http://m.zg4o1577.cn/bbs/dpj-20391-1.html
下面是ds18b20.h文件:/*------------------------------------
名稱:ds18b20驅動及其顯示模塊
編寫:YuMin_Dong
時間:2013.01.21
------------------------------------*/

#ifndef _DS18B20_H_
#define _DS18B20_H_

/*------------------------------------
   位定義
------------------------------------*/
sbit DQ=P2^3;


UINT16 temperature;    //讀取溫度保存在此,用作暫存顯示時候分位顯示

/*------------------------------------
   初始化18B20
------------------------------------*/
bit DS18b20_Init()
{
bit ok;
DQ=1;
DelayUs2x(5);
DQ=0;
DelayUs2x(200);
DelayUs2x(200);
DQ=1;//釋放總線,準備接收器件回應
DelayUs2x(50);
ok=DQ;
DelayUs2x(25);
return ok;
}

/*------------------------------------
   向18b20寫數據
------------------------------------*/
void DS18b20_WriteByte(UINT8 byte)
{
UINT8 i;
 for(i=0;i<8;i++)
 {
 DQ=0;
 DelayUs2x(5);//區分讀寫,讓讀的時間過去。
 DQ=byte&0x01; 
 DelayUs2x(15);//讓有效數據穩定
 DQ=1;//電平穩定后,釋放總線
 DelayUs2x(5);
 byte>>=1;
 }
DelayUs2x(25);//給芯片時間存數據
}

/*------------------------------------
   從18b20讀數據
------------------------------------*/
UINT8 DS18b20_ReadByte()
{
UINT8 byte,i;
 for(i=0;i<8;i++)
 {
 DQ=0;
 byte>>=1;
 DQ=1;
  if(DQ)//執行到此處,前面的語句已經夠電平穩定了,不用另加延時
  byte|=0x80;
 DelayUs2x(20); 
 }
return byte;
}

/*------------------------------------
   讀溫度
------------------------------------*/
UINT16 DS18b20_ReadTemperature()
{
UINT16 b;
UINT8 a;
DS18b20_Init();
DS18b20_WriteByte(0xcc);//skip rom 跳過ROM序列號檢查
DS18b20_WriteByte(0x44);//convert temperature 轉換數字溫度
DelayMs(10);//給芯片時間采樣,轉換溫度的時間
DS18b20_Init();
DS18b20_WriteByte(0xcc);
DS18b20_WriteByte(0xbe);//讀取暫存器
a=DS18b20_ReadByte();//低八位
b=DS18b20_ReadByte();//高八位
b<<=8;
b=(b+a)*0.625;  //放大十倍放在b中
return b;
}

/*------------------------------------
   溫度顯示
------------------------------------*/
void Display_Temperature()
{
temperature=DS18b20_ReadTemperature(); //讀取溫度到轉換變量里
/*
LCD_SendImg16x16(0,3,User4_16x16,0); //顯示溫度圖標
LCD_SendImg16x16(3,3,User2_16x16,0);*/ //顯示℃
LCD_WriteCommand(0x30);
LCD_WriteCommand(0x98);
LCD_DisplayCGRAM(3);
LCD_WriteCommand(0x9B);
LCD_DisplayCGRAM(2);
LCD_WriteCommand(0x06);
LCD_WriteCommand(0x99);
LCD_WriteData(temperature%1000/100|0x30);
LCD_WriteData(temperature%100/10|0x30);
LCD_WriteData('.');
LCD_WriteData(temperature%10|0x30);
}

#endif

 

關閉窗口

相關文章

主站蜘蛛池模板: 国产精品久久久久久久毛片 | 久久精品亚洲 | 午夜久久av | 在线中文字幕亚洲 | 欧美一二区 | 日本网站在线看 | 成人永久免费视频 | 精品伦精品一区二区三区视频 | 98成人网 | 久久亚洲欧美日韩精品专区 | 亚洲成网 | 毛片免费视频 | 欧美日韩亚洲一区 | 欧美精品在线观看 | 久久久久久久久久久久一区二区 | 免费同性女女aaa免费网站 | 日韩精品免费视频 | 国产午夜精品久久久久免费视高清 | 午夜天堂精品久久久久 | 国产精品久久久久久久粉嫩 | 国产精品一区二区不卡 | 久久久久久久久久久一区二区 | 91香蕉视频在线观看 | 中文字幕精品视频在线观看 | 亚洲一区二区三区在线播放 | 亚洲高清在线 | 97久久精品 | 色中文在线 | 伊人久久在线 | av网站在线播放 | 在线观看电影av | 97高清国语自产拍 | 精品日本久久久久久久久久 | 成人三级视频 | 欧美8一10sex性hd | 亚洲视频一区二区三区 | 中文字幕在线视频观看 | 日本三级电影在线免费观看 | 国精日本亚洲欧州国产中文久久 | 亚洲精品在线免费 | 欧美视频在线播放 |