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

📄 hc11demo.asm

📁 freescale单片机lcd液晶屏驱动程序
💻 ASM
字号:
;HC11 Pixel Addressable LCD Demo

#include ioregs.inc

;Reset Vectors etc.
                org $FFFE
                dw start

                org $F000

;Initialization code:
start:          lds #$FF
		ldx #$1000

		jsr lcdinit

;Reset the graphics home address:
main:		ldd #$0400			
		jsr wrdouble
		ldaa #LCD_GFXHOME
		jsr wrcmd

;Write the Labcenter logo to the LCD graphics area
;This is performed in auto-write mode for maximum speed.
		ldd #$0400
		jsr wraddr
		ldaa #LCD_AUTOWRITE
		jsr wrcmd
		ldy #lxlogo
loop1		ldaa 0,Y
		jsr awdata
		iny
		cpy #presents
		bne loop1

		jsr delay

;Now the word 'presents'. The LCD is still in auto-write mode.
loop2		ldaa 0,Y
		jsr awdata
		iny
		cpy #vsmlogo
		bne loop2

		jsr delay


;Cancel auto-write mode, then re-start it at the top of the display:
		jsr awreset
		ldd #$0400
		jsr wraddr
		ldaa #LCD_AUTOWRITE
		jsr wrcmd

;Now the VSM logo is transferred:
		ldy #vsmlogo
loop3		ldaa 0,Y
		jsr awdata
		iny
		cpy #vsmlogoend
		bne loop3
		jsr awreset

		jsr delay

;Finally, we scroll it off the screen by moving the GFXHOME address
;downwards by one row (16 bytes) at a time.
		ldd #$0400
loop4a		psha
		pshb
		jsr wrdouble
		ldaa #LCD_GFXHOME
		jsr wrcmd
		ldd #1000
loop4b		subd #1
		bne loop4b
		pulb
		pula
		addd #16
		cpd #$0800
		bne loop4a

		jsr delay

;Clear the screeen so that we are ready to start again.
;The graphics screen occupies 1k of memory.
		ldd #$0400
		jsr wraddr
		ldaa #LCD_AUTOWRITE
		jsr wrcmd
		ldy #0
loop5		clra
		jsr awdata
		iny
		cpy #$0400
		bne loop5
		jsr awreset

;And round we go again...
		jmp main

;Subroutine to create a pause. 
delay:		ldd #0
dloop		subd #1
		nop
		nop
		nop
		nop
		nop
		nop
		bne dloop
		rts
		


;The Labcenter Logo bitmap
lxlogo:		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $1E,$00,$00,$40,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $1E,$00,$00,$40,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $1E,$00,$00,$40,$00,$00,$00,$00,$00,$00,$20,$00,$00,$00,$00,$00
		db $1E,$00,$00,$40,$00,$00,$00,$00,$00,$00,$20,$00,$00,$00,$00,$00
		db $1E,$00,$00,$40,$00,$00,$00,$00,$00,$00,$20,$00,$00,$00,$00,$00
		db $1E,$07,$FE,$7F,$E0,$3F,$C0,$FE,$03,$F8,$3F,$C0,$3F,$C0,$FF,$00
		db $1E,$08,$02,$40,$10,$40,$01,$01,$04,$04,$20,$00,$40,$40,$80,$80
		db $1E,$08,$02,$40,$10,$80,$02,$00,$88,$02,$20,$00,$40,$21,$00,$80
		db $1E,$10,$02,$40,$08,$80,$02,$00,$88,$02,$20,$00,$80,$12,$00,$40
		db $1E,$10,$02,$40,$09,$00,$04,$00,$88,$01,$20,$00,$80,$12,$00,$40
		db $1E,$10,$02,$40,$09,$00,$07,$FF,$D0,$01,$20,$00,$FF,$F2,$00,$00
		db $1E,$10,$02,$40,$09,$00,$04,$00,$10,$01,$20,$04,$80,$02,$00,$00
		db $1E,$10,$02,$40,$08,$80,$02,$00,$10,$01,$20,$04,$80,$02,$00,$00
		db $1E,$08,$02,$40,$10,$80,$02,$00,$10,$01,$10,$08,$40,$02,$00,$00
		db $1E,$08,$02,$40,$10,$40,$01,$00,$10,$01,$10,$18,$40,$02,$00,$00
		db $1E,$06,$02,$40,$60,$30,$00,$C0,$10,$01,$0C,$60,$30,$02,$00,$00
		db $1E,$01,$FE,$7F,$80,$0F,$E0,$3F,$90,$01,$03,$80,$0F,$E2,$00,$00
		db $1E,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $1E,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $1F,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$F8
		db $1F,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$F8
		db $1F,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$F8
		db $1F,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$F8
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $07,$80,$20,$00,$00,$00,$08,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $04,$00,$20,$06,$00,$60,$0E,$03,$00,$38,$03,$80,$10,$06,$00,$70
		db $0F,$00,$40,$0F,$00,$80,$08,$06,$00,$48,$06,$80,$20,$08,$00,$60
		db $08,$00,$40,$08,$00,$80,$08,$04,$00,$48,$04,$80,$20,$08,$00,$90
		db $0F,$00,$40,$0E,$00,$C0,$0C,$04,$00,$70,$04,$80,$20,$0C,$00,$70
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
lxlogoend

;'Presents'
presents	db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$E0,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$E0,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$E0,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$C0,$00,$00
		db $00,$07,$EF,$07,$EE,$07,$E0,$1F,$A0,$FC,$1F,$BE,$3F,$F0,$FD,$00
		db $00,$07,$DF,$87,$DE,$1F,$F0,$7F,$C3,$FE,$1F,$7F,$3F,$F3,$FE,$00
		db $00,$0F,$FF,$CF,$FC,$7F,$F8,$FF,$CF,$FF,$3F,$FF,$7F,$E7,$FE,$00
		db $00,$0F,$FF,$8F,$FC,$FF,$F9,$FF,$9F,$FF,$3F,$FF,$7F,$EF,$FC,$00
		db $00,$0F,$FF,$8F,$FC,$FD,$F9,$F9,$1F,$BF,$3F,$FF,$FF,$EF,$C8,$00
		db $00,$1F,$9F,$9F,$C9,$FF,$F9,$FE,$3F,$FF,$7E,$7E,$3F,$0F,$F0,$00
		db $00,$1F,$9F,$9F,$81,$FF,$F8,$FF,$BF,$FF,$7E,$7E,$3F,$07,$FC,$00
		db $00,$1F,$FF,$1F,$81,$F8,$02,$1F,$3F,$00,$7E,$7E,$3F,$10,$F8,$00
		db $00,$3F,$FF,$3F,$01,$FF,$F7,$FF,$3F,$FE,$FC,$FC,$7E,$3F,$F8,$00
		db $00,$3F,$FE,$3F,$01,$FF,$EF,$FE,$3F,$FC,$FC,$FC,$7E,$7F,$F0,$00
		db $00,$3E,$FC,$3F,$00,$FF,$DF,$FC,$1F,$F8,$FC,$FC,$7E,$FF,$E0,$00
		db $00,$7E,$78,$7E,$00,$7F,$07,$F0,$0F,$E1,$F9,$F8,$FC,$3F,$80,$00
		db $00,$7E,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$FC,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$FC,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$FC,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $01,$F8,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
presentsend

;The VSM Logo bitmap
vsmlogo:	db $FF,$FF,$E1,$FF,$FF,$C0,$0F,$FF,$FC,$01,$FF,$FF,$80,$3F,$FF,$E0
		db $F7,$F7,$F1,$F7,$F7,$F0,$75,$55,$77,$81,$F7,$F7,$C0,$77,$F7,$F0
		db $7F,$FF,$FF,$FF,$FF,$F8,$FF,$FF,$FF,$E1,$FF,$FF,$E0,$7F,$FF,$F8
		db $55,$55,$7F,$55,$57,$FF,$55,$55,$55,$71,$55,$55,$70,$D5,$55,$7C
		db $6A,$AA,$FE,$AA,$AB,$FE,$AA,$AA,$AA,$F9,$AA,$AA,$F9,$AA,$AA,$FE
		db $55,$55,$75,$55,$57,$7D,$55,$55,$55,$7F,$55,$55,$77,$55,$55,$77
		db $2A,$AA,$BE,$AA,$AF,$FE,$AA,$AA,$AA,$FF,$AA,$AA,$BE,$AA,$AA,$FF
		db $34,$54,$7C,$54,$57,$FC,$54,$54,$54,$FF,$54,$54,$5C,$54,$54,$7F
		db $2A,$AA,$BA,$AA,$AF,$FA,$AA,$AA,$AA,$FF,$AA,$AA,$AA,$AA,$AA,$FF
		db $00,$00,$10,$00,$0F,$F0,$00,$00,$00,$F7,$00,$00,$00,$00,$00,$77
		db $1A,$8A,$9A,$8A,$8F,$FA,$8A,$8A,$8B,$FF,$8A,$8A,$8A,$8A,$8A,$FF
		db $10,$00,$10,$00,$0F,$F0,$00,$1F,$01,$FF,$00,$00,$00,$00,$00,$7F
		db $02,$22,$22,$22,$3F,$E2,$22,$3F,$E3,$FF,$22,$22,$22,$22,$22,$7F
		db $00,$00,$00,$00,$1F,$60,$00,$07,$63,$7F,$00,$00,$00,$00,$00,$77
		db $0A,$AA,$AA,$AA,$BF,$EA,$AA,$AF,$EB,$FF,$AA,$AA,$AA,$AA,$AA,$FF
		db $08,$40,$40,$40,$5F,$E0,$40,$40,$F3,$FF,$40,$40,$40,$40,$40,$7F
		db $06,$AA,$AA,$AA,$BF,$FA,$AA,$AA,$BF,$FF,$AA,$AA,$AA,$AA,$AA,$FF
		db $04,$10,$10,$10,$3F,$F0,$10,$10,$17,$F7,$10,$10,$10,$10,$10,$77
		db $06,$AA,$AA,$AA,$BF,$FA,$AA,$AA,$AF,$FF,$AA,$AA,$AA,$AA,$AA,$FF
		db $00,$44,$44,$44,$7F,$FC,$44,$44,$45,$FF,$44,$44,$44,$44,$44,$7F
		db $02,$AA,$AA,$AA,$FF,$FA,$AA,$AA,$AB,$FD,$AA,$AA,$AA,$AA,$AA,$FF
		db $03,$11,$11,$11,$7F,$75,$11,$11,$11,$75,$11,$11,$11,$11,$11,$77
		db $02,$AA,$AA,$AA,$FF,$F6,$AA,$AA,$AA,$FD,$AA,$AA,$AA,$AA,$AA,$FF
		db $01,$55,$55,$55,$FF,$F7,$D5,$55,$55,$7D,$55,$55,$D5,$D5,$55,$7F
		db $01,$AA,$AA,$AA,$FF,$E7,$EA,$AA,$AA,$FF,$AA,$AA,$EA,$EA,$AA,$FF
		db $01,$55,$55,$55,$F7,$E5,$F5,$55,$55,$77,$55,$55,$D5,$D5,$55,$77
		db $00,$AE,$AE,$AF,$FF,$EE,$FE,$AE,$AE,$BF,$AE,$AE,$EF,$EE,$AE,$FF
		db $00,$D5,$55,$55,$FF,$CD,$FF,$55,$55,$7F,$55,$55,$F7,$D5,$55,$7F
		db $00,$AB,$AB,$AB,$FF,$CB,$BF,$AB,$AB,$BF,$AB,$AB,$FF,$EB,$AB,$FF
		db $00,$55,$55,$57,$7F,$55,$57,$55,$55,$7F,$55,$55,$77,$55,$55,$77
		db $00,$7E,$FE,$FF,$FF,$DE,$FE,$FE,$FE,$FF,$FE,$FE,$FF,$FE,$FE,$FF
		db $00,$55,$55,$57,$FF,$B5,$55,$55,$55,$7F,$55,$55,$FF,$D5,$55,$7F
		db $00,$7B,$BB,$BF,$FF,$BB,$BB,$BB,$BB,$FF,$BB,$BB,$FF,$FB,$BB,$FF
		db $00,$35,$55,$57,$F7,$B5,$55,$55,$55,$77,$55,$55,$F7,$D5,$55,$77
		db $00,$3F,$FF,$FF,$FF,$7F,$FF,$FF,$FF,$FF,$FF,$FF,$FE,$FF,$FF,$FF
		db $00,$35,$55,$57,$FF,$55,$55,$55,$55,$FF,$55,$55,$FE,$D5,$55,$7F
		db $00,$1F,$FF,$FF,$FF,$7F,$FF,$FF,$FF,$FF,$FF,$FF,$FE,$FF,$FF,$FF
		db $00,$15,$55,$5F,$7E,$55,$55,$55,$57,$7F,$55,$55,$77,$55,$55,$77
		db $00,$1F,$FF,$FF,$FE,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		db $00,$1D,$DD,$DF,$FE,$3F,$DD,$DD,$FF,$FF,$DD,$DD,$FF,$DD,$DD,$FF
		db $00,$0F,$FF,$FF,$FE,$0F,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		db $00,$07,$F7,$F7,$F4,$03,$F7,$F7,$FF,$FF,$F7,$F7,$F7,$F7,$F7,$F7
		db $00,$03,$FF,$FF,$FC,$00,$FF,$FF,$FF,$FE,$FF,$FF,$FF,$7F,$FF,$FF
		db $00,$00,$FF,$FF,$FC,$00,$1F,$FF,$FF,$F8,$3F,$FF,$FF,$1F,$FF,$FF
		db $00,$00,$3F,$FF,$F8,$00,$0F,$FF,$FF,$F0,$1F,$FF,$FF,$0F,$FF,$FF
		db $00,$00,$07,$77,$70,$00,$01,$77,$7F,$00,$04,$71,$77,$03,$55,$77
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $20,$C0,$00,$00,$81,$E0,$00,$00,$00,$00,$60,$C0,$04,$05,$40,$00
		db $21,$00,$40,$00,$82,$10,$00,$40,$00,$00,$60,$C0,$04,$05,$00,$00
		db $11,$4E,$F4,$9E,$82,$04,$7C,$F7,$9E,$E0,$51,$4E,$3C,$F5,$4F,$3C
		db $11,$4A,$44,$92,$81,$E4,$62,$44,$91,$20,$51,$51,$44,$95,$49,$24
		db $0A,$48,$44,$9E,$80,$12,$A0,$47,$91,$20,$4A,$51,$44,$F5,$49,$24
		db $0A,$48,$44,$92,$82,$12,$BE,$44,$11,$20,$4A,$51,$44,$85,$49,$24
		db $0A,$48,$54,$92,$82,$12,$A2,$54,$91,$20,$4A,$51,$44,$95,$49,$24
		db $04,$48,$77,$9E,$81,$E1,$3E,$73,$91,$20,$44,$4E,$3C,$75,$49,$3C
		db $00,$00,$00,$00,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$04
		db $00,$00,$00,$00,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$38
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
		db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00

