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

📄 ll.lst

📁 proteus 仿真的烤箱程序
💻 LST
📖 第 1 页 / 共 2 页
字号:

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 1





       MCS-51 Family Cross Assembler   A S E M - 5 1   V 1.2
       =====================================================



	Source File:	LL.ASM
	Object File:	LL.HEX
	List File:	LL.LST



 Line  I  Addr  Code            Source

    1:
    2:
    3:				;==================================================================
    4:				;单片机内存分配申明!
    5:		N      0078	ADC0            EQU    078H
    6:
    7:		N      0021	DIVDLL	EQU	21H 	;定义被除数
    8:		N      0022	DIVDLH	EQU	22H
    9:		N      0023	DIVDHL	EQU	23H
   10:		N      0024	DIVDHH	EQU	24H
   11:		N      0025	DIVL	EQU	25H	;定义除数
   12:		N      0026	DIVH	EQU	26H
   13:		N      0027	TEMPL	EQU	27H	;定义余数单元
   14:		N      0028	TEMPH	EQU	28H
   15:		N      0029	AD	EQU	29H	;16进制数暂存单元
   16:		N      002A	KEY	EQU	2AH
   17:
   18:
   19:				;=================================================================
   20:				;液晶显示器寄存器地址分配
   21:				;-----------------------------------------------------------------
   22:		N      0080	LCD_CMD_WR	EQU 	80H ;8000H	;液晶显示器命令寄存器地址
   23:		N      0081	LCD_DATA_WR	EQU	81H ;8001H		;液晶显示器显存数据寄存器地址
   24:		N      0082	LCD_BUSY_RD	EQU	82H ;8002H		;液晶显示器忙状态寄存器地址
   25:		N      0083	LCD_DATA_RD	EQU	83H ;8003H		;读液晶显示器内部数据地址
   26:
   27:				;=================================================================
   28:				;液晶显示器命令
   29:				;-----------------------------------------------------------------
   30:		N      0001	LCD_CLS		EQU	1		  ;清屏命令
   31:		N      0002	LCD_HOME	EQU	2		  ;光标返回行首命令
   32:		N      0004	LCD_SETMODE	EQU	4		  ;设置光标移动方向为右移,不移动
   33:		N      0008	LCD_SETVISIBLE	EQU	8		;关闭显示
   34:		N      0010	LCD_SHIFT	EQU	16		  ;清除光标和整个显示,光标左移
   35:		N      0020	LCD_SETFUNCTION	EQU	32		;设置显示方式为8bit接口、1行、5*7点阵字体
   36:		N      0040	LCD_SETCGADDR	EQU	64		;设置字符发生器地址
   37:		N      0080	LCD_SETDDADDR	EQU	128		;设置显存地址
   38:
   39:
   40:
   41:
   42:				;===============  主程序开始  =============================================
   43:

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:		N      0000				ORG 	0000H
   45:	  0000	02 00 30				LJMP	START
   46:		N      0030				ORG	30H
   47:
   48:
   49:	  0030			START:
   50:	  0030	12 01 4D			LCALL	INIT		;初始化液晶显示器
   51:	  0033	12 01 42			LCALL   AD_start                     ;启动AD,温度在 29H 中。
   52:	  0036	75 2A 1D	                                 MOV    KEY,    #29
   53:	  0039	12 00 D0		               LCALL  ALL_display
   54:
   55:
   56:	  003C			MAIN:
   57:	  003C	12 00 6A		LCALL   JIANPAN
   58:
   59:
   60:	  003F	12 01 42	BIJIAO:       LCALL  AD_start
   61:
   62:	  0042	12 00 9A		   LCALL  AD_display
   63:
   64:	  0045	E5 2A			   MOV    A,KEY
   65:	  0047	C3		                   CLR  C
   66:	  0048	94 05		                   SUBB A,#5
   67:	  004A	F5 F0		                   MOV B,A
   68:
   69:	  004C	E5 29		                   MOV     A,  AD
   70:
   71:
   72:	  004E	C3			   CLR    C
   73:	  004F	95 F0		                   SUBB    A, B
   74:	  0051	70 05		                   JNZ  NEQ		  ; CJNE    A,#00H,NEQ
   75:	  0053	D2 B0		                  SETB   P3.0
   76:	  0055	02 00 3C	                   LJMP   MAIN     ;相等返回.
   77:
   78:	  0058	40 08		NEQ:          JC      OW
   79:
   80:	  005A	D2 B0		                SETB    P3.0  ;停止工作
   81:	  005C	12 01 7F		LCALL D1MS
   82:
   83:
   84:					;LCALL  AD_display
   85:
   86:	  005F	02 00 3C	                LJMP	MAIN
   87:
   88:	  0062			OW:
   89:	  0062	C2 B0		 	CLR    P3.0
   90:
   91:	  0064	12 01 7F		LCALL D1MS
   92:
   93:				           ;  LCALL   AD_display
   94:
   95:
   96:				              ; JMP    BIJIAO
   97:
   98:
   99:	  0067	02 00 3C	                LJMP	MAIN

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 3



 Line  I  Addr  Code            Source

  100:
  101:
  102:				;===============  主程序结束  ============================================
  103:
  104:				;===================================================================
  105:	  006A	74 FF		JIANPAN:        MOV     A,#0FFH
  106:	  006C	F5 90		                MOV     P1,A
  107:	  006E	E5 90		                MOV     A,P1
  108:
  109:	  0070	30 E0 07	                JNB     ACC.0,G0
  110:
  111:	  0073	30 E1 07	                JNB     ACC.1,G1
  112:
  113:	  0076	30 E2 07	                JNB     ACC.2,G2
  114:
  115:
  116:
  117:	  0079	22		                 RET
  118:
  119:	  007A			G0:             ;LJMP    D1MS
  120:	  007A	02 00 83	                LJMP    PROG0
  121:
  122:	  007D			G1:            ; LJMP    D1MS
  123:	  007D	02 00 8B	                LJMP    PROG1
  124:
  125:	  0080			G2:            ; LJMP    D1MS
  126:	  0080	02 00 92	                LJMP    PROG2
  127:
  128:	  0083	75 2A 32	PROG0:     MOV     KEY,#50
  129:
  130:	  0086	12 00 D0	                 LCALL  ALL_display
  131:
  132:
  133:	  0089	80 DF		                JMP     JIANPAN
  134:
  135:	  008B			PROG1:
  136:	  008B	05 2A			INC     KEY
  137:	  008D	12 00 D0		LCALL   ALL_display
  138:
  139:
  140:	  0090	80 D8		                JMP     JIANPAN
  141:
  142:	  0092			PROG2:
  143:	  0092	15 2A			DEC     KEY
  144:	  0094	12 00 D0	 	LCALL   ALL_display
  145:
  146:
  147:	  0097	80 D1		                JMP     JIANPAN
  148:	  0099	22		                RET
  149:				;=========================================================
  150:				;====================================================
  151:	  009A	74 02		AD_display:		              MOV	A,#2          ;显存地址指针清零,光标回到行首
  152:	  009C	12 01 6D					LCALL	WRCMD
  153:
  154:	  009F	E5 29						MOV A,AD
  155:	  00A1	12 02 03				                LCALL BTOD

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 4



 Line  I  Addr  Code            Source

  156:
  157:
  158:
  159:
  160:	  00A4	74 54						MOV	A,  #'T'
  161:	  00A6	12 01 73					LCALL	WRDATA		;显示字母“T”
  162:
  163:
  164:
  165:	  00A9	74 3D						MOV	A,  #'='
  166:	  00AB	12 01 73					LCALL	WRDATA		;显示字母“=”
  167:
  168:
  169:
  170:	  00AE	EB						MOV      A,R3
  171:	  00AF	44 30						ORL       A,#30H                     ;	百位
  172:	  00B1	12 01 73					LCALL   WRDATA
  173:
  174:
  175:
  176:	  00B4	EC						MOV      A,R4
  177:	  00B5	44 30				        		ORL     A,#30H	            ;十位
  178:	  00B7	12 01 73					LCALL   WRDATA
  179:
  180:	  00BA	ED						MOV     A,R5	             ;个位
  181:	  00BB	44 30				           		ORL        A,#30H
  182:	  00BD	12 01 73					LCALL     WRDATA
  183:
  184:	  00C0	74 DF						MOV	A,#0DFH		;显示“°”
  185:	  00C2	12 01 73					LCALL	WRDATA
  186:	  00C5	74 43						MOV	A,#'C'		;显示“C”
  187:	  00C7	12 01 73					LCALL	WRDATA
  188:
  189:								;MOV	A,#20H	         ;显示空格
  190:								;LCALL	WRDATA
  191:	  00CA	74 02						 MOV	A,#2          ;显存地址指针清零,光标回到行首
  192:	  00CC	12 01 6D					LCALL	WRCMD
  193:
  194:	  00CF	22						RET
  195:				;=========================================================================
  196:				;--------------------------------------------------------------------------
  197:				;以下程序完成将测量的温度值在液晶显示器上显示出来的任务
  198:				;---------------------------------------------------------------------------
  199:
  200:	  00D0	E5 29		ALL_display:		                MOV A,AD
  201:	  00D2	12 02 03				                LCALL BTOD
  202:
  203:
  204:
  205:
  206:	  00D5	74 54						MOV	A,  #'T'
  207:	  00D7	12 01 73					LCALL	WRDATA		;显示字母“T”
  208:
  209:
  210:
  211:	  00DA	74 3D						MOV	A,  #'='

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 5



 Line  I  Addr  Code            Source

  212:	  00DC	12 01 73					LCALL	WRDATA		;显示字母“=”
  213:
  214:
  215:
  216:	  00DF	EB						MOV      A,R3
  217:	  00E0	44 30						ORL       A,#30H                     ;	百位
  218:	  00E2	12 01 73					LCALL   WRDATA
  219:
  220:
  221:
  222:	  00E5	EC						MOV      A,R4
  223:	  00E6	44 30				        		ORL     A,#30H	            ;十位
  224:	  00E8	12 01 73					LCALL   WRDATA
  225:
  226:	  00EB	ED						MOV     A,R5	             ;个位
  227:	  00EC	44 30				           		ORL        A,#30H
  228:	  00EE	12 01 73					LCALL     WRDATA
  229:
  230:	  00F1	74 DF						MOV	A,#0DFH		;显示“°”
  231:	  00F3	12 01 73					LCALL	WRDATA
  232:	  00F6	74 43						MOV	A,#'C'		;显示“C”
  233:	  00F8	12 01 73					LCALL	WRDATA
  234:
  235:	  00FB	74 20						MOV	A,#20H	         ;显示空格
  236:	  00FD	12 01 73					LCALL	WRDATA
  237:
  238:
  239:	  0100	E5 2A		KEY_display:			MOV     A,KEY
  240:	  0102	12 02 03					LCALL   BTOD
  241:
  242:	  0105	74 54						MOV	A,#'T'
  243:	  0107	12 01 73					LCALL	WRDATA		;显示字母“T”
  244:
  245:	  010A	74 3D						MOV	A,#'='
  246:	  010C	12 01 73					LCALL	WRDATA		;显示字母“=”
  247:
  248:	  010F	EB						MOV     A,R3
  249:	  0110	44 30						ORL     A,#30H
  250:	  0112	12 01 73					LCALL   WRDATA
  251:
  252:	  0115	EC						MOV     A,R4
  253:	  0116	44 30				       		ORL     A,#30H
  254:	  0118	12 01 73					LCALL   WRDATA
  255:
  256:	  011B	ED						MOV     A,R5
  257:	  011C	44 30				        		ORL     A,#30H
  258:	  011E	12 01 73					LCALL   WRDATA
  259:
  260:	  0121	74 DF						MOV	A,#0DFH		;显示“°”
  261:	  0123	12 01 73					LCALL	WRDATA
  262:
  263:	  0126	74 43						MOV	A,#'C'		;显示“C”
  264:	  0128	12 01 73					LCALL	WRDATA
  265:
  266:
  267:	  012B	74 20						MOV	A,#20H		;显示空格

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 6



 Line  I  Addr  Code            Source

  268:	  012D	12 01 73					LCALL	WRDATA
  269:
  270:	  0130	74 02						  MOV	A,#2          ;显存地址指针清零,光标回到行首
  271:	  0132	12 01 6D					LCALL	WRCMD
  272:
  273:	  0135	22						RET
  274:
  275:
  276:
  277:
  278:
  279:
  280:
  281:
  282:
  283:				;=========================================================================
  284:	  0136	7D 04		D1S:            MOV     R5,#4
  285:	  0138	7E FA		M4:             MOV     R6,#250
  286:	  013A	12 01 7F	M5:             LCALL   D1MS
  287:	  013D	DE FB		                DJNZ    R6,M5
  288:	  013F	DD F7		                DJNZ    R5,M4
  289:	  0141	22		                RET
  290:				;=========================================================================
  291:
  292:
  293:
  294:
  295:
  296:
  297:
  298:
  299:				;=========================================================================
  300:				;启动AD转换,把转换后的温度值存放在"29H"中。
  301:				;=========================================================================
  302:	  0142	90 00 78	AD_start:                                                  MOV	DPTR,#ADC0
  303:
  304:	  0145	F0						MOVX	@DPTR,A		;启动A/D
  305:
  306:
  307:	  0146	12 01 7F					LCALL      D1MS
  308:	  0149	E0						MOVX	A,@DPTR		;取采样的电压值
  309:
  310:	  014A	F5 29						MOV      AD ,A
  311:
  312:								;MOV	R3,A
  313:								;MOV	R2,#0
  314:								;MOV	R6,#00H     ;
  315:								;MOV	R7,#0C4H   ;#196
  316:								;LCALL	DMUL
  317:
  318:
  319:								;MOV	DIVDHH,R4
  320:								;MOV	DIVDHL,R5
  321:								;MOV	DIVDLH,R6
  322:								;MOV	DIVDLL,R7
  323:

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 7



 Line  I  Addr  Code            Source

  324:								;MOV	DIVL,#01H
  325:								;MOV	DIVH,#0F4H	;除数=500
  326:								;LCALL	CHUFA		;除500得到电压值
  327:
  328:								;MOV	29H,DIVDLH
  329:								;MOV     A,29H
  330:								;LCALL	BTOD		;转换为BCD码
  331:	  014C	22						RET
  332:				;=========================================================================
  333:

⌨️ 快捷键说明

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