📄 main.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 + -