⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 motor1.asm

📁 C5402汇编编写的对直流电机和步进电机进行控制的程序。
💻 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 + -