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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2896|回復: 4
收起左側

求教 為什么用1602顯示溫度不變化仿真的時候 一直顯示094.6℃

[復制鏈接]
ID:103999 發表于 2016-1-25 22:25 | 顯示全部樓層 |閱讀模式
      DQ bit p3.3
                  
                  tmph data 28h
                  tmpl data 29h
                  temp_xiao equ 30h
      temp_ge   equ 31h
      temp_shi  equ 32h
      temp_bai  equ 33h
      now data 40h;存放當前時間,日期首地址
      IO bit p1.1
      sclk bit p1.0
      rst bit p1.2
                  RS  BIT  P2.0 ;這3位是液晶屏的控制信號,連接方式由具體硬件而定
                  RW  BIT  P2.1
               E   BIT  P2.2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      org 0000h
      jmp reset
      org 0030h
      reset:mov sp,#60h            
            main:
                  call DS18B20_Reset
                  mov a,#0cch
                  call DS18B20_Write
                  mov a,#44h
               call DS18B20_Write
           led_1:
               call DS18B20_Reset
                  mov a,#0cch
                  call DS18B20_Write
               mov a,#0beh
               call DS18B20_Write
               call DS18B20_Read
               mov tmpl,a
                  call DS18B20_Read
                  mov tmph,a
                  lcall Cvttmp
      lcall disp
                  lcall delay_1
                  lcall delay_1
         ajmp main
      
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      disp:   LCALL  INITIAL         
           DISP1: MOV  A,#30H
                    ORL  temp_bai, A
                    ORL  temp_shi, A
                    ORL  temp_ge, A
                    ORL     temp_xiao,   A
      DISP2:  MOV  A,temp_bai
                 LCALL WRITE_LCDDATA
                    MOV  A,temp_shi
                    LCALL  WRITE_LCDDATA
                    MOV  A,temp_ge
                    LCALL  WRITE_LCDDATA
                    MOV  A,#2EH                ;'.'字符
              LCALL  WRITE_LCDDATA
                    MOV  A,temp_xiao
                    LCALL  WRITE_LCDDATA
                    MOV  A,#0DFH               ;下面兩個是攝氏度的數字符號
                    LCALL  WRITE_LCDDATA
                    MOV  A,#43H
                    LCALL  WRITE_LCDDATA
                 RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
   Cvttmp:mov a,tmph
                   anl a,#08h
             jz Tmpc1
                   clr c
                   mov a,tmpl
                   cpl a
                   add a,#1
                   mov tmpl,a
                   mov a,tmph
                   cpl a
                addc a,#0
                   mov tmph,a
                   mov temp_bai,#2DH;在百位數位置放負號
                   sjmp Tmpc11
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
          Tmpc1:mov temp_bai,#20H    ;溫度為正值
          Tmpc11:mov a,tmpl
                 anl a,#0fH
                 mov dptr,#Tmptab
                 movc a,@a+dptr
                 mov temp_xiao,a
                 mov a,tmpl
                 anl a,#0f0h
                 swap a
                 mov tmpl,a
                 mov a,tmph
                 anl a,#0fh
                 swap a
                 orl a,tmpl
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;
         H2bcd:mov b,#100
               div ab
               jz B2bcd1
               mov temp_bai,a
;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;
         B2bcd1:mov a,#10
                xch a,b
                div ab
                mov temp_shi,a
                mov temp_ge,b
         Tmpc12:nop
         Disbcd:mov a,temp_bai
          anl a,#0fh
                cjne a,#01,Disbcd0
          ret
         Disbcd0:mov a,temp_ge
            anl a,#0fh
                 jnz Disbcd1
                 mov a,temp_bai
                 mov temp_ge,a
                 mov temp_bai,#20H
         Disbcd1:ret
         tmptab:db 0,1,2,3,3,4,4,5,6,6,7,8,8,9,9
     
  
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   DS18B20_Reset:
                 clr DQ
              mov r7,#48
                 call delay_0
                 setb DQ
              mov r7,#6
                 call delay_0
                 mov c,DQ
                 mov r7,#42
              call delay_0
                 jc DS18B20_Reset
               ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        delay_0:
               nop
               nop
               nop
               nop
               nop
               nop
               nop
               nop
               djnz r7,delay_0
               ret
        delay_1:mov r6,#50
        dl1:    mov r7,#50
                djnz r7,$
                djnz r6,dl1
                ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       DS18B20_Write:
            push b
               mov b,#08
       write_0:   
               clr DQ
               nop
               nop
               rrc a
               mov DQ,c
               mov r7,#6
               call delay_0
            setb DQ
               djnz b,write_0
               pop b
               ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      DS18B20_Read:
              clr a
              push b
              mov b,#08
      read_0:
             clr DQ
             nop
             nop
             setb DQ
             nop
             nop
             mov c,DQ
             rrc a
             mov r7,#6
             call delay_0;延遲時間
             djnz b,read_0
             pop b
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;---液晶屏初始化,具體請參考資料-------------------------------------------------
INITIAL:MOV   A, #01H
        LCALL  WRITE_INSTRUCTION
        MOV   A, #38H
        LCALL  WRITE_INSTRUCTION
        MOV   A, #0FH
        LCALL  WRITE_INSTRUCTION
        MOV   A, #06H
        LCALL  WRITE_INSTRUCTION
        RET
