tt.txt

来自「几个VHDL实现的源程序及其代码」· 文本 代码 · 共 63 行

TXT
63
字号
ser_mem	data	2bh
	ORG     0000H
	SJMP    START
        ORG     0023H
	SJMP    SER
	ORG     0030H
START:  MOV     SP,#60H
        ACALL   INIT              ;调用初始化子程序(中断和8279)
        mov     2bh,#0ffh
        mov     5fh,#00h
MAIN:   ACALL   DELAY
        MOV     P1,SER_MEM
SEND:   CLR     EA
        CLR     ES
        mov     a,5fh
SEND1:  mov     R0,a
        mov     p2,a
        inc     R0
        mov     a,p0
        mov     sbuf,a
wait:	jnb     ti,wait		;未完成数据回送,则等待
        CLR     TI
        MOV     A,R0
        CJNE    A,#08H,SEND1
        MOV     5FH,#00H
        SETB    EA
        SETB    ES
        ACALL   DELAY
        SJMP    MAIN
;************************INIT***********************
INIT:	MOV     TMOD,#20H
        MOV     TL1,#0F3H; CRYSTAL 12MHZ
        MOV     TH1,#0F3H;4800
	MOV     SCON,#50H
	MOV     PCON,#80H
	SETB    TR1
	SETB    EA
	SETB    ES
CLRRAM:	MOV     R0,#30H
	MOV     R7,#2fH
	MOV     A,#00H
CLRRAM1:MOV     @R0,A
	INC     R0
	DJNZ    R7,CLRRAM1
	RET
;**************************SER**********************
SER:    JB      TI,OUT
        clr     ri
        push    acc		        ;保护现场
	push    psw                     ;
	mov     a,sbuf		        ;接收PC机发来的数据
	mov     ser_mem,a		;存入通信数据
	pop     psw                     ;
	pop     acc			;恢复现场
out:	reti		         	;中断返回
;*************************DELAY*********************
DELAY:	MOV     R7,#0FFH
DELAY1:	MOV     R6,#0FFH
	DJNZ    R6,$
	DJNZ    R7,DELAY1
	RET
	END

⌨️ 快捷键说明

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