📄 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 TEMP1,1
.bss DATA1,1
.bss DATA2,1
.bss DATA3,1
.bss GPR0,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 #0h, GPR0
OUT GPR0,WSGR ;整体不设置延时
LDP #SCSR1>>7
SPLK #0000000010001100B,SCSR1;使能ADC EVA EVB时钟
LDP #IMR>>7
SPLK #0001H,IMR ;中端级2使能
LDP #TEMP1
SPLK #0FFFFH,TEMP1
OUT TEMP1,2000H ;使I/O控制单元的发光二极管灭
_DAC:
KICK_DOG
LDP #DATA1
SPLK #0,DATA1
LOOP:
CALL DAC ;调用DAC子程序
LACL DATA1
ADD #1
SACL DATA1
SUB #72 ;输出一个周期数据量
BNZ LOOP
B _DAC
DAC:
LDP #DATA1
LACL DATA1
ADD #TABLE2
TBLR DATA2
LACC DATA2
;SFR ;DATA2除以2,以改变输出模拟波形的振幅
SACL DATA2
OUT DATA2,00000H ;输出触发DA芯片进行DA转换对应OUT1
OUT DATA2,0E000H ;输出触发DA芯片进行DA转换对应OUT2
CALL DELAY ;改变延迟时间以改变输出模拟波形的频率
NOP
RET
DELAY:
LACC #04H ;延时时间量
DELAY1:
SUB #01
BCND DELAY1,NEQ
RET
TABLE2:
.word #0800h ;0
.word #08B2h ;5
.word #0963h ;10
.word #0A12h ;15
.word #0ABCh ;20
.word #0B61h ;25
.word #0C00h ;30
.word #0C96h ;35
.word #0D24h ;40
.word #0DA8h ;45
.word #0E20h ;50
.word #0E80h ;55
.word #0EEDh ;60
.word #0F40h ;65
.word #0F84h ;70
.word #0FBAh ;75
.word #0FE0h ;80
.word #0FF8h ;85
.word #0FFFh ;90
.word #0FF8h ;95
.word #0FE0h ;100
.word #0FBAh ;105
.word #0F84h ;110
.word #0F40h ;115
.word #0EEDh ;120
.word #0E8Dh ;125
.word #0E20h ;130
.word #0DA8h ;135
.word #0D24h ;140
.word #0C96h ;145
.word #0C00h ;150
.word #0B61h ;155
.word #0ABCh ;160
.word #0A12h ;165
.word #0963h ;170
.word #08B2h ;175
.word #0800h ;180
.word #074Eh
.word #069Dh ;190
.word #05EEh
.word #0544h ;200
.word #049Fh
.word #0400h ;210
.word #036Ah
.word #02DCh ;220
.word #0258h
.word #01E0h ;230
.word #0173h
.word #0113h ;240
.word #00C0h
.word #007Ch ;250
.word #0046h
.word #0020h ;260
.word #0008h
.word #0000h ;270
.word #0008h
.word #0020h ;280
.word #0046h
.word #007Ch ;290
.word #00C0h
.word #0113h ;300
.word #0173h
.word #01E0h ;310
.word #0258h
.word #02DCh ;320
.word #036Ah
.word #0400h ;330
.word #049Fh
.word #0544h ;340
.word #05EEh
.word #069Dh ;350
.word #074Eh
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -