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

📄 8bit1.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\8BITLCD2\8BIT1.asm
	Object File:	E:\MiCrOConTroller\Coba_M-IDE\8BITLCD2\8BIT1.hex
	List File:	E:\MiCrOConTroller\Coba_M-IDE\8BITLCD2\8BIT1.lst



 Line  I  Addr  Code            Source

    1:				;8 bit LCD routines with check busy flag before sending data, command to LCD
    2:				;*************************************************************
    3:		D	 90	LCD     DATA     P1          ;define LCD data port on port 1
    4:		B	 97	BUSY    BIT      LCD.7       ;define LCD busy flag
    5:		B	 A2	E       BIT      P2.2        ;define LCD enable pin on port 2.2
    6:		B	 A0	RS      BIT      P2.0        ;define LCD register select pin on port 2.0
    7:		B	 A1	RW      BIT      P2.1        ;define LCD read/write pin on port 2.1
    8:				;*************************************************************
    9:		N      0000	        ORG      00H
   10:
   11:	  0000			LCD_INIT:
   12:	  0000	74 38		        MOV      A,#38H                ;2 line 5x7
   13:	  0002	11 24		        ACALL    COMMAND
   14:	  0004	74 0C		        MOV      A,#0CH                ;LCD on cursor on
   15:	  0006	11 24		        ACALL    COMMAND
   16:	  0008	74 01		        MOV      A,#01H                ;clear LCD
   17:	  000A	11 24		        ACALL    COMMAND
   18:	  000C	74 06		        MOV      A,#06H                ;shift cursor right
   19:	  000E	11 24		        ACALL    COMMAND
   20:	  0010	74 81		DISPLAY:MOV      A,#81H
   21:	  0012	11 24		        ACALL    COMMAND
   22:	  0014	90 00 58	        MOV      DPTR,#TEST
   23:	  0017	11 4C		        ACALL    DISP_STRING
   24:	  0019	74 C1		        MOV      A,#0C1H
   25:	  001B	11 24		        ACALL    COMMAND
   26:	  001D	90 00 66	        MOV      DPTR,#TEST+0EH
   27:	  0020	11 4C		        ACALL    DISP_STRING
   28:	  0022	80 FE		HERE:   SJMP     HERE
   29:				;=============================================================
   30:	  0024			COMMAND:
   31:	  0024	11 3E		        ACALL    READY                 ;is LCD ready?
   32:	  0026	F5 90		        MOV      LCD,A                 ;issue command code
   33:	  0028	C2 A0		        CLR      RS                    ;RS=0 for command
   34:	  002A	C2 A1		        CLR      RW                    ;R/W=0 to write to LCD|
   35:	  002C	D2 A2		        SETB     E                     ;E=1 for H-to-L pulse
   36:	  002E	C2 A2		        CLR      E                     ;E=0 ,latch in
   37:	  0030	22		        RET
   38:				;=============================================================
   39:	  0031			DATA_DISPLAY:
   40:	  0031	11 3E		        ACALL    READY                 ;is LCD ready?
   41:	  0033	F5 90		        MOV      LCD,A                 ;issue data
   42:	  0035	D2 A0		        SETB     RS                    ;RS=1 for data
   43:	  0037	C2 A1		        CLR      RW                    ;R/W=0 to write to LCD

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  0039	D2 A2		        SETB     E                     ;E=1 for H-to-L pulse
   45:	  003B	C2 A2		        CLR      E                     ;E=0 ,latch in
   46:	  003D	22		        RET
   47:				;=============================================================
   48:	  003E			READY:
   49:	  003E	D2 97		        SETB     BUSY                  ;make P1.7 input port
   50:	  0040	C2 A0		        CLR      RS                    ;RS=0 access command reg
   51:	  0042	D2 A1		        SETB     RW                    ;R/W=1 read command reg
   52:				;read command reg and check busy flag
   53:	  0044			BACK:
   54:	  0044	C2 A2		        CLR      E                     ;E=1 for H-to-L pulse
   55:	  0046	D2 A2		        SETB     E                     ;E=0 H-to-l pulse
   56:	  0048	20 97 F9	        JB       BUSY,BACK             ;stay until busy flag=0
   57:	  004B	22		        RET
   58:				;=============================================================
   59:	  004C			DISP_STRING:
   60:	  004C	E4		        CLR      A                     ;A=0
   61:	  004D	7F 00			MOV      R7,#00H               ;R7=0
   62:	  004F			NEXT_CHAR:
   63:	  004F	0F			INC      R7		       ;R7+1
   64:	  0050	93			MOVC     A,@A+DPTR
   65:	  0051	11 31			ACALL    DATA_DISPLAY
   66:	  0053	EF			MOV      A,R7
   67:	  0054	BF 0E F8		CJNE     R7,#0EH,NEXT_CHAR
   68:	  0057	22			RET
   69:				;=============================================================
   70:	  0058	38 2D 42 69	TEST:   DB       "8-Bit LCD Test","By 80C51 MCU's"
	  005C	74 20 4C 43
	  0060	44 20 54 65
	  0064	73 74 42 79
	  0068	20 38 30 43
	  006C	35 31 20 4D
	  0070	43 55 27 73
   71:				        END





                     register banks used:  ---

                     no errors



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





	       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
BACK				  CODE	    0044	  53
BUSY				  BIT	      97	   4
COMMAND				  CODE	    0024	  30
CY				  BIT	      D7
DATA_DISPLAY			  CODE	    0031	  39
DISPLAY				  CODE	    0010	  20
DISP_STRING			  CODE	    004C	  59
DPH				  DATA	      83
DPL				  DATA	      82
E				  BIT	      A2	   5
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
HERE				  CODE	    0022	  28
IE				  DATA	      A8
IE0				  BIT	      89
IE1				  BIT	      8B
INT0				  BIT	      B2
INT1				  BIT	      B3
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
LCD				  DATA	      90	   3
LCD_INIT			  CODE	    0000	  11
NEXT_CHAR			  CODE	    004F	  62
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

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 4



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
RD				  BIT	      B7
READY				  CODE	    003E	  48
REN				  BIT	      9C
RESET				  CODE	    0000
RI				  BIT	      98
RS				  BIT	      A0	   6
RS0				  BIT	      D3
RS1				  BIT	      D4
RW				  BIT	      A1	   7
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
TEST				  CODE	    0058	  70
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 + -