📄 ds1620a.lst
字号:
A51 MACRO ASSEMBLER DS1620A 08/10/2007 12:21:29 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN DS1620A.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE DS1620A.ASM SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;****************************************************************
2 ;/* 这是DS1620的汇编程序, 文件名DS1620A.ASM */
3 ;/* 功能:本程序主要是读出DS1620芯片转换后的温度值,并把它放在 */
4 ;/* 寄存器R1,R2中,R2中放高8位。注意,这两个8 位共16位中,只 */
5 ;/* 有低9位有效。这里测温范围是-55℃~125℃。 */
6 ;/* 本程序适合DS1620 和51系列单片机的连接,晶振为12MHZ左右。 */
7 ;******************************************************************
8
0090 9 DQ BIT P1.0
0091 10 CLK BIT P1.1
0092 11 RST BIT P1.2
12
0000 13 ORG 0000H
0000 0130 14 AJMP MAIN
0030 15 ORG 0030H
0030 758130 16 MAIN: MOV SP,#30H
0033 C2AF 17 CLR EA
0035 12005C 18 LCALL CONFIGURE ;写DS1620配置寄存器设定值
19 ;LCALL RECONFIGURE ;读DS1620配置寄存器设定值
0038 120074 20 LCALL STARTCONVERT ;使DS1620 开始转换温度
003B 12007D 21 LCALL READTEMPERATURE ;读出转换后的温度值
003E 80FE 22 SJMP $
0040 23 WRITE1620: ; 写DS1620
0040 7808 24 MOV R0,#08H ; 每次写入8B
0042 25 ITWRITE:
0042 C291 26 CLR CLK ; 时钟脉冲置零
0044 13 27 RRC A ; 右移A , 使最低位移入进位位C中
0045 9290 28 MOV DQ ,C ; 输出C到DQ
0047 D291 29 SETB CLK ; 产生时钟脉冲的上裳
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -