<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 12864液晶電子時(shí)鐘+溫度顯示

12864液晶電子時(shí)鐘+溫度顯示

作者: 時(shí)間:2012-08-06 來(lái)源:網(wǎng)絡(luò ) 收藏

18B20溫度傳感器控制函數:

#includereg52.h>
#includeintrins.h>
#include "lcd.h"
#define uchar unsigned char
#define uint unsigned int
uchar temp=80,temp_L,temp_H;
sbit DQ=P2^3;

void delay_us(uchar i) //延時(shí)函數,計算公式:延時(shí)時(shí)間T=5+2*i;
{
while(--i);
}


bit Reset_DS18B20(void) //DS18B20復位函數
{
bit DS18B20_exist;
DQ=1;
DQ=0;
delay_us(250); //將DQ拉低480 ~ 960us,產(chǎn)生復位信號
DQ=1; //將總線(xiàn)釋放,進(jìn)入接收狀態(tài)
delay_us(30); //等待15-60us,DS18b20發(fā)出存在信號,將總線(xiàn)拉低60-240us
DS18B20_exist=DQ;
delay_us(200); //存在信號持續60 ~ 240us
if(DS18B20_exist)
return 1; //返回1,DS18B20復位失敗,總線(xiàn)上無(wú)DS18B20
else
return 0; //返回0,DS18B20復位成功,總線(xiàn)上存在DS18b20
}

//寫(xiě)數據--線(xiàn)低后高
void write_DS18B20(unsigned char value)
{
unsigned char i;
for(i=0;i8;i++)
{
DQ=1;
DQ=0; //將總線(xiàn)拉低,數據送入總線(xiàn)
_nop_();
DQ=value0x01;
delay_us(20); //DS18b20在之后的15-60us的時(shí)間對總線(xiàn)數據采樣
DQ=1; //連續寫(xiě)入將須將總線(xiàn)釋放至少1us
value=value>>1;
}
}
//讀數據--先低后高
unsigned char Read_DS18B20(void)
{
unsigned char value,i;
for(i=0;i8;i++)
{
DQ=1;
DQ=0;
delay_us(1); //主機將總線(xiàn)拉低7us,!!!!時(shí)間不能過(guò)長(cháng)
DQ=1; //之后釋放總線(xiàn),告訴DS18B20“讀”數據
_nop_();
_nop_();
value=value>>1;
if(DQ)
value|=0x80; //數據讀取
delay_us(20);

}
return value;
}
void Read_temp()
{
Reset_DS18B20();
write_DS18B20(0xCC);
write_DS18B20(0x44);
Reset_DS18B20();
write_DS18B20(0xcc);
write_DS18B20(0xBE);
temp_L=Read_DS18B20();
temp_H=Read_DS18B20();
temp=(temp_H*256+temp_L)/16;

}
-------------------------------------

#include "lcd.h"
#include reg52.h>
sbit RS=P2^5; //控制端口位定義
sbit RW=P2^6;
sbit EN=P2^7;
void init_()
{
delay(40);
write_com(0x30);//8位數據格式,基本指令顯示
delay(10); //延時(shí)時(shí)間
write_com(0x30);//8位數據格式,基本指令顯示
delay(37);
write_com(0x0C);//開(kāi)顯示、關(guān)閉光標
delay(10);
write_com(0x01);//清屏指令
delay(10); //延時(shí)
write_com(0x06);//設置顯示點(diǎn):指針自加1
}
void delay(uint t)
{
uint i,j;
for(i=120;i>0;i--);
for(j=t;j>0;j--);
}
/**********************************************************
void delay_us(uchar t) //延時(shí)計算公式:5+2*t
{
while(--t);
}
***********************************************************/
void read_busy()
{
EN=0;
RW=1;
RS=0;
EN=1;
while(P00x80);
EN=0;
}
void write_com(uchar com) //寫(xiě)命令
{
read_busy();
EN=1;
RS=0;
RW=0;
P0=com;
delay(1);
EN=0;

}
void write_dat(uchar dat) //寫(xiě)數據
{
read_busy();
EN=1;
RS=1;
RW=0;
P0=dat;
delay(1);
EN=0;
}


上一頁(yè) 1 2 3 4 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>