Edsim Manual

Nuevas Características! Obtener la última versión EdSim51 La interfaz dinámica Ahora el usuario puede cambiar los perif

Views 32 Downloads 0 File size 1013KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Nuevas Características! Obtener la última versión EdSim51

La interfaz dinámica Ahora el usuario puede cambiar los periféricos a otros pines del puerto. Obtenga más información .

Desbloquear el UART externa Al hacer clic en el botón marcado U en la parte superior izquierda de la UART externa coloca el UART en un marco separado, como se muestra a continuación. Este marco tiene mucho más grandes ventanas de texto para el texto transmitidos y recibidos.Simplemente cerrar este cuadro para cerrar la UART de vuelta en la ventana principal.

El Panel Microcontroladores Una captura de pantalla del panel microcontrolador. Esto le da al usuario acceso a todos los registros y los datos de la memoria del 8051. Cajas que son blanco se pueden editar directamente. Los que son de color gris no se puede. Por ejemplo, los bits de retención de puerto pueden ser editados directamente por el usuario, pero los pines del puerto están controlados por los periféricos externos y los cierres de puertos y no se pueden editar. Cuando el puntero del ratón se deja que se ciernen sobre una de las etiquetas de registro, la dirección del registro aparece, como se muestra contrario para el registro PCON.

El Bitfield En la imagen de arriba, los bits individuales para el acumulador se muestran ( ACC ). El usuario puede introducir cualquier dirección o el nombre SFR en el cuadro azul (reemplazando ACC ) y se mostrará los bits para que la dirección dada. Además, si deja que el vuelo estacionario puntero del ratón sobre uno de los bits momentáneamente, se muestra la descripción de la broca, como se muestra a continuación: El campo de bits para el TMOD se muestra SFR. Aviso bit 2 es el contador / temporizador bits. Observe también que el fondo es gris. Esto es porque el registro no es TMOD bit-direccionable - el usuario no puede alterar directamente estos bits. El PSW -bit es direccionable, por lo tanto, el fondo de cada bit es blanco y el usuario puede cambiar cualquiera de los bits directamente. El campo de bits se puede utilizar para ver el patrón de bits de cualquier dirección en la memoria RAM (de 0 a 7FH) escribiendo la dirección en el cuadro azul. Si la ubicación es poco direccionable, los fondos de bits son de color blanco y el usuario puede modificar cualquiera de los ocho bits. Al igual que con SFR, si la ubicación no es poco direccionable los fondos son de color gris.

Memoria de datos y código Por defecto, se muestra la memoria de datos. Cualquier dirección en la RAM (00H a 7FH) se puede alterar mediante la introducción de

la dirección en la caja azul (etiquetado addr ) y luego entrar en el valor deseado en el cuadro de la derecha (con la etiqueta de valor ).

Viendo Memoria Código Memoria Código también puede ser examinado y editado, como se muestra en la imagen de arriba. Para pasar de una memoria de

datos y la memoria de código el usuario hace clic en el botón que tiene la etiqueta de memoria de datos cuando se muestra la memoria de datos y la memoria de código cuando se muestra la memoria de código. Se muestran los primeros 127 bytes de memoria de código. Para ver otra área de memoria de código, introduzca la dirección de inicio en el cuadro azul. En adelante serán luego mostrarán los 127 bytes de la dirección de inicio. Una vez más, como la memoria de datos, la dirección especificada en el azul addr cuadro se puede alterar mediante la introducción de un valor en el valor de la caja. Sin embargo, debe tenerse en cuenta que esto se traducirá en el código de máquina y el programa de montaje de ser diferente. En la imagen de arriba, el código ensamblador que genera el código máquina (como se muestra en la memoria de código) se puede ver a la derecha.

Actualizar Frec. El usuario puede optar por el paso a través de un programa (ejecutar una sola instrucción por paso) o ejecutar el programa de forma continua. Cuando se ejecuta un programa, la velocidad a la que se actualiza la pantalla está determinado por el ajuste en el Frec. actualización menú.

Utilizando la actualización Frec. del menú desplegable el usuario puede elegir con qué frecuencia debería actualizarse la pantalla. Las opciones son: actualizar la pantalla después de cada instrucción ejecutada, después de 100, 1000, 10000 o 50000 instrucciones ejecutadas. O, si ninguna de estas opciones es apropiada, el usuario puede teclear un número, luego pulsaEnter . La frecuencia de actualización puede cambiarse mientras el programa de un usuario está ejecutando.