vsmlogoend

;************************************************************************
;**** Pixel Addressable LCD Package ****
******************;*********************

;LCD Registers addresses
LCD_STATUS	equ 	5
LCD_COMMAND	equ	6
LCD_READ	equ	1
LCD_WRITE	equ	2

;Common LCD Commands
LCD_CURSOR	equ	$21
LCD_OFFSET   	equ	$22
LCD_ADDRESS	equ	$24
LCD_TEXTHOME	equ	$40
LCD_TEXTAREA    equ	$41
LCD_GFXHOME	equ	$42
LCD_GFXAREA	equ	$43
LCD_ORMODE	equ	$80
LCD_XORMODE	equ	$81
LCD_ANDMODE	equ	$83
LCD_ATTRMODE	equ	$84
LCD_DISPLAY	equ	$90
LCD_CLINES	equ	$A0
LCD_AUTOWRITE	equ	$B0
LCD_AUTOREAD	equ	$B1
LCD_AUTORESET   equ     $B2
LCD_WRITEINC	equ	$C0
LCD_READINC	equ	$C1
LCD_WRITEDEC	equ	$C2
LCD_READDEC	equ	$C3
LCD_SCREENPEEK	equ	$E0
LCD_SCREENCOPY  equ	$E8
LCD_BITSET	equ	$F0

