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

📄 ll.lst

📁 proteus 仿真的烤箱程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
  334:
  335:
  336:
  337:
  338:
  339:
  340:
  341:
  342:				;=========================================================================
  343:				; 液晶显示器初始化
  344:				;=========================================================================
  345:	  014D	74 38		INIT: 	 	MOV 	A,#38H			;8位、2行、5*7字符方式
  346:	  014F	12 01 6D			LCALL 	WRCMD
  347:	  0152	74 0C				MOV 	A,#LCD_SETVISIBLE+4	;打开显示
  348:	  0154	12 01 6D			LCALL 	WRCMD
  349:	  0157	74 80				MOV 	A,#LCD_SETDDADDR	;               开始显示的位置在最左边
  350:	  0159	12 01 6D			LCALL 	WRCMD
  351:	  015C	74 07				MOV 	A,#LCD_SETMODE+3	;                增量方式,光标移动
  352:	  015E	12 01 6D			LCALL 	WRCMD
  353:	  0161	22		                	RET
  354:				;===========================================================================
  355:				;清屏并且设置初始化条件
  356:				;Clears the LCD display and sets the initialisation conditions.
  357:				;===========================================================================
  358:	  0162	74 01		CLS:		MOV 	A,#LCD_CLS
  359:	  0164	12 01 6D			LCALL 	WRCMD
  360:	  0167	74 80				MOV 	A,#LCD_SETDDADDR	;开始显示的位置在最左边
  361:	  0169	12 01 6D			LCALL 	WRCMD
  362:	  016C	22				RET
  363:				;==============================================================================
  364:				;写命令子程序,命令在累加器A中
  365:				;Sub routine to write command:
  366:				;==============================================================================
  367:	  016D	90 00 80	WRCMD:		MOV	DPTR,#LCD_CMD_WR
  368:	  0170	F0				MOVX	@DPTR,A
  369:	  0171	80 04				SJMP 	WTBUSY
  370:				;------------------------------------------------------------------------------
  371:				;将字符写入LCD1602液晶显示器的显存,要显示的字符在累加器A中
  372:				; Subroutine to Write a Character to the LCD Display.
  373:				;-------------------------------------------------------------------------------
  374:	  0173	90 00 81	WRDATA:		MOV 	DPTR,#LCD_DATA_WR
  375:	  0176	F0				MOVX	@DPTR,A
  376:				;--------------------------------------------------------------------------------
  377:				;判断液晶显示器是否忙?
  378:				; Subroutine to wait for a busy clear.
  379:				;--------------------------------------------------------------------------------

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 8



 Line  I  Addr  Code            Source

  380:	  0177	90 00 82	WTBUSY:		MOV	DPTR,#LCD_BUSY_RD
  381:	  017A	E0				MOVX	A,@DPTR
  382:	  017B	20 E7 F9			JB 	ACC.7,WTBUSY
  383:	  017E	22		                RET
  384:				;===================================================================
  385:
  386:
  387:
  388:
  389:	  017F	7F 50		D1MS:           MOV     R7,#80  ;255
  390:	  0181	DF FE		                DJNZ    R7,$
  391:	  0183	22		                RET
  392:				;=========================================================
  393:
  394:
  395:
  396:
  397:
  398:				;==========================================================
  399:				;多字节乘法程序
  400:				;被乘数在R2R3,乘数在R6R7,积在R4R5R6R7
  401:				;==========================================================
  402:	  0184	EB		DMUL:		MOV	A,R3
  403:	  0185	8F F0				MOV	B,R7
  404:	  0187	A4				MUL	AB
  405:	  0188	CF				XCH	A,R7
  406:	  0189	AD F0				MOV	R5,B
  407:	  018B	8A F0				MOV	B,R2
  408:	  018D	A4				MUL	AB
  409:	  018E	2D				ADD	A,R5
  410:	  018F	FC				MOV	R4,A
  411:	  0190	E4				CLR	A
  412:	  0191	35 F0				ADDC	A,B
  413:	  0193	FD				MOV	R5,A
  414:	  0194	EE				MOV	A,R6
  415:	  0195	8B F0				MOV	B,R3
  416:	  0197	A4				MUL	AB
  417:	  0198	2C				ADD	A,R4
  418:	  0199	CE				XCH	A,R6
  419:	  019A	C5 F0				XCH	A,B
  420:	  019C	3D				ADDC	A,R5
  421:	  019D	FD				MOV	R5,A
  422:	  019E	92 D5				MOV	F0,C
  423:	  01A0	EA				MOV	A,R2
  424:	  01A1	A4				MUL	AB
  425:	  01A2	2D				ADD	A,R5
  426:	  01A3	FD				MOV	R5,A
  427:	  01A4	E4				CLR	A
  428:	  01A5	92 E0				MOV	ACC.0,C
  429:	  01A7	A2 D5				MOV	C,F0
  430:	  01A9	35 F0				ADDC	A,B
  431:	  01AB	FC				MOV	R4,A
  432:	  01AC	22				RET
  433:
  434:
  435:

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 9



 Line  I  Addr  Code            Source

  436:
  437:
  438:
  439:
  440:				;====================================================
  441:				;4字节加1字节程序
  442:				;被加数在R4R5R6R7中,加数在A中
  443:				;和在R4R5R6R7中
  444:				;====================================================
  445:	  01AD	2F		JIAFA:		ADD	A,R7
  446:	  01AE	FF				MOV	R7,A
  447:	  01AF	E4				CLR	A
  448:	  01B0	3E				ADDC	A,R6
  449:	  01B1	FE				MOV	R6,A
  450:	  01B2	E4				CLR	A
  451:	  01B3	3D				ADDC	A,R5
  452:	  01B4	FD				MOV	R5,A
  453:	  01B5	E4				CLR	A
  454:	  01B6	3C				ADDC	A,R4
  455:	  01B7	FC				MOV	R4,A
  456:	  01B8	22				RET
  457:
  458:
  459:
  460:
  461:
  462:
  463:
  464:				;===========================================================
  465:				;4字节除以2字节的除法程序
  466:				;被除数在DIVDHH、DIVDHL、DIVDLH和DIVDLL单元
  467:				;除数在DIVH和DIVL单元
  468:				;商在被除数单元
  469:				;余数在TEMPH和TEMPL单元
  470:				;===========================================================
  471:	  01B9	E5 26		CHUFA:		MOV	A,DIVH		;除数为零?
  472:	  01BB	45 25				ORL	A,DIVL
  473:	  01BD	70 03				JNZ	DIVD0
  474:	  01BF	D2 D2				SETB	OV		;为零,置溢出标志
  475:	  01C1	22				RET
  476:	  01C2	75 27 00	DIVD0:		MOV	TEMPL,#0
  477:	  01C5	75 28 00			MOV	TEMPH,#0
  478:	  01C8	75 F0 20			MOV	B,#32
  479:	  01CB	C3		DIVD1:		CLR	C
  480:	  01CC	E5 21				MOV	A,DIVDLL
  481:	  01CE	33				RLC	A
  482:	  01CF	F5 21				MOV	DIVDLL,A
  483:	  01D1	E5 22				MOV	A,DIVDLH
  484:	  01D3	33				RLC	A
  485:	  01D4	F5 22				MOV	DIVDLH,A
  486:	  01D6	E5 23				MOV	A,DIVDHL
  487:	  01D8	33				RLC	A
  488:	  01D9	F5 23				MOV	DIVDHL,A
  489:	  01DB	E5 24				MOV	A,DIVDHH
  490:	  01DD	33				RLC	A
  491:	  01DE	F5 24				MOV	DIVDHH,A

ASEM-51 V1.2                                        Copyright (c) 1996 by W.W. Heinz                                         PAGE 10



 Line  I  Addr  Code            Source

  492:	  01E0	E5 27				MOV	A,TEMPL
  493:	  01E2	33				RLC	A
  494:	  01E3	F5 27				MOV	TEMPL,A
  495:	  01E5	C5 28				XCH	A,TEMPH
  496:	  01E7	33				RLC	A
  497:	  01E8	C5 28				XCH	A,TEMPH
  498:	  01EA	92 D5				MOV	F0,C
  499:	  01EC	95 25				SUBB	A,DIVL
  500:	  01EE	FF				MOV	R7,A
  501:	  01EF	E5 28				MOV	A,TEMPH
  502:	  01F1	95 26				SUBB	A,DIVH
  503:	  01F3	B0 D5				ANL	C,/F0
  504:	  01F5	40 06				JC	DIVD2
  505:	  01F7	8F 27				MOV	TEMPL,R7
  506:	  01F9	F5 28				MOV	TEMPH,A
  507:	  01FB	05 21				INC	DIVDLL
  508:	  01FD	D5 F0 CB	DIVD2:		DJNZ	B,DIVD1
  509:	  0200	C2 D2				CLR	OV
  510:	  0202	22				RET
  511:
  512:
  513:
  514:				;============================================================
  515:				;BCD转换
  516:				;============================================================
  517:	  0203	75 F0 64	BTOD:           MOV     B,#100
  518:	  0206	84		                DIV     AB
  519:	  0207	FB		                MOV     R3,A
  520:	  0208	74 0A		                MOV     A,#10
  521:	  020A	C5 F0		                XCH     A,B
  522:	  020C	84		                DIV     AB
  523:	  020D	C4		                SWAP    A
  524:	  020E	45 F0		                ORL     A,B
  525:
  526:	  0210	FD		                MOV     R5,A
  527:	  0211	C4		                SWAP    A
  528:	  0212	54 0F		                ANL     A,#0FH
  529:	  0214	FC		                MOV     R4,A
  530:	  0215	ED		                MOV     A,R5
  531:	  0216	54 0F		                ANL     A,#0FH
  532:	  0218	FD		                MOV     R5,A
  533:	  0219	22		                RET
  534:				;============================================================
  535:				                 END
  536:
  537:
  538:





                     register banks used:  ---

                     no errors


ASEM-51 V1.2                                        Copyright (c) 1996 by W.W. Heinz                                         PAGE 11






ASEM-51 V1.2                                        Copyright (c) 1996 by W.W. Heinz                                         PAGE 12





	       L I S T   O F   S Y M B O L S
	       =============================


SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
AC				  BIT	      D6
ACC				  DATA	      E0
AD				  NUMBER    0029	  15
ADC0				  NUMBER    0078	   5
AD_DISPLAY			  CODE	    009A	 151
AD_START			  CODE	    0142	 302
ALL_DISPLAY			  CODE	    00D0	 200
B				  DATA	      F0
BIJIAO				  CODE	    003F	  60
BTOD				  CODE	    0203	 517
CHUFA				  CODE	    01B9	 471
CLS				  CODE	    0162	 358
CY				  BIT	      D7
D1MS				  CODE	    017F	 389
D1S				  CODE	    0136	 284
DIVD0				  CODE	    01C2	 476
DIVD1				  CODE	    01CB	 479
DIVD2				  CODE	    01FD	 508
DIVDHH				  NUMBER    0024	  10
DIVDHL				  NUMBER    0023	   9
DIVDLH				  NUMBER    0022	   8
DIVDLL				  NUMBER    0021	   7
DIVH				  NUMBER    0026	  12
DIVL				  NUMBER    0025	  11
DMUL				  CODE	    0184	 402
DPH				  DATA	      83
DPL				  DATA	      82
EA				  BIT	      AF
ES				  BIT	      AC
ET0				  BIT	      A9
ET1				  BIT	      AB
EX0				  BIT	      A8
EX1				  BIT	      AA
EXTI0				  CODE	    0003
EXTI1				  CODE	    0013
F0				  BIT	      D5
G0				  CODE	    007A	 119
G1				  CODE	    007D	 122
G2				  CODE	    0080	 125
IE				  DATA	      A8
IE0				  BIT	      89
IE1				  BIT	      8B
INIT				  CODE	    014D	 345
INT0				  BIT	      B2
INT1				  BIT	      B3
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
JIAFA				  CODE	    01AD	 445
JIANPAN				  CODE	    006A	 105

ASEM-51 V1.2                                        Copyright (c) 1996 by W.W. Heinz                                         PAGE 13



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
KEY				  NUMBER    002A	  16
KEY_DISPLAY			  CODE	    0100	 239
LCD_BUSY_RD			  NUMBER    0082	  24
LCD_CLS				  NUMBER    0001	  30
LCD_CMD_WR			  NUMBER    0080	  22
LCD_DATA_RD			  NUMBER    0083	  25
LCD_DATA_WR			  NUMBER    0081	  23
LCD_HOME			  NUMBER    0002	  31
LCD_SETCGADDR			  NUMBER    0040	  36
LCD_SETDDADDR			  NUMBER    0080	  37
LCD_SETFUNCTION			  NUMBER    0020	  35
LCD_SETMODE			  NUMBER    0004	  32
LCD_SETVISIBLE			  NUMBER    0008	  33
LCD_SHIFT			  NUMBER    0010	  34
M4				  CODE	    0138	 285
M5				  CODE	    013A	 286
MAIN				  CODE	    003C	  56
NEQ				  CODE	    0058	  78
OV				  BIT	      D2
OW				  CODE	    0062	  88
P				  BIT	      D0
P0				  DATA	      80
P1				  DATA	      90
P2				  DATA	      A0
P3				  DATA	      B0
PCON				  DATA	      87
PROG0				  CODE	    0083	 128
PROG1				  CODE	    008B	 135
PROG2				  CODE	    0092	 142
PS				  BIT	      BC
PSW				  DATA	      D0
PT0				  BIT	      B9
PT1				  BIT	      BB
PX0				  BIT	      B8
PX1				  BIT	      BA
RB8				  BIT	      9A
RD				  BIT	      B7
REN				  BIT	      9C
RESET				  CODE	    0000
RI				  BIT	      98
RS0				  BIT	      D3
RS1				  BIT	      D4
RXD				  BIT	      B0
SBUF				  DATA	      99
SCON				  DATA	      98
SINT				  CODE	    0023
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
START				  CODE	    0030	  49
T0				  BIT	      B4
T1				  BIT	      B5
TB8				  BIT	      9B
TCON				  DATA	      88
TEMPH				  NUMBER    0028	  14

ASEM-51 V1.2                                        Copyright (c) 1996 by W.W. Heinz                                         PAGE 14



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
TEMPL				  NUMBER    0027	  13
TF0				  BIT	      8D
TF1				  BIT	      8F
TH0				  DATA	      8C
TH1				  DATA	      8D
TI				  BIT	      99
TIMER0				  CODE	    000B
TIMER1				  CODE	    001B
TL0				  DATA	      8A
TL1				  DATA	      8B
TMOD				  DATA	      89
TR0				  BIT	      8C
TR1				  BIT	      8E
TXD				  BIT	      B1
WR				  BIT	      B6
WRCMD				  CODE	    016D	 367
WRDATA				  CODE	    0173	 374
WTBUSY				  CODE	    0177	 380

⌨️ 快捷键说明

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