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

📄 zldjpgxiugai2.asm

📁 这是在DSP2407的开发环境下
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;************************************************
;04031班 柯昌骏&&张爱祥	2005年10月
;************************************************

		.include  "F2407REGS.H" 
                .def      _c_int0
		.bss 	TEMP1, 1
		.bss    TEMP2, 1
		.bss	TEMP5, 1
		.bss	TEMP6, 1
		.bss	TEMP3, 1 
		.bss    TEMP4, 1
		.bss	SPD,1
		.bss	SPDFB,1
;(1)建立中断向量表
		.sect	".vectors"					;定义主向量段	

RSVECT			B    _c_int0				;PM 0	复位向量1
INT1	  		B    GISR1				;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				;PM A	中断优先级 58
INT6	  		B    PHANTOM				;PM C	中断优先级 69
RESERVED  		B    PHANTOM				;PM E	 (保留位)10
SW_INT8   		B    PHANTOM				;PM 10  用户定义软件中断

INT9	  		B    PHANTOM
INT10	  		B    PHANTOM
INT11	  		B    PHANTOM
INT12	  		B    PHANTOM
INT13	  		B    PHANTOM
INT14	  		B    PHANTOM
INT15	  		B    PHANTOM

INT20	  		B    PHANTOM
INT21	  		B    PHANTOM
INT22	  		B    PHANTOM
INT23	  		B    PHANTOM
INT24	  		B    PHANTOM
INT25	  		B    PHANTOM
INT26	  		B    PHANTOM
INT27	  		B    PHANTOM
INT28	  		B    PHANTOM
INT29	  		B    PHANTOM
INT30	  		B    PHANTOM			
SW_INT31  		B    PHANTOM				;PM 3E  	用户定义软件中断



;中断子向量入口定义pvecs
			.sect	".pvecs"		;定义子向量段
PVECTORS	B	PHANTOM	;0000H	
			B	PHANTOM ;0001H
			B	PHANTOM ;0002H
			B	PHANTOM	;0003H	
			B	PHANTOM ;0004H
			B	PHANTOM ;0005H
			B	PHANTOM	;0006H
			B	PHANTOM ;0007H
			B	PHANTOM ;0008H
			B	PHANTOM	;0009H	
			B	PHANTOM ;000AH
			B	PHANTOM ;000BH
			B	PHANTOM	;000CH	
			B	PHANTOM ;000DH
			B	PHANTOM ;000EH
			B	PHANTOM ;000FH
			B	PHANTOM	;0010H	
			B	PHANTOM ;0011H
			B	PHANTOM ;0012H
			B	PHANTOM	;0013H	
			B	PHANTOM ;0014H
			B	PHANTOM ;0015H
			B	PHANTOM	;0016H	
			B	PHANTOM ;0017H 
			B	PHANTOM ;0018H
			B	PHANTOM	;0019H	
			B	PHANTOM ;001AH
			B	PHANTOM ;001BH
			B	PHANTOM	;001CH	
			B	PHANTOM ;001DH
			B	PHANTOM ;001EH
			B	PHANTOM	;001FH
			B	PHANTOM ;0020H
			B	PHANTOM ;0021H
			B	PHANTOM	;0022H	
			B	PHANTOM ;0023H
			B	PHANTOM ;0024H
			B	PHANTOM	;0025H	
			B	PHANTOM	;0026H			
			B   T1PINT_ISR ;0027H 		;XIUGAI
			B	PHANTOM	;0028H	
			B	PHANTOM ;0029H
			B	PHANTOM ;002AH
			B	PHANTOM	;002BH	
			B	PHANTOM ;002CH
			B	PHANTOM ;002DH
			B	PHANTOM	;002EH	
			B	PHANTOM ;002FH
			B	PHANTOM ;0030H
			B	PHANTOM	;0031H	
			B	PHANTOM ;0032H
			B	PHANTOM ;0033H
			B	PHANTOM	;0034H	
			B	PHANTOM ;0035H
			B	PHANTOM ;0036H
			B	PHANTOM ;0037H
			B	PHANTOM	;0038H	
			B	PHANTOM ;0039H
			B	PHANTOM ;003AH
			B	PHANTOM	;003BH	
			B	PHANTOM ;003CH
			B	PHANTOM ;003DH
			B	PHANTOM	;003EH	
			B	PHANTOM ;003FH 
			B	PHANTOM ;0040H
			B	PHANTOM	;0041H 
DIN_7219  		.set 02h
LOAD_7219 		.set 04h
CLK_7219  		.set 08h 
;(2)主程序
					.text
_c_int0             
					CALL SYSINIT 					;系统初始化程序
					CALL IOPB_INIT
					CALL IOPF_INIT
					CALL IOPE_INIT
					 
				
	;*******LEDINIT**********************************XIUGAI					
					LDP #200H>>7					
				    SPLK #0CC11H,200H
				    SPLK #0FF00H,201H
				    SPLK #099FFH,202H
				    SPLK #0AA44H,203H
				    SPLK #0BB77H,204H 
				    SPLK #110FH,210H
				    SPLK #220FH,211H
				    SPLK #330FH,212H 
				    SPLK #440FH,213H
				    SPLK #550FH,214H
				    SPLK #660FH,215H
				    SPLK #770FH,216H
				    SPLK #880FH,217H
					
		    LAR     AR1,#200H			
                    CALL    WRITE_7219  
                    LAR     AR1,#201H			
                    CALL    WRITE_7219
                    LAR     AR1,#202H			
                    CALL    WRITE_7219
                    LAR     AR1,#203H			
                    CALL    WRITE_7219
                    LAR     AR1,#204h		
                    CALL    WRITE_7219
                    
                    
                    LAR     AR1,#210H			
                    CALL    WRITE_7219  
                    LAR     AR1,#211H			
                    CALL    WRITE_7219
                    LAR     AR1,#212H			
                    CALL    WRITE_7219
                    LAR     AR1,#213H			
                    CALL    WRITE_7219
                    LAR     AR1,#214h		
                    CALL    WRITE_7219
                     LAR     AR1,#215H			
                    CALL    WRITE_7219
                    LAR     AR1,#216H			
                    CALL    WRITE_7219 
		    LAR     AR1,#217h		
                    CALL    WRITE_7219
	;**********LEDINIT********************************************XIUGAI
    				LDP		#SPD>>7                 
    				SPLK	#0,SPD
    				SPLK	#0,SPDFB
    				SPLK    #0AH,TEMP4      ;10次溢出中断
    				SPLK	#7FH,TEMP5
    				OUT	TEMP5,0300H 	;SPEED = 0,MOTOR INIT
				SPLK    #0H, TEMP3
	;-------------------------------------------------------------XIUGAI
                    CLRC    INTM
;***********************************************					
									    
WAIT:			    LDP  #XINT1CR>>7
					SPLK #8001H,XINT1CR
					CLRC INTM 
	
					CALL    IOPF_TODSP
					LDP     #DP_PF2    ;READ SWITCH STATUS
                    LACL    PBDATDIR
                    LDP		#TEMP5>>7
                    SACL	TEMP5
                    SACL	TEMP6

SPDGO1:			           ;READ SPEED FEEDBACK PLUSE
                    LDP     #DP_PF2
                    LACL	PEDATDIR
                    AND		#0040H
                    LDP     #TEMP3>>7
                    SUB		TEMP3
                    BCND	GO2,EQ
                    LDP		#SPDFB>>7     ;SPDFB++
                    LACL	SPDFB
                    ADD		#1
                    SACL	SPDFB
GO2:				LDP     #DP_PF2                    
                    LACL	PEDATDIR
                    LDP     #TEMP3>>7
                    AND		#0040H
                    SACL	TEMP3      
                    NOP
                    NOP
                    NOP
                    NOP
                    NOP
                    NOP
                    
	
 
			        LDP #211H>>7
			        LACL 211H
			        BCND LEVEL1,NEQ
					SPLK #0,210H
					B XW
LEVEL1:             SUB #1
                    BCND LEVEL2,NEQ
                    SPLK #20H,210H
                    B XW
LEVEL2:             SUB #1
                    BCND LEVEL3,NEQ
                    SPLK #40H,210H
                    B XW
LEVEL3:             SUB #1
                    BCND LEVEL4,NEQ
                    SPLK #60H,210H
                    B XW
LEVEL4:             SUB #1
                    BCND LEVEL5,NEQ
                    SPLK #7FH,210H
                    B XW
LEVEL5:             SUB #1
                    BCND LEVEL6,NEQ
                    SPLK #9FH,210H
                    B XW
LEVEL6:             SUB #1
                    BCND LEVEL7,NEQ
                    SPLK #0BFH,210H
                    B XW
LEVEL7:             SUB #1
                    BCND LEVEL8,NEQ
                    SPLK #0DFH,210H
                    B XW
LEVEL8:             SPLK #0FFH,210H
                    

XW:					LDP #210H>>7 
					OUT 210H,0300H
				    CALL DELAY

PANDUAN:			LDP #PEDATDIR>>7
					BIT PEDATDIR,BIT4 ;左限位
					BCND STOPLEFT,NTC
					BIT PEDATDIR,BIT5
					BCND STOPRIGHT,NTC ;右限位 
			       
			        B WAIT
					
					
STOPLEFT:           LDP #PBDATDIR>>7 
					LACL PBDATDIR					
					OR #3020H 					
					SACL PBDATDIR
					;CALL DELAY
					CALL DELAY
					LDP #PBDATDIR>>7 
					LACL PBDATDIR					
					AND #0FFDFH
					SACL PBDATDIR  
					LDP #210H>>7
					SPLK #0FFH,210H
					;OUT 210H,0300H
				    SPLK #8,211H
				    RPT #200
				    NOP
					B WAIT 
					
STOPRIGHT:          LDP #PBDATDIR>>7 
					LACL PBDATDIR					
					OR #3020H 					
					SACL PBDATDIR
					;CALL DELAY
					CALL DELAY
					LDP #PBDATDIR>>7 
					LACL PBDATDIR					
					AND #0FFDFH
					SACL PBDATDIR  
					LDP #210H>>7
					SPLK #0,210H
					;OUT 210H,0300H
				    SPLK #0,211H
				    RPT #200
				    NOP
					B WAIT

				
		;(3)系统初始化程序
;*********************************************************
SYSINIT:            SETC 	INTM
			    	CLRC 	SXM
			       	CLRC 	OVM
					CLRC 	CNF
					LDP 	#0E0H
		            SPLK	#86FEH,SCSR1	;CLKIN=10M,CLKOUT=10M			       
			        SPLK	#0E8h,WDCR	
				    LDP		#0
					SPLK	#03h,IMR		; XIUGAI
					SPLK	#0FFFFh,IFR
					NOP
					LDP     #XINT1CR>>7
					SPLK    #8001H,XINT1CR  ;BIT0=1,使能外部中断XINT1 
					
					;---------     ;T1 INIT
					LDP		#DP_EVA			
					SPLK	#80H, EVAIMRA	;使能T1PINT中断
					SPLK	#0FFFFh, EVAIFRA   ;复位定时器1周期中断标志位
					SPLK	#0, GPTCONA
					SPLK	#0F420H, T1PR	;使定时器没50ms产生一次中断;???????????	
					SPLK	#0H, T1CNT   
					SPLK	#0164CH, T1CON		;????????????????

					NOP				;清中断标志
			        RET

;*********************************************************
IOPF_INIT:		    LDP #MCRC>>7  ;允许输出
	                LACL MCRC
	                AND #0FCFFH
		        	SACL MCRC     ;IOPF0/IOPF1为IO输出口
	                LACL PFDATDIR
	                OR   #0302H

⌨️ 快捷键说明

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