55
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

Edsim Manual

Embed Size (px)

DESCRIPTION

Manual del emulado EDSIM51

Citation preview

Nuevas Caractersticas!

Obtener la ltima versin EdSim51

La interfaz dinmica

Ahora el usuario puede cambiar los perifricos a otros pines del puerto.Obtengams informacin.

Desbloquear el UART externaAl hacer clic en el botn marcadoUen la parte superior izquierda de la UART externa coloca el UART en un marco separado, como se muestra a continuacin.Este marco tiene mucho ms grandes ventanas de texto para el texto transmitidos y recibidos.Simplemente cerrar este cuadro para cerrar la UART de vuelta en la ventana principal.

Resaltado de sintaxisAhora, est automticamente sintaxis resaltada cdigo ensamblador escrito en EdSim51.Instrucciones son de color azul, las directivas del ensamblador (como ORG, USO, etc) son de color prpura, alias (por ejemplo, el ensamblador reemplaza TMOD con la direccin del TMOD) son de color naranja y comentarios son de color verde.Desconexin resaltado de sintaxis:si desea desactivar el resaltado de sintaxis, simplemente haga clic en cualquier lugar de la ventana de cdigo ensamblador y responder a la pregunta.

Cambiar la frecuencia del reloj del sistemaOriginalmente, el simulador corri con una frecuencia de reloj de sistema de 12 MHz.Ahora el usuario puede introducir un valor para la frecuencia de reloj del sistema en MHz.

UART Transmisin de datos HEX

Hasta ahora, la UART externo solamente transmitida texto - lo que el usuario escribi en elTxcampo se transmite al 8051. Ahora, una lista de nmeros de 8 bits (escrito en hexadecimal) puede ser transmitido.Para ello, el usuario cierra la lista entre llaves, cada nmero 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 lista de nmeros.En el ejemplo mostrado opuesto, los cuatro nmeros 56, 3 bis, 23 y e7 se transmiten, nada ms.

Si el usuario desea enviar {56, 3a, 23, e7} como texto en lugar de una lista de nmeros de 8 bits, el texto se escap con el carcter \.Por lo tanto, \ {56, 3a, 23, e7} en elTxcampo resultara en {56, 3a, 23, e7} seguido por 0DH se transmitan al 8051.

Mdulo LCD

Una simulacin del mdulo LCD Hitachi HD44780 popular ha sido implementado para el EdSim51 Simulator.Y ahoraCGRAMtambin ha sido implementado.Averigems.

Ampliar

Para los monitores de alta resolucin, haga clic en el botn de zoom.El botn de zoom se encuentra por debajo de la rojaSalirbotn.

Modos del Teclado

Ahora el usuario puede elegir entre tres modos de funcionamiento:

Standard- cualquier nmero de teclas puede cerrarse al mismo tiempo. Pulso- una vez el botn del mouse se libera los Reabre clave. Radio- en el modo de radio slo una tecla a la vez se puede cerrar.

Teclado y externa 1 de interrupcin

Hasta ahora el teclado slo podra implementarse utilizando ocupado en espera.Todava se puede implementar de esa manera, sino que tambin se puede utilizar junto con el 8,051 externa 1 pin de interrupcin, P3.3.

Nota:este pin, P3.3, tambin es utilizado por el decodificador-pantalla de seleccin, por lo tanto, la multiplexacin de los displays de 7 segmentos no se puede implementar junto con la interrupcin de teclado.Para multiplexar las pantallas y utilizar el teclado al mismo tiempo, el teclado debe ser implementado utilizando ocupado de espera.

Ms informacin sobre los modos de teclado y la interrupcin de teclado

Intel HEX Lector / Grabador

Ahora puede guardar el cdigo fuente en formato Intel HEX.O bien, puede escribir cdigo C para el 8051 utilizando una de las muchas disponibles 8051 compiladores de C, a continuacin, importar el cdigo HEX en el EdSim51 Simulator.Averigems.

Simulador ventana Actualizacin

Como con muchos simuladores de microcontroladores, EdSim51 permite al usuario, ya sea paso a travs de un programa, la ejecucin de una sola instruccin por paso, o para ejecutar el programa continuamente.En el diseo original EdSim51, cuando se ejecuta un programa, el simulador se ejecutara una instruccin, actualizar la pantalla, hacer una pausa por un cuarto de segundo, luego proceder con la siguiente instruccin y as sucesivamente.Esto permiti que el programador para observar los cambios en el hardware y los registros de cada instruccin ejecutada.Sin embargo, aunque esto es muy til para la depuracin, que significaba el usuario tendra que esperar mucho tiempo para que las cosas sucedan (ejemplos: los datos transmitidos en el puerto serie para aparecer en la UART, un LED parpadeante en el segundo intervalos de media, etc) .

