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

📄 ex9-4.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-4.ASM
	Object File:	EX9-4.HEX
	List File:	EX9-4.LST



 Line  I  Addr  Code            Source

    1:		B	 B5		DIN   BIT  P3.5    ;定义I/O口
    2:		B	 B6	        LOAD  BIT  P3.6
    3:		B	 B7	        CLK   BIT  P3.7
    4:		N      0000		ORG 0000H         ;复位入口
    5:	  0000	02 00 30	        LJMP MAIN
    6:		N      0030	        ORG 0030H         ;主程序起始地址
    7:	  0030	75 81 60	MAIN:	MOV SP,#60H       ;设置堆栈指针
    8:	  0033	7F 0A			    MOV R7,#0AH       ;亮度寄存器
    9:	  0035	7D 07		        MOV R5,#07H       ;亮度值
   10:	  0037	12 00 6E	        LCALL DINPUT      ;调用7219命令写入子程序
   11:	  003A	7F 0B		        MOV R7,#0BH       ;扫描界限寄存器
   12:	  003C	7D 07		        MOV R5,#07H       ;显示8位数字
   13:	  003E	12 00 6E	        LCALL DINPUT      ;调MAX7219命令写入子程序
   14:	  0041	7F 09		        MOV R7,#09H       ;译码方式寄存器
   15:	  0043	7D FF		        MOV R5,#0FFH      ;#FFH=7-0位均译为B码,#00=不译码
   16:	  0045	12 00 6E	        LCALL DINPUT      ;调MAX7219命令写入子程序
   17:	  0048	7F 0C		        MOV R7,#0CH       ;停机寄存器
   18:	  004A	7D 01		        MOV R5,#01H       ;正常工作
   19:	  004C	12 00 6E	        LCALL DINPUT      ;调MAX7219命令写入子程序
   20:	  004F	75 30 FF	        MOV 30H,#0FFH     ;30H-37H为显示缓冲区
   21:	  0052	75 31 FF	        MOV 31H,#0FFH
   22:	  0055	75 32 08	        MOV 32H,#08H      ;显示..8051..
   23:	  0058	75 33 00	        MOV 33H,#00H
   24:	  005B	75 34 05	        MOV 34H,#05H
   25:	  005E	75 35 01	        MOV 35H,#01H
   26:	  0061	75 36 FF	        MOV 36H,#0FFH
   27:	  0064	75 37 FF	        MOV 37H,#0FFH
   28:	  0067	7F 30		        MOV R7,#30H
   29:	  0069	12 00 8B	        LCALL DISPLY      ;调MAX7219显示子程序
   30:	  006C	80 FE			SJMP $
   31:	  006E	EF		DINPUT: MOV A,R7          ;7219命令写入子程序,传递来的第1个参数保存在R7中
   32:	  006F	7A 08		        MOV R2,#08        ;作为Max7219控制寄存器的8位地址值
   33:	  0071	33		LOOP1:  RLC A             ;A的D7位移至DIN,依次为D6~D0
   34:	  0072	92 B5		        MOV DIN, C        ;8位地址输入DIN
   35:	  0074	C2 B7		        CLR CLK
   36:	  0076	D2 B7		        SETB CLK
   37:	  0078	DA F7		        DJNZ R2,LOOP1
   38:	  007A	ED		        MOV A,R5          ;传递来的第2个参数保存在R5中
   39:	  007B	7A 08		        MOV R2,#08        ;作为写入Max7219控制寄存器的8位命令数据值
   40:	  007D	33		LOOP2:  RLC A             ;A的D7位移至P1.0,依次为D6~D0
   41:	  007E	92 B5		        MOV DIN, C        ;8位数据输入DIN
   42:	  0080	C2 B7		        CLR CLK
   43:	  0082	D2 B7		        SETB CLK

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  0084	DA F7		        DJNZ R2,LOOP2
   45:	  0086	C2 B6		        CLR LOAD          ;输出LOAD信号,上升沿装载寄存器数据
   46:	  0088	D2 B6		        SETB LOAD
   47:	  008A	22		        RET
   48:	  008B	EF		DISPLY: MOV A,R7         ;7219显示子程序,R7的内容为7219显示缓冲区入口地址
   49:	  008C	F8		    	MOV R0,A        ;R0指向显示缓冲区首地址
   50:	  008D	79 01		    	MOV R1,#01      ;R1指向8字节显示RAM首地址
   51:	  008F	7B 08		    	MOV R3,#08
   52:	  0091	E6		LOOP3:  MOV A,@R0       ;取出显示数据→R5
   53:	  0092	FD		    	MOV R5,A
   54:	  0093	E9		    	MOV A,R1        ;取出显示RAM地址→R7
   55:	  0094	FF		    	MOV R7,A
   56:	  0095	12 00 6E	  	LCALL DINPUT    ;调MAX7219命令写入子程序
   57:	  0098	08		    	INC R0
   58:	  0099	09		    	INC R1
   59:	  009A	DB F5		    	DJNZ R3,LOOP3
   60:	  009C	22		    	RET
   61:					END





                     register banks used:  ---

                     no errors



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





	       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
CLK				  BIT	      B7	   3
CY				  BIT	      D7
DIN				  BIT	      B5	   1
DINPUT				  CODE	    006E	  31
DISPLY				  CODE	    008B	  48
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
INT0				  BIT	      B2
INT1				  BIT	      B3
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
LOAD				  BIT	      B6	   2
LOOP1				  CODE	    0071	  33
LOOP2				  CODE	    007D	  40
LOOP3				  CODE	    0091	  52
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
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

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 4



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
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
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
WR				  BIT	      B6

⌨️ 快捷键说明

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