77范文网 - 专业文章范例文档资料分享平台

基于18B20的单片机课程设计报告(含汇编程序)(3)

来源:网络收集 时间:2021-09-24 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

CLR FLAG1 LJMP TSR6 TSR5:

MOV R0,#100 DJNZ R0,$ TSR6:

SETB DQ RET

;******************************************* ;读出转换后的温度

;******************************************* GET_TEMPER:

SETB DQ

LCALL INIT_1820 JB FLAG1, TSS2 RET TSS2:

MOV A,#0CCH LCALL WRITE_1820 MOV A,#44H

LCALL WRITE_1820 LCALL S_DELAY LCALL INIT_1820 MOV A,#0CCH LCALL WRITE_1820 MOV A,#0BEH LCALL WRITE_1820 LCALL READ_18B20 RET

;******************************************* ;写,读DS18B20的子程序

;******************************************** WRITE_1820:

MOV R2,#8 CLR C WR1:

CLR DQ MOV R3,#3

基于18b20的电子温度计课程设计,可用两位小数显示开式,华氏,摄氏温标,三个按键。可设置上限,下限报警。程序均经过上电调试。(不含硬件图,仅供参考。)

DJNZ R3,$ RRC A MOV DQ,C MOV R3,#33 DJNZ R3,$ SETB DQ NOP

DJNZ R2,WR1 SETB DQ RET

READ_18B20:

MOV R4,#2 MOV R1,#31H RE00: MOV R2,#8 RE01: CLR C SETB DQ NOP NOP

CLR DQ NOP NOP NOP

SETB DQ MOV R3,#9 RE10: DJNZ R3,RE10 MOV C,DQ MOV R3,#23 DJNZ R3,$ RRC A

DJNZ R2,RE01 MOV @R1,A DEC R1

DJNZ R4,RE00 RET

;***************************************************** ;数据处理子程序,判断正负,并分离转换值的整数和小数部分 ;符号位为SIGN,0为正,1为负

;整数部分存放在INTEG(32H)中,小数部分存放在DECIM(33H)中 ;***************************************************** DATA_PROC:

基于18b20的电子温度计课程设计,可用两位小数显示开式,华氏,摄氏温标,三个按键。可设置上限,下限报警。程序均经过上电调试。(不含硬件图,仅供参考。)

CLR C CLR SIGN MOV A ,MSB RLC A JC NEG LJMP PROC NEG:

CLR C SETB SIGN MOV A,LSB CPL A ADD A,#1 MOV LSB,A MOV A,MSB CPL A ADDC A,#0 MOV MSB,A PROC:

MOV A,LSB ANL A,#0FH MOV DECIM,A MOV A,MSB SWAP A

ANL A,#0F0H MOV INTEG,A MOV A,LSB SWAP A

ANL A ,#0FH MOV R0,INTEG ORL A,R0 MOV INTEG,A

RET

;*************************************************************** ;生成显示码子程序 ,摄氏首地址为34H,开式首地址为50H,华氏为63H ;符号位断码存放在SEG-S中,整数断码存放在SEG-I3到SEG-I1中 ;小数部分断码存放在SEG_D1(38H),SEG_D2(39H)中 .

;*************************************************************** SEG_GEN:

JB SIGN,S_NEG MOV SEG_S,#00H SJMP S_INT S_NEG:

MOV SEG_S,#40H S_INT:

基于18b20的电子温度计课程设计,可用两位小数显示开式,华氏,摄氏温标,三个按键。可设置上限,下限报警。程序均经过上电调试。(不含硬件图,仅供参考。)

MOV A,INTEG MOV B,#100 DIV AB MOV 58H,A

MOVC A,@A+DPTR MOV SEG_I3,A MOV A,B MOV B,#10 DIV AB MOV 59H,A MOVC A,@A+DPTR MOV SEG_I2,A MOV A,B MOV 5AH,A MOVC A,@A+DPTR ORL A,#80H MOV SEG_I1,A

MOV A,DECIM MOV B,#12 MUL AB PUSH ACC MOV A,DECIM CLR C RRC A MOV R3,A POP ACC ADD A,R3

MOV B,#2 DIV AB PUSH ACC MOV A,B

CJNE A,#01H,SW1 POP ACC AJMP ACT SW1: POP ACC INC A ACT: MOV B,#10 DIV AB MOV 5BH,A

MOVC A,@A+DPTR MOV SEG_D1,A MOV A,B

基于18b20的电子温度计课程设计,可用两位小数显示开式,华氏,摄氏温标,三个按键。可设置上限,下限报警。程序均经过上电调试。(不含硬件图,仅供参考。)

MOV 5CH,A MOVC A,@A+DPTR MOV SEG_D2,A

MOV SEG_O,#63H ;符号 ℃ MOV SEG_C,#39H

MOV A,5CH ;计算开式温标数值

AGAIN1: ADD A,#5 MOV B,#10 DIV AB MOV 68H,B ADD A,5BH ADD A,#1 MOV B,#10 DIV AB MOV 67H,B ADD A,5AH ADD A,#3 MOV B,#10 DIV AB MOV 66H,B ADD A,59H ADD A,#7 MOV B,#10 DIV AB MOV 65H,B ADD A,58H ADD A,#2 MOV B,#10 DIV AB MOV 64H,B MOV R0,#64H

MOV A,@R0 MOVC A,@A+DPTR MOV @R0,A INC R0

CJNE R0,#69H,AGAIN1 ORL 66H,#80H

MOV 69H,#06H ;得到开式段码符号K

;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说医药卫生基于18B20的单片机课程设计报告(含汇编程序)(3)在线全文阅读。

基于18B20的单片机课程设计报告(含汇编程序)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/yiyao/1252799.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: