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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

帶詳細注釋的單片機ds18b20溫度計程序設計

[復制鏈接]
跳轉到指定樓層
樓主
ID:454098 發表于 2018-12-25 09:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg51.h>
#include "intrins.h"
#define uint unsigned int
#define uchar unsigned char
        
int num;
sbit shi = P2^0;//-----------------------------------------數碼管十位數
sbit ge = P2^1;//------------------------------------------數碼管個位數
sbit DS = P2^2;//-------------------------------------------單總線

uchar code table[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,};//數字0~9

/*進11.95us,一次6.5us*/
void delay_us(unsigned char us)//-----------------------延時
{
        while(us --);
}

void display(unsigned int num)//-------------------------數碼管顯示
{
        shi = 1;//-------------------------------------------打開十位數碼管
        P0 = ~table[num / 10];//----------------------------顯示溫度十位
        delay_us(1000);//-------------------------------------延時1ms
        shi = 0;//------------------------------------------關閉十位數碼管
        ge = 1;//-------------------------------------------打開個位數碼管
        P0 = ~table[num % 10];//----------------------------顯示溫度個位
        delay_us(1000);//-----------------------------------延時1ms
        ge = 0;//-------------------------------------------關閉個位數碼管
}

bit ds_init()
{
        bit i;
        DS = 1;
        _nop_();
        DS = 0;
        delay_us(75);//499.45us
        DS = 1;
        delay_us(4);//37.95us
        i = DS;
        delay_us(20);//141.95us
        DS = 1;
        _nop_();
        return(i);
}
/*寫一字節*/
void write_byte(uchar dat)//------------------------傳輸一個命令
{
        uchar i;
        for(i = 0; i < 8; i ++)//-------------------------for中傳輸 8 個信號
        {
                DS = 0;
                _nop_();//-------------------------------------產生寫時序
                DS = dat & 0x01;
                delay_us(10);//76.95us
                DS = 1;
                _nop_();
                dat >>= 1;
        }
}
/*讀一字節*/
uchar read_byte()//----------------------------------讀一個命令        
{
        uchar i,j,dat;
        for(i = 0; i < 8; i ++)//-------------------------for中接收 8 個信號
        {
                DS = 0;
                _nop_();//-------------------------------------產生讀時序
                DS = 1;
                _nop_();
                j = DS;
                delay_us(10);//76.95us
                DS = 1;
                _nop_();
                dat = (j<<=7) | (dat>>1);
        }
        return(dat);//----------------------------------將 dat 值返給主函數        
}

void main()//---------------------------------------主函數
{        
        uint i;
        uchar L,M;
        while(1)//----------------------------------死循環
        {
                ds_init();
                write_byte(0xcc);//--------------------調整ds18b20工作模式 忽略rom指令
                write_byte(0x44);//--------------------調整ds18b20工作模式 溫度轉換指令
                ds_init();
                write_byte(0xcc);//--------------------調整ds18b20工作模式 忽略rom指令
                write_byte(0xbe);//--------------------調整ds18b20工作模式 讀暫存器指令
                L = read_byte();//----------------------將讀出來的值賦給 L
                M = read_byte();//---------------------將讀出來的值賦給 M
                i = M;
                i <<= 8;
                i |= L;
                i = (i * 0.0625 + 0.5);//--------------數據轉換為數字
                display(i);
        }
}

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 综合色播 | 午夜在线免费观看视频 | 欧美国产日韩一区二区三区 | 国产精品久久亚洲 | 亚洲欧美日韩精品久久亚洲区 | 欧美一级欧美三级在线观看 | 久久av.com | 中文字幕一区二区三区在线观看 | 久久国产精品精品国产色婷婷 | 久久久久久电影 | 久久国产精品视频 | 亚洲91视频 | 一级片视频免费观看 | 亚洲美女一区 | 国产精品毛片久久久久久久 | 福利片在线观看 | 美女中文字幕视频 | 色在线免费视频 | 韩国主播午夜大尺度福利 | 日本一二区视频 | 一区二区三区电影网 | 免费看a| 欧美日韩亚洲一区 | 视频1区2区 | 亚洲一区在线日韩在线深爱 | 中文天堂在线观看 | 亚洲一区二区三区观看 | 亚洲中午字幕 | 久草视频观看 | 国产无套一区二区三区久久 | 亚洲天堂一区 | 成人在线亚洲 | 国产亚洲精品综合一区 | 成人免费一区二区三区视频网站 | 午夜精品久久久久久不卡欧美一级 | 久久国产精品一区二区三区 | 亚洲成人一级片 | 国产传媒在线播放 | 国产精品伦一区二区三级视频 | 国产亚洲欧美另类一区二区三区 | 91成人免费看 |