找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 24881|回復(fù): 45
打印 上一主題 下一主題
收起左側(cè)

Proteus仿真STM32實(shí)現(xiàn)--DS18B20和LCD1602顯示

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
proteus仿真stm32103r6,實(shí)現(xiàn)18B20溫度值在1602上顯示,可測(cè)量正負(fù)溫度。程序及仿真工程已上傳附件,利用proteus仿真18b20溫度為0和-0.1時(shí)返回值均為零,新手上路,請(qǐng)多指教。使用proteus8.8版本進(jìn)行仿真。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)



單片機(jī)部分程序如下:
#include "stm32f10x.h"
#include "bsp-lcd1602.h"
#include "delay.h"
#include "sys.h"

#include "ds18b20.h"
#include <stdio.h>
#include "math.h"


short tem,tem1;
u8 a,b,c,t;
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif


void Delay_DS18B20(int num)
{
        while(num--) ;
}


int main(void)
        
{

        SystemCoreClockUpdate ();
         LCD1602_Init();
        LCD1602_ShowStr(2,0,"tempe=000.0C",13);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
        GPIO_InitTypeDef g;
        g.GPIO_Mode = GPIO_Mode_Out_PP;
        g.GPIO_Speed = GPIO_Speed_10MHz;
        g.GPIO_Pin = GPIO_Pin_8  ;
        GPIO_Init(GPIOB,&g);
         GPIO_SetBits(GPIOB,GPIO_Pin_8);    //輸出1

   t=DS18B20_DQ_IN;
while(t){
                DS18B20_IO_OUT();         //SET PG11 OUTPUT

    DS18B20_DQ_OUT=0;         //拉低DQ
          Delay_DS18B20(750);             //拉低750us
    DS18B20_DQ_OUT=1;         //DQ=1
          Delay_DS18B20(15);             //15US
                DS18B20_IO_IN();        //SET PG11 INPUT         
    Delay_DS18B20(100);
                t=DS18B20_DQ_IN;
//                 LCD_ShowNum(13,0,t);
}
tem=DS18B20_Get_Temp();
                Delay_DS18B20(1000000);

while(1)
        {        
    tem=DS18B20_Get_Temp();
                if(        tem>0)
                {        a=tem/100;
                b=tem%100/10;
                c=tem%10;
                LCD_ShowChar(8,0,'+');
        LCD_ShowNum(9,0,a);        
        LCD_ShowNum(10,0,b);
        LCD_ShowNum(12,0,c);
                          
                }
        else
        {        
//                tem1=(int)tem;
//                tem1=abs(tem1);
                tem1=-(tem);
                tem1=tem1+1;
                a=tem1/100;
                b=tem1%100/10;
                c=tem1%10;
        LCD_ShowChar(8,0,'-');
        LCD_ShowNum(9,0,a);        
        LCD_ShowNum(10,0,b);
        LCD_ShowNum(12,0,c);
               
        }
        Delay_DS18B20(100000);
  }

全部資料51hei下載地址:
STM32+1602+18B20.7z (327.43 KB, 下載次數(shù): 1805)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:496408 發(fā)表于 2019-6-9 00:12 | 只看該作者
下載了這個(gè)工程,是可以像截圖一樣運(yùn)行,但是我尋思著沒(méi)有接熱源,這溫度傳感器是測(cè)誰(shuí)的溫度呢?應(yīng)該少了一部分東西吧,心疼我僅有的黑幣
回復(fù)

使用道具 舉報(bào)

板凳
ID:438506 發(fā)表于 2019-6-12 08:39 | 只看該作者
justablackcat 發(fā)表于 2019-6-9 00:12
下載了這個(gè)工程,是可以像截圖一樣運(yùn)行,但是我尋思著沒(méi)有接熱源,這溫度傳感器是測(cè)誰(shuí)的溫度呢?應(yīng)該少了一 ...

沒(méi)用過(guò)protues? 可以設(shè)置啊
回復(fù)

使用道具 舉報(bào)

地板
ID:484657 發(fā)表于 2019-6-18 20:45 | 只看該作者
justablackcat 發(fā)表于 2019-6-9 00:12
下載了這個(gè)工程,是可以像截圖一樣運(yùn)行,但是我尋思著沒(méi)有接熱源,這溫度傳感器是測(cè)誰(shuí)的溫度呢?應(yīng)該少了一 ...

雙擊18B20就可以 設(shè)置大當(dāng)前溫度計(jì)調(diào)整溫度
回復(fù)

使用道具 舉報(bào)

5#
ID:484657 發(fā)表于 2019-6-18 20:46 | 只看該作者
justablackcat 發(fā)表于 2019-6-9 00:12
下載了這個(gè)工程,是可以像截圖一樣運(yùn)行,但是我尋思著沒(méi)有接熱源,這溫度傳感器是測(cè)誰(shuí)的溫度呢?應(yīng)該少了一 ...

雙擊18B20就可以
設(shè)置當(dāng)前溫度計(jì)調(diào)整溫度
回復(fù)

使用道具 舉報(bào)

6#
ID:603234 發(fā)表于 2019-8-25 15:41 | 只看該作者
點(diǎn)18B20溫度傳感器的加或減號(hào) 就可以實(shí)時(shí)顯示設(shè)定值
回復(fù)

使用道具 舉報(bào)

7#
ID:603234 發(fā)表于 2019-8-25 15:48 | 只看該作者
很好的仿真運(yùn)行資料 謝謝分享
回復(fù)

使用道具 舉報(bào)

8#
ID:248705 發(fā)表于 2019-9-27 20:37 | 只看該作者
樓主,有沒(méi)有遇到32仿真速度慢的情況,甚至不如51快,同8.8
回復(fù)

使用道具 舉報(bào)

9#
ID:617305 發(fā)表于 2019-9-28 14:02 | 只看該作者
這個(gè)真心不錯(cuò),要支持下
回復(fù)

使用道具 舉報(bào)

10#
ID:617594 發(fā)表于 2019-9-28 15:07 | 只看該作者
沒(méi)有黑幣來(lái)學(xué)習(xí)一下,感謝分享!
回復(fù)

使用道具 舉報(bào)

11#
ID:140706 發(fā)表于 2019-10-15 17:31 | 只看該作者
有了porteus學(xué)stm32更方便了
回復(fù)

使用道具 舉報(bào)

12#
ID:671136 發(fā)表于 2019-12-30 11:41 | 只看該作者
是什么通信啊,植入系統(tǒng)了么
回復(fù)

使用道具 舉報(bào)

13#
ID:689546 發(fā)表于 2020-2-13 16:04 | 只看該作者
我學(xué)的不知道為啥沒(méi)顯示
回復(fù)

使用道具 舉報(bào)

14#
ID:689546 發(fā)表于 2020-2-14 15:48 | 只看該作者
為啥我仿真沒(méi)顯示出東西
回復(fù)

使用道具 舉報(bào)

15#
ID:16031 發(fā)表于 2020-2-14 18:10 | 只看該作者
下載這個(gè)工程,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

16#
ID:16031 發(fā)表于 2020-2-14 18:12 | 只看該作者
沒(méi)有黑幣了
回復(fù)

使用道具 舉報(bào)

17#
ID:693219 發(fā)表于 2020-3-10 12:36 | 只看該作者
想請(qǐng)問(wèn)%這個(gè)符號(hào)報(bào)錯(cuò)是什么原因呢 要添加什么文件嗎
回復(fù)

使用道具 舉報(bào)

18#
ID:650508 發(fā)表于 2020-3-17 12:34 | 只看該作者
下載這個(gè)工程,學(xué)習(xí)學(xué)習(xí),軟件自帶的仿真工程不方便
回復(fù)

使用道具 舉報(bào)

19#
ID:249826 發(fā)表于 2020-3-24 16:05 | 只看該作者
運(yùn)行起來(lái)為什么調(diào)整溫度比較快時(shí)就會(huì)卡死
回復(fù)

使用道具 舉報(bào)

20#
ID:130743 發(fā)表于 2020-5-1 15:26 | 只看該作者
為什么我一調(diào)節(jié)溫度就會(huì)卡死,然后軟件閃退
回復(fù)

使用道具 舉報(bào)

21#
ID:742667 發(fā)表于 2020-5-2 15:52 | 只看該作者
//輸出1   像這種//后面有漢字的是解說(shuō)嗎?還是也是程序的一部分的?
回復(fù)

使用道具 舉報(bào)

22#
ID:497375 發(fā)表于 2020-5-3 22:03 | 只看該作者
8.6版本同樣的圖無(wú)法仿真?
回復(fù)

使用道具 舉報(bào)

23#
ID:547542 發(fā)表于 2020-5-10 09:48 | 只看該作者
感謝
回復(fù)

使用道具 舉報(bào)

24#
ID:646541 發(fā)表于 2020-5-14 10:27 | 只看該作者
白七 發(fā)表于 2020-2-14 15:48
為啥我仿真沒(méi)顯示出東西

不能用嗎?
回復(fù)

使用道具 舉報(bào)

25#
ID:647558 發(fā)表于 2020-5-25 22:53 | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報(bào)

26#
ID:773622 發(fā)表于 2020-6-11 08:45 | 只看該作者
sunshiner_pl 發(fā)表于 2020-3-24 16:05
運(yùn)行起來(lái)為什么調(diào)整溫度比較快時(shí)就會(huì)卡死

我也是 問(wèn)題解決了嗎
回復(fù)

使用道具 舉報(bào)

27#
ID:773622 發(fā)表于 2020-6-14 22:16 | 只看該作者
樓主能留個(gè)聯(lián)系方式 有點(diǎn)問(wèn)題想請(qǐng)教一下
回復(fù)

使用道具 舉報(bào)

28#
ID:130743 發(fā)表于 2020-6-16 15:50 | 只看該作者
justablackcat 發(fā)表于 2019-6-9 00:12
下載了這個(gè)工程,是可以像截圖一樣運(yùn)行,但是我尋思著沒(méi)有接熱源,這溫度傳感器是測(cè)誰(shuí)的溫度呢?應(yīng)該少了一 ...

你不懂仿真啊
回復(fù)

使用道具 舉報(bào)

29#
ID:87715 發(fā)表于 2020-6-25 10:50 | 只看該作者
有問(wèn)題,跑著跑著就掛死了。主頻才8M
回復(fù)

使用道具 舉報(bào)

30#
ID:790012 發(fā)表于 2020-6-26 10:25 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

31#
ID:470702 發(fā)表于 2020-6-28 19:05 | 只看該作者
justablackcat 發(fā)表于 2019-6-9 00:12
下載了這個(gè)工程,是可以像截圖一樣運(yùn)行,但是我尋思著沒(méi)有接熱源,這溫度傳感器是測(cè)誰(shuí)的溫度呢?應(yīng)該少了一 ...

DS18B20有三個(gè)引腳,在仿真的時(shí)候有兩個(gè)按鈕,可以調(diào)節(jié)溫度的大小,這個(gè)按鈕實(shí)際上就是模擬實(shí)際DS18B20所測(cè)到的溫度的
回復(fù)

使用道具 舉報(bào)

32#
ID:774190 發(fā)表于 2020-7-3 15:47 | 只看該作者
請(qǐng)問(wèn)最后獲取溫度的數(shù)值的是哪個(gè)參數(shù)呢
回復(fù)

使用道具 舉報(bào)

33#
ID:541606 發(fā)表于 2020-7-21 11:16 | 只看該作者
感謝樓主哇,學(xué)習(xí)一下ds18b20
回復(fù)

使用道具 舉報(bào)

34#
ID:92810 發(fā)表于 2020-8-14 09:54 | 只看該作者
我下載進(jìn)去根本不得
回復(fù)

使用道具 舉報(bào)

35#
ID:833504 發(fā)表于 2020-10-29 16:33 | 只看該作者
這個(gè)是protues哪個(gè)版本的呀。我用8.6怎么打不開(kāi)呢?
回復(fù)

使用道具 舉報(bào)

36#
ID:304785 發(fā)表于 2020-12-26 20:11 | 只看該作者
為啥我什么都看不到呢
回復(fù)

使用道具 舉報(bào)

37#
ID:194861 發(fā)表于 2021-4-20 11:12 | 只看該作者
DS18B20的STM32顯示,非常需要,感謝作者的分享
回復(fù)

使用道具 舉報(bào)

38#
ID:949049 發(fā)表于 2021-7-4 16:50 來(lái)自手機(jī) | 只看該作者
有STM32的配置嗎
回復(fù)

使用道具 舉報(bào)

39#
ID:387687 發(fā)表于 2021-11-22 18:33 | 只看該作者
有了porteus學(xué)stm32更方便了
回復(fù)

使用道具 舉報(bào)

40#
ID:440028 發(fā)表于 2021-12-30 10:27 | 只看該作者
發(fā)現(xiàn)在實(shí)驗(yàn)板上不能正常使用,proteus上面是可以的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表