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

📄 lcd4bit3.lst

📁 Library for the 8051 microcontroller. such as math routine, hexBCD, LCD, Keyboard, I2C, Remote, Ke
💻 LST
字号:

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 1





       MCS-51 Family Macro Assembler   A S E M - 5 1   V 1.3
       =====================================================



	Source File:	E:\MiCrOConTroller\Coba_M-IDE\LCD4BIT3\LCD4BIT3.asm
	Object File:	E:\MiCrOConTroller\Coba_M-IDE\LCD4BIT3\LCD4BIT3.hex
	List File:	E:\MiCrOConTroller\Coba_M-IDE\LCD4BIT3\LCD4BIT3.lst



 Line  I  Addr  Code            Source

    1:
    2:				;-----------------------LCD 4-bit--------------------------
    3:				;LCD Connections to microcontroller
    4:		B      0084	E		EQU	P0.4		; PIN 6 enable
    5:		B      0085	RS 		EQU	P0.5		; /register select
    6:
    7:		D      0080	DATANE		EQU	P0		; data lines P0-P3
    8:				;----------------------------------------------------------
    9:		N      0000	ORG 0000H
   10:	  0000	02 00 FF		JMP on_reset
   11:				;----------------------------------------------------------
   12:		N      00FF	ORG 00FFH
   13:	  00FF			on_reset:
   14:	  00FF	90 01 E7			MOV DPTR,#init_data
   15:	  0102	31 48				ACALL disp_init
   16:
   17:	  0104	90 01 C7			MOV DPTR,#message1
   18:	  0107	31 39				ACALL disp_string
   19:
   20:	  0109	31 95				ACALL disp_line2
   21:
   22:	  010B	90 01 D7			MOV DPTR,#message2
   23:	  010E	31 39				ACALL disp_string
   24:
   25:	  0110			ENDLESS:
   26:	  0110	80 FE				JMP ENDLESS
   27:				;----------------------------------------------------------
   28:				; display char in A
   29:				; used reg R2
   30:	  0112			disp_char:
   31:	  0112	D2 85				SETB RS			; desable register select
   32:
   33:	  0114	FA				MOV R2,A
   34:	  0115	54 F0				ANL A,#0F0H			; send high nybble first
   35:	  0117	03				RR A
   36:	  0118	03				RR A
   37:	  0119	03				RR A
   38:	  011A	03				RR A
   39:	  011B	53 80 F0			ANL DATANE,#0F0H
   40:	  011E	42 80				ORL DATANE,A
   41:
   42:	  0120	D2 84				SETB E			; give E pulse
   43:	  0122	31 B4				ACALL delay_data

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  0124	C2 84				CLR E
   45:	  0126	31 B4				ACALL delay_data
   46:
   47:	  0128	EA				MOV A,R2
   48:	  0129	54 0F				ANL A,#0FH			; send lower nybble
   49:	  012B	53 80 F0			ANL DATANE,#0F0H
   50:	  012E	42 80				ORL DATANE,A
   51:
   52:	  0130	D2 84				SETB E			; give E pulse
   53:	  0132	31 B4				ACALL delay_data
   54:	  0134	C2 84				CLR E
   55:	  0136	31 B4				ACALL delay_data
   56:
   57:
   58:	  0138	22		RET
   59:				;----------------------------------------------------------
   60:				; used registers A,R1,R7
   61:	  0139			disp_string:
   62:	  0139	74 00				MOV A,#00H
   63:	  013B	79 00				MOV R1,#00h
   64:	  013D			next_char:
   65:	  013D	09				INC R1
   66:	  013E	93				MOVC A,@A+DPTR
   67:	  013F	F5 80					MOV DATANE,A
   68:	  0141	31 12					ACALL disp_char
   69:	  0143	E8					MOV A,R0
   70:	  0144	B9 0F F6			CJNE R1,#0Fh,next_char
   71:	  0147	22		RET
   72:				;----------------------------------------------------------
   73:				; used registers A,R1,R7,R2
   74:	  0148			disp_init:
   75:	  0148	C2 85				CLR RS			; enable /register select
   76:	  014A	74 00				MOV A,#00H
   77:	  014C	79 00				MOV R1,#00h
   78:	  014E			next_chari:
   79:	  014E	09				INC R1
   80:	  014F	93				MOVC A,@A+DPTR
   81:	  0150	FA				MOV R2,A			; take backup
   82:
   83:	  0151	54 F0				ANL A,#0F0H			; send high nybble first
   84:	  0153	03				RR A
   85:	  0154	03				RR A
   86:	  0155	03				RR A
   87:	  0156	03				RR A
   88:	  0157	53 80 F0			ANL DATANE,#0F0H
   89:	  015A	42 80				ORL DATANE,A
   90:
   91:	  015C	D2 84				SETB E			; give E pulse
   92:	  015E	31 BB				ACALL delay_init
   93:	  0160	C2 84				CLR E
   94:	  0162	31 BB				ACALL delay_init
   95:
   96:	  0164	EA				MOV A,R2
   97:	  0165	54 0F				ANL A,#0FH			; send lower nybble
   98:	  0167	53 80 F0			ANL DATANE,#0F0H
   99:	  016A	42 80				ORL DATANE,A

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 3



 Line  I  Addr  Code            Source

  100:
  101:	  016C	D2 84				SETB E			; give E pulse
  102:	  016E	31 BB				ACALL delay_init
  103:	  0170	C2 84				CLR E
  104:	  0172	31 BB				ACALL delay_init
  105:
  106:	  0174	E8				MOV A,R0
  107:	  0175	B9 02 D6			CJNE R1,#02h,next_chari
  108:
  109:
  110:	  0178	22		RET
  111:				;----------------------------------------------------------
  112:	  0179			disp_line1:
  113:	  0179	C2 85				CLR RS			; register select
  114:	  017B	53 80 F0			ANL DATANE,#0F0H
  115:	  017E	43 80 08			ORL DATANE,#08H		; first line address
  116:	  0181	D2 84				SETB E			; give E pulse
  117:	  0183	31 BB				ACALL delay_init
  118:	  0185	C2 84				CLR E
  119:	  0187	31 BB				ACALL delay_init
  120:
  121:	  0189	53 80 F0			ANL DATANE,#0F0H		; second nybble
  122:	  018C	D2 84				SETB E			; give E pulse
  123:	  018E	31 BB				ACALL delay_init
  124:	  0190	C2 84				CLR E
  125:	  0192	31 BB				ACALL delay_init
  126:
  127:	  0194	22		RET
  128:				;----------------------------------------------------------
  129:	  0195			disp_line2:
  130:	  0195	C2 85				CLR RS			; register select
  131:	  0197	53 80 F0			ANL DATANE,#0F0H		; next line address
  132:	  019A	43 80 0A			ORL DATANE,#0AH
  133:	  019D	D2 84				SETB E			; give E pulse
  134:	  019F	31 BB				ACALL delay_init
  135:	  01A1	C2 84				CLR E
  136:	  01A3	31 BB				ACALL delay_init
  137:
  138:	  01A5	53 80 F0			ANL DATANE,#0F0H		; next line address
  139:	  01A8	43 80 08			ORL DATANE,#08H
  140:	  01AB	D2 84				SETB E			; give E pulse
  141:	  01AD	31 BB				ACALL delay_init
  142:	  01AF	C2 84				CLR E
  143:	  01B1	31 BB				ACALL delay_init
  144:
  145:	  01B3	22		RET
  146:				;----------------------------------------------------------
  147:				;2 msec delay
  148:	  01B4			delay_data:
  149:	  01B4	7F FF				MOV R7,#0FFH
  150:	  01B6	00		del:		NOP
  151:	  01B7	00				NOP
  152:	  01B8	DF FC				DJNZ R7, del
  153:	  01BA	22		RET
  154:				;----------------------------------------------------------
  155:				;20 msec delay

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 4



 Line  I  Addr  Code            Source

  156:	  01BB			delay_init:
  157:	  01BB	7F FF				MOV R7,#0FFH
  158:	  01BD	00		del1:		NOP
  159:	  01BE	00				NOP
  160:	  01BF	00				NOP
  161:	  01C0	00				NOP
  162:	  01C1	00				NOP
  163:	  01C2	00				NOP
  164:	  01C3	00				NOP
  165:	  01C4	DF F7				DJNZ R7, del1
  166:
  167:	  01C6	22		RET
  168:				;----------------------------------------------------------
  169:	  01C7			message1:
  170:	  01C7	54 65 73 74	DB "Testing 123.... "
	  01CB	69 6E 67 20
	  01CF	31 32 33 2E
	  01D3	2E 2E 2E 20
  171:	  01D7			message2:
  172:	  01D7	49 74 27 73	DB "It's working    "
	  01DB	20 77 6F 72
	  01DF	6B 69 6E 67
	  01E3	20 20 20 20
  173:	  01E7			init_data:
  174:	  01E7	0F		DB 0FH ; Display On, Cursor On,Cursor Blink On(1)/Off(0)
  175:	  01E8	01		DB 01H ; Clear Display
  176:	  01E9	38		DB 38H ; Set Interface Length
  177:				END





                     register banks used:  ---

                     no errors




ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 5





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


SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
??ASEM_51			  NUMBER    8051
??VERSION			  NUMBER    0130
AC				  BIT	      D6
ACC				  DATA	      E0
B				  DATA	      F0
CY				  BIT	      D7
DATANE				  NUMBER    0080	   7
DEL				  CODE	    01B6	 150
DEL1				  CODE	    01BD	 158
DELAY_DATA			  CODE	    01B4	 148
DELAY_INIT			  CODE	    01BB	 156
DISP_CHAR			  CODE	    0112	  30
DISP_INIT			  CODE	    0148	  74
DISP_LINE1			  CODE	    0179	 112
DISP_LINE2			  CODE	    0195	 129
DISP_STRING			  CODE	    0139	  61
DPH				  DATA	      83
DPL				  DATA	      82
E				  NUMBER    0084	   4
EA				  BIT	      AF
ENDLESS				  CODE	    0110	  25
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
INIT_DATA			  CODE	    01E7	 173
INT0				  BIT	      B2
INT1				  BIT	      B3
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
MESSAGE1			  CODE	    01C7	 169
MESSAGE2			  CODE	    01D7	 171
NEXT_CHAR			  CODE	    013D	  64
NEXT_CHARI			  CODE	    014E	  78
ON_RESET			  CODE	    00FF	  13
OV				  BIT	      D2
P				  BIT	      D0
P0				  DATA	      80
P1				  DATA	      90
P2				  DATA	      A0
P3				  DATA	      B0
PCON				  DATA	      87

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 6



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
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
RS				  NUMBER    0085	   5
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 + -