Lo mejor de ambos:ahora el usuario tiene la opcin.Utilizando laactualizacin Frec.del men desplegable (que se muestra al lado) el programador puede elegir con qu frecuencia debera actualizarse la pantalla.Las opciones son: actualizar la pantalla despus de cada ejecucin de la instruccin (por defecto), despus de 100, 1000, 10000 o 50000 instrucciones ejecutadas.Escriba un valor:las opciones disponibles en el men pueden no ser apropiados.Por lo tanto, el usuario ahora puede introducir un nmero en lugar de seleccionar un valor de la lista.Para el nmero introducido tenga efecto, el usuario debe golpearEnteren el teclado del ordenador.

Averigems.

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 retencin de puerto pueden ser editados directamente por el usuario, pero los pines del puerto estn controlados por los perifricos externos y los cierres de puertos y no se pueden editar.

Cuando el puntero del ratn se deja que se ciernen sobre una de las etiquetas de registro, la direccin 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 direccin o el nombre SFR en el cuadro azul (reemplazandoACC) y se mostrar los bits para que la direccin dada.Adems, si deja que el vuelo estacionario puntero del ratn sobre uno de los bits momentneamente, se muestra la descripcin de la broca, como se muestra a continuacin:

El campo de bits para elTMODse muestra SFR.Aviso bit 2 es elcontador / temporizadorbits.Observe tambin que el fondo es gris.Esto es porque el registro no es TMOD bit-direccionable - el usuario no puede alterar directamente estos bits.

ElPSW-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 patrn de bits de cualquier direccin en la memoria RAM (de 0 a 7FH) escribiendo la direccin en el cuadro azul.Si la ubicacin 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 ubicacin no es poco direccionable los fondos son de color gris.

Memoria de datos y cdigo

Por defecto, se muestra la memoria de datos.Cualquier direccin en la RAM (00H a 7FH) se puede alterar mediante la introduccin de la direccin en la caja azul (etiquetadoaddr) y luego entrar en el valor deseado en el cuadro de la derecha (con la etiquetade valor).

Viendo Memoria Cdigo

Memoria Cdigo tambin puede ser examinado y editado, como se muestra en la imagen de arriba.Para pasar de una memoria de datos y la memoria de cdigo el usuario hace clic en el botn que tiene la etiquetade memoria de datoscuando se muestra la memoria de datos y lamemoria de cdigocuando se muestra la memoria de cdigo.

Se muestran los primeros 127 bytes de memoria de cdigo.Para ver otra rea de memoria de cdigo, introduzca la direccin de inicio en el cuadro azul.En adelante sern luego mostrarn los 127 bytes de la direccin de inicio.Una vez ms, como la memoria de datos, la direccin especificada en el azuladdrcuadro se puede alterar mediante la introduccin de un valor en elvalor dela caja.Sin embargo, debe tenerse en cuenta que esto se traducir en el cdigo de mquina y el programa de montaje de ser diferente.

En la imagen de arriba, el cdigo ensamblador que genera el cdigo mquina (como se muestra en la memoria de cdigo) se puede ver a la derecha.

Actualizar Frec.

