⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wd.lst

📁 自己写的温度显示程序
💻 LST
字号:
A51 MACRO ASSEMBLER  WD                                                                   05/04/2008 10:34:27 PAGE     1


MACRO ASSEMBLER A51 V6.12
OBJECT MODULE PLACED IN .\wd.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE .\wd.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

  0036                 1     TEMPER_L EQU 36H ;从DS18B20中读回高位,低位暂存区
  0035                 2     TEMPER_H EQU 35H ;
  0060                 3     TEMPER_NUM EQU 60H;温度值存储
  0061                 4     TEMPER_GE EQU 61H
  0062                 5     TEMPER_SHI EQU 62H
  0063                 6     TEMPER_SAVE EQU 63H
  0000                 7     FLAG1 BIT 00H
  0001                 8     FLAG2 BIT 01H
                       9     
  0080                10     RS  BIT P0.0             ;设置寄存器端口
  0081                11     RW  BIT P0.1             ;设置读写端口
  0082                12     E   BIT P0.2             ;设置读写使能端口
  0090                13     DQ BIT P1.0;单总线口
0000                  14     ORG 0000H
0000 0130             15     AJMP MAIN
0030                  16     ORG 0030H
0030 758170           17     MAIN: MOV SP,#70H 
0033 120040           18     LCALL GET_TEMPER 
0036 1200CE           19     LCALL TEMPER_COV 
0039 120127           20     LCALL DISPLAY
003C 020030           21     LJMP MAIN
003F 00               22     NOP 
                      23     ;**************************************************
                      24     ;读出转换后的温度值 
                      25     ;**************************************************
0040                  26     GET_TEMPER: 
0040 D290             27     SETB DQ ; 定时入口 
0042 120101           28     BCD: LCALL INIT_1820 
0045 200003           29     JB FLAG1,S22 
0048 020042           30     LJMP BCD ; 若DS18B20不存在则返回 
                      31     
004B 1201C2           32     S22: LCALL DELAY1 
004E 74CC             33     MOV A,#0CCH ; 跳筊OM匹配------0CC命令
0050 120092           34     LCALL WRITE_1820 
0053 7444             35     MOV A,#44H ; 发出温度转换命令 
0055 120092           36     LCALL WRITE_1820 
0058 00               37     NOP 
0059 1201BD           38     LCALL DELAY 
005C 120101           39     CBA:LCALL INIT_1820 
005F 200003           40     JB FLAG1,ABC 
0062 02005C           41     LJMP CBA 
0065 1201C2           42     ABC:LCALL DELAY1 
0068 74CC             43     MOV A,#0CCH ; 跳筊OM匹配 
006A 120092           44     LCALL WRITE_1820 
006D 74BE             45     MOV A,#0BEH ; 发出读温度命令 
006F 120092           46     LCALL WRITE_1820 
0072 1200AA           47     LCALL READ_18200 ;READ_1820 
0075 22               48     RET 
                      49     ;**************************************************************
                      50     ;读DS18B20的程序,从DS18B20中读出一个字节的示

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -