为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

SHT温湿度传感器汇编语言程序

2017-09-21 15页 doc 30KB 167阅读

用户头像

is_842972

暂无简介

举报
SHT温湿度传感器汇编语言程序SHT温湿度传感器汇编语言程序 ;TAO.ASM V8.0 ;-40--+120T ;0--100H ;2005 ; SCK BIT P3.1 ;SHT11 DATAI BIT P3.0 ;SHT11 ; ORG 0000H CLR EA AJMP MAIN ORG 0040H MAIN: NOP CLR SCK ;T SETB DATAI ACALL TS1 ; 软件复位,启动传输 SETB DATAI ACALL CT01 ; 测温度命令 SETB DATAI NOP T001: ...
SHT温湿度传感器汇编语言程序
SHT温湿度传感器汇编语言程序 ;TAO.ASM V8.0 ;-40--+120T ;0--100H ;2005 ; SCK BIT P3.1 ;SHT11 DATAI BIT P3.0 ;SHT11 ; ORG 0000H CLR EA AJMP MAIN ORG 0040H MAIN: NOP CLR SCK ;T SETB DATAI ACALL TS1 ; 软件复位,启动传输 SETB DATAI ACALL CT01 ; 测温度命令 SETB DATAI NOP T001: JNB DATAI,RCT01 ;11-210mS NOP NOP AJMP T001 RCT01: ACALL RC01 ;把两个字节测量数据送到R2,R3 MOV 70H,R2 MOV 71H,R3 ; CLR C MOV R4,70H MOV R5,71H MOV R6,#3EH ;温度为120度时的测量数据值“16000” MOV R7,#80H ACALL NSUB ;测量数据与最大值“16000”比较,如果超出范围,定 为“16000” JNC THH1 MOV 62H,R4 MOV 63H,R5 AJMP TJX1 THH1: MOV 62H,R6 MOV 63H,R7 ;62,63 存没除以100的温度值 TJX1: CLR C ; L TJX2: MOV R4,#00H MOV R5,#00H MOV R6,62H MOV R7,63H MOV R2,#00H ;/100 也就是 DATA*0.01 MOV R3,#64H ACALL NDIV1 ;R4R5R6R7/R2R3=R6R7 MOV 7AH,R6 MOV 7BH,R7 ;0-160T 即-40--+120T NOP ACALL XYSHC ;延时程序 NOP CLR SCK ;RH SETB DATAI ACALL TS1 NOP ACALL CT11 ;测湿度命令 NOP T0012: JNB DATAI,RCT12 ;11-210mS AJMP T0012 RCT12: ACALL RC01 ;将测量数据送到R2,R3 NOP MOV 74H,R2 MOV 75H,R3 ; MOV R2,74H MOV R3,75H MOV R6,74H MOV R7,75H ACALL QKUL ;R2R3XR6R7=R4R5R6R7,按照DATA*DATA MOV R2,#27H MOV R3,#10H ;10000 ACALL NDIV1 ; DATA*DATA*0.0001 MOV A,R6 MOV R2,A MOV A,R7 MOV R3,A MOV R6,#01H MOV R7,#18H ;280 ACALL QKUL MOV R2,#00H MOV R3,#64H ;100 ACALL NDIV1 ;DATA*DATA*0.0001*2.8 MOV A,R6 MOV R4,A MOV A,R7 MOV R5,A MOV R2,#01H MOV R3,#90H ;DATA*DATA*2.8+400 ACALL NADD MOV 7EH,R6 MOV 7FH,R7 ;7EH,7FH存(DATA*DATA*0.0001*2.8+400) MOV R2,74H ;DATA MOV R3,75H MOV R6,#01H MOV R7,#95H ; ACALL QKUL ;DATA* 405 MOV R2,#00H MOV R3,#64H ACALL NDIV1 ; DATA* 4.05 MOV A,R6 MOV R4,A MOV A,R7 MOV R5,A MOV R6,7EH MOV R7,7FH ACALL NSUB ;R4R5-R6R7=R2R3 MOV 7CH,R2 ;RHL ,DATA* 4.05-(DATA*DATA*0.0001*2.8+400)线性值扩大100倍 MOV 7DH,R3 MOV R2,74H MOV R3,75H ; MOV R6,#00H ; MOV R7,#08H ACALL QKUL ;DATA*8 MOV R2,#03H ; MOV R3,#0E8H ;1000 ACALL NDIV1 ; DATA*0.008 MOV A,R6 MOV R4,A MOV A,R7 MOV R5,A MOV R2,#00H ; MOV R3,#01H ACALL NADD ;DATA*0.008+1 MOV 64H,R6 MOV 65H,R7 ;64,65H存DATA*0.008+1 MOV R4,7AH ; MOV R5,7BH ;温度值T MOV R6,#00H ; MOV R7,#41H ;65 CLR C ACALL NSUB ; T-65 温度-40到+120时减25,此程序中温度0-160 JC RHH1 ; 如果(T-65)小于0,则执行RHH1,结果=RHL-(T-65)*(DATA*0.008+1) MOV R6,64H MOV R7,65H ACALL QKUL ;(T-65)*(DATA*0.008+1) MOV A,R6 MOV R2,A MOV A,R7 MOV R3,A MOV R4,7CH MOV R5,7DH ACALL NADD ;(T-65)*(DATA*0.008+1)+RHL MOV A,R6 ; MOV R2,A MOV A,R7 MOV R3,A AJMP ZHJ RHH1: MOV R4,#00H ; MOV R5,#41H MOV R6,7AH MOV R7,7BH ACALL NSUB ; MOV R6,64H MOV R7,65H ACALL QKUL ; MOV R4,7CH MOV R5,7DH ACALL NSUB ; R2,R3里的数可以直接作为湿度值 ZHJ: MOV R6,#00H ; 100 MOV R7,#64H ACALL QKUL ;R2R3XR6R7=R4R5R6R7 MOV R2,#27H ;/10000 MOV R3,#10H ACALL NDIV1 ;R4R5R6R7/R2R3=R6R7 MOV 8AH,R6 ;OUT-RH MOV 8BH,R7 NOP ACALL XYSHC NOP ; AJMP MAIN NOP RET TS1: SETB DATAI CLR SCK MOV R7,#09H ;软件复位 TS2: SETB SCK CLR SCK DJNZ R7,TS2 SETB SCK CLR DATAI CLR SCK SETB SCK SETB DATAI CLR SCK RET ; CT01: CLR SCK ;测温度命令 CLR DATAI MOV R7,#05H ; CT02: SETB SCK CLR SCK DJNZ R7,CT02 SETB SCK CLR SCK SETB DATAI SETB SCK CLR SCK SETB SCK CLR SCK CLR DATAI SETB SCK CLR SCK SETB DATAI RET CT11: CLR SCK ;测湿度命令 CLR DATAI MOV R7,#05H ; CT12: SETB SCK CLR SCK DJNZ R7,CT12 SETB DATAI SETB SCK CLR SCK CLR DATAI SETB SCK CLR SCK SETB DATAI SETB SCK CLR SCK CLR DATAI ; SETB SCK CLR SCK SETB DATAI RET ; NADD: MOV A,R5 ;R2,R3+R4,R5-->R6,R7 ADD A,R3 MOV R7,A MOV A,R4 ADDC A,R2 MOV R6,A RET ; NSUB: MOV A,R5 ;R4,R5,-R6,R7-->R2,R3 CLR C SUBB A,R7 MOV R3,A MOV A,R4 SUBB A,R6 MOV R2,A RET ; QKUL: MOV A,R3 ;R2,R3XR6,R7-->R4,R5,R6,R7 MOV B,R7 MUL AB XCH A,R7 MOV R5,B MOV B,R2 MUL AB ADD A,R5 MOV R4,A CLR A ADDC A,B MOV R5,A MOV A,R6 MOV B,R3 MUL AB ADD A,R4 XCH A,R6 XCH A,B ADDC A,R5 MOV R5,A MOV PSW.5,C MOV A,R2 MUL AB ADD A,R5 MOV R5,A CLR A MOV ACC.0,C MOV C,PSW.5 ADDC A,B MOV R4,A RET ; NDIV1: MOV A,R5 ;R4R5R6R7/R2R3=R6R7 CLR C SUBB A,R3 MOV A,R4 SUBB A,R2 JNC NDVE1 MOV B,#16 NDVL1: CLR C MOV A,R7 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV A,R5 RLC A MOV R5,A XCH A,R4 RLC A XCH A,R4 MOV PSW.5,C CLR C SUBB A,R3 MOV R1,A MOV A,R4 SUBB A,R2 JB PSW.5,NDVM1 JC NDVD1 NDVM1: MOV R4,A MOV A,R1 MOV R5,A INC R7 NDVD1: DJNZ B,NDVL1 CLR PSW.5 RET NDVE1: SETB PSW.5 RET ; XYSHC: MOV R6,#6FH ; YYWC: MOV R7,#6FH ; YYNC: NOP DJNZ R7,YYNC DJNZ R6,YYWC NOP ; RC01: SETB DATAI ;接收2个字节的测量数据 CLR SCK CLR A MOV R7,#08H RC02: SETB SCK MOV C,DATAI RLC A CLR SCK DJNZ R7,RC02 CLR SCK MOV R2,A CLR DATAI SETB SCK CLR SCK SETB DATAI CLR A MOV R7,#08H RC03: SETB SCK MOV C,DATAI RLC A CLR SCK DJNZ R7,RC03 CLR SCK MOV R3,A CLR DATAI SETB SCK CLR SCK SETB DATAI RET ; END
/
本文档为【SHT温湿度传感器汇编语言程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索