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

📄 init.asm

📁 数字温度计原代码
💻 ASM
字号:
;		.version 548
		.mmregs
  		.def   	_dspinit
  		.def   	_bsp2init
;		.def   	_c_int00
		.def   	_readtherm
		.def	_resettherm
		.def	_writetherm	
		.ref    _main
;串口2的初始化数据;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

FSX_IN   .set   2008h 
FSX_OUT1 .set   2808h
FSX_OUT0 .set   2800h
SPSA2	.set 	34h
McBSP2	.set 	35h
DXR12   .set 	33h
DXR22	.set 	32h
DRR12   .set 	31h
DRR22  .set 	30h 

 
SPCR12  .set 00h 
SPCR22  .set 01h
RCR12   .set 02h
RCR22   .set 03h
XCR12   .set 04h
XCR22   .set 05h
PCR2    .set 0Eh
SRGR12  .set 06h
SRGR22  .set 07h     
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		.sect ".iptr"
_c_int00
		b _main
		nop
		nop
NMI	rete
		nop
		nop
		nop
SINT17	.space 4*16
SINT18	.space 4*16
SINT19	.space 4*16
SINT20	.space 4*16
SINT21	.space 4*16
SINT22	.space 4*16
SINT23	.space 4*16
SINT24	.space 4*16
SINT25	.space 4*16
SINT26	.space 4*16
SINT27	.space 4*16
SINT28	.space 4*16
SINT29	.space 4*16
SINT30	.space 4*16
INT0	rsbx 	intm
		rete
		nop
		nop
INT1	rsbx 	intm
		rete
		nop
		nop
INT2	rsbx 	intm
		rete
		nop
		nop
TINT:	RETE
		nop
		nop
		nop
RINT0:	RETE
		nop
		nop
		nop
XINT0:	rete
		nop
		nop
		nop 
SINT6	.space 4*16
SINT7	.space 4*16
INT3:	rete
		nop
		nop
		nop  
HPINT:	rete
		nop
		nop
		nop  
RINT1:	rete
		nop
		nop
		nop
XINT1:	RETE
		nop
		nop
		nop
DMINT4:
		RETE
		nop
		nop
		nop
DMINT5:
		RETE
		nop
		nop
		nop
				
;*************************
		.text
_dspinit:	
		POPM    AR5
		STM 	#7000h,SWWSR
		STM 	#1020h,PMST
;		STM     #1097h,CLKMD
		SSBX    CPL
		SSBX 	INTM             ;DINT
		RSBX    OVM
		NOP
		NOP
		PSHM    AR5
        RET
;*********************************************************

;******************************       
_bsp2init:
		STM		#SPCR12,SPSA2        ;串口0的初始化程序
		STM 	#0,McBSP2    ;ENBLE R
		NOP
		NOP
		
		STM 	#SPCR22,SPSA2
		STM 	#0,McBSP2    ;ENBLE X
		NOP
		NOP
				
		STM 	#PCR2,SPSA2
		STM 	#FSX_OUT1,McBSP2
		NOP
		NOP
		RET
;*************************
_resettherm:
		STM		#PCR2,SPSA2			;使温度传感器复位
		STM 	#FSX_OUT1,McBSP2   
		RPT		#100
		NOP
		
		STM 	#FSX_OUT0,McBSP2  
		RPT		#20000
		NOP
		
		STM 	#FSX_OUT1,McBSP2
		RPT		#20000  
		NOP
		
		RET  
;*************************  
_writetherm:
		STM     #07h,AR3
loop:
		
		STM 	#PCR2,SPSA2            ;向温度传感器发送一位数据“1”
		STM 	#FSX_OUT1,McBSP2 
		RPT		#100
		NOP
		SFTA    A,-1
		BC      out1,C
		STM 	#PCR2,SPSA2
		STM 	#FSX_OUT0,McBSP2  
		RPT		#2000
		NOP
		
		STM 	#PCR2,SPSA2
		STM 	#FSX_OUT1,McBSP2 		
		RPT		#100
		NOP
		B       loopend
out1:
		STM 	#PCR2,SPSA2
		STM 	#FSX_OUT0,McBSP2  
		RPT		#200
		NOP
		
		STM 	#FSX_OUT1,McBSP2 
		RPT		#2000
		NOP		
loopend:		
		BANZ    loop,*AR3-
		NOP
		RET
;******************************************
_readtherm:
		STM     #0bh,AR3
		SUB     A,A
loopr:		
		STM 	#PCR2,SPSA2             ;从串口0接收温度传感器产生的一位数据
		STM 	#FSX_OUT1,McBSP2 
        RPT		#120
        NOP   
        
        STM 	#PCR2,SPSA2
		STM 	#FSX_OUT0,McBSP2 
        RPT		#100      
        NOP
        
        STM 	#PCR2,SPSA2
		STM 	#FSX_OUT1,McBSP2 
        RPT		#300   
        NOP      
        
        STM     #FSX_IN,McBSP2
;        STM     #0ffffh,McBSP2
        NOP
        STM 	#PCR2,SPSA2
        LDM		McBSP2,B
        NOP
        NOP
        NOP
        STM 	#FSX_OUT1,McBSP2 
        RPT		#2000
        NOP   
        NOP        
        
        AND		#0008H,B
        BC		RX1,BNEQ
        RSBX	C
        B		RX2
RX1		SSBX	C  
RX2		ROR		A    
        BANZ    loopr,*AR3-
		NOP
		NOP
		SFTA    A,-10
		SFTA    A,-10
		NOP
		NOP
		NOP
		NOP
		RET
		.end


⌨️ 快捷键说明

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