华强电子网

电子元器件
采购信息平台

扫码下载
手机洽洽

  • 华强电子网公众号

    电子元器件原材料

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强微电子公众号

    专注电子产业链

    坚持深度原创

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业小灵通

pic16f508步进电机程序

来源:华强电子网 作者:华仔 浏览:434

标签:

摘要: >;FileSTEP508.ASM ;...forPIC12C508Amicrocontroller ;ProgramtousePICasastepanddirectioncontrollerforaunipolar ;stepmotor.StepanddirectionPINsareGPIO-5,GPIO-3;GPIO_0,GPIO_1,GPIO_2,GPIO_4,are;thewindings

>

;FileSTEP508.ASM
;...forPIC12C508Amicrocontroller
;ProgramtousePICasastepanddirectioncontrollerforaunipolar
;stepmotor.StepanddirectionPINsareGPIO-5,GPIO-3;GPIO_0,GPIO_1,GPIO_2,GPIO_4,are;thewindings;inorder(drivenbyNPNsmallsigtransistorsorMOSFETS)
;Stepsonnegativegoingedgeofsteppulse.

;CPUconfiguration
;(It’sa12C508A,InternalRCoscillator,
;watchdogtimeroff,power-uptimeron)
LISTP=12C508A
processor12c508A
include
;__config_IntRC_OSC&_WDT_OFF&_PWRTE_ON&_MCLRE_OFF

;Declarevariables

pattAequH’0D’;Currentsteppatternnumber(0-7)foraxisA
lastAequH’0E’;LaststateofsteppinonaxisA(1ishigh,0islow)
inportequH’11’;ValueofportAwhenread(storedforlateraCCess)
tempequH’12’

#DEFINESTEPinport,5;Steppulseinput
#DEFINEDIRinport,3;DirectionInput

OPMASKEQUB’11000000’
IOMASKEQUB’00101000’;allbitsoutput(exceptGP3andGP5)
;GP0,GP1,GP2,GP4controlsThestepperCoils
;GP3controlsdirection
;GP5ControlsStepPulses



ORG0

;startofmaincode
;***************************************************
;
;STARTOFPIC12c508ACODEFORSTEP;
;
;***************************************************
;

;------------------------------------------
;****Poweronresetstartpoint
;------------------------------------------

;***Initializationofprogram
MOVWFOSCCAL

MOVLWOPMASK
OPTION

;SetGPIOforinput&output

MOVLWIOMASK
TRISGPIO




;Clearportandzeromotors


MOVlwB’00000001’
MOVwfGPIO
clrflastA
clrfpattA

;Looparoundforawhiletoleteverythingstabilize

MOVlwd’255’
MOVwfinport
loop:decfszinport,f
;gotoloop

;***Basicprogramloop

;Mainroutine-checkpinstatesandsteponnegativeedge
;Getportdataandstore,thencheckaxisA
;A10checksifoldis0,newis1(updateregister)
;A01checksifoldis1,newis0(stepandupdateregister)
;SimilarlyforaxisB

main:MOVfGPIO,w
MOVwfinport
CLRWDT
A10:btfsclastA,0
gotoA01
btfssSTEP
gotoA01
bsflastA,0
A01:btfsslastA,0
gotoB10
btfscSTEP
gotoB10
bcflastA,0
gotostepA

B10:gotomain

;------------------------------------------
;***stepA-subtocycleaxisAoneFullstep
;Dirof1isincrease,elsedecrease

stepA:btfssDIR
decfpattA,f
btfscDIR
incfpattA,f

;Checkforpatternoverflowandfix


MOVfpattA,w
XORLWD’255’
MOVlwD’07’
btfscSTATUS,Z
MOVwfpattA

MOVfpattA,w
XORLWD’08’
btfscSTATUS,Z
clrfpattA

;GetsteppatternandsendtoGPIOonbits0-1-2-4

MOVfpattA,w
calldcode
MOVwfGPIO

gotomain



;------------------------------------------
;***stepcode-subtogeneratebitpatternfornumberinw(!!MUSTBE0-7!!)
;patternisstoredinwregister

dcode:addwfPCL,f;UsebelowcolumnforthehalfStep
retlwB’00000001’;0retlwB’00000001’;0
retlwB’00000010’;1retlwB’00000011’;1
retlwB’00000100’;2retlwB’00000010’;2
retlwB’00010000’;3retlwB’00000110’;3
retlwB’00000001’;4retlwB’00000100’;4
retlwB’00000010’;5retlwB’00010100’;5
retlwB’00000100’;6retlwB’00010000’;6
retlwB’00010000’;7retlwB’00010001’;7


;Mandatoryendofprogramcommand

end

pic16f508步进电机程序

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67