ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:18.98KB ,
资源ID:1662351      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1662351.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DHT2151AM2301汇编程序教学内容.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DHT2151AM2301汇编程序教学内容.docx

1、DHT2151AM2301汇编程序教学内容 ;*; ; DHT21使用范例 ;单片机 : AT89S52或 STC89C52RC ;功能 ; 串口发送温湿度数据 波特率 9600 ;硬件连接: P2.0口为通讯口连接DHT11,DHT11的电源和地连接单片机的电源和地,单片机串口加MAX232连接电脑 ;*; ;- ;-变量定义区- ;- FLAG EQU 30H U8comdata EQU 31H U8T_data_H EQU 32H U8T_data_L EQU 33H U8RH_data_H EQU 34H U8RH_data_L EQU 35H U8checkdata EQU 36H

2、U8temp EQU 37H temp EQU 38H ;- ;- ;- org 0000h AJMP START org 0023h AJMP SET_INTSTART: MOV P0,#0FFH MOV TMOD,#20H ;T1工作方式2 MOV TH1,#0FDH ;串口波特率为9600 MOV SCON,#50H ;串口工作于方式1并允许接受 SETB TR1 ;启动T1 SETB ES ;允许串口中断 SETB EA ;允许全部外设中断 MAIN: ;-;-调用湿度读取子程序-;- LCALL RH;-;-串口发送程序 -;- TT: MOV A,U8RH_data_H LCALL

3、 TX_DATA MOV A,U8RH_data_L LCALL TX_DATA MOV A,U8T_data_H LCALL TX_DATA MOV A,U8T_data_L LCALL TX_DATA MOV A,U8checkdata LCALL TX_DATA /延时两秒 LCALL Delay_2S LJMP MAIN;-;-湿度读取子程序 -;-;-以下变量均为全局变量-;-温度高8位= U8T_data_H-;-温度低8位= U8T_data_L-;-湿度高8位= U8RH_data_H-;-湿度低8位= U8RH_data_L-;-校验 8位 = U8checkdata-;-调

4、用相关子程序如下-;- Read,Delay_10us , Delay ;-RH: ;主机拉低总线,延时500us CLR P2.0 MOV A,#36 LCALL Delay SETB P2.0 ;延时40us LCALL Delay_10us LCALL Delay_10us LCALL Delay_10us LCALL Delay_10us ;检测从机是否响应,无响应则跳出 JB P2.0,RH_END MOV FLAG,#0LOOP1: INC FLAG MOV A,FLAG JB P2.0,LOOP1_END ;为高电平则跳出 CJNE A,#0,LOOP1 LJMP RH_ENDL

5、OOP1_END: MOV FLAG,#0LOOP2: INC FLAG MOV A,FLAG JNB P2.0,LOOP2_END ;为低电平则跳出 CJNE A,#0,LOOP2 LJMP RH_ENDLOOP2_END: ;进入数据接收阶段 LCALL Read MOV U8RH_data_H,U8comdata; LCALL Read MOV U8RH_data_L,U8comdata; LCALL Read MOV U8T_data_H,U8comdata; LCALL Read MOV U8T_data_L,U8comdata; LCALL Read MOV U8checkdata

6、,U8comdata; SETB P2.0 ;- ;-注意:本程序没有加校验程序 如果用户需要校验请安以下说明编写校验程序- ;- ; 数据传送正确时校验和U8checkdata的值等于 ; 8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据所得结果的末8位 ;- ;- ;- RH_END: RET;-;-读数子程序-;-Read: MOV temp,#8 MOV U8comdata,#0LOOP_COM: ;判断低电平是否结束 MOV FLAG,#0LOOP3: INC FLAG MOV A,FLAG JB P2.0,LOOP3_END ;为高电平则跳出 C

7、JNE A,#0,LOOP3 LJMP COM_ENDLOOP3_END: ;- ;CLR P2.1 ;SETB P2.1 ;- LCALL Delay_10us LCALL Delay_10us LCALL Delay_10us ;- ;CLR P2.1 ;SETB P2.1 ;- MOV U8temp,#0 JNB P2.0,HIGH_END MOV U8temp,#1HIGH_END: MOV FLAG,#0LOOP4: INC FLAG MOV A,FLAG JNB P2.0,LOOP4_END ;为低电平则跳出 CJNE A,#0,LOOP4 LJMP COM_ENDLOOP4_EN

8、D: MOV A,FLAG CJNE A,#0,NO_FLAG LJMP COM_ENDNO_FLAG: MOV A,U8comdata RL A ORL A,U8temp MOV U8comdata,A ;判断高电平是否结束 DJNZ temp,LOOP_COMCOM_END: RET;-;-延时函数 -;-Delay: MOV R4,A ;2.5msD1: MOV R5,#0FFH DJNZ R5,$ DJNZ R4,D1 RET;-;-延时10us函数 -;-Delay_10us: ;10us NOP NOP NOP NOP NOP NOP RET;-;-延时2S函数 -;-Delay_

9、2S: MOV A,#250 LCALL Delay MOV A,#250 LCALL Delay MOV A,#250 LCALL Delay MOV A,#250 LCALL Delay MOV A,#250 LCALL Delay MOV A,#250 LCALL Delay MOV A,#250 LCALL Delay MOV A,#250 LCALL Delay RET;-;-串口数据发送函数 -;-TX_DATA: CLR ES ;禁止串口中断 MOV SBUF,A JNB TI,$ CLR TI ;将同一数据发送到串口 SETB ES ;允许串口中断 RET;-;-串口中断函数 -;-SET_INT: CLR ES ;禁止串口中断 JNB RI,$ CLR RI MOV A,SBUF ;接受串口数据 MOV P0,A ;将串口数据送往P0 MOV SBUF,A JNB TI,$ CLR TI ;将同一数据发送到串口 SETB ES ;允许串口中断 RETI END;-;-结束-;- RS BIT P3.4RW BIT P3.5E BIT P3.6D1 BIT P2.0D2 BIT P2.1D3 BIT P2.2IDS BIT P2.4IRW BIT P2.5

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1