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
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 p>
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 p>
日一—
日/一一一
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(), p>
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 p>
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
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
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