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

📄 main.asm

📁 2407的一些源代码
💻 ASM
字号:
;==========================================================================*
* File name : main.asm *
* Author: Qu Bo *
* Data: 2006.11.19*
* Version: 2.0 *
* Organization: DSP&EMC,National Key Laboratory of Power Electronics, 
*               Zhejiang University, Hangzhou 310027, China *
* Description : PROGRAM TO CONTROL A ELECTRIC CAR USE F2407A * 

;============================================================================*
        .include "F2407.h" 
        .def  _c_int0
        .bss  TEMP,1
        .bss  TEMP1,1 
        .bss  TEMP2,1
        .bss  DATA1,1
        .bss  DATA2,1
        .bss  DATA3,1
        .bss  DATA4,1
        .bss  GPR0,1
        .bss  DLY_TIME,1
   
;系统初始化
;使能EVA,EVB,A/D模块,其他的未使能(根据要求使能)。
;====================================================== 
        .text                           ;加密位 
        .word   #0ffffh
        .word	#0ffffh
        .word	#0ffffh
        .word	#0ffffh
_c_int0:	
        LDP     #0H
        SETC    INTM                    ;屏蔽总中断程序
        CLRC    SXM                     ;符号位不作扩展
        LACC    IFR                     ;清标志
        SACL    IFR
        CLRC    CNF                     ;B0为数据存储区
        SETC    OVM
        LDP     #WDCR>>7
	    SPLK    #006Fh,	WDCR 	        ;看门狗不使能
	    KICK_DOG  
	    SPLK    #00h,	GPR0
		OUT     GPR0,	WSGR            ;整体不设置延时 
	    LDP     #SCSR1>>7
	    SPLK    #0000000000101100B,SCSR1;使能EVA EVB SPI时钟     
	    LDP	    #IMR>>7
	    SPLK    #0002H,IMR              ;中端级2使能
	    LDP		#MCRB>>7
	    SPLK	#0FFFDH,MCRB            ;设置仿真口         
	    LDP		#PCDATDIR>>7
	    SPLK	#0FFFDH,PCDATDIR
	    LDP     #TEMP2
	    SPLK    #0FFFFH,TEMP2
	    OUT     TEMP2,2000H
	    
MAIN
        LDP	    #DATA1
        SPLK	#0AH,DATA1              ;LED1     
        SPLK	#0BH,DATA2              ;LED2
        SPLK	#0CH,DATA3              ;LED3
        SPLK	#0DH,DATA4              ;LED4
  
        SPLK	#0FFH,DLY_TIME         ;显示时间,数值小,数码管亮度小
        CALL    SHOW
        NOP
        NOP
        NOP
        NOP
        B       MAIN
                    
SHOW   
        LDP		#DATA1
        LACC    DATA1
        SACL    TEMP
        CALL    SEARCH                  ;查表,第一个数码管显示
        CALL    S_LED1                  ;调用显示子程序
        
        LACC    DATA2
        SACL    TEMP
        CALL    SEARCH
        CALL    S_LED2
        
        LACC    DATA3
        SACL    TEMP
        CALL    SEARCH
        CALL    S_LED3
        
        LACC    DATA4
        SACL    TEMP
        CALL    SEARCH
        CALL    S_LED4
        
SEARCH
        LDP		#TEMP
        LACC    TEMP
        AND     #00FFH
		ADD     #TABLE
		TBLR    TEMP 
		RET

S_LED1 
		LDPK    TEMP1
		RPT     #0FH
		NOP
		SPLK    #0E0h,TEMP1    ;LED1 片选 
	 	OUT     TEMP1,6000h
	 	OUT     TEMP,8000h     ;数据线显示数据
		CALL    DELAY
		SPLK    #0000h,TEMP1
		OUT     TEMP1,8000h    ;数据线置零
		RET
S_LED2
		RPT     #0FH
		NOP
		SPLK    #0D0h,TEMP1	  ;LED2 片选	
	 	OUT     TEMP1,6000h	
		OUT     TEMP,8000h
		CALL    DELAY
		SPLK    #0000h,TEMP1
		OUT     TEMP1,8000h
		RET
S_LED3	 	
	 	RPT     #0FH
		NOP
		SPLK    #00B0h,TEMP1   ;LED3 片选
	 	OUT     TEMP1,6000h
		OUT     TEMP,8000h
		CALL    DELAY
		SPLK    #0000h,TEMP1
		OUT     TEMP1,8000h
		RET
S_LED4	 	
	 	RPT     #0FH
		NOP	
		SPLK    #0070h,TEMP1   ;LED4 片选
	 	OUT     TEMP1,6000h
	 	OUT     TEMP,8000h
		CALL    DELAY
		SPLK    #0000h,TEMP1
		OUT     TEMP1,8000h
		RET
		  
DELAY:
	    CLRC	SXM
	    LDP		#DLY_TIME
	    LACC    DLY_TIME
DELAY1:
	    SUB		#01
	    RPT		#0FH
	    NOP
	    BCND	DELAY1,NEQ
	    NOP
	    NOP
        RET

DELAY2:
	    SUB		#01
	    RPT		#0FH
	    NOP
	    BCND	DELAY2,NEQ
	    NOP
	    NOP
        RET
;=================================		          
TABLE:
	   .word	#003fh      ;0
	   .word	#0006h      ;1
       .word	#005bh      ;2
	   .word	#004fh      ;3
	   .word	#0066h      ;4
	   .word	#006dh      ;5
       .word	#007dh      ;6
	   .word	#0007h      ;7
	   .word	#007fh      ;8
	   .word	#006fh      ;9
       .word	#0077h      ;A
	   .word	#007Ch      ;B
	   .word	#0039h      ;C
	   .word	#005Eh      ;D
	   .word	#0079h      ;E
	   .word	#0071h      ;F

⌨️ 快捷键说明

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