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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

DS18B20温度控制数码管显示汇编非常详细Word格式.docx

1、 RELAY EQU P1.3 FLAG1 EQU 20H.0 FLAG2 EQU 20H.1- K1 EQU P1.4 K2 EQU P1.5 K3 EQU P1.6 K4 EQU P1.7= ORG 0000H JMP MAIN ORG 000BH AJMP INT_T0-MAIN: MOV SP,#30H MOV TMOD,#01H ;T0,方式1 MOV TIMER_L,#00H ;50ms定时值 MOV TIMER_H,#4CH MOV TIMER_COUN,#00H ;中断计数 MOV IE,#82H ;EA=1,ET0=1 LCALL READ_E2 ;LCALL RE_18B2

2、0 MOV 20H,#00H SETB BEEP SETB RELAY MOV 7FH,#0AH ;熄灭符 CALL RESET ;复位与检测DS18B20 JNB FLAG1,MAIN1 ;FLAG1=0,DS18B20不存在 JMP STARTMAIN1: CALL RESET JB FLAG1,START LCALL BEEP_BL ;DS18B20错误,报警 JMP MAIN1START: MOV A,#0CCH ; 跳过ROM匹配 CALL WRITE MOV A,#044H ; 发出温度转换命令 MOV A,#0BEH ; 发出读温度命令 CALL READ ;读温度数据 CALL

3、 CONVTEMP CALL DISPBCD CALL DISP1 CALL SCANKEY LCALL TEMP_COMP=DS18B20 复位与检测子程序FLAG1=1 OK, FLAG1=0 ERROR=RESET: SETB DATA_LINE NOP CLR DATA_LINE MOV R0,#64H ;主机发出延时600微秒的复位低脉冲 MOV R1,#03HRESET1: DJNZ R0,$ MOV R0,#64H DJNZ R1,RESET1 SETB DATA_LINE ;然后拉高数据线 MOV R0,#25HRESET2: JNB DATA_LINE,RESET3 ;等待D

4、S18B20回应 DJNZ R0,RESET2 JMP RESET4 ; 延时RESET3: SETB FLAG1 ; 置标志位,表示DS1820存在 JMP RESET5RESET4: CLR FLAG1 ; 清标志位,表示DS1820不存在 JMP RESET6RESET5: MOV R0,#064H DJNZ R0,$ ; 时序要求延时一段时间RESET6: RET=WRITE: MOV R2,#8 ;一共8位数据 CLR CYWR1: CLR DATA_LINE ;开始写入DS18B20总线要处于复位(低)状态 MOV R3,#09 DJNZ R3,$ ;总线复位保持18微妙以上 RR

5、C A ;把一个字节DATA 分成8个BIT环移给C MOV DATA_LINE,C ;写入一个BIT MOV R3,#23等待46微妙重新释放总线 DJNZ R2,WR1 ;写入下一个BIT=从DS18B20中读出温度低位、高位和报警值TH、TL存入26H、27H、28H、29HREAD: MOV R4,#4 ; 将温度高位和低位从DS18B20中读出 MOV R1,#26H ; 存入26H、27H、28H、29HRE00: MOV R2,#8RE01: CLR C读前总线保持为低开始读总线释放 MOV R3,#09 ;延时18微妙 DJNZ R3,$ MOV C,DATA_LINE ;从D

6、S18B20总线读得一个BIT把读得的位值环移给A DJNZ R2,RE01 ;读下一个BIT MOV R1,A INC R1 DJNZ R4,RE00 RET -200ms对闪动标记取反一次INT_T0: PUSH ACC PUSH PSW MOV TL0,TIMER_L MOV TH0,TIMER_H INC TIMER_COUN MOV A,TIMER_COUN CJNE A,#04H,INT_END MOV TIMER_COUN,#00H CPL FLAG2INT_END: POP PSW POP ACC RETI=重新对 DS18B20 初始化将设定的温度报警值写入 DS18B20R

7、E_18B20: JB FLAG1,RE_18B20ARE_18B20A:跳过ROM匹配 LCALL WRITE MOV A,#4EH ;写暂存寄存器 MOV A,TEMP_TH ;TH(报警上限) MOV A,TEMP_TL ;TL(报警下限) MOV A,#7FH ;12位精确度=功能键扫描子程序SCANKEY: MOV P1,#0F0H JB K1,SCAN_K2 CALL BEEP_BLSCAN_K1: CALL ALERT_TL CALL ALERT_PLAY JB K1,SCAN_K1SCAN_K11: CALL ALERT_TH JB K1,SCAN_K11SCAN_K2: JB

8、 K2,SCAN_K3SCAN_K3: JB K3,SCAN_K4 LCALL RESET_ALERT LCALL RE_18B20 LCALL WRITE_E2SCAN_K4: JB K4,SCAN_ENDSCAN_END:=设置温度报警值RESET_ALERT: JNB K3,$ ;K3为位移键 SETB TR0RESET_TL: JNB FLAG2,R_TL01 mov 75H,7fh ;送入熄灭符 mov 76H,7fh JMP R_TL02R_TL01: mov 75h,7Eh ;送设定值 mov 76h,7Dh CALL ALERT_PLAY ;显示设定值R_TL02: JNB K1,K011A JNB K2,K011B JNB K3,RESET_TH JMP RESET_TLK011A: INC TEMP_TL MOV A,TEMP_TL CJNE A,#120,K012A ;没有到设定上限值,转 MOV TEMP_TL,#0K012A: CALL TL_DELK011B: DEC TEMP_TL CJNE A,#00H,K012B ;没有到设定下限值,转 MOV TEMP_TL,#119K012B:-

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

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