找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2216|回復: 0
打印 上一主題 下一主題
收起左側(cè)

基于stm32單片機Proteus仿真溫度采集DS18B20實驗

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1039379 發(fā)表于 2022-7-14 10:13 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


這里展示主函數(shù)

#include "system.h"
#include "led.h"
#include "ds18b20.h"


//打印浮點型數(shù)據(jù),proteus不能有效打印浮點型數(shù)據(jù)
void PrintfFloat(float value)
{
                int tmp,tmp1,tmp2,tmp3,tmp4,tmp5,tmp6;
        tmp=(int)value;
        tmp1=(int)((value-tmp)*10)%10;
        tmp2=(int)((value-tmp)*100)%10;
        tmp3=(int)((value-tmp)*1000)%10;
        tmp4=(int)((value-tmp)*10000)%10;
        tmp5=(int)((value-tmp)*100000)%10;
        tmp6=(int)((value-tmp)*1000000)%10;
        
        printf("%d.%d%d%d%d",tmp,tmp1,tmp2,tmp3,tmp4);
}


int main()
{
        u8 i=0;
        u16 temper;
        float value;
        
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //中斷優(yōu)先級分組 分2組
        LED_Init();
        USART1_Init(115200);
        while(DS18B20_Init())
        {
                printf("DS18B20檢測失敗,請插好!\r\n");
                delay_ms(500);
        }
        printf("DS18B20檢測成功!\r\n");
        
        while(1)
        {
                i++;
                if(i%20==0)
                {
                        LED1=!LED1;
                }
               
                if(i%50==0)
                {
                        temper=DS18B20_Get_Temp();

                        if((temper&0xf800)==0xf800)
                        {
                                temper=(~temper)+1;
                                
                        printf("檢測的溫度為:- ");
                                
                        }
                        else
                        {
                        printf("檢測的溫度為: ");
                        }

                 value=(float)temper*0.0625;
                        PrintfFloat(value);
                        printf("\r\n");
                        
                }
                delay_ms(10);
        }
}

Keil代碼下載: Keil工程.7z (313.62 KB, 下載次數(shù): 114)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

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