;Initialize LCD package for 128x75 pixel display
lcdinit		ldaa #2				;STRB active low, STRA on rising edges			
		staa PIOC,X

		ldaa #$FF			;Start with PORTB high.
		staa PORTB,X

		ldd #0				;Set Text base address
		bsr wrdouble
		ldaa #LCD_TEXTHOME
		bsr wrcmd

		ldd #16				;16 bytes per text row
		bsr wrdouble
		ldaa #LCD_TEXTAREA
		bsr wrcmd

		ldd #$0400			;Set Graphics base address
		bsr wrdouble
		ldaa #LCD_GFXHOME
		bsr wrcmd

		ldd #16				;16 bytes per graphics row
		bsr wrdouble
		ldaa #LCD_GFXAREA
		bsr wrcmd

		ldd #$0800			;Set CGRAM base address
		bsr wrdouble
		ldaa #LCD_OFFSET
		bsr wrcmd

		ldaa #LCD_DISPLAY+$0C		;Enable text, graphics, no cursor.
		bsr wrcmd
		rts

;Set the address pointer
wraddr		bsr wrdouble
		ldaa #LCD_ADDRESS
		bra wrcmd

;Write ASCIIZ string at Y to LCD
wrstr		ldaa 0,Y			;Read next character
		beq wsdone			;rtsurn if zero		
		suba #$20			;Display uses non ASCII charset.
		bsr wrdata			;Send it to the display as data
		ldaa #LCD_WRITEINC		;Write and increment
		bsr wrcmd
		iny				;Loop for next character
		bra wrstr
wsdone		rts

;Write command
wrcmd		clr DDRC,X			;Prepare to read
 		ldab #LCD_STATUS		;CD high, RD low
wrcmd1		stab PORTB,X	
		brclr PORTCL,X,1,wrcmd1		;Bit 0 must be set
		staa PORTC,X
		ldab #$FF
		stab DDRC,X
		ldab #LCD_COMMAND
		stab PORTB,X
		rts

;Write double data parameter (B=data1, A=data2)
;Use for setting graphics/text home addresses etc.
wrdouble	psha
		tba
		bsr wrdata
		pula		 

;Write single data parameter
wrdata		clr DDRC,X			;Prepare to read
 		ldab #LCD_STATUS		;CD high, RD low
wrdata1		stab PORTB,X	
		brclr PORTCL,X,2,wrdata1	;Bit 1 must be set
		staa PORTC,X
		ldab #$FF
		stab DDRC,X
		ldab #LCD_WRITE
		stab PORTB,X
		rts


;Write autodata value:
awdata		clr DDRC,X			;Prepare to read
 		ldab #LCD_STATUS		;CD high, RD low
wrauto1		stab PORTB,X	
		brclr PORTCL,X,8,wrauto1	;Bit 3 must be set
		staa PORTC,X
		ldab #$FF
		stab DDRC,X
		ldab #LCD_WRITE
		stab PORTB,X
		rts

;Reset autowrite:
awreset		clr DDRC,X			;Prepare to read
 		ldab #LCD_STATUS		;CD high, RD low
awr1		stab PORTB,X	
		brclr PORTCL,X,8,awr1		;Bit 3 must be set
		ldaa #LCD_AUTORESET
		staa PORTC,X
		ldab #$FF
		stab DDRC,X
		ldab #LCD_COMMAND
		stab PORTB,X
		rts

;Read autodata
rdauto		clr DDRC,X			;Prepare to read
 		ldab #LCD_STATUS		;CD high, RD low
rdauto1		stab PORTB,X	
		brclr PORTCL,X,4,rdauto1	;Bit 2 must be set
		ldab #LCD_READ
		stab PORTB,X
		ldaa PORTCL
		rts

;Reset autoread:
arreset		clr DDRC,X			;Prepare to read
 		ldab #LCD_STATUS		;CD high, RD low
arr1		stab PORTB,X	
		brclr PORTCL,X,4,arr1		;Bit 2 must be set
		ldaa #LCD_AUTORESET
		staa PORTC,X
		ldab #$FF
		stab DDRC,X
		ldab #LCD_COMMAND
		stab PORTB,X
		rts

⌨️ 快捷键说明

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