数字温度计设计汇编源程序Word文档格式.doc
- 文档编号:15512144
- 上传时间:2022-11-03
- 格式:DOC
- 页数:15
- 大小:287.50KB
数字温度计设计汇编源程序Word文档格式.doc
《数字温度计设计汇编源程序Word文档格式.doc》由会员分享,可在线阅读,更多相关《数字温度计设计汇编源程序Word文档格式.doc(15页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 温度计 设计 汇编 源程序