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

📄 dasquare.asm

📁 TMS320LF2407产生频率为50HZ的方波源码
💻 ASM
字号:
;/******************************************************************************/
;generate 1khz square wave
;/******************************************************************************/
SQUARE   	.set   	0
DP_SQUARE	.set	4H    										;页 4  B0(200H/80H)	
						.include  	"F2407REGS.H" 		;引用头部文件 
						.def      	_c_int0
;(1)建立中断向量表
						.sect	".vectors"				
RSVECT			B    _c_int0				;PM 0	复位向量1
INT1	  		B    PHANTOM				;PM 2	中断优先级 14
INT2	  		B    GISR2   				;PM 4	中断优先级2	5
INT3	  		B    PHANTOM				;PM 6	中断优先级 36
INT4	  		B    PHANTOM				;PM 8	中断优先级 47
INT5	  		B    PHANTOM                ; A	中断优先级 58
INT6	  		B    PHANTOM				;PM C	中断优先级 69
RESERVED  	B    PHANTOM				;PM E	 (保留位)10
SW_INT8   	B    PHANTOM				;PM 10  	 用户定义软件中断		-
INT7	  		B    PHANTOM
INT8	  		B    PHANTOM
INT9	  		B    PHANTOM
INTa	  		B    PHANTOM
INTb	  		B    PHANTOM
INTc	  		B    PHANTOM
INTd	  		B    PHANTOM
INTe	  		B    PHANTOM
INTf	  		B    PHANTOM			
SW_INT31  		B    PHANTOM				;PM 3E  	用户定义软件中断	 	-
;中断子向量入口定义pvecs
			.sect	".pvecs"					;定义子向量段
PVECTORS	B	PHANTOM				;保留向量地址偏移量0000h
            B	PHANTOM             ;1
            B	PHANTOM             ;2
            B	PHANTOM             ;3
            B	PHANTOM             ;4
            B	PHANTOM             ;5
            B	PHANTOM             ;6
            B	PHANTOM             ;7
            B	PHANTOM             ;8
            B	PHANTOM             ;9
            B	PHANTOM             ;a
            B	PHANTOM             ;b
            B	PHANTOM             ;c
            B	PHANTOM             ;d
            B	PHANTOM             ;e
            B	PHANTOM             ;f
            B	PHANTOM             ;10
            B	PHANTOM             ;11            
            B	PHANTOM             ;12
            B	PHANTOM             ;13              		
						B	PHANTOM             ;14
            B	PHANTOM             ;15
            B	PHANTOM             ;16
            B	PHANTOM             ;17            
            B	PHANTOM             ;18
            B	PHANTOM             ;19
            B	PHANTOM             ;1a
            B	PHANTOM             ;1b
            B	PHANTOM             ;1c
            B	PHANTOM             ;1d
            B	PHANTOM             ;1e
            B	PHANTOM             ;1f
            B	PHANTOM             ;20
            B	PHANTOM             ;21
            B	PHANTOM             ;22
            B	PHANTOM             ;23
            B	PHANTOM             ;24            
            B	PHANTOM             ;25             
            B	PHANTOM             ;26
            B	T1PINT_ISR          ;27
            B	PHANTOM             ;28
            B	PHANTOM             ;29
            B	PHANTOM             ;2A
            B	PHANTOM             ;2B
            B	PHANTOM             ;2C
            B	PHANTOM             ;2D
            B	PHANTOM             ;2E
            B	PHANTOM             ;2F
            B	PHANTOM             ;30H			
;(2)主程序
						.text 
_c_int0					SETC 	INTM
						CALL	SYSINIT			;系统初始化程序 					   				
						CALL    IOPE_SETUP
						
						LDP     #DP_SQUARE   				    
						SPLK    #0000H,SQUARE
						SPLK    #0000H,SQUARE+1
						SPLK    #0040H,SQUARE+2
						CALL    T1_SETUP
						CLRC INTM    				
WAIT:       			B    WAIT

					;------------                                           
IOPE_SETUP:		    
						LDP #MCRC>>7 	;实验书P20 why ?? IOPE7为output low 
						LACL MCRC       ; Select D/A chip TLC7226?
						AND #0FF7FH
						SACL MCRC
						LACL PEDATDIR
						OR #8000H
						AND #0FF7FH
						SACL PEDATDIR 
						RET
					     
					
;(3)系统初始化程序
SYSINIT:
					CLRC 	SXM
					CLRC 	OVM
					CLRC 	CNF
					LDP 	#0E0H
					SPLK	#86FEH,SCSR1				;CLKIN=10M,CLKOUT=10M			       
					SPLK	#0E8h,WDCR	
					LDP		#0
					SPLK	#02h,IMR					;开中断优先级5
					SPLK	#0FFFFh,IFR
					NOP				;清中断标志   
			    RET
			        ;------------

T1_SETUP:           LDP #DP_EVA
                    SPLK #80H,EVAIMRA
                    SPLK #0FFFFH,EVAIFRA
                    SPLK #0,GPTCONA
                    SPLK #10000>>1,T1PR   ;c350h produce 0.64s   (10000/2)*(1/10M)
                                  ;0f42H=50MS
                    SPLK #0,T1CNT
                    SPLK #104CH,T1CON  ;10M/=1分频                
                    RET 
                    
                     



;(5)中断程序
GISR2:                  							;优先级INT5中断人口
				    LDP #0E0H
				    LACC PIVR,1
				    ADD #PVECTORS
				    BACC
				    
T1PINT_ISR:			LDP  #DP_SQUARE
                    BIT  SQUARE,15              	; Notice :Bit code 15 refer to LSB
                    BCND HIGH,NTC
                    OUT  SQUARE+1,300H   ;generate square wave!
                    B    FINISH
HIGH:               OUT  SQUARE+2,300H         
FINISH:             LDP #0200H>>7
                    LACL SQUARE
                    ADD #01H                    
                    SACL SQUARE                    
                    CALL T1_SETUP
GISR_RET            CLRC	INTM					;开总中断,因为一进中断就自动关闭总中断
					RET	
;(6)假中断程序
PHANTOM 	
                    KICK_DOG						;复位看门狗
					RET
					END
                    
                    
                    
            

⌨️ 快捷键说明

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