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

📄 中西文混合显示.asm

📁 PIC16F877单片机控制LCD驱动器SED1335源程序
💻 ASM
字号:
;RD?DB0-DB7;RE0?A0,RE1?/RD,RE2?/WR,??CE??
;????INTEL8080??,?????M6800?????
;???????
 	LIST	P=16F877
	#INCLUDE<P16F877.INC>
COM	EQU	20H
DAT	EQU	21H
READA	EQU	22H
COUNT0	EQU	23H
COUNT1	EQU	24H
COUNT2	EQU	25H
NCURADH	EQU	26H
NCURADL	EQU	27H
CURADDR	EQU	28H	
OX	EQU	2AH
OY	EQU	2BH
OYH	EQU	2CH
OYH0	EQU	2DH
   	ORG	00H
	NOP
	ORG	10H
	GOTO	STAR

TABSY				;DMF50081?????
	ADDWF	PCL,1
	RETLW	30H		;??LCD,8*8??,80H-9FH,??????
	RETLW	87H		;?????7
	RETLW	07H		;?????7
	RETLW	27H		;???????39
	RETLW	42H		;??????????50
	RETLW	0F0H		;LCD?????239,
	RETLW	28H
	RETLW	00H			;?????????????????40
TABSC
	ADDWF	PCL,1 
	RETLW	00H
	RETLW	00H
	RETLW	0F0H		;??????????0000H,??0F0H?
	RETLW	00H
	RETLW	040H
	RETLW	0F0H		;??????????04B0H,??0F0H?
	RETLW	00H
	RETLW	80H		;??????????2A30H
	RETLW	00H
	RETLW	00H			;??????????2EE0H
CTAB
	ADDWF	PCL,1
	RETLW	53H	;S
	RETLW	65H	;e
	RETLW	76H	;v
	RETLW	69H	;i
	RETLW	63H	;c
	RETLW	65H	;e
	RETLW	72H	;r
	RETLW	20H	;??
	RETLW	54H	;T
	RETLW	45H	;E
	RETLW	4CH	;L
	RETLW	3AH	;:
	RETLW	00H	
	RETLW	30H	;0
	RETLW	31H	;1
	RETLW	30H	;0
	RETLW	36H	;6
	RETLW	32H	;2
	RETLW	37H	;7
	RETLW	38H	;8
	RETLW	30H	;0
	RETLW	38H	;8
	RETLW	36H	;6
	RETLW	36H	;6
CH_TAB
	ADDWF	PCL,1
	RETLW	040H
	RETLW	040H
	RETLW	20H
	RETLW	20H
	RETLW	27H
	RETLW	0FEH
	RETLW	09H
	RETLW	20H
	RETLW	89H
	RETLW	20H
	RETLW	52H
	RETLW	7CH
	RETLW	52H
	RETLW	44H
	RETLW	016H
	RETLW	0A8H	
	RETLW	2BH
	RETLW	98H
	RETLW	22H
	RETLW	50H
	RETLW	0E2H
	RETLW	20H
	RETLW	22H
	RETLW	30H
	RETLW	22H
	RETLW	50H
	RETLW	22H
	RETLW	88H
	RETLW	23H
	RETLW	0EH
	RETLW	22H
	RETLW	04H
WRINSTR
	MOVF	COM,0
	NOP
	MOVWF	PORTD
	BSF	PORTE,0	;??A0=1
	BSF	PORTE,1;/RD=1
	BCF	PORTE,2;/WR=0
	BCF	PORTC,3
	NOP
	NOP
	CALL	DELAY
	CALL	DELAY
	BSF	PORTC,3
	RETURN
;???????????
WRDATA
	MOVF	DAT,0
	NOP
	MOVWF	PORTD
	BCF	PORTE,0	;??A0=0
	BSF	PORTE,1;/RD=1
	BCF	PORTE,2	;/WR=0
	BCF	PORTC,3
	NOP
	NOP
	CALL	DELAY
	CALL	DELAY
	BSF	PORTC,3
	RETURN
;????????????
REDATA
	BSF	STATUS,RP0
	MOVLW	0FFH
	MOVWF	TRISD	;??D????
	BCF	STATUS,RP0
	BSF	PORTE,0;??A0=1
	BCF	PORTE,1;/RD=0
	BSF	PORTE,2;/WR=1
	BCF	PORTC,3
	NOP
	CALL	DELAY
	MOVF	PORTD,0
	MOVWF	READA
	BSF	PORTC,3
	BSF	STATUS,RP0
	MOVLW	00H
	MOVWF	TRISD
	BCF	STATUS,RP0
	RETURN	
DELAY
	MOVLW	0FH
	MOVWF	COUNT2
DELAY_1	DECFSZ	COUNT2,1
	GOTO	DELAY_1
	RETURN

;??????
INIT
     	BSF	STATUS,RP0	;?????
	MOVLW	87H
	MOVWF	ADCON1
	CLRF	TRISD	  	;0=OUT,1=IN
	CLRF	TRISE	  	;D?,E?????????????
	CLRF	TRISC
	BCF	STATUS,RP0
	CLRF	PORTD
	CLRF	PORTE	
	BSF	PORTC,3
	CLRF	DAT
	CLRF	COM
	CLRF	READA
INITSY	MOVLW	40H		;SYSTEMSET???
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	08H
	MOVWF	COUNT0		;??????
	CLRF	COUNT1		;??????
INITSY1	MOVF	COUNT1,0
	CALL	TABSY		;?SYSTEMSET?
	MOVWF	DAT
	CALL	WRDATA
	INCF	COUNT1,1
	DECFSZ	COUNT0,1	;P1-P8??????
	GOTO	INITSY1
INITSC	MOVLW	44H		;SCROLL???
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	0AH
	MOVWF	COUNT0
	CLRF	COUNT1
INITSC1	MOVF	COUNT1,0
	CALL	TABSC		;?SCROLL?
	MOVWF	DAT
	CALL	WRDATA
	INCF	COUNT1,1
	DECFSZ	COUNT0,1	;P1-P10??????
	GOTO	INITSC1
	MOVLW	5AH		;HDOT SCR??
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	00H		;????P1
	MOVWF	DAT
	CALL	WRDATA		;????
	MOVLW	5BH		;OVLAY??
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	00H		;????P1
	MOVWF	DAT
	CALL	WRDATA		;????
	MOVLW	59H		;DISP ON/OFF??
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	56H		;????,??????,???,???
	MOVWF	DAT
	CALL	WRDATA		;????
	MOVLW	4CH		;CSRDIR-RIGHT??
	MOVWF	COM
	CALL	WRINSTR		;?????????????
	RETURN

CLEAR
	MOVLW	42H
	MOVWF	COM
	CALL	WRINSTR
	CLRF	COUNT0
	CLRF	COUNT1
CLR	CLRF	DAT
	CALL	WRDATA
	DECFSZ	COUNT0,1
	GOTO	CLR
	DECFSZ	COUNT1,1
	GOTO	CLR
	RETURN	
COUNTSCR
	CLRF	OYH	;????
	BCF	STATUS,0
	RLF	OY,1
	RLF	OYH,1
	BCF	STATUS,0
	RLF	OY,1
	RLF	OYH,1
	BCF	STATUS,0
	RLF	OY,1
	RLF	OYH,1
	MOVF	OYH,0
	MOVWF	OYH0	;OY*8?????
	MOVF	OY,0	;OY*8?????W?
	BCF	STATUS,0
	RLF	OY,1
	RLF	OYH,1
	BCF	STATUS,0
	RLF	OY,1	;OY*32???
	RLF	OYH,1	;OY*32???
	BCF	STATUS,0
	ADDWF	OY,0	;OY*40?????OY?
	BTFSC	STATUS,0
	INCF	OYH,1	;????????
	ADDWF	OX,1	;????????OX?
	BTFSC	STATUS,0
	INCF	OYH,1	;????????
	MOVF	OYH0,0
	ADDWF	OYH,0	;OY*40???	
	ADDLW	40H	;?????????SAD2H
	MOVWF	OY	;????????OY?
	MOVLW	46H		;CSRW,??????
	MOVWF	COM
	CALL	WRINSTR
	MOVF	OX,0		;CSR-000H VRAM1
	MOVWF	DAT
	CALL	WRDATA		;????
	MOVF	OY,0		;CSR-000H VRAM1
	MOVWF	DAT	
	CALL	WRDATA
	RETURN

