找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1047|回复: 7
打印 上一主题 下一主题
收起左侧

想要通过DS18B20来实现温度显示,从书上摘到的代码和原理图但运行一直不显示温度...

[复制链接]
跳转到指定楼层
楼主


单片机源程序如下:
  1. PORTA EQU 8FFFH               
  2. PORTB EQU 9FFFH               
  3. PORTC EQU 0AFFFH                 
  4. CADDR EQU 0BFFFH               
  5. SHOW1 EQU 70H                     
  6. SHOW2 EQU 71H
  7. SHOW3 EQU 72H                        
  8. SHOW4 EQU 73H                     
  9. SHOW5 EQU 74H                    
  10. SHOW6 EQU 75H                     
  11. SHOW7 EQU 76H                          
  12. SHOW8 EQU 77H                     
  13. TEM_H EQU 78H                       
  14. TEM_L EQU 79H                        
  15. DQ BIT P1.2                           
  16.       
  17. ORG 0000H
  18. LJMP INI
  19. ORG 000BH
  20. LJMP T0_INT
  21. ORG 0100H

  22.         INI:MOV  A,#81H                    
  23.             MOV DPTR,#CADDR
  24.                   MOVX @DPTR,A
  25.                   MOV DPTR,#PORTC
  26.                   MOV A,#00H
  27.                   MOVX @DPTR,A
  28.                   MOV SHOW1,#00H            
  29.                   MOV SHOW2,#00H
  30.                   MOV SHOW3,#00H
  31.                   MOV SHOW4,#00H
  32.                   MOV SHOW5,#00H
  33.                   MOV SHOW6,#00H
  34.                   MOV SHOW7,#00H
  35.                   MOV SHOW8,#00H
  36. MAIN:
  37.      ACALL GETTEM
  38.      MOV A,#0FH
  39.                  ANL A,TEM_L                 
  40.                  MOV B,#10
  41.                  MUL AB
  42.                  MOV B,#16
  43.                  DIV AB
  44.                  MOV DPTR,#NUMLAB
  45.                  MOVC A,@A+DPTR
  46.                  MOV SHOW1,A
  47.                  MOV A,TEM_L
  48.                  SWAP A
  49.                  MOV TEM_L,A
  50.                  MOV A,TEM_H
  51.                  SWAP A
  52.                  MOV R0,#TEM_L
  53.                  XCHD A,@R0
  54.                  HUND: MOV B,#100                  
  55.                        DIV AB
  56.                                    MOV DPTR,#NUMLAB
  57.                                    MOVC A,@A+DPTR            
  58.                                    MOV SHOW4,A
  59.                                  
  60.                 TEN:   MOV A,B                                   
  61.                        MOV B,#10
  62.                                    DIV AB
  63.                                    MOV DPTR,#NUMLAB
  64.                                    MOVC A,@A+DPTR                       
  65.                                    MOV SHOW3,A
  66.                                          
  67.            SIGN: MOV A,B                          
  68.                  MOV DPTR,#NUMLAB
  69.                                    MOVC A,@A+DPTR                 
  70.                                    ORL A,#80H
  71.                                          
  72.   RETURN:  ACALL PLAY
  73.            JMP MAIN
  74.                                  
  75. /****************************/
  76. /*          DS18203?ê??ˉ                */
  77. /****************************/
  78. INI1820:SETB DQ
  79.              NOP
  80.                          CLR DQ
  81.                          MOV R2,#250
  82.            L1: DJNZ R2,L1
  83.                SETB DQ
  84.                            MOV R2,#25
  85.          L15: DJNZ R2,L15
  86.               CLR C
  87.                           ORL C,DQ
  88.                           JC INI1820
  89.                           MOV R6,#23
  90.          L16:  ORL C,DQ
  91.                JC L3
  92.                            DJNZ R6,L16
  93.                            SJMP INI1820
  94.          L3:   MOV R2,#120
  95.                DJNZ R2,$
  96.                            RET


  97. GETTEM:SETB DQ
  98.        LCALL INI1820
  99.              JB DQ,TSS2
  100.              RET                    
  101.         TSS2:MOV A,#0CCH               
  102.              LCALL WR_1820
  103.                          MOV A,#44H                    
  104.                          LCALL WR_1820
  105.                          LCALL D1MS                 
  106.                          LCALL INI1820
  107.                          MOV A,#0CCH            
  108.                          LCALL WR_1820
  109.                          MOV A,0BEH               
  110.                          LCALL WR_1820
  111.                          LCALL RED_1820                  
  112.                          RET

  113. WR_1820:CLR EA
  114.         MOV R2,#8
  115.                 L9: SETB DQ
  116.                     MOV R3,#7
  117.                                 RRC A
  118.                                 CLR DQ
  119.                                 DJNZ R3,$
  120.                           MOV DQ,C
  121.                                 MOV R3,20
  122.                                 DJNZ R3,$
  123.                                 DJNZ R2,L9
  124.                                 SETB DQ
  125.                                 SETB EA
  126.                                 RET
  127.                            
  128. RED_1820:MOV R2,#2
  129.          MOV R1,#TEM_L                  
  130.             L7:MOV R3,#8
  131.                   L6:CLR C
  132.                      CLR DQ
  133.                                  NOP
  134.                                  NOP
  135.                                  NOP
  136.                                  SETB DQ            
  137.                                  MOV R4,#4
  138.                                  DJNZ R4,[        DISCUZ_CODE_1        ]nbsp;            
  139.                                  MOV C,DQ
  140.                                  RRC A
  141.                                  MOV R5,#30
  142.                   L5:DJNZ R5,L5                        
  143.                      DJNZ R3,L6
  144.                                 MOV @R1,A
  145.                                 DEC R1                  
  146.                                 DJNZ R2,L7
  147.                                 SETB DQ
  148.                                 RET


  149. NUMLAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
  150.                   END
  151.         
复制代码
求助各路大神帮帮忙,keil里面做的出来有点乱码

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:491577 发表于 2022-7-5 13:18 | 只看该作者
不建议初学者花大力气学习DS18B20,DS18B20根部不实用,DS18B20的缺点自己百度,网上搜索一下,除了DIY和单片机模块,根本没有人用DS18B20。
回复

使用道具 举报

板凳
ID:96682 发表于 2022-7-5 15:35 | 只看该作者
程序仿真图没问题才能显示,图片虽模糊但能看出 IC 选型有问题
回复

使用道具 举报

地板
ID:1037824 发表于 2022-7-5 16:32 | 只看该作者
wc86110 发表于 2022-7-5 15:35
程序仿真图没问题才能显示,图片虽模糊但能看出 IC 选型有问题

AT89C51不可以用吗?
回复

使用道具 举报

5#
ID:1037824 发表于 2022-7-5 16:32 | 只看该作者
hhh402 发表于 2022-7-5 13:18
不建议初学者花大力气学习DS18B20,DS18B20根部不实用,DS18B20的缺点自己百度,网上搜索一下,除了DIY和单 ...

啊这。。。。。。。
回复

使用道具 举报

6#
ID:1037824 发表于 2022-7-5 17:20 | 只看该作者
wc86110 发表于 2022-7-5 15:35
程序仿真图没问题才能显示,图片虽模糊但能看出 IC 选型有问题

就是两个芯片一个是AT89C51,另一个是8255
回复

使用道具 举报

7#
ID:230742 发表于 2022-7-6 08:54 | 只看该作者
这好像把简单的问题搞复杂了。40个引脚还不够用吗?用8255岂不是多余。
如果想挑战一下,可以慢慢研究。但好像没啥用。
回复

使用道具 举报

8#
ID:735831 发表于 2022-7-8 14:49 | 只看该作者
你这个不亮是不是把共阳极的数码管当共阴极的用了,为什么位选是高阻态?按理来说NPN型三极管这个状态下应该是导通的,为什么还会出现高阻态?是你的器件有问题还是你的仿真软件有问题?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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