Red de conocimiento informático - Conocimiento del nombre de dominio - Buscando ansiosamente un informe de experimento de producción de microcontroladores

Buscando ansiosamente un informe de experimento de producción de microcontroladores

Experimento sobre el uso de un microcontrolador para crear un controlador programable

Wei Zhicheng

(Departamento de Ingeniería Mecánica, Instituto de Industria de Construcción Naval del Este de China. Zhenjiang, Jiangsu 212003)

Resumen: Analice el principio operativo de PT.C, la disposición de los programas del sistema y el método de compilación de los programas del usuario. En base a esto, explique cómo usar

MCU para crear una. Controlador lógico programable.

Palabras clave: computadora con chip de China; controlador lógico programable

Número de clasificación CLC: T P 273 Código de identificación del documento: 13 Número de artículo: 1006 7167 (2003) 01-0056- 05

Uso de una computadora de un solo chip para fabricar PLC

l}Fl 77.1-C}7.}1Zba

(Departamento de Ingeniería Mecánica 二East China Shipbuilding Tnst27, henjiang 212003 , China)

Resumen: Este artículo analiza el principio de PT.C y el método para transformar el comando PT.C en comando CP[dingcon

y explica cómo fabricar PT. C mediante el uso de una computadora de un solo chip.

Palabras clave: computadora de un solo chip, controlador lógico programable (PT.C)

En el Departamento de Ingeniería Eléctrica de Máquinas Herramienta de universidades ordinarias En el curso "Tecnología de control".

El controlador programable es un contenido didáctico muy importante. Para cooperar con la enseñanza de este curso, generalmente se configura el experimento P1.C correspondiente.

El laboratorio del Departamento de Ingeniería Mecánica de nuestra universidad también está equipado con controladores programables producidos por GE Company, Erling Company

y otros fabricantes para uso experimental de los estudiantes. Esto juega un papel muy bueno para ayudar a los estudiantes a dominar las habilidades de aplicación de los controladores programables.

En el proceso de enseñanza experimental previa, muchos estudiantes no están satisfechos con la aplicación de P1.C y a menudo hacen preguntas como: `}'El hardware de 1.C es cómo

¿está compuesto?" }'1. ¿Cómo se compila el programa en ejecución de C?" Hay una breve introducción a la primera pregunta

Clase de enseñanza}J. El fabricante no lo revela, por lo que es difícil de explicar a los estudiantes.

Para resolver este problema, el autor combinó el experimento del microcontrolador e intentó utilizar el microcontrolador 8031 ​​de la serie

51 para realizar la función de P1.C para cumplir con los requisitos de estudiantes

.

Usuario

Figura 1 Diagrama de bloques de hardware del PLC

Cuando P1.C se está ejecutando, el proceso de ejecución del programa se muestra en la Figura 2. Tour scan I

p>

El método de trabajo básico de P1.C.

Programa de usuario del programa del sistema

Composición de 1 PLC

El diagrama de bloques de composición del hardware de P1.C se muestra en la Figura 1:

P1.C El software debe incluir software del sistema y software de aplicación.

El software del sistema tiene las siguientes funciones: (1) configuración e inicialización del sistema;

}2) autodiagnóstico del sistema;}3) reconocimiento y procesamiento de comandos (4) programa de usuario;

Compilación; (5) Programa modular r y gestión de llamadas.

El software de aplicación es un programa de aplicación escrito por el usuario en lenguaje de programación P1.C

. Está escrito de acuerdo con la función de control prevista. Puede modificarse en cualquier momento.

Figura 2 Flujo de ejecución de PLC y TlY

Si un sistema de microcomputadora de un solo chip puede ejecutarse como P1.C.

El sistema puede reconocer "usando P1. .Comandos en lenguaje C.

De hecho, el sistema de un solo chip solo reconoce el código de máquina. Por lo tanto, si el comando P1.C se puede compilar en el código de máquina correspondiente de la computadora de un solo chip, el sistema puede ejecutar P1.C.

2 Compilación de comandos PLC a instrucciones del microcontrolador

En el control eléctrico de máquinas herramienta, se suele realizar algún control lógico P1.C

La aplicación en este El campo también se basa en controles principalmente lógicos. Solo discutimos cómo implementar estas funciones de control lógico.

El sistema de microcontrolador que forma un P1.C simple se muestra en la Figura 30

+5V

X000

Vástago O(i7

XI)日)

/p>

Utilice el puerto PA y el puerto PR de 8255 como terminales de entrada. Están definidos respectivamente como un área de direccionamiento de bits en la memoria interna. del chip 8031.***

X 000 X 007 y X010 Según la convención del sistema P1.C, el número es un número octal. Se puede utilizar como registro de imagen de entrada y salida de P1.C y otros.

Este artículo solo analiza el sistema simple. Por lo tanto, la parte de entrada omite el registro de imagen de los componentes fotoeléctricos y electrónicos de P1. .DO. En aras de la simplicidad, se define el circuito de entrada. El circuito de relé se omite en la parte de salida. Los bits direccionables correspondientes a 兀X 000 Y027 son 20H- y el contador C, etc. Actualmente sólo están definidos 16 relés internos M 130-27H. Pareja de relés internos M130 M137, M140 M147 Temporización

M137.M140 M147 También hay 4 temporizadores T 050 T 053 y 4 temporizadores T 050 T 053 y contador C 054-(. 057, etc. Utilice también el contador C 054-(. 057 en la CPU. Aquí N_ corresponde las entradas como X 000 e Y 020 a los bits direccionables de la RAM uno por uno.

Salida 1. También. como relé interno M, temporizador T, contador C, etc., la tabla de asignación de direcciones de la RAM interna se enumera en la tabla a

Se llama componente P1.C.

Tabla 1 Tabla de asignación de direcciones de RAM interna 8031

20H ​​OOH/X000 OIH/X001 02H/X002 03H/X003 04H/X004 OSH/X005 06H/X006 07H/ X007

IOH/X010 I IH/X01 I 12H/X012 13H/X013 14H/X014 ISH/X015 16H/X016 17H/X017

20H/Y020 21H/Y021 22H/Y022 23H/Y023 24H /Y024 25H/Y025 26H/Y026 27H/Y027

30H/VI 130

31H/VI 131

32H/VI132 33H/VI133 34H/VI134 35H /VI135 36H/VI136

37H/VI 137

40H/VI 140

41H/VI 141

42H /VI142 43H/ VI143 44H/VI144 45H/VI145 46H/VI146

47H/VI 147

SOH/T 050

58H/T 050

S I H/T O51

59H/T OS I

52H/T 052

SA H/T 052

53H/T 053

SBH/T053

54H ocho:054

SC H/C 054

SSH ocho

SDH /(

56H 八

SEH/(

57H 八:057

SF H/C 057

H H H H H H H H H H H H H HH

21 22 23 24 25 26 27 2829ba2Bsquid21) ZEZF

SOHT 050 constante

58HT050 número i1

SIHTO51 }'número

59HT051 i1 número

52HT052 }'número

SAHT052 i1 número

53HT 053 constante

SBHT053 número i1

54H C 054 constante

SCHC054 número i1

SSHCO55 constante

SDHCO55 número i1

Constante 56HC056

Número SEHC056 i1

Constante 57HC057

Número SFHC057 i1

Cada entrada y salida l en la tabla es de .Los relés internos corresponden a un bit direccionable. Si n cada temporizador y contador corresponde a dos bits de dirección direccionables y dos unidades de almacenamiento de bytes.

Correspondiente a las funciones de control lógico de varios P1.C. El chip de CPU 8031 ​​generalmente utiliza instrucciones de operación de bits para realizar operaciones. Bu Bian explica cómo compilar el comando

P1.C en un código de instrucción de operación de 8031 ​​bits.

Echemos un vistazo a un controlador programable sencillo de la serie P1.C

Erling.

X000

Programa.

Consulte el método de programación del programa

Por ejemplo:

X000

Xool

Ya020

Ya020

日一—

日/一一一

Este programa es muy simple El comando P1.C es 1. D X 000, O U T

La relación lógica de Y 0200 es:

Y 020=X 000

Es decir, el estado del terminal de entrada se envía directamente al terminal de salida. Sin cálculo. se requiere.

Mire otro programa P1.C que controla el arranque y parada del motor:

X000 Xoolya020

El primer comando PLC A031 comando A031 código de máquina

LDI X000 M0VC,OOII A200

CPL r3

El código de máquina es de 3 bytes.

Otro ejemplo es el ciclo del temporizador:

X000 T 050

Día uno—(>ICloo

Una práctica uno/uno—

日({2口

El comando P1.C es 1, D X000, OR Y020, AN1 X001,

OUT Y020. La relación lógica es de la siguiente manera:

Y 020 = (X 000 + Y 020) * El estado se escanea en su registro de imagen correspondiente

Entonces la relación lógica anterior se puede convertir en:

. p>

(20H)=l(OOH)+(20H)‖*(O1H)

Las unidades de entrada y salida se reemplazan por sus registros de imagen respectivamente.

La dirección se determina en la Tabla 1. De esta manera, el sistema informático del chip puede implementar esta lógica

Calculado

Las instrucciones 8031 ​​y los códigos de máquina necesarios para completar esta operación lógica

p>

corresponden al comando P1.C:

Comando PLC A031 instrucción A031 código máquina

L P }0 O1

OLT丫020 M 0V 2011, C 92 2Q

Simplemente convierta el comando P1.C al código de máquina de la derecha e introdúzcalo en la imagen

3 en la memoria de usuario 6264. El programa anterior se puede ejecutar

El programa del sistema Xianshan escanea el estado del terminal de entrada en su registro de imagen correspondiente

y luego lo ejecuta el programa del sistema Zaishan.

Cuando la entrada X 000 está activada, la salida Y 020 se activa. La salida correspondiente es

El fotodiodo está activado p>

Los números subrayados arriba son los. 8031 direcciones de bits direccionables de RAM interna correspondientes a X, Y, M, T, C, etc. P1.C

Números de pieza Tabla de montaña 1

OK. coincide exactamente con el número de pieza de P1.C.

Entonces, de acuerdo con el comando P1.C y el número de X, Y, M y otras piezas.

Puede. convertirse al código de máquina correspondiente y la dirección de registro de imagen

Analice el comando P1.C y la instrucción 8031 ​​correspondiente.

La mayoría de los comandos pueden. convertirse en códigos de máquina de 2 bytes. Si algunos comandos se convierten

en códigos de máquina de 3 bytes, 4 bytes o incluso de varios bytes, deben tratarse de manera diferente.

Comando PLC A031 instrucción A031 código de máquina

L P K 100 M 0V 50II#(4II 75 50 (4

El código de máquina correspondiente a la constante de tiempo de entrada El comando consta de dos'

secciones.

Bit 58H También es un bit direccionable correspondiente a T 050. Se utiliza para registrar el estado de entrada de T 050. Si el bit 50H indica el estado de entrada de T 050. También hay palabras que la Sección 50H se utiliza para almacenar el tiempo de T 050.

#64H es el número hexadecimal convertido del número decimal 100.

Veamos la conexión de bloque más complicada. Bucle:

X000 >

El resultado de la operación de un circuito derivado se realiza con operación OR y luego se envía al terminal de salida.

Guardar. primero el resultado de la operación del circuito derivado anterior. Luego J

Realice la operación de un circuito derivado. De lo contrario, causará confusión lógica}

No es posible aplicar lo mencionado anteriormente. Método de compilación del comando IJD de forma simplificada.

Según la experiencia de programación de P1.C. Independientemente de si hay un bucle de bifurcación o no, el programa de gráficos siempre comienza con 1.D o 1.D1. comando en cada archivo. Podemos

1.D, 1. Agregar una instrucción 8031 ​​al comienzo del compilador de comandos D1:

El estado del operador de bits C (es decir, el resultado de la operación del circuito derivado anterior)'

Guárdelo, etc. Cuando encuentre el paso de bloque {comando RT3, sáquelo y haga O con el resultado de la operación del circuito derivado. confusión lógica. Puede utilizar la función dedicada designada. También se puede utilizar el método de registro de memoria de bits)

El método de registro de desplazamiento de memoria de bytes especial (material de referencia [2]), el último método es mejor. aquí la memoria en el chip 1FH -

es un registro de desplazamiento especial que se utiliza para almacenar temporalmente el estado del operador de bits C.

De esta manera, el programa P1.C de varios circuitos derivados conectados por pasos.)

Las instrucciones 8031 ​​y los códigos de máquina requeridos corresponden a los comandos P1.C /p >

Departamento:

Comando PLC A031 instrucción A031 código máquina

L P p>

M(),

M(),

1FII, A

C, OOII

Y X001

T D X 002

Y X003

()RR

0 T; C, OlII

M 0YA, 1FII

RLC A

M 0Y 1FII , A

M 0YC, 02II

ANL C, 03II

M 0YA, 1FII

RR A

M 0Y 1FII, A

ORL C,ACC .

MOY 20II, C

FS 1F

A 2 00

82 O1

DS 1F

33

FS 1F

A 2 02

82 03

DS 1F

03

FS 1F

72 L7

92 20

Nota. El comando 8031 ​​correspondiente al primer comando 1.D viene primero. Almacene el estado del operador de bit C (es decir, el resultado de la operación del circuito derivado anterior) en el bit DO en 1FH. Cuando llega el comando ORT3, el comando 8031 ​​correspondiente almacenará el estado del bit DO en 1FH en el bit D7 del ACC del acumulador. La instrucción de bucle derecho de Shan J no afecta al operador de bits C. En este momento, el estado de C sigue siendo el resultado de la operación de un bucle de bifurcación. De esta manera, C está relacionado con ACC.7

O es el resultado total de la operación.

Para procesar el circuito derivado conjunto JI, el comando 1.D y el comando ORT3 corresponden a

El código de máquina correspondiente es de 7 bytes. Si}J 1.D1 es más.

Además, la instrucción de bucle izquierdo correspondiente al primer comando 1.D no es válida aquí

. Pero para facilitar la compilación, siempre que sea un comando 1.D o un comando 1.D1.

Se procesará como un bucle izquierdo durante la compilación, incluido el ejemplo anterior r.

La instrucción de bucle derecho correspondiente al comando ORT3 restaura el resultado de la operación del

bucle de rama anterior para procesar bucles conectados JI de múltiples ramas.

Utilizando este método de ciclo de turnos, se pueden procesar hasta 8 programas de rama JI

rama P1.C.

Active la conexión en serie de varios bloques de conexión JI y bloques de conexión JI. En este caso, debe utilizar el comando de conexión en serie

del bloque ANT3. de la misma manera que arriba.

A través del análisis anterior, se puede ver que hay varios comandos P1.C diferentes.

8031 tiene su código de operación correspondiente IfnLos operandos posteriores son similares

Se determina el número de pieza P1.C correspondiente. De acuerdo con esta regla, no es difícil compilar el comando P1.C en código de máquina 8031.

La programación del temporizador ya se ha mencionado antes. Ahora demos algunas explicaciones sobre el

funcionamiento del temporizador.

Tome el T 050 como ejemplo. La Tabla 1 enumera sus dos bits direccionables como

50H y 58H. El primero almacena su estado de salida. El segundo almacena su Enter. p>estado de entrada. Porque el estado de salida del temporizador no solo está determinado por su estado de entrada

, sino que también depende de si el temporizador ha expirado. Por lo tanto, cada temporizador necesita dos direcciones de chips buscables.

Además, hay dos memorias de bytes 50H y 58H. La primera almacena su constante de tiempo preestablecida y la segunda se utiliza como contador.

Organiza una interrupción del temporizador en el programa del sistema. La marca de tiempo es 0, 1

segundo. Si se detecta que el bit direccionable 58H (estado de entrada) es 1 durante la operación, entonces

En el programa de interrupción, agregue la memoria de bytes 58H como recuento en él

Con bytes Cuando los números preestablecidos en la memoria 50H son iguales, el bit direccionable

50H (estado de salida) se establece en 1. La constante en el ejemplo es K 100. Por lo tanto, el valor de temporización de T 050 es 10 segundos.

El artículo solo analiza el uso de una memoria para contar porque el rango de tiempo Ifn es limitado

. Si desea ampliar el rango de tiempo, utilice la memoria dual para contar.

Para el contador J C 054-(. 057. Se pueden utilizar interrupciones externas para realizar sus funciones

El método de programación y la disposición del programa del sistema son similares a los del temporizador. .

La CPU del sistema necesita utilizar instrucciones de operación de bytes al procesar temporizadores y contadores. Por lo tanto, en el sistema P1.C, se utilizan instrucciones de operación de bits e instrucciones de operación de bytes

. /p>

Los comandos de control principales MC y MCR de P1.C son en realidad solo una

relación lógica integral más; también hay comandos SFT y RST de uso común. contadores para configurar y restablecer

Para "varios comandos FND", en realidad organiza una instrucción de salto.

El programa de usuario salta a la entrada del escaneo de salida del programa del sistema.

Este comando es esencial.

No es difícil de ver, siempre que P1 esté organizado correctamente, el número de archivo de C se procesa como "número de tiempo" durante la compilación. Se pueden usar los bits de la Tabla 1. Esto significa que solo usando la RAM interna del chip 8031, puede crear 100 componentes de P1.C (X, Y, M, T, C). , etc.)

Arriba

3 Conclusión

El autor utilizó una placa de experimentos generales MCS 51 producida en el pasado y una de 24 teclas y 8 teclas. Pantalla de teclado de tubo digital. Se llevó a cabo un experimento para crear un controlador programable utilizando un chip 51. La compilación del programa de usuario P1.C con las instrucciones 8031 ​​se completó en la pantalla del teclado utilizada como programador.

La secuencia de código de máquina correspondiente se almacena en el Ifn P1.C principal.

Escaneo de entrada de programa, escaneo de salida, interrupción del temporizador, interrupción del contador, etc.

El P1.C El método de programación utilizado se basa en los productos de la serie Erling.

Se ajusta a la convención general de controladores programables.

Adivinación bucal femenina:

Entrada 1 (punto X000). - X007- M 100- M 107. M 110- M 117

M 120-M 127

Temporizador 4 horas T 050 T 053 escala de tiempo 0. 1 s. , el cronómetro más popular

p>

25. 5s

i}Un contador 4 puntos C 054-C 057 más humano i}Un contador 255

Comando de programación LD LDI

AND ANI

OR ORI

OLT

M C M CR

ORP} ANP}

51 ;T R5T

nNn

Ingrese el número de pasos del programa soo