数字温度计设计汇编源程序Word文档格式.doc

上传人:b****3 文档编号:15512144 上传时间:2022-11-03 格式:DOC 页数:15 大小:287.50KB
下载 相关 举报
数字温度计设计汇编源程序Word文档格式.doc_第1页
第1页 / 共15页
数字温度计设计汇编源程序Word文档格式.doc_第2页
第2页 / 共15页
数字温度计设计汇编源程序Word文档格式.doc_第3页
第3页 / 共15页
数字温度计设计汇编源程序Word文档格式.doc_第4页
第4页 / 共15页
数字温度计设计汇编源程序Word文档格式.doc_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数字温度计设计汇编源程序Word文档格式.doc

《数字温度计设计汇编源程序Word文档格式.doc》由会员分享,可在线阅读,更多相关《数字温度计设计汇编源程序Word文档格式.doc(15页珍藏版)》请在冰豆网上搜索。

数字温度计设计汇编源程序Word文档格式.doc

TEMP_LOWEREQU2BH

==========================工作内存定义============================

BITST DATA20H

TIME1SOK BITBITST.1

TEMPL DATA26H

TEMPH DATA27H

TEMPHC DATA28H

TEMPLC DATA29H

=============================引脚定义===========================

TEMPDIN BITP3.7

ALARMDINBITP1.6

RSTBITP1.2

CLKBITP1.1

IOBITP1.0

=============================中断向量区=========================

ORG 0000H

LJMP START

ORG 000BH

LJMP T0IT

=============================系统初始化==========================

ORG 0100H

START:

MOV SP,#60H

CLSMEM:

MOV R0,#20H

MOV R1,#60H

CLSMEM1:

MOV @R0,#00H

INC R0

DJNZ R1,CLSMEM1

MOV TMOD,#00010001B;

定时器0工作方式1(16BIT)

MOV TH0,#TIMEH

MOV TL0,#TIMEL;

20ms

MOVSECOND,#00H

MOVMINUTE,#00H

MOVHOUR,#14H

MOVDAY,#17H

MOVMONTH,#01H

MOVWEEK,#01H

MOVYEAR,#13H

MOVTEMP_UPPER,#0AH

MOVTEMP_LOWER,#8AH

SETB ET0

SETB EA

MOV PSW,#00H

=================================================================

=============================主程序=============================

LCALLSETDS1302

START1:

LCALL READ_TEMP ;

读出温度值子程序

LCALL CONVTEMP ;

温度BCD码计算处理子程序

LCALL REFBCD ;

显示区BCD码温度值刷新子程序

LCALLGETDS1302

SETB TR0

LCALLALARM_JUDGE

JNBF0,MAIN

LCALLALARM_BEEP

MAIN:

LCALL DISP_TEMP ;

调用显示子程序

LCALLDISPLAY_TIME

JNB TIME1SOK,MAIN

CLR TIME1SOK;

测温每1s一次

MAIN1:

LCALLDISPLAY_DATE

JNB TIME1SOK,MAIN1

LJMPSTART1

======================定时器0中断服务程序=======================

T0IT:

PUSH PSW

MOV PSW,#10H

MOV TH0,#TIMEH

MOV TL0,#TIMEL

INC R7

CJNE R7,#50,T0IT1

MOV R7,#00H

SETB TIME1SOK ;

1s定时到标志

T0IT1:

POP PSW

RETI

=============================子程序区===========================

=============================初始化DS18B20=======================

INITDS1820:

SETB TEMPDIN

NOP

CLR TEMPDIN

MOV R6,#0A0H

DJNZ R6,$

MOV R6,#0A0H

SETB TEMPDIN

MOV R6,#32H

MOV R6,#3CH

LOOP1820:

MOV C,TEMPDIN

JC INITDS1820OUT

DJNZ R6,LOOP1820

MOV R6,#064H

SJMP INITDS1820

INITDS1820OUT:

SETB TEMPDIN

RET

======读DS18B20的程序,从DS18B20中读出一个字节的数据=============

READDS1820:

MOV R7,#08H

SETB TEMPDIN

NOP

READDS1820LOOP:

CLR TEMPDIN

NOP

SETB TEMPDIN

MOV R6,#07H ;

DELAY15us

DJNZ R6,$

MOV C,TEMPDIN

MOV R6,#3CH ;

DELAY120us

RRC A

DJNZ R7,READDS1820LOOP

DELAY120us

========写DS18B20的程序,从DS18B20中写一个字节的数据=============

WRITEDS1820:

WRITEDS1820LOP:

MOV TEMPDIN,C

MOV R6,#34H ;

DELAY104us

DJNZ R7,WRITEDS1820LOP

=========================READTEMP===========================

READ_TEMP:

LCALL INITDS1820

MOV A,#0CCH

LCALL WRITEDS1820 ;

SKIPROM

MOV R6,#34H ;

DJNZ R6,$

MOV A,#44H

STARTCONVERSION

MOV R6,#34H ;

DELAY104

READTEMP1:

LCALL INITDS1820

LCALL WRITEDS1820 ;

MOV R6,#34H ;

MOV A,#0BEH

LCALL WRITEDS1820 ;

SCRATCHPAD

MOV R5,#09H

MOV R0,#TEMPHEAD

MOV B,#00H

READTEMP2:

LCALL READDS1820

MOV @R0,A

INC R0

DJNZ R5,READTEMP2

MOV A,TEMPHEAD+0

MOV TEMPL,A

MOV A,TEMPHEAD+1

MOV TEMPH,A

READTEMPOUT:

RET

==================处理温度BCD码子程序==========================

CONVTEMP:

MOV A,TEMPH

ANL A,#80H

JZ TEMPC1

CLR C

MOV A,TEMPL

CPL A

ADD A,#01H

MOV A,TEMPH ;

-

ADDC A,#00H

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

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

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