文档介绍:《四相8/6构造开关磁阻电动机调速控制程序》
.include""
.global_c_int0
;--------------------------------------
以下定ANTOM
;地点003EH,自定义软中止
;--------------------------------------
以下是主程序------------------------------------------------------
.text
;--------------------------------------
系统初始化程序--------------------------------------------------
_c_int0
SETC
INTM
;障蔽中止
LDP
#0E0H
SPLK
#0068H,WDCR
;不用看门狗
SPLK
#0284H,SCSR1
;CLKIN=10MHz,CLKOUT=20MHz
;--------------------------------------
中止初始化程序--------------------------------------------------
LDP
#0
SPLK
#0FFH,IFR
;清所有系统中止标志
SPLK
#00000110B,IMR
;开INT2,INT3中止
LDP
#0E8H
LACC
EVAIFRA
;清事件管理器A所有中止标志
SACL
EVAIFRA
LACC
EVAIFRB
SACL
EVAIFRB
LACC
EVAIFRC
SACL
EVAIFRC
SPLK
#0,EVAIMRA
;障蔽所有中止
SPLK
#0,EVAIMRB
SPLK
#0,EVAIMRC
;--------------------------------------
初始化转子地点为
A相-------------------------------------------
CALL
START2
;调用初始化转子地点子程序
;--------------------------------------
ADC初始化-----------------------------------------------------
LDP
#0E1H
SPLK
#0900H,ADCTRL1
;ADC预分频10,1MHZ
SPLK
#0001H,MAXCONV
;两个通道
SPLK
#0010H,CHSELSEQ1
;选择ADCIN0和ADCIN1通道
LACC
MCRA
OR
#0FD8H
;设置PWM1-6,QEP1-2
SACL
MCRA
;--------------------------------------
初始化事件管理器
A程序--------------------------------------
LDP
#0E8H
SPLK
#0000H,ACTRA
;引脚PWM1-6强制低
SPLK
#0,CMPR1
;占空比初值为100%
SPLK
#0,CMPR2
SPLK
#0,CMPR3
SPLK
#8200H,COMCONA
;准时器下溢比较器重载,允许比较
SPLK
#0800,T1PR
;周期存放器值800(25kHzPWM)
SPLK
#0,T1CNT
SPLK
#9040H,T1CON
;连续增计数方式,预分频为1,允许T1
SPLK
#9872H,T2CON
;定向增减,允许编码接口
SPLK
#0803BH,T2PR
;T2周期存放器(7FFFH+60)
SPLK
#07FC3H,T2CMPR
;T2比较存放器(7FFFH-60)
SPLK
#07FFFH,T2CNT
;编码器计数器初值
;--------------------------------------
开中止----------------------------------------------------------------
LDP
#0E8H
LACC
EVAIFRA
;清事件管