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

📄 lll.lst

📁 此系统是本人做毕业设计时候的老东西了
💻 LST
📖 第 1 页 / 共 3 页
字号:
  246:	  01E2	71 CC			ACALL DELAY
  247:	  01E4	75 80 0C		MOV P0,#0CH		;	开显示
  248:	  01E7	71 A9			ACALL ENABLE
  249:	  01E9	20 B1 E3		JB CHECK,ERR1		;	检修完毕??
  250:	  01EC	71 CC			ACALL DELAY
  251:	  01EE	20 B1 DE		JB CHECK,ERR1
  252:	  01F1	71 CC			ACALL DELAY
  253:	  01F3	51 23		ERR4:	ACALL DISP		;	显示当前
  254:	  01F5	75 80 08		MOV P0,#08H		;	关显示
  255:	  01F8	71 A9			ACALL ENABLE
  256:	  01FA	71 CC			ACALL DELAY		;	...
  257:	  01FC	71 CC			ACALL DELAY
  258:	  01FE	71 CC			ACALL DELAY		;	...
  259:	  0200	71 CC			ACALL DELAY
  260:	  0202	71 CC			ACALL DELAY
  261:	  0204	71 CC			ACALL DELAY		;	...
  262:	  0206	71 CC			ACALL DELAY
  263:	  0208	75 80 0C		MOV P0,#0CH		;	开显示
  264:	  020B	71 A9			ACALL ENABLE
  265:	  020D	30 B1 E3		JNB CHECK,ERR4		;	等待键释放
  266:	  0210	75 65 00		MOV 65H,#00H		;	检修完毕信号送65H
  267:	  0213	75 64 09		MOV 64H,#9

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 6



 Line  I  Addr  Code            Source

  268:	  0216	75 30 01		MOV 30H,#1
  269:	  0219	78 31			MOV R0,#31H		;	一楼信号送R0
  270:	  021B	76 00		CLY:	MOV @R0,#00H		;	清除该信号
  271:	  021D	08			INC R0			;	加1后送R0
  272:	  021E	D5 64 FA		DJNZ 64H,CLY		;	自减循环8次
  273:	  0221	01 30			AJMP MAIN
  274:				;=========================================
  275:	  0223			DISP:				;	显示子程序
  276:	  0223	BA 00 05		CJNE R2,#00H,DISP1	;	楼层信号判断
  277:	  0226	90 03 EF		Mov dptr,#table2	;	送向下显示代码
  278:	  0229	80 13			SJMP DISP2		;	跳显示主程序
  279:	  022B	BA 11 05	DISP1:	CJNE R2,#11H,DISP3	;	楼层信号判断
  280:	  022E	90 03 DE		Mov dptr,#table1	;	送向上显示代码
  281:	  0231	80 0B			SJMP DISP2		;	跳显示主程序
  282:	  0233	BA 33 05	DISP3:	CJNE R2,#33H,DISP4
  283:	  0236	90 04 99		MOV DPTR,#TABLE00	;	楼层信号判断
  284:	  0239	41 3E			AJMP DISP2
  285:	  023B	90 04 00	DISP4:	MOV DPTR,#TABLE3
  286:	  023E	79 00		DISP2:	MOV R1,#00H		;	送代码指针到R1
  287:	  0240	71 B4			Acall write1		;	调1602读数据子程序
  288:	  0242	75 80 C0		mov p0,#0c0h		;	显示位置设置
  289:	  0245	71 A9			Acall enable		;	调1602写数据子程序
  290:	  0247	E5 30			MOV A,30H		;	当前楼层信号送A
  291:	  0249	B4 01 02		CJNE A,#1,NT1		;	等于1显示1F
  292:	  024C	80 1E			SJMP DISP01
  293:	  024E	B4 02 02	NT1:	CJNE A,#2,NT2		;	等于2显示2F
  294:	  0251	80 1E			SJMP DISP02
  295:	  0253	B4 03 02	NT2:	CJNE A,#3,NT3		;	等于3显示3F
  296:	  0256	80 1E			SJMP DISP03
  297:	  0258	B4 04 02	NT3:	CJNE A,#4,NT4		;	等于4显示4F
  298:	  025B	80 1E			SJMP DISP04
  299:	  025D	B4 05 02	NT4:	CJNE A,#5,NT5		;	等于5显示5F
  300:	  0260	80 1E			SJMP DISP05
  301:	  0262	B4 06 02	NT5:	CJNE A,#6,NT6		;	等于6显示6F
  302:	  0265	80 1E			SJMP DISP06
  303:	  0267	B4 07 25	NT6:	CJNE A,#7,NT7		;	等于7显示7F
  304:	  026A	80 1E			SJMP DISP07
  305:	  026C	90 04 11	DISP01:	mov dptr,#table10	;	1楼显示代码首地址
  306:	  026F	80 29			SJMP EXP
  307:	  0271	90 04 22	DISP02:	MOV DPTR,#TABLE20	;	2楼显示代码首地址
  308:	  0274	80 24			SJMP EXP
  309:	  0276	90 04 33	DISP03:	MOV DPTR,#TABLE30	;	3楼显示代码首地址
  310:	  0279	80 1F			SJMP EXP
  311:	  027B	90 04 44	DISP04:	MOV DPTR,#TABLE40	;	4楼显示代码首地址
  312:	  027E	80 1A			SJMP EXP
  313:	  0280	90 04 55	DISP05:	MOV DPTR,#TABLE50	;	5楼显示代码首地址
  314:	  0283	80 15			SJMP EXP
  315:	  0285	90 04 66	DISP06:	MOV DPTR,#TABLE60	;	6楼显示代码首地址
  316:	  0288	80 10			SJMP EXP
  317:	  028A	90 04 77	DISP07:	MOV DPTR,#TABLE70	;	7楼显示代码首地址
  318:	  028D	80 0B			SJMP EXP		;	转显示主程序
  319:								;	等于8显示8F
  320:	  028F	B4 08 05	NT7:	CJNE A,#8,CHECKING
  321:	  0292	90 04 88		MOV DPTR,#TABLE80	;	8楼显示代码首地址
  322:	  0295	80 03			SJMP EXP
  323:	  0297			CHECKING:

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 7



 Line  I  Addr  Code            Source

  324:	  0297	90 04 BA		MOV DPTR,#TABLE100
  325:	  029A	71 B4		EXP:	Acall write1		;	调1602读数据子程序
  326:	  029C	75 80 C2		mov p0,#0c2h		;	显示位置设置
  327:	  029F	71 A9			Acall enable		;	调1602写数据子程序
  328:	  02A1	75 80 80		MOV P0,#80H		;	显示位置
  329:	  02A4	71 A9			ACALL ENABLE		;	调1602写数据子程序
  330:	  02A6	22			RET			;	返回
  331:				;=======================================
  332:	  02A7			KEYBORDSCAN:			;	键盘扫描子程序
  333:	  02A7	30 B0 02		JNB DOOR,COMP		;	首次判断
  334:	  02AA	41 B1			AJMP L1			;	转扫描主程序
  335:	  02AC	71 CC		COMP:	ACALL DELAY		;	消斗
  336:	  02AE	30 B0 3E		JNB DOOR,COMP0		;	二次判断
  337:	  02B1	30 B1 02	L1:	JNB CHECK,CHECK1
  338:	  02B4	41 BB			AJMP L2
  339:	  02B6	71 CC		CHECK1:	ACALL DELAY
  340:	  02B8	30 B1 45		JNB CHECK,CHECK2
  341:	  02BB	75 70 F7	L2:	MOV 70H,#0F7H		;	开始扫描
  342:	  02BE	75 71 00		MOV 71H,#00H		;	00H送键盘信号寄存器
  343:	  02C1	E5 70		L3:	MOV A,70H		;	送扫描信号到A
  344:	  02C3	F5 90			MOV P1,A		;	送扫描信号到P1口
  345:	  02C5	E5 90			MOV A,P1		;	读取P1口信息
  346:	  02C7	F5 50			MOV 50H,A		;	暂存P1口信息
  347:	  02C9	D3			SETB C			;	CY=1
  348:	  02CA	75 72 04		MOV 72H,#4		;	列扫描初值送72H单元
  349:	  02CD	33		L4:	RLC A			;	带CY左移P1口信号
  350:	  02CE	50 0F			JNC KEY			;	CY?=0
  351:	  02D0	05 71			INC 71H			;	CY=1,键盘信号寄存器加1
  352:	  02D2	D5 72 F8		DJNZ 72H,L4		;	子减72H单元内容
  353:	  02D5	E5 70			MOV A,70H		;	扫描信号送到A
  354:	  02D7	D3			SETB C			;	让CY=1
  355:	  02D8	13			RRC A			;	带CY右移扫描信号
  356:	  02D9	F5 70			MOV 70H,A		;	暂存扫描
  357:	  02DB	40 E4			JC L3			;	CY?=1
  358:	  02DD	61 64			AJMP KEYBORDSCAN1	;	CY=0退出扫描
  359:	  02DF	7F 0A		KEY:	MOV R7,#10		;	CY=0,有键按下
  360:	  02E1	7E F8		D1:	MOV R6,#248		;	25MS延时消斗
  361:	  02E3	DE FE			DJNZ R6,$               ;	25MS延时消斗

  362:	  02E5	DF FA			DJNZ R7,D1		;	25MS延时消斗
  363:	  02E7	E5 71			MOV A,71H		;	取键盘信号
  364:	  02E9	90 04 AA		MOV DPTR,#TABLE		;	送键盘代码首地址到DPTR
  365:	  02EC	93			MOVC A,@A+DPTR		;	查表,求键值,送A
  366:	  02ED	61 0E			AJMP DATASCAN		;	跳至键盘数据读取程序
  367:				;=============================
  368:	  02EF	71 CC		COMP0:	ACALL DELAY			;	门开关键
  369:	  02F1	30 B0 FD		JNB DOOR,$			;	等待键释放
  370:	  02F4	BA FF 15		CJNE R2,#0FFH,KEYBORDSCAN10	;	判断电梯状态
  371:	  02F7	B2 A4			CPL MEN				;	停止时开启或关闭电梯门
  372:	  02F9	B2 7F			CPL 7FH
  373:	  02FB	75 31 00		MOV 31H,#00H			;	清除楼层请求指针信号
  374:	  02FE	61 0C			AJMP KEYBORDSCAN10
  375:	  0300	71 CC		CHECK2:	ACALL DELAY
  376:	  0302	30 B1 FD		JNB CHECK,$
  377:	  0305	E5 65			MOV A,65H
  378:	  0307	B4 00 02		CJNE A,#00H,KEYBORDSCAN10

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 8



 Line  I  Addr  Code            Source

  379:	  030A	C2 A3			CLR JINGGAO
  380:	  030C			KEYBORDSCAN10:
  381:	  030C	61 64			AJMP KEYBORDSCAN1		;	退出扫描
  382:	  030E			DATASCAN:				;	读取键盘数据
  383:	  030E	B4 01 08		CJNE A,#01H,COMP1		;	1号键
  384:	  0311	75 21 01		MOV 21H,#1
  385:	  0314	75 31 FF		MOV 31H,#0FFH
  386:	  0317	61 64			AJMP KEYBORDSCAN1		;	退出扫描
  387:	  0319	B4 02 08	COMP1:	CJNE A,#02H,COMP3		;	2号键
  388:	  031C	75 22 01		MOV 22H,#1			;	2楼信号指针送1
  389:	  031F	75 32 FF		MOV 32H,#0FFH			;	2楼请求信号送0FFH
  390:	  0322	61 64			AJMP KEYBORDSCAN1		;	退出扫描
  391:	  0324	B4 03 08	COMP3:	CJNE A,#03H,COMP4		;	3号键
  392:	  0327	75 23 01		MOV 23H,#1			;	3楼信号指针送1
  393:	  032A	75 33 FF		MOV 33H,#0FFH			;	3楼请求信号送0FFH
  394:	  032D	61 64			AJMP KEYBORDSCAN1		;	退出扫描
  395:	  032F	B4 04 08	COMP4:	CJNE A,#04H,COMP5		;	4号键
  396:	  0332	75 24 01		MOV 24H,#1			;	4楼信号指针送1
  397:	  0335	75 34 FF		MOV 34H,#0FFH			;	4楼请求信号送0FFH
  398:	  0338	61 64			AJMP KEYBORDSCAN1		;	退出扫描
  399:	  033A	B4 05 08	COMP5:	CJNE A,#05H,COMP6		;	5号键
  400:	  033D	75 25 01		MOV 25H,#1			;	5楼信号指针送1
  401:	  0340	75 35 FF		MOV 35H,#0FFH			;	5楼请求信号送0FFH
  402:	  0343	61 64			AJMP KEYBORDSCAN1		;	退出扫描
  403:	  0345	B4 06 08	COMP6:	CJNE A,#06H,COMP7		;	6号键
  404:	  0348	75 26 01		MOV 26H,#1			;	6楼信号指针送1
  405:	  034B	75 36 FF		MOV 36H,#0FFH			;	6楼请求信号送0FFH
  406:	  034E	61 64			AJMP KEYBORDSCAN1		;	退出扫描
  407:	  0350	B4 07 08	COMP7:	CJNE A,#07H,COMP8		;	7号键
  408:	  0353	75 27 01		MOV 27H,#1			;	7楼信号指针送1
  409:	  0356	75 37 FF		MOV 37H,#0FFH			;	7楼请求信号送0FFH
  410:	  0359	61 64			AJMP KEYBORDSCAN1		;	退出扫描
  411:	  035B	B4 08 06	COMP8:	CJNE A,#08H,KEYBORDSCAN1	;	8号键
  412:	  035E	75 28 01		MOV 28H,#1			;	8楼信号指针送1
  413:	  0361	75 38 FF		MOV 38H,#0FFH			;	8楼请求信号送0FFH
  414:	  0364			KEYBORDSCAN1:
  415:	  0364	22			RET				;	退出扫描
  416:				;=============================定时报警限制
  417:	  0365	C0 E0		TT0:	PUSH ACC			;	保护ACC
  418:	  0367	75 8C 3C		MOV TH0,#3CH			;	重置定时器初值
  419:	  036A	75 8A B0		MOV TL0,#0B0H
  420:	  036D	DB 37			DJNZ R3,OUT			;	循环指针自减1
  421:	  036F	7B 32			MOV R3,#50			;	减完后重置初值
  422:	  0371	E5 65			MOV A,65H			;	(65H)送到A
  423:	  0373	B4 FF 02		CJNE A,#0FFH,KK			;	是否为0FFH
  424:	  0376	61 9C			AJMP UUUU			;	下行
  425:	  0378	30 A0 0F	KK:	JNB XIANWEI,CONT		;	电梯限位判断
  426:	  037B	30 A0 0C		JNB XIANWEI,CONT
  427:	  037E	30 A0 09		JNB XIANWEI,CONT
  428:	  0381	30 A0 06		JNB XIANWEI,CONT
  429:	  0384	C2 A3			CLR JINGGAO			;	=0发出警告
  430:	  0386	C2 8C			CLR TR0				;	关闭定时器
  431:	  0388	61 A6			AJMP OUT			;	退出中断
  432:	  038A	BA 11 0C	CONT:	CJNE R2,#11H,UUU		;	当前运行状态判断
  433:	  038D	05 30			INC 30H				;	上行将楼层信号加1
  434:	  038F	E5 30			MOV A,30H			;	信号送到A

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 9



 Line  I  Addr  Code            Source

  435:	  0391	B4 09 12		CJNE A,#9,OUT			; 	顶层判断
  436:	  0394	75 30 08		MOV 30H,#8			;	重置初值
  437:	  0397	80 0D			SJMP OUT			;	退出中断
  438:	  0399	BA 00 0A	UUU:	CJNE R2,#00H,OUT		;	楼层运行状态判断
  439:	  039C	15 30		UUUU:	DEC 30H				;	下行将楼层信号减1
  440:	  039E	E5 30			MOV A,30H			;	信号送到A
  441:	  03A0	B4 00 03		CJNE A,#0,OUT			;	极限判断
  442:	  03A3	75 30 01		MOV 30H,#1			;	重置初值
  443:	  03A6	D0 E0		OUT: 	POP ACC				;	恢复ACC的内容
  444:	  03A8	32			RETI				;	退出中断
  445:				;======================================
  446:	  03A9			ENABLE:					;	1602写数据子程序
  447:	  03A9	C2 A5			CLR RS				;	RS=0
  448:	  03AB	C2 A6			CLR RW 				;	RW=0
  449:	  03AD	C2 A7			CLR E 				;	E=0
  450:	  03AF	71 CC			ACALL DELAY 			;	高脉冲到E
  451:	  03B1	D2 A7			SETB E 				;	E=1
  452:	  03B3	22			RET				;	退出
  453:				;=====================================
  454:	  03B4				WRITE1:				;	1602读数据子程序
  455:	  03B4	7C 00			MOV R4,#00H			;	数据偏移地址送R4
  456:	  03B6	EC		A1:	MOV A,R4			;	转送到A
  457:	  03B7	93			MOVC A,@A+DPTR			;	查表
  458:	  03B8	71 BF			ACALL WRITE2			;	调读数据子程序
  459:	  03BA	0C			INC R4				;	偏移地址加1显示下1个代码
  460:	  03BB	B4 00 F8		CJNE A,#00H,A1			;	判断是否取完代码
  461:	  03BE	22			RET				;	退出
  462:				;=====================================
  463:	  03BF	F5 80		WRITE2:	MOV P0,A			;	代码送P0
  464:	  03C1	D2 A5			SETB RS				;	RS=1
  465:	  03C3	C2 A6			CLR RW				;	RW=0
  466:	  03C5	C2 A7			CLR E				;	E=0
  467:	  03C7	71 CC			ACALL DELAY			;	高脉冲送到E
  468:	  03C9	D2 A7			SETB E				;	E=1
  469:	  03CB	22			RET				;	退出
  470:				;====================================	;	延时子程序
  471:	  03CC	7F FF		DELAY:	MOV R7,#255
  472:	  03CE	7E 0A		DD1:	MOV R6,#10
  473:	  03D0	DE FE			DJNZ R6,$
  474:	  03D2	DF FA			DJNZ R7,DD1
  475:	  03D4	22			RET
  476:	  03D5	7F 96		DELAY1:	MOV R7,#150			;	延时子程序1
  477:	  03D7	7E FF		DD2:	MOV R6,#255
  478:	  03D9	DE FE			DJNZ R6,$
  479:	  03DB	DF FA			DJNZ R7,DD2
  480:	  03DD	22			RET
  481:				;====================================
  482:	  03DE			table1:  ;显示UP
  483:	  03DE	2A 2A 2A 2A	db 2Ah,2Ah,2Ah,2Ah,2Ah,2Ah,2Ah,55h,50h,2Ah,2Ah,2Ah,2Ah,2Ah,2Ah,2Ah,00h;
	  03E2	2A 2A 2A 55
	  03E6	50 2A 2A 2A
	  03EA	2A 2A 2A 2A
	  03EE	00
  484:	  03EF			table2:	;显示DOWN
  485:	  03EF	2A 2A 2A 2A	db 2Ah,2Ah,2Ah,2Ah,2Ah,2Ah,44h,4Fh,57h,4Eh,2Ah,2Ah,2Ah,2Ah,2Ah,2Ah,00h;
	  03F3	2A 2A 44 4F

ASEM-51 V1.2                                        Copyright (c) 1996 by W.W. Heinz                                         PAGE 10



 Line  I  Addr  Code            Source

	  03F7	57 4E 2A 2A
	  03FB	2A 2A 2A 2A
	  03FF	00
  486:	  0400			table3:	;显示!!!!
  487:	  0400	2A 2A 2A 2A	db 2Ah,2Ah,2Ah,2Ah,2Ah,2Ah,21h,21h,21h,21h,2Ah,2Ah,2Ah,2Ah,2Ah,2Ah,00h;
	  0404	2A 2A 21 21
	  0408	21 21 2A 2A
	  040C	2A 2A 2A 2A
	  0410	00
  488:	  0411			table10: ;显示1F
  489:	  0411	2A 2A 2A 2A	db 2Ah,2Ah,2Ah,2Ah,2Ah,2Ah,2Ah,31h,46h,2Ah,2Ah,2Ah,2Ah,2Ah,2Ah,2Ah,00h;
	  0415	2A 2A 2A 31

⌨️ 快捷键说明

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