?? motor1.asm
字號:
.mmregs
SPSA1 .set 0x0048
SPSD1 .set 0x0049
SPCR1 .set 0x0000
SPCR2 .set 0x0001
PCR .set 0x000e
.global _c_int00
.def _Motor_init
.def _DCM_CNRTL
.ref _DCM_flag
.def DcSpeed
.def DcSpeedSave
.def DcBase
.def DcBaseSave
.data
DcDir .word 0
DcSpeed .word 0
DcSpeedSave .word 0
DcBase .word 0x0010
DcBaseSave .word 0x0010
.text
_DCM_CNRTL:
CMPM *(_DCM_flag),#0
BC #_DC_ZERO,TC
STM #PCR,SPSA1
CMPM *(DcDir),#0x00
BC #_DC_STOP,TC
CMPM *(DcDir),#0x03
BC #_DC_HALT,TC
CMPM *(DcDir),#0x02
BC #_DC_NEG,TC
;直流電機正轉
ORM #0x0001,*(SPSD1)
NOP
NOP
B #_DC_RET
_DC_NEG:
;直流電機反轉
ORM #0x0002,*(SPSD1)
NOP
NOP
B #_DC_RET
_DC_STOP:
;直流電機停止
ANDM #0xfffc,*(SPSD1)
NOP
NOP
B #_DC_RET
_DC_HALT:
;直流電機停止
ORM #0x0003,*(SPSD1)
NOP
NOP
B #_DC_RET
_DC_ZERO:
;根據標志,設置低脈沖
STM #PCR,SPSA1
ANDM #0xfffc,*(SPSD1)
NOP
NOP
_DC_RET:
RET
;配置直流電機各種動作
_Motor_init:
LD #2,A
STL A,*(DcDir)
LD #8,A
STL A,*(DcSpeed)
STL A,*(DcSpeedSave)
LD #10,A
STL A,*(DcBase)
STL A,*(DcBaseSave)
RET
.end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -