亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3311|回復: 4
打印 上一主題 下一主題
收起左側

單片機高效率代碼讀取18B20 顯示在LCD1602上

[復制鏈接]
跳轉到指定樓層
樓主
#include <STC89C5xRC.H>
#include <intrins.h>

sbit DATA_IO = P3^2;


/* 軟件延時函數,延時時間(t*10)us */
void DelayX10us(unsigned char t)
{
    do {
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
    } while (--t);
}

bit GetACK()
{
        bit ack;
        EA = 0;
        DATA_IO = 0;
        DelayX10us(60);
        DATA_IO = 1;
        DelayX10us(6);
        ack = DATA_IO;
        while(!DATA_IO);
        EA = 1;
        return ack;
}

void DS18B20_Write(unsigned char dat)
{
        unsigned char mask;
        EA = 0;
        for(mask=0x01;mask!=0;mask<<=1)
        {
                DATA_IO = 0;
                _nop_();
                _nop_();
                if((dat&mask)!= 0)
                        DATA_IO = 1;
                else
                        DATA_IO = 0;
                DelayX10us(6);
                DATA_IO = 1;
        }
        EA = 1;
}
unsigned char DS18B20_Read()
{
        unsigned char dat;
        unsigned char mask;
        EA = 0;
        for(mask=0x01;mask!=0;mask<<=1)
        {
                DATA_IO = 0;
                _nop_();
                _nop_();
                DATA_IO = 1;
                _nop_();
                _nop_();
                if(!DATA_IO)
                        dat &= ~(mask);
                else
                        dat |= mask;
                DelayX10us(6);
        }
        EA = 1;
        return dat;
}

bit DS18B20_Start()
{
        bit ack;
        ack = GetACK();
        if(ack == 0)
        {
                DS18B20_Write(0xCC);
                DS18B20_Write(0x44);
        }
        return ~ack;
}

bit GetTemp(int *temp)
{
        bit ack;
        unsigned char LSB,MSB;
        ack = GetACK();
        if(ack==0)
        {
                DS18B20_Write(0xCC);
                DS18B20_Write(0xBE);
                LSB = DS18B20_Read();
                MSB = DS18B20_Read();
        }
        *temp = ((int)MSB<<8) + LSB;
        return ~ack;
}

IMG_3558.JPG (2.46 MB, 下載次數: 44)

IMG_3558.JPG

18B20.zip

60.46 KB, 下載次數: 21, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:810174 發表于 2020-8-11 23:02 來自觸屏版 | 只看該作者
沒有注釋的程序,無論程序寫得怎么樣,都不能稱為合格的程序
回復

使用道具 舉報

板凳
ID:468878 發表于 2020-8-13 14:53 | 只看該作者
19011250 發表于 2020-8-11 23:02
沒有注釋的程序,無論程序寫得怎么樣,都不能稱為合格的程序

哈哈,我剛還看了好一會,你這么一說,我才發現這個問題。算了,不看了。
回復

使用道具 舉報

地板
ID:981034 發表于 2021-11-17 15:21 | 只看該作者
是,有些不明白
回復

使用道具 舉報

5#
ID:906597 發表于 2021-11-19 15:19 | 只看該作者
19011250 發表于 2020-8-11 23:02
沒有注釋的程序,無論程序寫得怎么樣,都不能稱為合格的程序

哈哈有道理
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表