El usuario puede optar por el paso a travs de un programa (ejecutar una sola instruccin 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 elFrec. actualizacinmen.

Utilizando laactualizacin Frec.del men desplegable el usuario puede elegir con qu frecuencia debera actualizarse la pantalla.Las opciones son: actualizar la pantalla despus de cada instruccin ejecutada, despus de 100, 1000, 10000 o 50000 instrucciones ejecutadas.

O, si ninguna de estas opciones es apropiada, el usuario puede teclear un nmero, luego pulsaEnter.La frecuencia de actualizacin puede cambiarse mientras el programa de un usuario est ejecutando.

El Panel Cdigo Asamblea

Un programa simple montaje se muestra en el panel de cdigo ensamblador a la izquierda.Este programa se ejecuta en un bucle continuo, mostrando los nmeros del 0 al 9 y de nuevo a 0 en la primera pantalla de 7 segmentos.Una instantnea de su ejecucin se muestra a la derecha.

Cuando el fondo del rea de texto cdigo ensamblador es blanco es editable.El programador puede escribir cdigo directamente aqu, o puede cargar un programa de archivo con elLoadbotn (tratado en la siguiente seccin).

Cuando el programa est listo para la prueba, el usuario puede hacer clic en elASSMbotn para ejecutar las instrucciones de una en una, o en elRunbotn para ejecutar el programa de forma continua.De cualquier manera, el programa primero se montar.Si se descubre un error en el cdigo, se muestra un mensaje en el cuadro de mensaje por encima del cdigo de montaje (con un fondo rojo) y la lnea con el error se destac dentro del cdigo en rojo.

Si el cdigo se ensambla sin errores,ASSMse sustituye porel Paso, el fondo del rea de texto de cambia a gris claro.El cdigo no se puede editar en este punto.

Si desea volver a editar el cdigo, simplemente haga clic en elrestablecimientobotn.El cdigo fuente ventana un poco pequea?Lea sobre el panel unlocker fuente abajo.

Fuente Pane Unlocker

El simulador fue diseado para que todo sea visible en la pantalla al mismo tiempo - los registros internos, el cdigo fuente, los perifricos, etc. Sin embargo, esto significa que el panel de cdigo es bastante pequeo.Pero puede ser ampliado.Leer ms.

Cargar y Guardar

El usuario puede escribir cdigo directamente en el cuadro de texto cuando se encuentra en modo de edicin, o un programa existente se puede cargar desde un archivo mediante lacarga debotn.Del mismo modo, el cdigo en el cuadro de texto se puede guardar en un archivo utilizando elSavebotn.

Hay dos tipos de archivos manipulados.La primera esde texto plano.Programas de la Asamblea se guardan como archivos de texto plano regulares (a menudo llamadas de slo texto) y por lo general con.ao.asmextensin de archivo.Por defecto, este es el formato utilizado al guardar el cdigo fuente en el EdSim51 Simulator.

El otro tipo de archivo es Intel HEX.El usuario puede seleccionar para guardar un archivo en formato HEX eligiendoIntel HEX ArchivosdelTipo de archivo:men en el cuadro de dilogo Guardar.Descubre ms sobre la carga y ahorroHEX Intelarchivos.

Para hacer el simulador ms fcil de usar, el ltimo directorio accesible (ya sea a travs de la carga de un archivo o guardar un archivo) ser recordado.Por lo tanto, la prxima vez que el usuario abre un cuadro de dilogo de archivo, haga clic en cualquiera de lacargaoGuardarlos botones, el cuadro de dilogo se abre automticamente en el ltimo directorio visitado.

Copiar y pegar

Puede seleccionar el cdigo en el rea de texto montaje y copiarlo en el portapapeles del sistema utilizando lacopiabotn, 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 elPegabotn (si el rea de texto es editable - fondo blanco - si no lo es, haga clic enReiniciar).O usted puede pegar el texto seleccionado en otra aplicacin (como el procesador de textos).Del mismo modo, puede copiar texto desde otra aplicacin 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 slo algunas de las directrices que se podra esperar se implementan.Sin embargo, siento que es adecuado para el principiante.A continuacin se muestra una lista de sus caractersticas:

Todas las instrucciones se implementan 8051, a excepcin deMOVXinstrucciones, como el simulador no maneja memoria externa. JMP relequivale a cualquieraSJMP reloAJMP rel.LJMP reldebe programarse de forma explcita. Del mismo modo,LLAMEequivale aACALL.LCALLdebe programarse de forma explcita. SETyEQUdirectivas se implementan. ORGse implementa. USODirectiva (estados que registran banco se est utilizando) se implementa. Arnequivale a la direccin de registro, segn lo especificado porUSO(si no se especifica el banco de registros antes deArnuso "s, regstrese banco 0 se supone). SFR nombres y nombres de bits SFR equiparan a la direccin apropiada. ALTAseguido de un operando entre corchetes equivale a el byte alto del operando. LOWseguido de un operando entre parntesis equivale a el byte bajo del operando. Las etiquetas son seguidos por un punto y coma. El valor predeterminado para los valores numricos es decimal.Valores hexadecimales se pueden introducir aadiendoHdespus del nmero, o la colocacin de0xantes.SiHes utilizado, el nmero no puede comenzar con una letra (ejemplo:F5Hdebe escribirse como0F5H).Valores binarios se introducen aadiendoBdespus del nmero (como se muestra en la imagen de abajo). El ensamblador no distingue entre maysculas y minsculas.

Depuracin

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

Los puntos de interrupcin

Un punto de interrupcin se puede establecer haciendo doble clic en la direccin de la instruccin, como se muestra en las imgenes a continuacin.

Establecer un punto de interrupcin:Al recorrer el cdigo, mueva el ratn sobre la direccin de la instruccin y haga doble clic.Cuando el punto de interrupcin se establece en la barra vertical (|) inmediatamente a la derecha de la direccin se sustituye por una estrella (*), como se muestra en la imagen de la derecha.

Eliminacin de un punto de ruptura:Un punto de interrupcin se indica mediante una estrella (*).Para eliminar el punto de interrupcin, mueva el ratn sobre la direccin de la instruccin y de doble clic.El*se sustituye por|.Como alternativa, puede eliminar todos los puntos de interrupcin con un solo clic de:

Cuando el programa est en ejecucin y se encuentra un punto de interrupcin de la ejecucin se detiene justo antes de que la instruccin.En otras palabras, la siguiente instruccin a ejecutar ser la instruccin de punto de interrupcin.El programador puede entonces recorrer el cdigo, o ejecutar el programa, a partir de ese punto.

Los Perifricos

Nota:Los diagramas lgicos en esta seccin se elaboraron para la interfaz perifrica predeterminada.Es posible que desee cambiar esta interfaz, que se puede hacer haciendo clic en elDIbotn (ver la imagen de abajo).Tambin puede ver el diagrama lgico para la nueva interfaz haciendo clic en elLDbotn (de nuevo, ver la imagen de abajo).Adems, hay casos en la siguiente seccin donde la distribucin de los pines del puerto se seal.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 perifrica

El panel de interfaz dinmico - reasignar los perifricos |imagen a tamao completo

Una instancia del Diagrama Dynamic Logic

Los Perifricos:

ADC Comparador Cuatro de 7 segmentos LED Displays Mdulo 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 descripcin de un alfiler es demasiado largo para caber, se puede ver la descripcin completa, con solo pasar el ratn sobre ella, o haciendo clic en el botn de zoom (vase ms adelante).AmpliarHaga clic en uno de los botones marcados + para que aparezcan las conexiones de ese puerto en una ventana separada.Un ejemplo para el puerto 2 se muestra a continuacin.

Conexiones Puerto Pin

El diagrama lgico siguiente da detalles de la interfaz perifrica.

EdSim51 Simulador perifrica Diagrama lgico

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 lneas de datos de visualizacin de 7 segmentos todo el puerto cuota 1.

La seleccin de cul de las cuatro pantallas est activada se realiza a travs P3.3 y P3.4.Estos pines del puerto se aplican a una lnea decodificador de 2 a 4, las salidas de las que se aplican a la base de transistores que activar / desactivar las pantallas.

Diagrama lgico que muestra el banco de LED, DAC y conexiones de pantalla de 7 segmentos solamente.

El decodificador se habilita a travs de una lgica 1 en P0.7.Este pin tambin 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 tambin tiene el efecto de permitir que las lneas de datos del CAD.Los datos entonces se puede escribir en el CAD.Lo que est en las entradas cuando la lnea WR se toma bajo se almacena en (o escrita a) registro interno de la DAC y permanece all despus de la lnea de WR se toma alta.La salida analgica para estos datos se mostrar en el alcance hasta la prxima WR vez que se toma baja y un nuevo valor se coloca en el registro interno.

El teclado se puede implementar utilizando la interrupcin externa 1 lnea (verel teclado), pero no al mismo tiempo que la multiplexacin de los displays de 7 segmentos.Esto es porque la interrupcin externa 1 lnea (P3.3) tambin es utilizado por el decodificador de visualizacin (ver diagrama lgico 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 accin se muestra a continuacin:

Rampa generada a travs del CAD Aparece en AlcanceCdigo para Rampa GeneracinBanco LED y elPanel Displays de 7 segmentos

El cdigo que genera la rampa anteriormente tambin 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 enva a las entradas del CAD, aument un 8 y luego envi a las entradas de nuevo, y as sucesivamente.Cuando el ratn se coloca sobre el alcance pantalla, aparece un texto de ayuda, indicando la escala vertical del osciloscopio es un voltio por la divisin y la horizontalescala es, en este caso, 25 microsegundos por divisin.Del alcancehorizontalescala est vinculado con la frecuencia de reloj del sistema 8051 (esto es poco realista, pero siento que es adecuado para fines de simulacin).Si, por ejemplo, la frecuencia de reloj del sistema se cambia a 11,059 MHz, a continuacin, del alcancehorizontalescala es 17,36 microsegundos por divisin.

El mdulo LCD

Como puede verse en el diagrama lgico a continuacin, el mdulo de LCD tambin comparte el puerto 1 con los LEDs y DAC.

Diagrama lgico que muestra el banco de LED, las conexiones del CAD y mdulos LCD solamente.

Modo 4-bit:El mdulo LCD es una simulacin de la HD44780 Hitachi y se interconecta al modo de 8051 en 4 bits.P1.7 travs P1.4 estn conectados a travs de DB7 DB4, mientras P1.3 est conectado al pin-registro selecto y P1.2 est conectado al pin habilitar.Observe el pasador de lectura-escritura est conectado a tierra - el mdulo slo se puede escribir.

Modo de 8 bits:Por defecto, como se indic anteriormente, el mdulo se interconecta en el modo de 4 bits.Sin embargo, los cuatro bits de datos inferiores (DB3 a travs de DB0) tambin estn disponibles (en P1.3 a travs P1.0).Si el usuario desea escribir en el mdulo en modo 8 bits, RS y E debe ser reasignado a otros pines del puerto, mediante elDIbotn en la parte superior izquierda del panel perifrico.

Los detalles de las funciones de los terminales y las instrucciones para el mdulo LCD se dan a continuacin.Para obtener detalles sobre cmo comunicarse con el mdulo, consulteHD44780.pdfalgunos yprogramas de ejemplo.

Lectura:Instrucciones para leer desde el mdulo no se han aplicado.

Parpadeo del personaje:Debido a que el simulador no se ejecuta en tiempo real, sera difcil saber si el mdulo parpadeaba.Por lo tanto, si el programador establece el mdulo a parpadear (vaseVisualizar / desactivar el controlde instrucciones ms abajo), los suplentes de caracteres de posicin del cursor entre texto azul con fondo rojo y el texto en rojo con fondo azul.De esta forma el programador sabe de un vistazo si el mdulo se encuentra en modo (cuando no est en modo de parpadear, todos los personajes son de color negro con fondo gris) parpadeando.

El pasador de habilitar (E, conectado a P1.2) es de punta negativa desencaden.En un borde negativo en E, el mdulo lee las lneas de datos DB7 - DB4.Modo de 4 bits:Como puede verse en el diagrama de lgica anterior, el mdulo se interconecta con el modo de 8051 en 4 bits.En el modo de 4 bits, no se utilizan lneas DB3, DB2, DB1 del mdulo y DB0.Por tanto, la instruccin de 8 bits o datos debern enviarse en dos cuartetos de 4 bits.El alto nibble se enva en primer lugar, seguido por el mnimo mordisco.Cuando se toma el pasador permitir alto y luego baja, esto hace que el mdulo para leer los pasadores DB7-DB4 y almacenarlos ya sea en el IR (si se enva una instruccin - es decir: RS = 0) o la Repblica Dominicana (si los datos son de ser enviado - es decir: RS = 1).En un principio, el mdulo se encuentra en modo de 8 bits y se deben establecer en el modo de 4 bits por el programador antes de que se intentaron cualquier otra comunicacin con el mdulo.Esto se realiza mediante el envo de la adecuadaConjunto de funcionesde instruccin (ver conjunto de instrucciones ms abajo).Por qu enviarFuncin establecerdos veces?Como se ha indicado, el mdulo est inicialmente en modo de 8 bits, por lo tanto, la primera instruccin enviada a se lee como un 8-bit instrucciones (como si DB3 - DB0 estaban en uso).Si se enva la instruccin correcta (DL - en DB4 - puesto a cero, lo que indica 4 bits - vase ms adelante), entonces el mdulo 'sabe' que se est creando a la operacin de 4 bits y lee las instrucciones y los datos en dos 4 mordiscos -bit desde entonces.Funciona leyendo en el nibble alto primero, lafuncin de establecernibble alto deben ser enviados de nuevo, seguido por el bajo mordisco.Para obtener ms informacin, consulte las pginas 39 y 42 deHD44780.pdf.El ejemplo de la pgina 42 es para una pantalla de 1 lnea, pero, no obstante, explica claramente cmo inicializar y comunicarse con el mdulo en modo de 4 bits.Modo de 8 bits:Incluso si se est utilizando el modo de 8 bits,conjunto de funcionesdebe primero ser llamado para asegurar el mdulo se establece en 2 lneas con 5X8 fuente.Ver abajo.2 lneas, 5X8 Fuente:La baja nibble deconjunto de funcionesdebe ser enviado con N = 1 (ajuste el nmero de lneas en la pantalla para 2) y F = 0 (ajuste de la fuente de 5x8 puntos ).

Funcin Establecer incorrectamente:El programador debe configurar el mdulo de 2 lneas, 5X8 fuente.La simulacin de la HD44780 es implementado por 2 lneas, 5X8 de fuentenica.Sin embargo, todava se espera que el programador para escribir el cdigo que establece el mdulo en este modo.Si el modo no estn correctamente ajustadas, se muestra un mensaje de error que indica tal, como se muestra aqu.El programador tiene que restablezca el simulador, modificar el cdigo y vuelva a intentarlo.

LCD conjunto de instrucciones Mdulo

CGRAMCGRAM significa RAM generador de caracteres.ROM El mdulo contiene elASCIIjuego de caracteres.Por ejemplo, el cdigo ASCII para la letra W es 87, por lo que almacena en la posicin 87 en la RAM del mdulo es el patrn de W. Esto hace que sea relativamente fcil de escribir el texto a la pantalla.El siguiente extracto de cdigo ilustra este punto:MOV A, 'W' LLAME sendCharacter;una subrutina que enva los datos de la A a la DDRAM del mdulo LCDCuando DDRAM recibe un personaje, se muestra el patrn 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 mdulo LCD, por lo tanto, estos lugares estn reservados para CGRAM lugar.Cuando un valor en el rango de 0 a 7 se enva a DDRAM, en lugar de mostrar un carcter de ROM, se muestra el carcter correspondiente de CGRAM.Esto significa que el usuario puede crear ocho caracteres personalizados.Los personajes estn programados en CGRAM sealando CGRAM (en lugar de DDRAM) y luego el envo de datos al mdulo de la misma que cuando se envan datos a DDRAM.Si nos fijamos en el conjunto de instrucciones de arriba podrs ver hay unadireccin Set CGRAMinstrucciones.Tenga en cuenta la direccin es de seis bits de longitud - vamos a discutir estos seis bits en breve.Observe tambin que slo hay una instruccin para escribir en el mdulo.Para escribir en CGRAM, primero debe asegurarse de la AC (contador de direcciones) est apuntando a CGRAM.Esto se hace llamando a ladireccin de Set CGRAMinstrucciones.Al igual que con la escritura de DDRAM, el aire acondicionado se incrementa (o decrementa, dependiendo del ajuste de incremento / decremento) despus 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 carcter en la ROM no se corresponde con ASCII.En lugar 92 que se puede esperar para ver el \ smbolo.En cambio, hay (probablemente porque el HD44780 fue desarrollado en Japn).En lugar 126, en lugar de ~ 126 en zona hay un smbolo de flecha derecha, seguido de un smbolo de la flecha izquierda en la ubicacin 127.Por lo tanto, si desea mostrar el \ smbolo, 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 patrn para cada fila para CGRAM, una fila a la vez.El patrn 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 direccin de seis CGRAM se dividen en dos partes.Los tres primeros bits de determinar cul de los ocho personajes CGRAM se est escribiendo a, mientras que los tres bits inferiores determinan cul de las ocho filas de este personaje se est escribiendo a.

CGRAM caracteres Direccin (binario)Fila Direccin (binario)Valor escrito en CGRAM

010

010

010

010

010

010

010

010

000

001

010

011

100

101

110

111

|||||

|||||

|||||

|||||

|||||

|||||

|||||

|||||

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 direccin 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 carcter personalizado, pero no es recomendable hacerlo, especialmente si usted tiene la intencin con el cursor tambin.El ejemplo anterior muestra cmo crear el \ smbolo en CGRAM ubicacin 2. Se empieza por establecer CGRAM frente a 2, a continuacin, enviar el patrn de primera fila del personaje para CGRAM (en este caso, 00H).El AC se incrementar automticamente a punto a la siguiente fila.A continuacin, enviar el patrn para esa fila (en este caso, 10H), y as sucesivamente para todos los ocho filas.Una vez completado, puede mostrar su nueva configurando la direccin DDRAM a algn valor, a continuacin, enviar el nmero 2 de DDRAM y su nuevo personaje en CGRAM ubicacin 2 aparecer en la pantalla.Es posible que luego escribir una prueba, como se muestra a continuacin, para asegurarse de que aparezca el smbolo correcto al escribir \ al LCD: ...;los datos que se enviarn a la pantalla LCD se ha colocado en un CJNE A, # '\', pase;si A no contiene \ smbolo, omita siguiente lnea MOV A, # 2;reemplazar \ con la ubicacin de \ en CGRAMsaltar: CALL sendCharacter;llamar a la subrutina que enva el contenido de la A a la pantalla LCD

Para obtener instrucciones completas sobre cmo programar el mdulo LCD, consulteHD44780.pdf.

El Banco Switch y el ADC

Cuando un interruptor est abierto un 1 lgico aparece en el pin del puerto (a travs de la resistencia de pull-up) al cerrar el interruptor se conecta la clavija directamente a tierra - 0 lgico.El banco de interruptores y las salidas de los ADC se aplican al puerto 2. Por lo tanto, cabe sealar quecuando 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 estn cerrado).Si un interruptor est cerrado, no importa lo que el ADC intenta poner en esa lnea, la lnea se mantiene baja, ya que est directamente conectado a tierra a travs del interruptor cerrado.

Diagrama lgico que muestra las conexiones bancarias interruptor y ADC solamente.

Las salidas de los ADC son tri-estado: la lnea de RD, que est conectado a P3.7, debe ser baja para el ADC lectura para aparecer en las salidas.La lnea de WR (conectado a P3.6) se utiliza para iniciar una conversin.Como se trata de flanco positivo desencadena, se debe tener baja y luego de alta para iniciar una conversin.Cuando la conversin se ha completado la lnea INTR pasa a nivel bajo (y sigue siendo baja hasta que se inicie otra conversin).Esta lnea se aplica a la lnea 0 de interrupcin externa, INT0.De esta manera, el 8051 puede ser interrumpida por la realizacin de una conversin ADC.Tenga en cuenta el consejo que aparece cuando el ratn se coloca sobre el botn ADC.Al hacer clic en este botn desactiva el ADC y activar el comparador.Ver elComparadorpara ms informacin.

Interruptor del Banco y del Grupo ADC

La funcin de los pasadores de ADC se resumen en la siguiente tabla:

PernoFuncin

RDPermite a las salidas de tres estados, cuando la lgica 0.

WREn un flanco ascendente, inicia la conversin.

INTRVa a 0 lgico cuando la conversin se ha completado y sigue siendo baja hasta que se inicie otra conversin.

i / pSeal de entrada analgica aplica aqu.

CSActiva el dispositivo, cuando la lgica 0.

D0 - D7Salidas 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 slo puede ser un carcter 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 tambin se aplica a la patilla inversora de un comparador, como se muestra en el diagrama lgico extraer a continuacin.

Diagrama lgico que muestra las conexiones de comparacin y DAC solamente (notar la ADC est deshabilitado, por lo tanto, sus conexiones con el 8051 no se muestran).

La entrada analgica que se aplica a la ADC tambin se aplica a la patilla no inversora del comparador, como puede verse ms arriba (en este extracto, ya que el ADC est desactivado, la conexin de la tensin analgica a la ADC se omite).Cuando el comparador est activada, la etiqueta del botn diceComparador, como se puede ver en la imagen.Al pasar por encima del botn muestra un consejo - haga clic en el botn para desactivar el comparador y permitir que el ADC.El botn se corresponde con el interruptor en el chip ADC selecto y el cambio entre la salida del comparador y P3.7 en la lgica extracto diagrama anterior.Usted puede ver el cambio entre la salida del comparador y P3.7 se cierra mientras que al mismo tiempo la lnea ADC CS se conecta a + V, la desactivacin de la ADC.

Panel Comparador

Cuando el comparador est habilitado, entonces se puede utilizar junto con el DAC para implementar un ADC.Hay muchas tcnicas 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:

LaBmotor

00Detngase

01adelante

10marcha atrs

11Detngase

Diagrama lgico que muestra las conexiones del motor y UART solamente.

En la imagen de la izquierda, el eje del motor est en la posicin predeterminada (sealando a tres).Observe que el sensor (representado por una lnea vertical en la parte superior del motor) es de color negro.Cuando las lneas 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 revolucin (en el simulador, siempre que las lneas de eje del motor alinea con el sensor, el sensor cambia de negro a rojo y P3.5 va a la lgica 0).P3.5 es la fuente externa de reloj para temporizador 1. Por lo tanto, el cdigo 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 ms interesante.

Nota:Las lneas de control de motores comparten los TXD y RXD lneas para puerto serie interno del 8051.Como puede verse en el diagrama lgico extraer anteriormente, estas lneas tambin 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 funcin de la UART externo se explica a continuacin.

El motor se puede desactivar haciendo clic en elHabilitado Motorbotn.Por qu quieres desactivar el motor?VerEl UARTa continuacin.

El UART

Como se mencion anteriormente, las lneas 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 elRxventana.Los datos en esta ventana se pueden borrar en cualquier momento haciendo clic en elreinicio Rxbotn.

Panel UART externa

Los datos pueden ser transmitidos al puerto serie del 8051 escribiendo el texto en elTxventana y hacer clic en elTx Enviarbotn, que inicia la transmisin.Cuando se hace clic en este botn, elTxcambios de color de fondo de la ventana a gris, lo que indica que la ventana no se puede editar.El ttulo de laTx Enviarbotn cambia aRestablecer Tx.Al hacer clic en el botn en este punto despeja elTxventana.Sus cambios de color de fondo de nuevo a blanco - el usuario puede escribir ms texto y haga clic enEnviar Txpara reiniciar la transmisin.

Los datos transmitidos por el UART externo se termina con la\ rpersonaje (elASCIIcdigo para\ res 0DH).En otras palabras, cuando el textoabcse transmite por la UART, los datos reales enviados esabc \ r(o, en ASCII -61H 62H 63H 0DH).La UART tambin puede transmitir una lista de nmeros de 8 bits en lugar de texto.VerHEX en Uartpara ms informacin.

Predeterminado Velocidad de transmisin del UART es 4800. El usuario puede seleccionar de una lista desplegable de las velocidades de transmisin estndar (como se puede ver a continuacin).Cada vez que se cambia la velocidad de transmisin, 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 laparidadbotn, ciclismo a travs de las tres opciones:Sin paridad(por defecto),paridad imparyparidad par.

Para obtener ms informacin sobre el puerto serie 8051 y en la adicin de un bit de paridad, haga clic enGua del principiante a la 8051 - Puerto serie.

Cuando se comunique con el UART, la P3.0 P3.1 pines y sern, por tanto cambiar el valor, el cual tendr el efecto secundario de giro del motor.Para detener esto, el usuario puede hacer clic en elHabilitado Motorbotn que tiene el efecto de deshabilitar el motor (el ttulo del botn cambia aMotor discapacitadosy el motor se puede volver a activar haciendo clic en el botn de nuevo).

UART Transmisin de datos HEX

En lugar de texto, unlista de nmeros de 8 bits (escritos en HEX) se puede transmitir.Para ello, el usuario cierra la lista entre llaves, cada nmero 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 lista de nmeros.En el ejemplo mostrado opuesto, los cuatro nmeros 56, 3 bis, 23 y e7 se transmiten, nada ms.

Si el usuario desea enviar {56, 3a, 23, e7} como texto en lugar de una lista de nmeros de 8 bits, el texto se escap con el carcter \.Por lo tanto, \ {56, 3a, 23, e7} en elTxcampo resultara en {56, 3a, 23, e7} seguido por 0DH se transmitan al 8051.

El teclado

Diagrama lgico que muestra las conexiones del teclado solamente.

El 4Xteclado 3 se interconecta en un formato estndar, como puede verse en el extracto diagrama lgico anteriormente.Todo el puerto de 0 pasadores, excepto el pin 7, son utilizados por el teclado.

Interrupcin externa 1:3 Las columnas estn conectadas a las entradas de una puerta Y, cuya salida est conectada a P3.3, la externa 1 pin de interrupcin.La puerta est desactivado (por defecto), ya que este pin (P3.3) tambin es utilizado por el decodificador-pantalla de seleccin (verDisplayarriba).Para hacer uso de la externa 1 interrupcin con el teclado, asegrese 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

SiTecla de reboteest activada, como se muestra en la imagen opuesta, a continuacin, las teclas se recuperar cuando se cierra (el teclado slo rebota si elmodo de tecladose ajusta a la norma).De modo que el usuario conoce 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 del interruptor es de 30 ms.Nota: una tecla slo se recuperar mientras un programa se est ejecutando.Si el usuario hace una pausa el programa en ejecucin, entonces el rebote interruptor tambin se detiene.

Notas sobre la interfaz con un teclado:Gua para principiantes al 8051 - Interfaz Perifrico

Modos del Teclado

Al lado del teclado es un men (ver imagen superior).Esto da al usuario una seleccin de tres ajustes para el tipo de teclado.Por defecto, el modo de teclado se establece enEstndar.Los otros dos tipos sonPulsoyRadio.

Standard- en el modo estndar de las teclas son independientes el uno del otro.Cualquier nmero de teclas puede cerrarse al mismo tiempo.Una llave cerrada se vuelve a abrir, simplemente haciendo clic en l de nuevo. Pulso- en modo de pulso una tecla se cierra mientras el botn del ratn (izquierda) se mantiene presionado.Una vez que se suelta el botn del ratn la tecla se vuelve a abrir. Radio- en el modo de radio slo una tecla a la vez se puede cerrar.Por ejemplo, si la tecla5se presiona (es decir: cerrado) y luego la tecla7se presiona, la tecla5reabre automticamente.Al igual que en el modo estndar, 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 automtica.

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 automticamente el tamao.

Ajustes guardados

Los siguientes ajustes se guardan durante el simulador apagar proceso:

Ajustes del original

Actualizar Frec.1

Bitfield DireccinACC

Memoria de datos / CdigoMemoria de datos

File System DirectorySistema Operativo Dependiente

ADC / Comparador ActivadoADC Activado

Paridad del UART externaSin Paridad

UART Externo Velocidad en baudios4800 Baud

Teclado Y PuertaDiscapacitado

Tipo de tecladoEstndar

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 / DesactivadoActivado

Estos ajustes se guardan en dos archivos,edsim51diSettings.seryedsim51diHardwareSettings.ser.Los archivos son (lo ms probable) guardado en la misma carpeta que eledsim51di.jararchivo 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 informacin en ellos se utiliza para restaurar la configuracin del sistema a los valores que tenan cuando el simulador ha sido cerrado.Si no existen los archivos o estn daados de alguna manera, se les ignora y el simulador se pone en marcha con la configuracin original.

Nota:Cuando paso a paso a travs o la ejecucin de cdigo, la longitud de tiempo que pasa no slo esexperimentadopor el 8051, pero por todos los perifricos tambin.

Si se ejecuta la instruccin es una instruccin de 1 ciclo a continuacin, 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 cdigo, el tiempo se ha detenido.

Si tiene preguntas sobre el simulador EdSim51, por favor visite nuestracomentariospgina.