找回密码
 注册
关于网站域名变更的通知
查看: 264|回复: 1
打印 上一主题 下一主题

DS18B20测温小程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-12-4 07:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
DS18B20测温小程序3 f" D. L( s2 j7 O% X6 Y' ]

1 w5 V# B- j# q8 W; e7 K- n
$ h' y6 {1 z4 g0 I
1 w6 z5 c. b, b# I% P/ M
: M: b5 K. b4 B

! S6 g8 t. v+ n* I5 O' V" G测温不太准确,捏住18B29温度只到34.6℃,应该是没多点采样加滤波,但是因为单独写了DS18B20的头文件和.C文件,拓展编程也方便,无非就是改个p口就是了

" F/ p& A. e6 B7 y' L' D/ [
9 Y' }8 ^: m3 D

' O2 e/ n) N- G, ]8 Y" Q #include <reg51.h>- T2 [! [4 Q  b. L) G9 S
#include <hd7279.h>/ Q) O" s  m. w9 G5 R% F
#include <delay.h>  H$ Y- h$ x- X) }1 ^- c& o
#include "DS18B20.h"
" |$ }) I& R3 {& ]- z; } unsigned int Temp_Buffer = 0;/ l5 E4 I% Y  ~' e. r7 @1 o, R
main()
) J& M& L" n; q+ X/ D {/ {4 `  ^% K" z% u
$ }( j7 c- {2 t: m: H  O9 U
  Temp_Buffer = Get_temp();                                          //读取DS18B20的值
0 I! `6 @; z, n4 J, U  Delay_ms(1000);                                                                //等待1s等待DS18B20数据稳定。否则会出现85℃。
5 ~' ~2 f: |+ R) twhile(1): M7 g0 \( l5 U2 e8 L
{5 |  l. E5 r# o3 Q8 M9 U
                Delay_ms(10);: j6 U# u8 Y& d$ i: {
                send_byte (CMD_RESET);
& E2 n5 O/ g$ ?% i% y  c4 m        Temp_Buffer = Get_temp();
  P' R/ J$ \& |5 b0 }9 r9 `       write7279(UNDECODE+7, 0X0F);                                        //第8位led显示“t”
  C: Q# m7 c' t  x           write7279(UNDECODE+6, 0X09);                                        //第7位led显示“=”
1 M$ g# P1 R2 i; A* K! o0 O                if(flag_temper == 1)                                                // 根据温度标志显示正负
" r5 |5 b6 [3 a4 t/ ?                {1 [0 |6 S- c) e+ H$ h4 t, i
                 write7279(UNDECODE+5, 0X08);                           //若为负第6位显示“-”
: C' V) W: {/ L7 _$ {. j                }1 b- X8 o6 u- b7 L  @
                if( Temp_Buffer/1000 != 0 )                                        // 如果第一位为0则不显示
& ?- p! x- _% X8 @! i                {+ q  k& _$ p1 {$ P7 @6 O
                write7279(DECODE0+4,Temp_Buffer/1000);           //  显示百位值
) i  d$ `( w8 W  P, [2 ^- S                }
9 P% t7 a$ C" a$ c                if( Temp_Buffer/1000 == 0 && Temp_Buffer%1000/100 == 0 )                        //百位十位都为0则不显示2 t& v, ?; |+ R  a) H
                {
7 b. A$ V) T. f5 y9 _( k- n
! l, T! Y% K* T; |                }" T$ |( [3 S$ k8 l2 d! v$ W
                else" k' J- p! _! j. D
                {
- g8 w7 W( Z% Z                write7279(DECODE0+3,Temp_Buffer%1000/100);           //  显示十位值
; d% ?3 ^# y' L& F: J                }1 W% A8 e& \( q& w6 I
                write7279(DECODE0+2,Temp_Buffer%100/10+0x80);           //        显示个位值与小数点                                                   # ^/ B. D  k0 A. j& z  Y
                write7279(DECODE0+1,Temp_Buffer%10);                  
1 E7 y  S  G  ]2 P: U- [- u. w5 \             write7279(UNDECODE, 0X4e);                                                   
4 H! z4 e" h  w( t* v+ A  W" x# B8 @6 g6 ?3 [$ W) i( A! F* T2 N
                Delay_ms(500);                                6 h6 |( Q1 Q6 d" `

$ W) }4 l* S7 Y6 T. s7 t7 A }
2 N/ z$ t( P. {  Y: D5 I
# g, |& w, |! j9 N6 t
/ [/ S! ~/ O- |& S: Z5 d. A: o  H }
. ?$ E% i* y0 v3 @4 ?# g8 W& M- V7 k1 y4 W3 f. d* q
        
游客,如果您要查看本帖隐藏内容请回复
7 x, ~. M. l3 {4 E* M# j

9 _3 i7 j$ n, r+ a
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-22 11:20 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表