#include "reg51.h"
#include "INTRINS.H"
#include "LCD.h"
#define CLR_RI (RI=0)
#define CLR_TI (TI=0)
unsigned char code ID[2][8]={ 0x28,0x1D,0x25,0x1D,0x00,0x00,0x00,0x80,
0x28,0x0e,0x9e,0x1c,0x00,0x00,0x00,0x32};
unsigned char currSensorNo=0;
sbit TMDAT = P1^7;
sbit RUN_LED = P1^6;
/*------------------------------------------------
*
*------------------------------------------------*/
void serial_initial()
{
TMOD=0X20;
SCON=0X50;
PCON=0X00;
TL1=TH1=0XE8;
TR1=1;
}
/*------------------------------------------------
*
*------------------------------------------------*/
void send(unsigned char count,unsigned char SEND_Buf[])
{
unsigned char i;
for(i=0;i<125; for(i="0;" while(Nms--) i; unsigned Nms int Delay_ms ms CLR_TI; while(!TI); SBUF="SEND_Buf[i];">0) Count--;
}
/*----------------------------------------------------
* start Reset Pulse
----------------------------------------------------*/
void tmreset(void)
{
TMDAT=0;
Delay_Count(103);
TMDAT=1;
Delay_Count(4);
}
/*----------------------------------------------------
* ACK
*----------------------------------------------------*/
void tmpre(void)
{
while(TMDAT);
while(~TMDAT);
Delay_Count(4);
}
/*----------------------------------------------------
* Read a bit from 1820
*----------------------------------------------------*/
bit tmrbit(void)
{
int i=0;
bit dat;
TMDAT=0;i++;
TMDAT=1;i++;i++;
dat = TMDAT;
Delay_Count(8);
return dat;
}
/*----------------------------------------------------
* Read a byte from 1820
*----------------------------------------------------*/
unsigned char tmrbyte(void)
{
unsigned char i,j,dat=0;
for(i=1;i<=8;i++)
{
j=tmrbit();
dat=(j<<7)|(dat>>1);
}
return dat;
}
/*----------------------------------------------------
* Read a byte from 1820
*----------------------------------------------------*/
void tmwbyte(unsigned char dat)
{
signed char i=0;
unsigned char j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat & 0x01;
dat = dat>>1;
if(testb)
{
TMDAT=0;
i++;i++;
TMDAT=1;
ds18b20 c51源代码
最新评论共有 0 位网友发表了评论
查看所有评论
发表评论
热点关注
相关文章
外部连接
