Red de conocimiento informático - Conocimiento sistemático - Programación del chip controlador LCD

Programación del chip controlador LCD

#Contiene "reg52.h"

//Motor

sbit a = p2^0; //Definir pines

sbit b = p2^1; /p>

bit c = p2^2;

bit d = p2^3;

/////////////// / ///////////////////////////////Controlador de motor paso a paso

Carácter sin signo MotorStep = 0;

Temporizador de motor int sin signo = 0;

Retraso del motor int sin signo, velocidad = 1, TIM, CT;

#Definir velocidad 8 //No configurar el valor de velocidad demasiado bajo provocará vibraciones.

/****************************************** ***************

*Inicializar motor*

***************** ******* **********************************/

void InitMotor ()

{

a = 1;

b = 1

c = 1; d = 1;

}

void SetMotor()

{

// si (Velocidad == 0) regresa ;

Retraso del motor = velocidad; //Ajustar velocidad

Interruptor (paso del motor)

{

Caso 0:

if(TIM) // A

{

a = 0; //0xf1

b = 1; >c = 1;

d = 1;

paso del motor = 1;

TIM = 0; >

Descanso;

p>

Caso 1: //AB

Si (Tim)

{

a = 0; //0xf3

b = 0;

c = 1;

d = 1; 2;

TIM = 0;

}

Romper

Caso 2: //B

Si (Tim)

{

a = 1;

b = 0; //0xf2

c = 1; p>

d = 1;

paso del motor = 3;

TIM = 0;

}

Rotura

Caso 3: //BC

Si (Tim)

{

a = 1

b; = 0; //0xf6

c = 0;

d = 1;

paso del motor = 4; ;

}

Rotura;

Caso 4: //C

Si (Tim)

{

a = 1;

p>

b = 1; //0xf4

c = 0; /p>

paso motor = 5;

TIM = 0;

}

Rotura;

Caso 5: / /CD

Si (Tim)

{

a = 1;

b = 1;

c = 0;

d = 0;

paso del motor = 6;

TIM = 0; /p>

Pausa;

Caso 6: //D

Si (Tim)

{

a = 1 ;

b = 1; //0xf8

c = 1;

d = 0

paso del motor = 7; /p>

TIM = 0;

}

Descanso;

Caso 7: //DA

Si (Tim )

{

a = 0;

b = 1; //0xf9

c = 1; >

paso del motor = 0;

TIM = 0;

}

Rotura

}

}

void system_Ini()

{

TMOD | = 0x 11;

TH0 = 0xDC//11.0592M

TL0 = 0x00

IE = 0x8A

TR0 = 1;

}

Principal()

{ sistema _ Ini();

iniciar motor();

mientras(1)

{

establecer motor();

}

}

/********************* *** ****************************

* *

*Retraso de interrupción temporizada *

****************************************** ****** ***/

Tzd no válida (no válida) interrupción 1

{

TH0 = 0xfe//11.0592

TL0 = 0x33

if(ct = =velocidad)

{ TIM = 1;

CT = 0;

}