- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编写的测温程序(仿真过)
ORG 0000H
LJMP MAIN
ORG 0100H
DOUT BIT P3.0 ;定义P1.7为与DS18B20的通信口
MAIN: MOV TMOD,#20H ;定时器T1工作于方式2
MOV TH1,#0E6H ;传输速率为1200波特
MOV TL1,#0E6H
SETB TR1 ;启动定时器T1
MOV SCON,#40H ;串行口工作于方式1
MOV R0,#38H
CLR P3.2 ;将温度的最高位符号位放入Ro寄存器
LCALL RESET ;调用复用子程序
MOV A,#0CCH
LCALL WRITE ; 写跳过ROM命令
MOV A,#44H ;启动温度转换
LCALL WRITE
LCALL RESET ;调用复位子程序
MOV A,#0CCH ;写跳过ROM命令
LCALL WRITE
MOV A,#0BEH ;发读存储器命令
LCALL WRITE
LCALL READ ;调用读子程序
MOV 32H,3DH ;温度值存储在32H,33H单元
LCALL READ
MOV 33H,3DH
LCALL CONVERT
LCALL BAOJING ;温度转换子程序
LCALL DISPLAY ;调用显示子程序
LJMP MAIN
BAOJING:
MOV A,37H
CJNE A,#09H,MM
MM:JC RET1
MOV A,36H
CJNE A,#09H,NN
NN:JC RET1
SETB P3.2
LCALL DELAY
RET1 :RET
RESET:
CLR DOUT
MOV R2,#200
NE1:
NOP
DJNZ R2,NE1
SETB DOUT
MOV R2,#30
DJNZ R2,$ ;控制适当的延时
CLR C
MOV C,DOUT
JC NE3
MOV R6,#80
NE5:
MOV C,DOUT
JC NE3
DJNZ R6,NE5
SJMP RESET
NE3:
MOV R2,#250
DJNZ R2,$ ;控制适当的延时
RET
WRITE:
MOV R3,#8 ;定义循环次数
WR1:
SETB DOUT
MOV R4,#8
RRC A ;把对DS18B20操作的命令一位一位的从A移到CY位中
CLR DOUT
DJNZ R4,$ ;控制适当的延时
MOV DOUT,C ;把CY位中的命令通过P1.7口发给DS18B20
MOV R4,#20
DJNZ R4,$ ;控制适当的延时
DJNZ R3,WR1 ;循环八次
SETB DOUT
RET
READ:
MOV R6,#8 ;定义循环次数
RE1:
CLR DOUT
MOV R4,#6
SETB DOUT
DJNZ R4,$ ;控制适当的延时
MOV C,DOUT ;把从P1.7的数读到CY位中
RRC A ;把数据一位一位从CY位移到A中
MOV R5,#30
DJNZ R5,$ ;控制适当的延时
DJNZ R6,RE1 ;循环八次
MOV 3DH,A ;把读到的数据从A中放在3DH中
SETB DOUT
RET
CONVERT:
MOV A,33H
JB ACC.7, NEXT
LJMP ZHI
NEXT:
MOV 38H,#40H
MOV A,32H
CPL A
ADD A,#1
MOV 32H, A
MOV A,33H
CPL A
ADDC A ,#0
MOV 33H,A
AJMP S_33
ZHI:
MOV A,33H
ANL A,#0F0H
SWAP A
MOV 38H,A ;33H高4位
S_33: MOV A,33H
ANL A,#0FH
MOV 37H,A ;33H低4位
MOV A,32H
ANL A,#0F0H
SWAP A
文档评论(0)