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

📄 a240.asm

📁 Alera 的8051 IP core的示例文件5个
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;128X240 液晶演示程序
ORG  0000H
        LJMP STAR
        ORG  0100H
STAR:
       MOV R4,#90H
       LCALL OUTIN  ;  display off

       MOV R2,#00H
       MOV R3,#00H  ;  TEXT HOME
       MOV R4,#40H
       LCALL OUTI2

       MOV R2,#30
       MOV R3,#00   ;  TEXT AREA   &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
       MOV R4,#41H
       LCALL OUTI2

       MOV R2,#00H
       MOV R3,#10H
       MOV R4,#42H
       LCALL OUTI2  ;  GRAPHIC HOME

       MOV R2,#30
       MOV R3,#00H  ;GRAPHIC AREA
       MOV R4,#43H  ;
       LCALL OUTI2

       MOV R4,#94H  ; TEXT ON
       LCALL  OUTIN ; GRAPHIC OFF

       MOV R2,#00H
       MOV R3,#00H  ; TEXT WRITE "0"
       MOV R4,#24H
       LCALL OUTI2

       MOV R4,#0B0H
       LCALL OUTIN

       MOV R2,#01FH
CLRS0:
       MOV R3,#0FFH
CLRS1:
       CLR A
       LCALL OUTD
       DJNZ R3,CLRS1      ;空白
       DJNZ R2,CLRS0
       MOV R4,#0B2H
       LCALL OUTIN

     ; MODE SET

      MOV R4,#9cH
      LCALL OUTIN
      MOV R4,#80H    ; 84H是文本特征为错误,要将图形区改为特征码   &&&&&&&&&&&&&&&&&&&&&&&
      LCALL OUTIN

      MOV R2,#00H
      MOV R3,#00H
      MOV R4,#24H
      LCALL OUTI2

      MOV 12H,#16                ;10行5~8列*8行
QW1:  MOV R2,#30                 ;每行30个字
      MOV R3,#2CH                ;  Char code
      MOV 10H,#10H               ;10H是字符代码寄存器
      MOV R4,#0C0H
QW:   MOV R3,10H
      MOV R4,#0C0H
      LCALL OUTI1
      inc 10H

      DJNZ R2,QW
      DJNZ 12H,QW1
;      LCALL TIME
      LCALL TIME

	;~~~~~~~~~~~~~~~~~~~~~~That's txt comstruction.

      MOV R4,#98H    ;   text off graph on      &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
      LCAll OUTIN
      MOV R0,#2
      MOV R1,#00H
      MOV R2,#00H
      MOV 22H,#30
SE:   MOV R3,#10H     ; DISPLAY  The graphic
      MOV R4,#24H
      LCALL OUTI2
      MOV DPTR,#LDATA  ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
      LCALL LDIS1
      LCALL TIME
      LCALL TIME

      MOV 22H,#80             ; 上卷80行
      MOV DPTR,#1000H

MOVE:  MOV R2,DPL
MOVES:  MOV R3,DPH
	MOV R4,#42H
	LCALL OUTI2

	MOV 21H,#0A0H
MOVES1:

LMS2:   MOV R6,#0AFH
LMS1:   DJNZ R6,LMS1

	DJNZ 21H,MOVES1
	MOV 25H,#1EH
MOVES2:INC DPTR
	DJNZ 25H,MOVES2
	DJNZ 22H,MOVE
	LCALL TIME
	LCALL TIME
	LCALL TIME

        LJMP STAR
;-----------------------------------------------------------------------------------------------
;***********************************************************************************************

LDIS1:  NOP
	MOV R1,#160           ;送160行,为卷屏预送80行。
LDIS2:  MOV R2,22H            ;30 COLOUMN
LDIS3:  CLR A
	MOVC A,@A+DPTR
	MOV R3,A
	MOV R4,#0C0H
	LCALL OUTI1
	INC DPTR
	DJNZ R2,LDIS3
	DJNZ R1,LDIS2
	RET

;THIS SUBR. IS FOR DISPLAYING ONE LINE
;THE ENTRANCE PARA.

OUTI2:  LCALL PR01                  ;THE ENTRANCE OF TWO BYTE PARA. COMMAND
	MOV A,R2
	LCALL OUTD
;OUTI1 IS FOR ONE PARA.
OUTI1:  LCALL PR01
	MOV A,R3
	LCALL OUTD
;OUTIN IS FOR NO PARA.
OUTIN:  LCALL PR01
	MOV A,R4
	SJMP  OUTD1
;OUTD IS FOR DATA OUTPUT
OUTD:   CLR  P2.2                   ;FOR WRTIE DATA C/D=0
OUTD1:                              ;FOR WRITE COMMAND C/D=0
	CLR  P2.0                   ;WR=0
	MOV  P0,A
	SETB P2.0                   ;W/R = 1
	SETB P2.2                  ;C/D =1
	RET

PR01:   LCALL PR0            ;Check the state of the LCD Module
	JNB ACC.0,PR01              ;JUDGE STA0
	JNB ACC.1,PR01              ;JUDGE STA1
	RET
PR02:   LCALL PR0
	JNB  ACC.2,PR02             ;FOR STA2
	RET
PR03:   LCALL PR0
	JNB  ACC.3,PR03             ;FOR STA3
	RET
PR0:    ORL P2,#07H                 ;C/D = 1
        ORL P0,#0FFH                ;P1 PORT IS FOR INPUT
        CLR P2.1                    ;RD =0
        MOV A,P0
        SETB P2.1                   ;RD = 1
        RET

MS40:   MOV R7,#00FH
MS2:    MOV R6,#01FH
MS1:    DJNZ R6,MS1
        DJNZ R7,MS2
        RET

TIME:   MOV 23H,#03H
TIME1:  MOV 21H,#0FFH
TIME2:  LCALL MS40
	DJNZ 21H,TIME2
	DJNZ 23H,TIME1
	RET

;________The data under here will make the LCD Module said:______________
;


;          Hi!                  xxxx
;    Welcome to the             xxxx
;            xxxx
LDATA:
;--  调入了一幅图像:D:\1_cpu\kx_1.bmp  --
;--  宽度x高度=240x109  --
DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,
DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,00EH,
DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,003H,080H,000H,000H,000H,

⌨️ 快捷键说明

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