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

📄 ex9-8.lst

📁 《单片机原理实用教程——基于Proteus虚拟仿真》一书的配套光盘
💻 LST
字号:

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:	EX9-8.ASM
	Object File:	EX9-8.HEX
	List File:	EX9-8.LST



 Line  I  Addr  Code            Source

    1:
    2:		N      0000		ORG 0000H
    3:	  0000	02 00 30	START:	LJMP MAIN
    4:		N      0013		ORG 0013H
    5:	  0013	02 00 8E	        LJMP PKEYI
    6:		N      0030		ORG 0030H
    7:	  0030	75 81 60	MAIN:	MOV SP,#60H			;主程序
    8:	  0033	75 70 00		MOV 70H,#00			;设置显示缓冲区初值
    9:	  0036	75 71 01		MOV 71H,#01
   10:	  0039	75 72 02		MOV 72H,#02
   11:	  003C	75 73 03	 	MOV 73H,#03
   12:	  003F	75 74 04		MOV 74H,#04
   13:	  0042	75 75 05		MOV 75H,#05
   14:	  0045	75 76 06		MOV 76H,#06
   15:	  0048	75 77 07		MOV 77H,#07
   16:	  004B	12 00 53		LCALL INI79			;调8279初始化子程序
   17:	  004E	12 00 67	LOOP:	LCALL RDIR			;调8279显示更新子程序
   18:	  0051	80 FB			SJMP LOOP
   19:
   20:				;8279初始化子程序
   21:	  0053	90 7F FF	INI79:	MOV   DPTR,#7FFFH               ;8279命令口地址
   22:	  0056	74 D1			MOV   A,#0D1H			;清0命令
   23:	  0058	F0			MOVX  @DPTR,A
   24:	  0059	E0		WNDU: 	MOVX  A,@DPTR                   ;等待8279清0结束
   25:	  005A	20 E7 FC		JB    ACC.7,WNDU
   26:	  005D	74 00			MOV   A,#00                     ;设置8279为编码扫描方式,两键互锁
   27:	  005F	F0			MOVX  @DPTR,A
   28:	  0060	74 34			MOV   A,#34H                    ;设置8279扫描频率
   29:	  0062	F0			MOVX  @DPTR,A
   30:	  0063	75 A8 84		MOV   IE,#84H                   ;允许8279中断
   31:	  0066	22			RET
   32:
   33:				;8279显示更新子程序
   34:	  0067	90 7F FF	RDIR:	MOV   DPTR,#7FFFH               ;8279命令口地址
   35:	  006A	74 90			MOV   A,#90H			;写显示RAM命令
   36:	  006C	F0			MOVX  @DPTR,A
   37:	  006D	78 70			MOV   R0,#70H                 	;显示缓冲器首地址→R0
   38:	  006F	7F 08			MOV   R7,#8
   39:	  0071	90 7E FF		MOV   DPTR,#7EFFH
   40:	  0074	E6		RDLO: 	MOV   A,@R0                  	;取显示数据
   41:	  0075	24 05			ADD   A,#5                  	;加偏移量
   42:	  0077	83			MOVC  A,@A+PC                	;查表转换为段码数据
   43:	  0078	F0			MOVX  @DPTR,A

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  0079	08			INC   R0
   45:	  007A	DF F8			DJNZ  R7,RDLO
   46:	  007C	22			RET
   47:	  007D	3F 06 5B 4F	SEG:  	DB 3fH,06H,5BH,4FH            	;段码表
   48:	  0081	66 6D 7D 07		DB 66H,6DH,7DH,07H
   49:	  0085	7F 6F 77 7C		DB 7FH,6FH,77H,7CH
   50:	  0089	39 5E 79 71		DB 39H,5EH,79H,71H
   51:	  008D	00			DB 00H
   52:
   53:				;8279按键输入中断服务程序
   54:	  008E	C0 D0		PKEYI:	PUSH  PSW
   55:	  0090	C0 82			PUSH  DPL
   56:	  0092	C0 83			PUSH  DPH
   57:	  0094	C0 E0			PUSH  ACC
   58:	  0096	C0 F0			PUSH  B
   59:	  0098	D2 D3			SETB  PSW.3			;选工作寄存器1区
   60:	  009A	90 7F FF		MOV   DPTR,#7FFFH           	;8279命令口地址
   61:	  009D	E0			MOVX  A,@DPTR			;读FIFO状态字
   62:	  009E	54 0F			ANL   A,#0FH
   63:	  00A0	60 26			JZ    PKYR                   	;判FIFO中是否有数据?
   64:	  00A2	74 40			MOV   A,#40H                	;读FIFO命令
   65:	  00A4	F0			MOVX  @DPTR,A
   66:	  00A5	90 7E FF		MOV   DPTR,#7EFFH		;8279数据口地址
   67:	  00A8	E0			MOVX  A,@DPTR               	;读数据
   68:	  00A9	FA			MOV   R2,A
   69:	  00AA	54 38			ANL   A,#38H			;计算键值
   70:	  00AC	03			RR    A
   71:	  00AD	03			RR    A
   72:	  00AE	03			RR    A
   73:	  00AF	75 F0 04		MOV   B,#04H
   74:	  00B2	A4			MUL   AB
   75:	  00B3	CA			XCH   A,R2
   76:	  00B4	54 07			ANL   A,#7
   77:	  00B6	2A			ADD   A,R2
   78:	  00B7	F5 70			MOV 70H,A
   79:	  00B9	75 71 10		MOV 71H,#16
   80:	  00BC	75 72 10		MOV 72H,#16
   81:	  00BF	75 73 10	 	MOV 73H,#16
   82:	  00C2	75 74 10		MOV 74H,#16
   83:	  00C5	75 75 10		MOV 75H,#16
   84:	  00C8	D0 F0		PKYR:	POP   B
   85:	  00CA	D0 E0			POP   ACC
   86:	  00CC	D0 83			POP   DPH
   87:	  00CE	D0 82			POP   DPL
   88:	  00D0	D0 D0			POP   PSW
   89:	  00D2	32			RETI
   90:
   91:				END





                     register banks used:  ---

                     no errors

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 3






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





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


SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
AC				  BIT	      D6
ACC				  DATA	      E0
B				  DATA	      F0
CY				  BIT	      D7
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
IE				  DATA	      A8
IE0				  BIT	      89
IE1				  BIT	      8B
INI79				  CODE	    0053	  21
INT0				  BIT	      B2
INT1				  BIT	      B3
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
LOOP				  CODE	    004E	  17
MAIN				  CODE	    0030	   7
OV				  BIT	      D2
P				  BIT	      D0
P0				  DATA	      80
P1				  DATA	      90
P2				  DATA	      A0
P3				  DATA	      B0
PCON				  DATA	      87
PKEYI				  CODE	    008E	  54
PKYR				  CODE	    00C8	  84
PS				  BIT	      BC
PSW				  DATA	      D0
PT0				  BIT	      B9
PT1				  BIT	      BB
PX0				  BIT	      B8
PX1				  BIT	      BA
RB8				  BIT	      9A
RD				  BIT	      B7
RDIR				  CODE	    0067	  34
RDLO				  CODE	    0074	  40
REN				  BIT	      9C
RESET				  CODE	    0000
RI				  BIT	      98
RS0				  BIT	      D3
RS1				  BIT	      D4

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 5



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
RXD				  BIT	      B0
SBUF				  DATA	      99
SCON				  DATA	      98
SEG				  CODE	    007D	  47
SINT				  CODE	    0023
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
START				  CODE	    0000	   3
T0				  BIT	      B4
T1				  BIT	      B5
TB8				  BIT	      9B
TCON				  DATA	      88
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
WNDU				  CODE	    0059	  24
WR				  BIT	      B6

⌨️ 快捷键说明

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