;----寫液晶指令的子程序------------------------------------------
WRITE_INSTRUCTION:
  MOV  P0, A
        CLR  RS ;寫入控制命令
        CLR  RW
  lcall DELAY1MS
        clr  E
  lcall DELAY1MS
        LCALL  DELAY
        setb  E
        RET
;----寫液晶數據的子程序---------------------------------------------
WRITE_LCDDATA:
  MOV  P0,A
        SETB  RS ;寫入數據
        CLR  RW
  lcall DELAY1MS
        clr  E
  lcall DELAY1MS
        LCALL  DELAY ;判斷液晶模塊是否忙?
     setb  E
        RET
;----查看液晶忙碌信號的子程序---------------------------------------------------------
DELAY:  MOV  P0,#0FFH ;判斷液晶顯示器是否忙的子程序
        CLR  RS
        SETB  RW
        CLR  E
        NOP
        SETB  E
        JB   P0.7,DELAY ;如果P0.7為高電平表示忙就循環等待
        RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DELAY1MS:
  MOV R6,#66H
DL10:
    MOV R5,#03H
    DJNZ R5,$    ;延時1ms
    DJNZ R6,DL10
    RET
end     
回復

使用道具 舉報

ID:96682 發表于 2016-1-25 23:04 | 顯示全部樓層
軟硬件都沒問題的話,點擊1820紅色那兩個按鍵溫度才會改變的。
回復

使用道具 舉報

ID:103999 發表于 2016-1-26 12:57 | 顯示全部樓層
wc86110 發表于 2016-1-25 23:04
軟硬件都沒問題的話,點擊1820紅色那兩個按鍵溫度才會改變的。

一開始溫度就不對啊 然后點了改不了 硬件不會有問題 軟件在上面我看著沒問題能不能幫我看看 急用
回復

使用道具 舉報

ID:99525 發表于 2016-1-28 12:45 | 顯示全部樓層
18B20用VCC腳接電源,信號腳不要加上拉,直接連單片機~
回復

使用道具 舉報

ID:104559 發表于 2016-2-18 17:25 | 顯示全部樓層
用vcc接電源,不要用上拉電阻
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 伊人久久伊人 | 久草欧美| 中文字幕在线欧美 | 国产一区二区电影 | 国产黄色小视频在线观看 | 99精品视频在线 | 成人免费av | 国产日韩欧美在线一区 | 亚洲综合大片69999 | 国产综合久久久久久鬼色 | 天天艹 | 国产探花 | 亚洲综合在| 国产精品网址 | 丝袜毛片| 亚洲性在线 | 超碰国产在线 | 九九久久在线看 | 91麻豆精品国产91久久久资源速度 | 四虎最新地址 | 久久精品免费 | 免费av在线网站 | 欧美日韩中文在线 | 成人无遮挡毛片免费看 | 婷婷综合五月天 | 日韩欧美在线一区 | 亚洲精品乱码久久久久久9色 | 99在线观看视频 | 国产精品久久久久久久久久免费看 | 日韩综合网| 久久精品久久久 | 天堂在线中文字幕 | 亚洲一区久久 | av在线三级 | 羞羞视频在线观看 | 青草久久免费视频 | 一级黄在线观看 | 日本精品一区二区三区在线观看视频 | 在线欧美一区 | 色爽女 | 欧美激情a∨在线视频播放 成人免费共享视频 |