El Panel Código Asamblea Un programa simple montaje se muestra en el panel de código ensamblador a la izquierda. Este programa se ejecuta en un bucle continuo, mostrando los números del 0 al 9 y de nuevo a 0 en la primera pantalla de 7 segmentos. Una instantánea de su ejecución se muestra a la derecha. Cuando el fondo del área de texto código ensamblador es blanco es editable. El programador puede escribir código directamente aquí, o puede cargar un programa de archivo con el Load botón (tratado en la siguiente sección). Cuando el programa está listo para la prueba, el usuario puede hacer clic en el ASSM botón para ejecutar las instrucciones de

una en una, o en el Run botón para ejecutar el programa de forma continua. De cualquier manera, el programa primero se montará. Si se descubre un error en el código, se muestra un mensaje en el cuadro de mensaje por encima del código de montaje (con un fondo rojo) y la línea con el error se destacó dentro del código en rojo. Si el código se ensambla sin errores, ASSM se sustituye por el Paso , el fondo del área de texto de cambia a gris claro. El código no se puede editar en este punto. Si desea volver a editar el código, simplemente haga clic en el restablecimiento botón. El código fuente ventana un poco pequeña? Lea sobre el panel unlocker fuente abajo.

Fuente Pane Unlocker El simulador fue diseñado para que todo sea visible en la pantalla al mismo tiempo - los registros internos, el código fuente, los periféricos, etc. Sin embargo, esto significa que el panel de código es bastante pequeño. Pero puede ser ampliado. Leer más . Cargar y Guardar El usuario puede escribir código directamente en el cuadro de texto cuando se encuentra en modo de edición, o un programa existente se puede cargar desde un archivo mediante la carga de botón. Del mismo modo, el código en el cuadro de texto se puede guardar en un archivo utilizando el Save botón.

Hay dos tipos de archivos manipulados. La primera es de texto plano . Programas de la Asamblea se guardan como archivos de texto

plano regulares (a menudo llamadas de sólo texto) y por lo general con .a o .asm extensión de archivo. Por defecto, este es el formato utilizado al guardar el código fuente en el EdSim51 Simulator.

El otro tipo de archivo es Intel HEX. El usuario puede seleccionar para guardar un archivo en formato HEX eligiendo Intel HEX Archivosdel Tipo de archivo: menú en el cuadro de diálogo Guardar. Descubre más sobre la carga y ahorro HEX Intel archivos. Para hacer el simulador más fácil de usar, el último directorio accesible (ya sea a través de la carga de un archivo o guardar un archivo) será recordado. Por lo tanto, la próxima vez que el usuario abre un cuadro de diálogo de archivo, haga clic en cualquiera de la carga o Guardar los botones, el cuadro de diálogo se abre automáticamente en el último directorio visitado. Copiar y pegar Puede seleccionar el código en el área de texto montaje y copiarlo en el portapapeles del sistema utilizando la copia botón, el mismo que usted hace en su paquete de procesamiento de textos. Esto entonces se puede pegar en otro lugar en el área de texto de montaje, utilizando el Pega botón (si el área de texto es editable - fondo blanco - si no lo es, haga clic en Reiniciar ). O usted puede pegar el texto seleccionado en otra aplicación (como el procesador de textos). Del mismo modo, puede copiar texto desde otra aplicación y pegarlo en el área de texto de montaje.

Algunas notas sobre el ensamblador

El ensamblador 2-pass con el EdSim51 simulador no es un ensamblador en toda regla. No enlazar varios archivos y sólo algunas de las directrices que se podría esperar se implementan. Sin embargo, siento que es adecuado para el principiante. A continuación se muestra una lista de sus características:



Todas las instrucciones se implementan 8051, a excepción de MOVX instrucciones, como el simulador no maneja memoria externa.



JMP rel equivale a cualquiera SJMP rel o AJMP rel . LJMP rel debe programarse de forma explícita.



Del mismo modo, LLAME equivale a ACALL . LCALL debe programarse de forma explícita.



SET y EQU directivas se implementan.



ORG se implementa.



USO Directiva (estados que registran banco se está utilizando) se implementa.