DIS_CH	
	MOVLW	5DH		;CSRFORM??,????????
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	07H		;?????????CSX=8
	MOVWF	DAT
	CALL	WRDATA
	MOVLW	07H		;???????,?????CSY=8
	MOVWF	DAT
	CALL	WRDATA
	MOVLW	5BH		;OVLAY??
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	00H		;????P1
	MOVWF	DAT
	CALL	WRDATA		;????
	MOVLW	47H	;???????
	MOVWF	COM
	CALL	WRINSTR
	CALL	REDATA
	MOVF	READA,0
	MOVWF	NCURADL
	CALL	REDATA
	MOVF	READA,0
	MOVWF	NCURADH	
	MOVLW	4FH	;????????+AP
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	42H	;?????
	MOVWF	COM
	CALL	WRINSTR
	CLRF	CURADDR	;????,????????????	
DIS_C1	MOVF	CURADDR,0
	CALL	CH_TAB
	MOVWF	DAT
	CALL	WRDATA
	INCF	CURADDR,1	
	INCF	CURADDR,1	
	BTFSS	CURADDR,5
	GOTO	DIS_C1
	MOVLW	46H	;??????
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	01H
	ADDWF	NCURADL,1
	MOVF	NCURADL,0
	MOVWF	DAT
	CALL	WRDATA
	MOVF	NCURADH,0
	MOVWF	DAT
	CALL	WRDATA	
	MOVLW	42H	;?????
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	01H
	MOVWF	CURADDR
DIS_C2	MOVF	CURADDR,0
	CALL	CH_TAB
	MOVWF	DAT
	CALL	WRDATA
	INCF	CURADDR,1	
	INCF	CURADDR,1	
	BTFSS	CURADDR,5
	GOTO	DIS_C2	
	RETURN
;????????????(???????)
DIS_EN
	MOVLW	5DH		;CSRFORM??,????????
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	07H		;?????????CSX=8
	MOVWF	DAT
	CALL	WRDATA
	MOVLW	87H		;???????,?????CSY=8
	MOVWF	DAT
	CALL	WRDATA
	MOVLW	5BH		;OVLAY
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	01H		;
	MOVWF	DAT
	CALL	WRDATA	
	MOVLW	59H		;DISP ON/OFF
	MOVWF	COM
	CALL	WRINSTR	
	MOVLW	56H		;??1-4????
	MOVWF	DAT
	CALL	WRDATA	
	MOVLW	46H		;CSRW??
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	00H		;????CSR=0000H
	MOVWF	DAT		;???????00H
	CALL	WRDATA
	CLRF	DAT		;???????00H
	CALL	WRDATA
	MOVLW	4CH		;CSRDIR??
	MOVWF	COM
	CALL	WRINSTR
	MOVLW	42H		;MWRITE??
	MOVWF	COM
	CALL	WRINSTR	
	MOVLW	18H
	MOVWF	COUNT0
	CLRF	COUNT1
DISLOOP	MOVF	COUNT1,0
	CALL	CTAB		;??
	MOVWF	DAT
	CALL	WRDATA
	INCF	COUNT1,1
	DECFSZ	COUNT0,1	;??????
	GOTO	DISLOOP
	RETURN
STAR	
 	CALL	INIT
	CALL	CLEAR
CHIN	CALL	DIS_EN
	MOVLW	010H
	MOVWF	OX
	MOVLW	046H
	MOVWF	OY
	CALL	COUNTSCR
	CALL	DIS_CH
	END	

⌨️ 快捷键说明

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