RSS

51汇编编制的AT89C2051单片机与DS18B20和两个数码管显示温度

来源: 作者: 时间:2007-06-27 Tag: 点击:


RE20:   DJNZ  R3,RE20

  RRC  A
  DJNZ  R2,RE01
  MOV  @R1,A
  DEC  R1
  DJNZ  R4,RE00
  RET

;显示子程序

DISPLAY:  MOV  A,29H  ;将29H中的十六进制数转换成10进制
  MOV  B,#10   ;10进制/10=10进制
  DIV  AB
  MOV  B_BIT,A  ;十位在a
  MOV  A_BIT,B  ;个位在b
  MOV  DPTR,#NUMTAB  ;指定查表启始地址
  MOV  R0,#4
DPL1:   MOV  R1,#250  ;显示1000次
DPLOP:   MOV  A,A_BIT  ;取个位数
  MOVC  A,@A+DPTR  ;查个位数的7段代码
  MOV  P1,A   ;送出个位的7段代码
  CLR  P3.7   ;开个位显示
  ACALL  D1MS   ;显示1ms
  SETB  P3.7
  MOV  A,B_BIT  ;取十位数
  MOVC  A,@A+DPTR  ;查十位数的7段代码
  MOV  P1,A   ;送出十位的7段代码CLR  P3.5   ;开十位显示
  ACALL  D1MS   ;显示1ms
  SETB  P3.5
  DJNZ  R1,DPLOP  ;250次没完循环
  DJNZ  R0,DPL1  ;4个250次没完循环
  RET

;1MS延时(按12MHZ算)

D1MS:   MOV  R7,#80
  DJNZ  R7,$
  RET

;7段数码管0~9数字的共阳显示代码

NUMTAB:  DB 081H,0CFH,092H,086H,0CCH,0A4H,0A0H,08FH,080H,084H

  END


1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
教程下载