Arn equivale a la dirección de registro, según lo especificado por USO (si no se especifica el banco de registros antes de Arn uso "s, regístrese banco 0 se supone).



SFR nombres y nombres de bits SFR equiparan a la dirección apropiada.



ALTA seguido de un operando entre corchetes equivale a el byte alto del operando.



LOW seguido de un operando entre paréntesis equivale a el byte bajo del operando.



Las etiquetas son seguidos por un punto y coma.



El valor predeterminado para los valores numéricos es decimal. Valores hexadecimales se pueden introducir añadiendo H después del número, o la colocación de 0x antes. Si H es utilizado, el número no puede comenzar con una letra (ejemplo: F5H debe escribirse como 0F5H ). Valores binarios se introducen añadiendo B después del número (como se muestra en la imagen de abajo).



El ensamblador no distingue entre mayúsculas y minúsculas.

Depuración Independientemente de que el código se ejecuta o se dio un paso, una vez que el código se ensambla sin errores, la dirección de cada instrucción se muestra a la izquierda. Al recorrer el código, la instrucción que se acaba de ejecutar se muestra en el cuadro gris en la parte superior , junto con la dirección de la instrucción (ejemplo mostrado: 0x2A Ejecutado: 90H MOV, A ). La siguiente instrucción a ejecutar, su dirección aparece resaltado. ( 002CH ).

Los puntos de interrupción Un punto de interrupción se puede establecer haciendo doble clic en la dirección de la instrucción, como se muestra en las imágenes a continuación. Establecer un punto de interrupción:Al recorrer el código, mueva el ratón sobre la dirección de la instrucción y haga doble clic. Cuando el punto de interrupción se establece en la barra vertical ( | ) inmediatamente a la derecha de la dirección se sustituye por una estrella ( *), como se muestra en la imagen de la derecha.

Eliminación de un punto de ruptura:Un punto de interrupción se indica mediante una estrella ( * ). Para eliminar el punto de interrupción, mueva el ratón sobre la dirección de la instrucción y de doble clic. El * se sustituye por | . Como alternativa, puede eliminar todos los puntos de interrupción con un solo clic de:

Cuando el programa está en ejecución y se encuentra un punto de interrupción de la ejecución se detiene justo antes de que la instrucción. En otras palabras, la siguiente instrucción a ejecutar será la instrucción de punto de interrupción. El programador puede entonces recorrer el código, o ejecutar el programa, a partir de ese punto.

Los Periféricos Nota: Los diagramas lógicos en esta sección se elaboraron para la interfaz periférica predeterminada. Es posible que desee cambiar esta interfaz, que se puede hacer haciendo clic en el DI botón (ver la imagen de abajo). También puede ver el diagrama lógico para la nueva interfaz haciendo clic en el LD botón (de nuevo, ver la imagen de abajo). Además, hay casos en la siguiente sección donde la distribución de los pines del puerto se señaló. Por ejemplo, el motor y el UART comparten los mismos pines del puerto. Por supuesto, esto no puede ser cierto en su caso, si, por ejemplo, se mueve el motor para otros pines.

El Panel periférica

El panel de interfaz dinámico - reasignar los periféricos | imagen a tamaño completo

Una instancia del Diagrama Dynamic Logic

Los Periféricos: 

ADC



Comparador



Cuatro de 7 segmentos LED Displays



Módulo LCD



UART



Teclado



Banco LED



Motor bidireccional



Cambie Banco



DAC (salida mostrada en el osciloscopio)

Estos imagen de la izquierda muestra lo que está conectado a cada uno de los pines del puerto 32. Si la descripción de un alfiler es demasiado largo para caber, se puede ver la descripción completa, con solo pasar el ratón

Conexiones Puerto Pin El diagrama lógico siguiente da detalles de la interfaz periférica.

EdSim51 Simulador periférica Diagrama lógico

El Banco LED, DAC y los displays de 7 segmentos

Como puede verse en el siguiente diagrama, el banco del LED, las entradas del CAD y las líneas de datos de visualización de 7 segmentos todo el puerto cuota 1. La selección de cuál de las cuatro pantallas está activada se realiza a través P3.3 y P3.4. Estos pines del puerto se aplican a una línea decodificador de 2 a 4, las salidas de las que se aplican a la base de transistores que activar / desactivar las pantallas.

Diagrama lógico que muestra el banco de LED, DAC y conexiones de pantalla de 7 segmentos solamente. El decodificador se habilita a través de una lógica 1 en P0.7. Este pin también se aplica a la entrada WR DAC, que es activa baja. Por lo tanto, para escribir datos en el CAD el programador desactiva las pantallas, que también tiene el efecto de permitir que las líneas de datos del CAD. Los datos entonces se puede escribir en el CAD. Lo que está en las entradas cuando la línea WR se toma bajo se almacena en (o escrita a) registro interno de la DAC y permanece allí después de la línea de WR se toma alta. La salida analógica para estos datos se mostrará en el alcance hasta la próxima WR vez que se toma baja y un nuevo valor se coloca en el registro interno. El teclado se puede implementar utilizando la interrupción externa 1 línea (ver el teclado ), pero no al mismo tiempo que la multiplexación de los displays de 7 segmentos. Esto es porque la interrupción externa 1 línea (P3.3) también es utilizado por el decodificador de visualización (ver diagrama lógico arriba). Por lo tanto, teclado interrumpir y multiplexar el display de 7 segmentos no se puede utilizar al mismo tiempo - el teclado puerta Y deben ser desactivados. Un ejemplo de la DAC en acción se muestra a continuación:

Rampa generada a través del CAD Aparece en Alcance

Código para Rampa Generación

Banco LED y el Panel Displays de 7 segmentos

El código que genera la rampa anteriormente también se muestra (por encima del medio). Entrada WR del DAC se toma bajo permanente ( P0.7 CLR ), mientras que el valor en el acumulador se envía a las entradas del CAD, aumentó un 8 y luego envió a las entradas de nuevo, y así sucesivamente. Cuando el ratón se coloca sobre el alcance pantalla, aparece un texto de ayuda, indicando la escala vertical del osciloscopio es un voltio por la división y la horizontal escala es, en este caso, 25 microsegundos por división. Del alcance horizontal escala está vinculado con la frecuencia de reloj del sistema 8051 (esto es poco realista, pero siento que es adecuado para fines de simulación). Si, por ejemplo, la frecuencia de reloj del sistema se cambia a 11,059 MHz, a continuación, del alcance horizontal escala es 17,36 microsegundos por división.

El módulo LCD Como puede verse en el diagrama lógico a continuación, el módulo de LCD también comparte el puerto 1 con los LEDs y DAC.

Modo 4-bit: El módulo LCD es una simulación de la HD44780 Hitachi y se interconec modo de 8051 en 4 bits. P1.7 través P1.4 están conectados a través de DB7 DB4, mien P1.3 está conectado al pin-registro selecto y P1.2 está conectado al pin habilitar. pasador de lectura-escritura está conectado a tierra - el módulo sólo se puede escribir.

Modo de 8 bits: Por defecto, como se indicó anteriormente, el módulo se interconecta modo de 4 bits. Sin embargo, los cuatro bits de datos inferiores (DB3 a través de DB0) también están disponibles (en P1.3 a través P1.0). Si el usuario desea escribir en el mód en modo 8 bits, RS y E debe ser reasignado a otros pines del puerto, mediante el la parte superior izquierda del panel periférico.

Los detalles de las funciones de los terminales y las instrucciones para el módulo LCD dan a continuación. Para obtener detalles sobre cómo comunicarse con el módulo, consulteHD44780.pdf algunos y programas de ejemplo . Lectura: Instrucciones para leer desde el módulo no se han aplicado.

Parpadeo del personaje: Debido a que el simulador no se ejecuta en tiempo real, sería difícil saber si el módulo parpadeaba. Por lo tanto, si el programador establece el módu parpadear (véase Visualizar / desactivar el control de instrucciones más abajo), los sup de caracteres de posición del cursor entre texto azul con fondo rojo y el texto en rojo co fondo azul.De esta forma el programador sabe de un vistazo si el módulo se encuentra modo (cuando no está en modo de parpadear, todos los personajes son de color negro c fondo gris) parpadeando.

Diagrama lógico que muestra el banco de LED, las conexiones del CAD y módulos LCD solamente.

El pasador de habilitar (E, conectado a P1.2) es de punta negativa desencadenó. En un borde negativo en E, el módulo lee las líneas de DB7 - DB4. Modo de 4 bits: Como puede verse en el diagrama de l anterior, el módulo se interconecta con el modo de 8051 en 4 bits. modo de 4 bits, no se utilizan líneas DB3, DB2, DB1 del módulo y DB0. Por tanto, la instrucción de 8 bits o datos deberán enviarse en d cuartetos de 4 bits. El alto nibble se envía en primer lugar, seguido p mínimo mordisco. Cuando se toma el pasador permitirá alto y luego esto hace que el módulo para leer los pasadores DB7-DB4 y almacen ya sea en el IR (si se envía una instrucción - es decir: RS = 0) o la República Dominicana (si los datos son de ser enviado - es decir: RS 1). En un principio, el módulo se encuentra en modo de 8 bits y se d establecer en el modo de 4 bits por el programador antes de que se intentaron cualquier otra comunicación con el módulo. mediante el envío de la adecuada Conjunto de funciones (ver conjunto de instrucciones más abajo). ¿Por qué enviar establecer dos veces? Como se ha indicado, el módulo está inicialm en modo de 8 bits, por lo tanto, la primera instrucción enviada a se le como un 8-bit instrucciones (como si DB3 - DB0 estaban en uso). envía la instrucción correcta (DL - en DB4 - puesto a cero, lo que ind bits - véase más adelante), entonces el módulo 'sabe' que se está crea la operación de 4 bits y lee las instrucciones y los datos en dos 4 mordiscos -bit desde entonces. Funciona leyendo en el nibble alto pr la función de establecernibble alto deben ser enviados de nuevo, seg por el bajo mordisco. Para obtener más información, consulte las pág 39 y 42 de HD44780.pdf . El ejemplo de la página 42 es para una pa de 1 línea, pero, no obstante, explica claramente cómo inicializar y comunicarse con el módulo en modo de 4 bits. Modo de 8 bits: se está utilizando el modo de 8 bits, conjunto de funciones ser llamado para asegurar el módulo se establece en 2 líneas con 5

Función Establecer incorrectamente: El programador debe configu módulo de 2 líneas, 5 X 8 fuente. La simulación de la HD44780 es implementado por 2 líneas, 5 X 8 de fuente única . Sin embargo, toda espera que el programador para escribir el código que establece el mó en este modo. Si el modo no están correctamente ajustadas, se muestr mensaje de error que indica tal, como se muestra aquí. tiene que restablezca el simulador, modificar el código y vuelva a intentarlo.

CGRAM CGRAM significa RAM generador de caracteres. ROM El módulo contiene el ASCII juego de caracteres. Por ejemplo, el código ASCII para la letra W es 87, por lo que almacena en la posición 87 en la RAM del módulo es el patrón de W. Esto hace que sea relativamente fácil de escribir el texto a la pantalla. El siguiente extracto de código ilustra este punto: MOV A, 'W' LLAME sendCharacter; una subrutina que envía los datos de la A a la DDRAM del módulo LCD Cuando DDRAM recibe un personaje, se muestra el patrón correspondiente de la ROM. Nota en el conjunto ASCII, los siete primeros lugares se utilizan para caracteres de control. Estos personajes no son aplicables al módulo LCD, por lo tanto, estos lugares están reservados para CGRAM lugar. Cuando un valor en el rango de 0 a 7 se envía a DDRAM, en lugar de mostrar un carácter de ROM, se muestra el carácter correspondiente de CGRAM. Esto significa que el usuario puede crear ocho caracteres personalizados. Los personajes están programados en CGRAM señalando CGRAM (en lugar de DDRAM) y luego el envío de datos al módulo de la misma que cuando se envían datos a DDRAM. Si nos fijamos en el conjunto de instrucciones de arriba podrás ver hay una dirección Set CGRAM instrucciones.Tenga en cuenta la dirección es de seis bits de longitud - vamos a discutir estos seis bits en breve. Observe también que sólo hay una instrucción para escribir en el módulo. Para escribir en CGRAM, primero debe asegurarse de la AC (contador de direcciones) está apuntando a CGRAM. Esto se hace llamando a la dirección de Set CGRAM instrucciones. Al igual que con la escritura de DDRAM, el aire acondicionado se incrementa (o decrementa, dependiendo del ajuste de incremento / decremento) después de cada escritura a CGRAM. Se mencionó anteriormente que ROM contiene el conjunto ASCII. Esto no es del todo cierto. Hay casos en que el carácter en la ROM no se corresponde con ASCII. En lugar 92 que se puede esperar para ver el \ símbolo. En cambio, hay ¥ (probablemente porque el HD44780 fue desarrollado en Japón). En lugar 126, en lugar de ~ 126 en zona hay un símbolo de flecha derecha, seguido de un símbolo de la flecha izquierda en la ubicación 127.Por lo tanto, si desea mostrar el \ símbolo, por ejemplo, en primer lugar deberá crear en CGRAM . Usted puede elegir cualquiera de los ocho lugares CGRAM, pero digamos que queremos poner \ en zona 2. Cada personaje está formado por ocho filas, con cinco puntos en cada fila. Usted escribe el patrón para cada fila para CGRAM, una fila a la vez. El patrón de la fila se compone de 1s donde los puntos son para ser visibles y 0s donde los puntos son para ser invisible. Los bits de dirección de seis CGRAM se dividen en dos partes. Los tres primeros bits de determinar cuál de los ocho personajes CGRAM se está escribiendo a, mientras que los tres bits inferiores determinan cuál de las ocho filas de este personaje se está escribiendo a.

CGRAM caracteres Dirección (binario)

Fila Dirección (binario)

010 010 010 010 010 010 010 010

000 001 010 011 100 101 110 111

Valor escrito en CGRAM | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

00000B = 00H 10000B = 10H 01000B = 08H 00100B = 04H 00010B = 02H 00001B = 01H 00000B = 00H 00000B = 00H

Los tres bits de caracteres y los tres bits fila componen la dirección CGRAM 6 bits. Tenga en cuenta que la primera fila es la fila 0, mientras que la fila inferior es la fila 7 (111B). Puede utilizar la fila inferior al crear un carácter personalizado, pero no es recomendable hacerlo, especialmente si usted tiene la intención con el cursor también. El ejemplo anterior muestra cómo crear el \ símbolo en CGRAM ubicación 2. Se empieza por establecer CGRAM frente a 2, a continuación, enviar el patrón de primera fila del personaje para CGRAM (en este caso, 00H). El AC se incrementará automáticamente a punto a la

siguiente fila. A continuación, enviar el patrón para esa fila (en este caso, 10H), y así sucesivamente para todos los ocho filas. Una vez completado, puede mostrar su nueva configurando la dirección DDRAM a algún valor, a continuación, enviar el número 2 de DDRAM y su nuevo personaje en CGRAM ubicación 2 aparecerá en la pantalla. Es posible que luego escribir una prueba, como se muestra a continuación, para asegurarse de que aparezca el símbolo correcto al escribir \ al LCD: ...; los datos que se enviarán a la pantalla LCD se ha colocado en un CJNE A, # '\', pase; si A no contiene \ símbolo, omita siguiente línea MOV A, # 2; reemplazar \ con la ubicación de \ en CGRAM saltar: CALL sendCharacter; llamar a la subrutina que envía el contenido de la A a la pantalla LCD

Para obtener instrucciones completas sobre cómo programar el módulo LCD, consulte HD44780.pdf .

El Banco Switch y el ADC

Cuando un interruptor está abierto un 1 lógico aparece en el pin del puerto (a través

de la resistencia de pull-up) al cerrar el interruptor se conecta la clavija directamente a tierra - 0 lógico. El banco de interruptores y las salidas de los ADC se aplican al puerto 2. Por lo tanto, cabe señalar que cuando el ADC se está utilizando los interruptores en el banco interruptor debe estar abierto todo (en el simulador, los interruptores son de color gris cuando están cerrado). Si un interruptor está cerrado, no importa lo que el ADC intenta poner en

esa línea, la línea se mantiene baja, ya que está directamente conectado a tierra a través del interruptor cerrado. Diagrama lógico que muestra las conexiones bancarias interruptor y ADC solamente. Las salidas de los ADC son tri-estado: la línea de RD, que está conectado a P3.7, debe ser baja para el ADC lectura para aparecer en las salidas. La línea de WR (conectado a P3.6) se utiliza para iniciar una conversión. Como se trata de flanco positivo desencadena, se debe tener baja y luego de alta para iniciar una conversión. Cuando la conversión se ha completado la línea INTR pasa a nivel bajo (y sigue siendo baja hasta que se inicie otra conversión). Esta línea se aplica a la línea 0 de interrupción externa, INT0. De esta manera, el 8051 puede ser interrumpida por la realización de una conversión ADC. Tenga en cuenta el consejo que aparece cuando el ratón se coloca sobre el botón ADC. Al hacer clic en este botón desactiva el ADC y activar el comparador. Ver el Comparadorpara más información.

Interruptor del Banco y del Grupo ADC La función de los pasadores de ADC se resumen en la siguiente tabla:

Perno Función RD

Permite a las salidas de tres estados, cuando la lógica 0.

WR

En un flanco ascendente, inicia la conversión.

INTR

Va a 0 lógico cuando la conversión se ha completado y sigue siendo baja hasta que se inicie otra conversión.

i/p

Señal de entrada analógica aplica aquí.

CS

Activa el dispositivo, cuando la lógica 0.

D0 - D7 Salidas digitales Tri-estatal.

Cambio de etiquetas de interruptores Usted puede cambiar la etiqueta de un interruptor en el banco de interruptores haciendo clic derecho sobre el interruptor y entrar en un nuevo personaje. Una etiqueta interruptor sólo puede ser un carácter de longitud.

El Comparador y el CAD Muchos profesores como para obtener sus estudiantes a desarrollar su propia ADC utilizando un DAC y un comparador. Para satisfacer esta necesidad, la salida del DAC también se aplica a la patilla inversora de un comparador, como se muestra en el diagrama lógico extraer a continuación.

Diagrama lógico que muestra las conexiones de comparación y DAC solamente (notar la ADC está deshabilitado, por lo tanto, sus conexiones con el 8051 no se muestran).

La entrada analógica que se aplica a la ADC también se aplica a la patilla no inversora del comparador, como puede verse más arriba (en este extracto, ya que el ADC está desactivado, la conexión de la tensión analógica a la ADC se omite). Cuando el comparador está activada, la

Panel Comparador Cuando el comparador está habilitado, entonces se puede utilizar junto con el DAC para implementar un ADC. Hay muchas técnicas que se pueden utilizar. Conoce los comparadores y DAC utilizados como ADCs (un sitio externo que no está afiliada con EdSim51.)

El Motor P3.0 y P3.1 se aplican a un controlador de puente dual, cuyas salidas se aplican a un motor de corriente continua bidireccional. La tabla de verdad para el puente y su efecto sobre el motor es: L B motor a

Diagrama lógico que muestra las conexiones del motor y UART

00

Detén gase

01

adelan te

10

march a atrás

11

Detén gase

solamente.

En la imagen de la izquierda, el eje del motor está en la posición predeterminada (señalando a tres). Observe que el sensor (representado por una línea vertical en la parte superior del motor) es de color negro. Cuando las líneas de eje del motor hasta con el sensor, el sensor cambia de negro a rojo, como se muestra en la imagen a la derecha. Grupo Motor El sensor de motor, que se aplica a P3.5, pasa a nivel bajo una vez cada revolución (en el simulador, siempre que las líneas de eje del motor alinea con el sensor, el sensor cambia de negro a rojo y P3.5 va a la lógica 0). P3.5 es la fuente externa de reloj para temporizador 1. Por lo tanto, el código se puede escribir que, utilizando el temporizador 1, cuenta revoluciones del motor. La velocidad del motor se puede variar manualmente (usando el control deslizante a la derecha del motor - echar un vistazo a las capturas de pantalla de hardware arriba). Esto hará que el rev. programas de conteo más interesante. Nota: Las líneas de control de motores comparten los TXD y RXD líneas para puerto serie interno del 8051. Como puede verse en el diagrama lógico extraer anteriormente, estas líneas también se conectan a la UART externo. Por lo tanto, en el ejercicio del motor, los mensajes basura pueden aparecer en la ventana del receptor de la UART. La función de la UART externo se explica a continuación. El motor se puede desactivar haciendo clic en el Habilitado Motor botón. ¿Por qué quieres desactivar el motor? Ver El UART a continuación.

El UART

Como se mencionó anteriormente, las líneas de control de motores comparten los mismos pines del puerto como el 8051 RXD puerto serie y TXD. Un UART externo está conectado a P3.0 y P3.1. Los datos recibidos desde aparece el puerto serie del 8051 en el Rx ventana. Los datos en esta ventana se pueden borrar en cualquier momento haciendo clic en el reinicio Rxbotón. Panel UART externa Los datos pueden ser transmitidos al puerto serie del 8051 escribiendo el texto en el Tx ventana y hacer clic en el Tx Enviar botón, que inicia la transmisión. Cuando se hace clic en este botón, el Tx cambios de color de fondo de la ventana a gris, lo que indica que la ventana no se puede editar. El título de la Tx Enviar botón cambia a Restablecer Tx . Al hacer clic en el botón en este punto despeja el Tx ventana. Sus cambios de color de fondo de nuevo a blanco - el usuario puede escribir más texto y haga clic en Enviar  Tx para reiniciar la transmisión. Los datos transmitidos por el UART externo se termina con la \ r personaje (el ASCII código para \ r es 0DH). En otras palabras, cuando el texto abc se transmite por la UART, los datos reales enviados es abc \ r (o, en ASCII - 61H 62H 63H 0DH ). La UART también puede transmitir una lista de números de 8 bits en lugar de texto. Ver HEX en Uart para más información. Predeterminado Velocidad de transmisión del UART es 4800. El usuario puede seleccionar de una lista desplegable de las velocidades de transmisión estándar (como se puede ver a continuación). Cada vez que se cambia la velocidad de transmisión, el receptor y el transmisor de la UART externa se restablecen.

La UART puede ajustarse a la paridad par, paridad impar o sin paridad haciendo clic en la paridad botón, ciclismo a través de las tres opciones: Sin paridad (por defecto), paridad impar y paridad par . Para obtener más información sobre el puerto serie 8051 y en la adición de un bit de paridad, haga clic en Guía del principiante a la 8051 - Puerto serie . Cuando se comunique con el UART, la P3.0 P3.1 pines y serán, por tanto cambiar el valor, el cual tendrá el efecto secundario de giro del motor. Para detener esto, el usuario puede hacer clic en el Habilitado Motor botón que tiene el efecto de deshabilitar el motor (el título del botón cambia a Motor discapacitados y el motor se puede volver a activar haciendo clic en el botón de nuevo). UART Transmisión de datos HEX

En lugar de texto, un lista de números de 8 bits (escritos en HEX) se puede transmitir. usuario cierra la lista entre llaves, cada número separados por una coma, como se muestra en la imagen. Cuando se transmite el texto, se ha interrumpido por 0DH. Este no es el caso con una l números. En el ejemplo mostrado opuesto, los cuatro números 56, 3 bis, 23 y e7 se transmiten, más.

Si el usuario desea enviar {56, 3a, 23, e7} como texto en lugar de una lista de números de 8 bits, el texto se escapó con el carácter \. Por lo tanto, \ {56 23, e7} en el Tx campo resultaría en {56, 3a, 23, e7} seguido por 0DH se transmitan al 8051.

El teclado

Diagrama lógico que muestra las conexiones del teclado solamente. El 4 X teclado 3 se interconecta en un formato estándar, como puede verse en el extracto diagrama lógico anteriormente. Todo el puerto de 0 pasadores, excepto el pin 7, son utilizados por el teclado. Interrupción externa 1: 3 Las columnas están conectadas a las entradas de una puerta Y, cuya salida está conectada a P3.3, la externa 1 pin de interrupción. La puerta está desactivado (por defecto), ya que este pin (P3.3) también es utilizado por el decodificadorpantalla de selección (ver Display arriba). Para hacer uso de la externa 1 interrupción con el teclado, asegúrese de que la puerta está habilitada. Pero recuerde, usted no será capaz de multiplexar las pantallas y el uso del teclado interrumpe al mismo tiempo . En

su lugar debe usar ocupado en espera en el teclado. Rebote Key

Si Tecla de rebote está activada, como se muestra en la imagen opuesta, a continuación, las teclas se recuperará cuando se cierra (el teclado sólo rebota si el modo de teclado se ajusta a la norma). De modo que el usuario con la clave está rebotando, sus suplentes de color entre rojo (interruptor abierto) y de color rojo oscuro (interruptor cerrado). Una vez que el interruptor acaba rebotando, su color vuelve a gris oscuro. La longitud de la despedida interruptor es de 30 ms. Nota: una tecla sólo se recuperará mientras un programa se está ejecutando. usuario hace una pausa el programa en ejecución, entonces el rebote interruptor también se detiene.

Notas sobre la interfaz con un teclado: Guía para principiantes al 8051 - Interfaz Periférico Modos del Teclado Al lado del teclado es un menú (ver imagen superior). Esto da al usuario una selección de tres ajustes para el tipo de teclado. Por defecto, el modo de teclado se establece en Estándar . Los otros dos tipos son Pulso y Radio . 

Standard



Pulso



Radio

- en el modo estándar de las teclas son independientes el uno del otro. Cualquier número de teclas puede cerrarse al mismo tiempo. Una llave cerrada se vuelve a abrir, simplemente haciendo clic en él de nuevo. - en modo de pulso una tecla se cierra mientras el botón del ratón (izquierda) se mantiene presionado. Una vez que se suelta el botón del ratón la tecla se vuelve a abrir. - en el modo de radio sólo una tecla a la vez se puede cerrar. Por ejemplo, si la tecla 5 se presiona (es decir: cerrado) y luego la tecla 7 se presiona, la tecla 5 reabre automáticamente. Al igual que en el modo estándar, una llave cerrada se vuelve a abrir, simplemente haciendo clic en él de nuevo.

Cuando el usuario cambia a otro modo de teclado, usando el menú de al lado, todas las llaves cerradas se vuelven a abrir de forma automática.

Cambiar etiquetas de teclas Usted puede cambiar la etiqueta de una clave haciendo clic derecho en la llave y entrar en un nuevo personaje. Etiquetas clave pueden ser de cualquier longitud. El teclado cambia automáticamente el tamaño.

Ajustes guardados Los siguientes ajustes se guardan durante el simulador apagar proceso: Ajustes del original Actualizar Frec.

1

Bitfield Dirección

ACC

Memoria de datos / Código

Memoria de datos

File System Directory

Sistema Operativo Dependiente

ADC / Comparador Activado

ADC Activado

Paridad del UART externa

Sin Paridad

UART Externo Velocidad en baudios

4800 Baud

Teclado Y Puerta

Discapacitado

Tipo de teclado

Estándar

Rebote Key

No rebote clave

Etiquetas de teclas

#, 0, *, 9, 8, 7, 6, 5, 4, 3, 2, 1

Las etiquetas del interruptor

0, 1, 2, 3, 4, 5, 6, 7

Motor Activado / Desactivado

Activado

Estos ajustes se guardan en dos archivos, edsim51diSettings.ser y edsim51diHardwareSettings.ser . Los archivos son (lo más probable) guardado en la misma carpeta que el edsim51di.jar archivo JAR en Windows o Mac y en la carpeta de inicio del usuario en Linux. Cuando se puso en marcha el simulador intenta abrir estos archivos. Si existen los archivos entonces la información en ellos se utiliza para restaurar la configuración del sistema a los valores que tenían cuando el simulador ha sido cerrado. Si no existen los archivos o están dañados de alguna manera, se les ignora y el simulador se pone en marcha con la configuración original.

Nota: Cuando paso a paso a través o la ejecución de código, la longitud de tiempo que pasa no sólo es experimentado por el 8051, pero por todos los periféricos también. Si se ejecuta la instrucción es una instrucción de 1 ciclo a continuación, con un reloj del sistema es de 12 MHz, la longitud de tiempo transcurrido es 1 nosotros. Por lo tanto, 1 nos ha pasado por la UART y para el ADC y así sucesivamente. En otras palabras, si no se está ejecutando código, el tiempo se ha detenido. Si tiene preguntas sobre el simulador EdSim51, por favor visite nuestra comentarios página.