导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[cx198479]为什么我的温度一直显示为17.4度



No.106316
作者:cx198479
邮件:cx198479@163.com
ID:79092
登陆:1次
文章数:1篇
最后登陆IP:222.94.32.87
最后登陆:2007/5/23 21:15:30
注册:2007/5/23 21:14:08
财富:105
发帖时间:2007/5/23 21:15:30
发贴者IP:222.94.32.87
标题:cx198479:为什么我的温度一直显示为17.4度
摘要:No.106316为什么我的温度一直显示为17.4度 我用的s52单片机+DS18B20传感器+ZLG7289A显示芯片~~~结果8段数码管一直稳定显示为17.4度


主程序如下:

             TEMPL DATA 26H
        TEMPH DATA 27H
        TEMPHC DATA 28H
        TEMPLC DATA 29H
    
        SEND_BUF EQU 3AH     ;发送缓冲
        DELAYJ   EQU 3BH      ;循环计数器
        TEMPHEAD EQU 33H
       
      
       
    
       TEMPDIN  BIT   P3.7  
        CS      BIT   P2.0
       DIO      BIT   P2.2 
       CLK      BIT   P2.1
       F        BIT   P2.7
       
       ;
       ;*********************************
       ;中断向量区
       ;*********************************
       ;
              ORG   0000H
              LJMP  START
              ;
        ;*********************************
        ;    系统初始化
        ;*********************************
              ORG  0100H
         START:  
               MOV    SP,    #60H
CLSMEN:        MOV    R0,    #40H
               MOV    R1,    #80H
CLSMEN1:       MOV    @R0,   #00H
               INC    R0
               DJNZ   R1,   CLSMEN1 
 
              
             
     MAIN:    
           
               LCALL INITDS18B20     ;DS18B20复位            
               LCALL LONG_DELAY
               LCALL LONG_DELAY    
               CPL F
               
               LCALL LONG_DELAY
               LCALL LONG_DELAY                                                    
               LCALL   READTEMP1    ;读暂存器
               LCALL   CONVTEMP      ;计算温度处理
               LCALL   DISPBCD
               LCALL   READTEMP  
               LCALL   DISPLAY      ;调用显示程序
               NOP
               NOP
               NOP
               AJMP    MAIN
      
              ;
    
   INITDS18B20:
                SETB TEMPDIN
                NOP 
                NOP
                CLR TEMPDIN
                MOV R6,#0A0H               
                DJNZ R6,$
                MOV R6,#0A0H
                DJNZ R6,$
                SETB TEMPDIN
                MOV R6,#32H
                DJNZ R6,$
                MOV R6,#3CH
    LOOP18B20:  MOV C,TEMPDIN
                JC INITDS18B20OUT
                DJNZ R6,LOOP18B20
                MOV R6,#064H
                DJNZ R6,$
                SJMP INITDS18B20
                RET
    INITDS18B20OUT:SETB TEMPDIN
                RET
    ;******************************
    ;读DS18B20的程序
    ;*****************************
    READDS18B20: MOV R7,#08H
                 SETB TEMPDIN
                 NOP
                 NOP   
    READDS18B20LOOP:
                   CLR TEMPDIN
                   NOP
                   NOP
                   NOP
                   SETB TEMPDIN
                   MOV R6,#07H
                   DJNZ R6,$
                   MOV C,TEMPDIN
                  MOV R6,#3CH
                  DJNZ R6,$
                  RRC A
                  DJNZ R7,READDS18B20LOOP
                  MOV R6,#3CH
                  DJNZ R6,$
                  RET
                  ;
     ;***********************************
     ;写DS18B20的程序
     ;***********************************
   WRITEDS18B20: MOV R7,#08H
                 SETB TEMPDIN
                 NOP
                 NOP
   WRITEDS18B20LOP:
                    CLR TEMPDIN
                    MOV R6,#07
                    DJNZ R6,$
                    RRC A
                    MOV TEMPDIN,C
                    MOV R6,#34H
                    DJNZ R6,$
                    SETB TEMPDIN
                    DJNZ R7,WRITEDS18B20LOP
                    SETB TEMPDIN
                    RET
                    ;
  ;*************************************
  ;READ   TEMP
  ;*************************************
  ;
        READTEMP:       MOV R6,#14H
                    DL5:MOV R7,#19H
                    DL6:DJNZ R7,DL6
                        DJNZ R6,DL5
                    LCALL INITDS18B20
                    MOV A,#0CCH
                    LCALL WRITEDS18B20
                    MOV R6,#34H
                    DJNZ R6,$
                    MOV A,#44H
                    LCALL WRITEDS18B20
                    MOV R6,#34H
                    DJNZ R6,$
                    RET
                    ;
     READTEMP1: MOV R6,#14H
               DL7:MOV R7,#19H
               DL8:DJNZ R7,DL8
                   DJNZ R6,DL7
                 LCALL INITDS18B20
                 MOV A,#0CCH
                 LCALL WRITEDS18B20
                 MOV R6,#34H
                 DJNZ R6,$
                 MOV A,#0BEH  
                 LCALL WRITEDS18B20
                 MOV R6,#34H
                 DJNZ R6,$
                 MOV R5,#09H
                 MOV R0,#TEMPHEAD     
                 MOV B,#00H
     READTEMP2:LCALL READDS18B20
               MOV @R0,A 
               INC R0
    READTEMP21: LCALL CRC8CAL
                 DJNZ R5,READTEMP2
                 MOV A,B
                 JNZ READTEMPOUT
                 MOV A,TEMPHEAD+0
                 MOV TEMPL,A
                 MOV A,TEMPHEAD+1
       ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:47毫秒 最大:78531毫秒 查询6次