机电专业技术网 我要投稿 |  资讯 |  机械 |  电气 |  软件 | 
机电专业技术网>电子电气>单片机>
赞助商连接
最新文档列表
热门文档列表

ds18b20 c51源代码

#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;

上一页12 3 下一页

上一篇:什么是插补   下一篇:自制简易编程卡

源代码       unsigned   void   char   TMDAT   for   tmwbyte   源代码       unsigned   void   char   TMDAT   for   tmwbyte  

相关文档列表
推荐文档列表
精彩推荐

机械、电气、软件综合技术网,以广大机械,电气,设计行业从业者为目标全体,提供最新的技术文章与行业资讯.