📄 da_618.asm
字号:
;******************************************************************************/
;* file name:DA_618.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,8, 2003 */
; */
; This code is to driver the micro-printer */
; */
;* */
;************************************************
.include "240X.H"
;(1)建立中断向量表
.sect ".vectors" ;定义主向量段
RSVECT B _c_int0 ;PM 0 复位向量1
INT1 B PHANTOM ;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
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 用户定义软件中断
.bss temp1,1
.bss temp2,1
.bss flag,1
;中断子向量入口定义pvecs
.sect ".pvecs" ;定义子向量段
PVECTORS B PHANTOM ;保留向量地址偏移量0000h
B PHANTOM ;保留向量地址偏移量0001h
.space 80
B PHANTOM ;保留向量地址偏移量003Fh
B PHANTOM ;保留向量地址偏移量0040h CAN接收中断
B PHANTOM ;保留向量地址偏移量0041h
;(2)主程序
.text
_c_int0
CALL SYSINIT ;系统初始化程序
;CALL IOPF_INIT
CALL IOPE_INIT
;中断允许 , LVC245缓冲允许
IOPE_INIT: LDP #MCRC>>7 ;IOPE7为output low
LACL MCRC
AND #0FF7FH
SACL MCRC
LACL PEDATDIR
OR #8000H
AND #0FF7FH
SACL PEDATDIR
LDP #0
SPLK #0FFH,temp1
SPLK #07FH,61H
SPLK #3FH,62H
WAIT:
LDP #0
LOOP1 splk #00H , temp1
LOOP OUT temp1, 0300H
;RPT #2
;NOP
CALL DELAY
LACC temp1
ADD #1
SACL temp1
SUB #03FH
BCND LOOP1,GEQ
B LOOP
;(3)系统初始化程序
;*********************************************************
SYSINIT:
SETC INTM
CLRC SXM
CLRC OVM
CLRC CNF ;B0区被配置为数据空间
LDP #0E0H ;指向7000h~7080h区
SPLK #86FEH,SCSR1 ;时钟2倍频,CLKIN=20M,CLKOUT=40M
SPLK #0E8H,WDCR ;不使能WDT
LDP #WSGR>>7
LACC WSGR
OR #01C0H
SACL WSGR
LDP #0
SPLK #0002H,IMR ;使能中断第2级INT2
SPLK #0FFFFH,IFR ;清全部中断标志
RET
;*********************************************************
IOPF_INIT: LDP #MCRC>>7 ;允许输出
LACL MCRC
AND #0FCFFH
SACL MCRC ;IOPF0/IOPF1为IO输出口
LACL PFDATDIR
OR #0302H
AND #0FFFEH
SACL PFDATDIR
RET
;********************************************
IOPB_INIT: LDP #MCRA>>7 ;允许输出
LACL MCRA
AND #00FFH
SACL MCRA ;IOPF0/IOPF1为IO输出口
LACL PBDATDIR
OR #0FF00H
AND #0FFFEH
SACL PFDATDIR
RET
;*********************************************************
;*********************************************************
DELAY RPT #200
NOP
RPT #200
NOP
RPT #200
NOP
RPT #200
NOP
RET
GISR5
PHANTOM B _c_int0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -