Red de conocimiento informático - Conocimiento sistemático - Buscando un programa para accionar un motor paso a paso bifásico de cuatro hilos

Buscando un programa para accionar un motor paso a paso bifásico de cuatro hilos

PUNTA LED P3.4

PUNTA CW P3.7

PUNTA CCW P3.5

PUNTA OUT_LOAD P1.4

OUT_CLK BIT P1.7

DIS_DATA1 EQU 30H

DIS_DATA2 EQU 31H

DIS_DATA3 EQU 32H

DIS_DATA4 EQU 33H

DIS_COUNT EQU 34H

ORG 0000H

INICIO SJMP

ORG 000BH

MOV TH0, #0E0H

MOV TL0, #00H

PANTALLA DE LLAMADA

RETI

ORG 0023H

LCALL UART_INT

RETI

INICIO:

LCALL INICIALización

ORG 0070H

PRINCIPAL:

LCALL KEY_INPUT

LCALL DELAY

LED CPL

; LCALL WARCH_DOG; alimenta al perro guardián

SJMP MAIN

; ************************************************** **** ***

WARCH_DOG:

; MOV WDT_CONTR, #00110100B; Alimenta al perro 682ms

MOV WDT_CONTR, #00110101B; 1.365s

; MOV WDT_CONTR, #00110110B; Alimenta al perro 2.6s

RET

;-------------

RETARDO: ; Retardo de alta precisión 0,5 s (sin interrupción)

DEY1 DATOS 1FH

DEY2 DATOS 1EH

DEY3 DATOS 1DH

MOV DEY1, #25; 0.5S

DL1:

MOV DEY2, #200

DL2:

MOV DEY3, #184; 50uS 18.441828M(5T)

DJNZ DEY3, $

DJNZ DEY2, DL2

DJNZ DEY1, DL1

RET

-------------

-------------

DELAY_1MS : ; Retraso de alta precisión 1Ms (sin interrupción)

DEY4 DATOS 1CH

DEY5 DATOS 1BH

DEY6 DATOS 1AH

MOV DEY4, #1;

DL4:

MOV DEY5, #10

DL5:

MOV DEY6 , #184; 50uS 18.441828M(5T)

DJNZ DEY6,$

DJNZ DEY5,DL5

DJNZ DEY4,DL4

R

ET

-------------

************************ ***********************************

org 0100h

EJECUTAR:

CLR CW

lCALL DELAY_1MS

SETB CW

LCALL DELAY_1MS

RET

CW_OUT:

SETB CCW

CLR CW

LCALL DELAY_1MS

SETB CW

LCALL DELAY_1MS

RET

CCW_OUT:

CLR CCW

CLR CW

LCALL DELAY_1MS

SETB CW

LCALL DELAY_1MS

RET

CW4_OUT:

SETB CCW

CLR CW

LCALL DELAY_1MS

LCALL DELAY_1MS

LCALL DELAY_1MS

LCALL DELAY_1MS

SETB CW

LCALL DELAY_1MS

LCALL DELAY_1MS

LCALL DELAY_1MS

LCALL DELAY_1MS

RET

CCW4_OUT: p>

CLR CCW

CLR CW

LCALL DELAY_1MS

LCALL DELAY_1MS

LCALL DELAY_1MS

LCALL DELAY_1MS

SETB CW

LCALL DELAY_1MS

LCALL DELAY_1MS

LCALL DELAY_1MS

LCALL DELAY_1MS

RET

END