欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機代碼完成的保溫箱代碼 精度0.05 帶報警顯示功能 按鍵控制

[復制鏈接]
跳轉到指定樓層
樓主
ID:316070 發表于 2018-4-25 15:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Ex6.c
#include<reg52.h>        // 包括單片機寄存器定義的頭文件
#include<intrins.h>
#define uchar unsigned char
#define uint  unsigned int
sbit BEEP=P3^7;
sbit DQ=P3^6;
sbit point=P0^7;
sbit motor=P1^1;
sbit lamp=P1^0;
uchar disbuf[3];
uchar code LEDData[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
                                         //延時子函數//
void delay(uint num)
{
        while(num--);
}
//*************初始化*************//
void Init_DS18B20(void)
{
        unsigned char x=0;
        DQ=1;                                         //DQ先置高電平
        delay(8);                                 //稍延時
        DQ=0;                                         //·發送復位脈沖
        delay(80);                                 //延時(¨>480us)
        DQ=1;                                         //拉高數據線
        delay(5);                                 //等待(15~60us)
        x=DQ;                                         //x的值來判斷初始化有沒有成功,18B20存在的話x=0,否則x=1
        delay(20);
}
//************讀一個字節*************//
ReadOneChar(void)                         
// 主機數據線先從高拉至低電平1us以上再使數據升為高電平,產生信號//
{
        unsigned char i=0;                
//每個讀周期最短的持續時間為60us,各個讀周期之間必須有10us以上的高電平恢復期
        unsigned char dat=0;
        for (i=8;i>0;i--)                 //一個字節有八位  
        {
                DQ=1;
                delay(1);
                DQ=0;
                dat>>=1;
                DQ=1;
                if(DQ)
                dat|=0x80;
                delay(4);
        }
            return(dat);
}
//****************寫一個字節****************//
void WriteOneChar(unsigned char dat)
{
        unsigned char i=0;                
//數據線從高電平拉至低電平,產生起始信號,15us之內將所需寫的位送到數據線上//
        for(i=8;i>0;i--)                
//15-60us之間對數據進行采樣,如果是高電平就寫1,否則寫0//
        {
                DQ=0;                                 //在另一個寫周期前必須有1us以上的高電平恢復期
                DQ=dat&0x01;
                delay(5);
                DQ=1;
                dat>>=1;
        }
        delay(4);
}
//*****************讀取溫度******************//
uchar ReadTemperature(void)
{
        uchar fg=0;
        uchar tempL=0;
        uchar tempH=0;
        uint sdate;
        uchar pointnum;
        Init_DS18B20();
        WriteOneChar(0xcc);
    WriteOneChar(0x44);
        delay(125);
    Init_DS18B20();
    WriteOneChar(0xcc);
    WriteOneChar(0xbe);
        tempL=ReadOneChar();
        tempH=ReadOneChar();
        if(tempH>0x7f)
        {
                tempL=~tempL;
                tempH=~tempH+1;
                fg=1;
        }
        sdate=tempL/16+tempH*16;
        pointnum=(tempL&0x0f)*10/16;
        if(fg==1)
        {
                sdate-=15;
                pointnum=0;

build.rar

31.07 KB, 下載次數: 6, 下載積分: 黑幣 -5

代碼

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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