📄 key.asm
字号:
;/******************************************************************************/
;/* file name:key.ASM */
;/* */
;/* This is proprietary information, not to be published -- NUAA_306_WORKGUROP */
;/* Copyright (C) 2003, NUAA_306_WORKGROP. All Rights Reserved. */
;/* */
;/* Author: Jianbo.CHU */
;/* Date: June,22, 2003 */
;/* */
;/* This code is FOR ALL TMS320LF2407 */
;/* */
;/* */
;/******************************************************************************/
.include "F2407REGS.H" ;引用头部文件
.def _c_int0
;(1)建立中断向量表
.sect ".vectors" ;定义主向量段
RSVECT B _c_int0 ;PM 0 复位向量1
INT1 B GISR1 ;PM 2 中断优先级 14
INT2 B PHANTOM ;PM 4 中断优先级2 5
INT3 B PHANTOM ;PM 6 中断优先级 36
INT4 B PHANTOM ;PM 8 中断优先级 47
INT5 B GISR5 ;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
INT16 B PHANTOM
INT17 B PHANTOM
INT18 B PHANTOM
INT19 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
.space 80h*16
B PHANTOM ;保留向量地址偏移量0040h CAN接收中断
B PHANTOM ;保留向量地址偏移量0041h
;(2)主程序
.text
_c_int0 clrc xf
CALL SYSINIT ;系统初始化程序
CALL IOPE_INIT
LAR AR6,#60H
CLRC INTM
WAIT: ;MAR *,AR6
;IN *,0100H
;LACC *
;AND #00FH ;
;SACL *+
CLRC XF
NOP
CALL DELAY
SETC XF
CALL DELAY
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 #01h,IMR ;
SPLK #0FFFFh,IFR
LDP #XINT1CR>>7
SPLK #8001H,XINT1CR ;priority
NOP ;清中断标志
RET
;中断允许 , LVC245缓冲允许
IOPE_INIT: LDP #MCRC>>7 ;IOPE7为output low
LACL MCRC
AND #0FF7FH
SACL MCRC
LACL PEDATDIR
OR #8000H
AND #0FF7FH
SACL PEDATDIR
RET
;(4)CAN初始化程序
DELAY: LAR AR0,#9000H
MAR *,AR0
DELAY1: NOP
NOP
NOP
BANZ DELAY1
;清全部中断标志
RET
;(5)中断程序
GISR1: SETC INTM
MAR *,AR6
IN *,0100H
LACC *
AND #00FH ;
SACL *+
RPT #100 ;priority
NOP
RPT #100
NOP
MAR *,AR0
LDP #0
SPLK #01H,IFR
LDP #XINT1CR>>7
SPLK #8001H,XINT1CR
CLRC INTM
RET
GISR5: ;优先级INT5中断人口
CLRC INTM ;开总中断,因为一进中断就自动关闭总中断
RET
;(6)假中断程序
PHANTOM
KICK_DOG ;复位看门狗
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -