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

📄 snt1.asm

📁 GPS全球定位系统的应用 于大家共同分享啊 好好学习啊
💻 ASM
字号:
;=============================================
;CS0接CS8255 CS1接CS50 8255PA0-PA7接DB0-DB7 
;8255PC0接REQ 8255PC7接BUSY		
;=============================================
		P55A    EQU  	0CFA0H	;8255I/O	
        P55B    EQU  	0CFA1H
        P55C    EQU  	0CFA2H
        PCTR    EQU  	0CFA3H 
        STOBE0  EQU  	70H		;PC0复位控制字
        STOBE1  EQU  	71H		;PC0置位控制字
        ADDR1	EQU		0CFA8H	;8250,when DLAB=0, TBR ORBR;when DLAB=1 IS DLL
        ADDR2	EQU		0CFA9H	;When DLAB=0,IER;When DLAB=1 IS DLH
        INTR	EQU		0CFAAH  ;interrupt enable register
        LCR		EQU		0CFABH	;line control register
        MCR		EQU		0CFACH	;modem control register
        LSR		EQU		0CFADH	;line status register
        MSR		EQU		0CFAEH	;modem status register
;=============================================
		STSF	EQU		20H
		TIME	EQU		30H	
		DPHR	EQU		31H		;存放ASCII码的高位地址
		DPLR	EQU		32H		;存放ASCII码的底位地址
		ADRX	EQU		33H		;ASCII X轴坐标
		ADRY	EQU		34H		;ASCII Y轴坐标
		CNTB	EQU		35H
		BUF		EQU		36H		;临时存放显示的ASCII码,以判断是否为可显示字符
;=============================================	
		RIF		EQU		00H		;STSF BIT
		TIF		EQU		04H	
;=============================================		
        ORG     4000H
        LJMP  	START
;=============================================		
		ORG    	4100H
START:  MOV		DPTR,#LCR			;通过设置LCR.7位,来确定DLABD的状态。
		MOV		A,#80H				;访问MSB或LSB
		MOVX	@DPTR,A
		MOV		DPTR,#ADDR1			;首先要对DLAB进行置位或清零,以决定是访问那个寄存器.,LSB
		MOV		A,#18H				;set the baudrate is 4800
		MOVX	@DPTR,A
		MOV		DPTR,#ADDR2			;MSB
		MOV		A,#0
		MOVX	@DPTR,A
		MOV		DPTR,#LCR
		MOV		A,#7				;no pe, 8 bit, 1 stop--????
		MOVX	@DPTR,A
		MOV		DPTR,#ADDR2			;DLAB=0,访问中断使能寄存器
		MOV		A,#0
		MOVX	@DPTR,A				;no interupt
		MOV		DPTR,#LSR
		MOVX	A,@DPTR				;读状态寄存器
		MOV		DPTR,#ADDR1
		MOVX	A,@DPTR				;读输入寄存器.RECEIVE BUFF
MAIN:
		ACALL	SNT1				;SET SNT 1,SHOW ONLY GPAGG DATA
		ACALL   DELAY
		ACALL   SNT1
		LJMP	MAIN		
;=============================================		
SEND:	MOV		BUF,A
WTSD:	MOV		DPTR,#LSR
		MOVX	A,@DPTR
		JBC		ACC.5,SDOK		;判断1450准备好了吗?
		AJMP	WTSD
SDOK:	MOV		DPTR,#ADDR1
		MOV		A,BUF
		MOVX	@DPTR,A
		RET						
;=============================================	
;延时子程序
;=============================================	
DELAY: 	MOV R4,#0
	    MOV R5,#0
DLY:    DJNZ R4,DLY
		DJNZ R5,DLY
		RET
;=============================================	
;回车换行
;=============================================
SCRLF:	MOV		A,#0DH
		ACALL	SEND
		MOV		A,#0AH
		ACALL	SEND	
		RET	     
                      
;=============================================
;GPS命令。SNT命令
;=============================================
SNT1:	MOV		A,#'$'			;GPGGA
		ACALL	SEND
		MOV		A,#'S'
		ACALL	SEND
		MOV		A,#'N'
		ACALL	SEND	
		MOV		A,#'T'
		ACALL	SEND
		MOV		A,#'1'
		ACALL	SEND
		ACALL	SCRLF
		RET
END
;===============================================

⌨️ 快捷键说明

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