久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: DS18B20溫度傳感器的protues模擬 [打印本頁]

作者: yx58yx58    時間: 2017-4-15 20:00
標題: DS18B20溫度傳感器的protues模擬
DS18B20溫度傳感器的protues模擬




#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int

sbit wela = P2^0;
sbit dula = P2^1;
sbit IO_18B20 = P2^2;  //DS18B20通信引腳

uint temp;

uchar code table[]={0x3f,0x06,0x05b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

void delay(uint ms) // ms延時函數 (AT89C51 @ 11.0592MHz)
{  
        unsigned int i;
        unsigned char j;
        for(i=0;i<ms;i++)
        {  
                for(j=0;j<200;j++);
                for(j=0;j<102;j++);
        }
}

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

        EA = 0;
        IO_18B20 = 0;
        DelayX10us(50);
        IO_18B20 = 1;
        DelayX10us(6);
        ack = IO_18B20;
        while(!IO_18B20);
        DelayX10us(6);
        EA = 1;

        return ack;
}

void  Write18B20(unsigned char dat)
{
        unsigned char mask;
        EA = 0;
        for(mask=0x01; mask!= 0; mask<<=1)
        {
                IO_18B20 = 0;
                _nop_();
                _nop_();
                //_nop_();
                if((mask&dat) == 0)
                        IO_18B20 = 0;
                else
                        IO_18B20 = 1;
                DelayX10us(6);
                IO_18B20 = 1;
                _nop_();
                _nop_();
                _nop_();
        }
        EA = 1;
}

unsigned char Read18B20()
{
        unsigned char dat;
        unsigned char mask;

        EA = 0;
        for(mask=0x01; mask!=0; mask<<=1)
        {
                IO_18B20 = 0;
                _nop_();
                _nop_();
                //_nop_();
                IO_18B20 = 1;
                _nop_();
                _nop_();
                _nop_();
                if(!IO_18B20)
                        dat &= ~mask;
                else
                        dat |= mask;
                DelayX10us(6);
        }
        EA = 1;

        return dat;
}

bit Start18B20()
{
        bit ack;

        ack = Get18B20Ack();
        if(ack == 0)
        {
                Write18B20(0xCC);
                Write18B20(0x44);
        }
        return ~ack;
}

bit Get18B20Temp(uint *temp)
{
        bit ack;
        unsigned char LSB, MSB;

        ack = Get18B20Ack();
        if(ack == 0)
        {
                Write18B20(0xCC);
                Write18B20(0xBE);
                LSB = Read18B20();
                MSB = Read18B20();
                *temp = ((int)MSB<<8) + LSB;
        }
        return ~ack;
}

void display(uint num)
{
        uchar i;
        for(i=0;i<6;i++)
        {
                //位選
                P0 = ~(0x1<<i);
                wela = 1;
                wela = 0;
                //段選
                P0 = table[num%10];
                dula = 1;
        dula = 0;
                num=num/10;
                //去除前面為0的位
                if(num==0)
                {
                        i=6;
                }  
                delay(3);        
        }
}

void main()
{        
        uint tmp;

        while(1)
        {
                  if(Start18B20())
                {
                        if(Get18B20Temp(&temp))
                        {
                                tmp=temp;
                                tmp=tmp>>4;
                                tmp=tmp&0xFF;
                                display(tmp);
                        }
                }
        }
}






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 91aiai| 成人国产在线视频 | 亚洲精品乱码久久久久久黑人 | 亚洲精品电影网在线观看 | 久草在线在线精品观看 | 亚洲网站观看 | 在线观看国产视频 | 成人日韩av | 午夜小视频在线播放 | 日本天堂视频 | 亚洲一区免费 | 欧美精品久久久 | 伊人狼人影院 | 国产精品综合色区在线观看 | 亚洲一区二区三区四区五区午夜 | 国产99视频精品免费视频7 | 日韩在线看片 | 日韩区 | 嫩呦国产一区二区三区av | 亚洲一区二区中文字幕 | 亚洲97| 亚洲草草视频 | 九九热在线视频免费观看 | xx视频在线观看 | 久久久看| 国产视频黄色 | 成人不卡一区二区 | 国产视频在线观看一区二区三区 | 欧美黄色绿像 | 久久精品中文字幕 | 久久av一区二区三区 | 久热久热 | 精品真实国产乱文在线 | 日韩欧美国产精品一区 | 欧洲一区二区视频 | 欧美free性| 国产精品久久久久久久久久免费看 | 日韩成人 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 福利视频日韩 | 亚洲国产成人久久久 |