Documente Academic
Documente Profesional
Documente Cultură
La interfaz dinmica
Ahora el usuario puede cambiar los perifricos a
otros pines del puerto. Obtenga ms informacin .
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 (reemplazando ACC ) 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 el TMOD se muestra SFR. Aviso bit 2
es el contador / temporizador bits. 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.
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 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.
la direccin en la caja azul (etiquetado addr ) y luego entrar en el valor deseado en el cuadro de la derecha (con la etiqueta de valor ).
datos y la memoria de cdigo el usuario hace clic en el botn que tiene la etiqueta de memoria de datos cuando se muestra la
memoria de datos y la memoria de cdigo cuando 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 azul addr cuadro se puede alterar mediante la introduccin de un valor en el valor de la 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 el Frec.
actualizacin men.
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 slo texto) y por lo general con .a o .asm extensin de archivo. Por defecto, este es el formato
utilizado al guardar el cdigo fuente en el EdSim51 Simulator.
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 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 explcita.
Del mismo modo, LLAME equivale a ACALL . LCALL debe programarse de forma explcita.
ORG se implementa.
Arn equivale a la direccin de registro, segn lo especificado por USO (si no se especifica el banco de registros antes
de Arn uso "s, regstrese banco 0 se supone).
ALTA seguido de un operando entre corchetes equivale a el byte alto del operando.
LOW seguido de un operando entre parntesis equivale a el byte bajo del operando.
El valor predeterminado para los valores numricos es decimal. Valores hexadecimales se pueden introducir
aadiendo H despus del nmero, o la colocacin de 0x antes. Si H es utilizado, el nmero no puede comenzar con una letra
(ejemplo: F5H debe escribirse como 0F5H ). Valores binarios se introducen aadiendo B despus del nmero (como se
muestra en la imagen de abajo).
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 ).
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 el DI botn (ver la imagen de abajo). Tambin puede ver el diagrama lgico para la
nueva interfaz haciendo clic en el LD botn (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
Los Perifricos:
ADC
Comparador
Mdulo LCD
UART
Teclado
Banco LED
Motor bidireccional
Cambie Banco
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 (ver el 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:
Cdigo para
Rampa
Generacin
Banco LED y el
Panel 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 horizontal escala es, en este caso, 25 microsegundos por divisin. 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 simulacin). Si, por ejemplo, la frecuencia de reloj del sistema se cambia a 11,059 MHz, a continuacin, del
alcance horizontal escala 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.
Los detalles de las funciones de los terminales y las instrucciones para el mdulo LCD
dan a continuacin. Para obtener detalles sobre cmo comunicarse con el mdulo,
consulteHD44780.pdf algunos y programas 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 mdu
parpadear (vase Visualizar / desactivar el control de instrucciones ms abajo), los sup
de caracteres de posicin 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 mdulo se encuentra
modo (cuando no est en modo de parpadear, todos los personajes son de color negro c
fondo gris) parpadeando.
CGRAM
CGRAM significa RAM generador de caracteres. ROM El mdulo contiene el ASCII juego 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 LCD Cuando 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 una direccin Set
CGRAM instrucciones.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 la direccin 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)
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.
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 CGRAM saltar: 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, consulte HD44780.pdf .
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
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 estn
cerrado). Si un
interruptor est
cerrado, no importa
lo que el ADC
intenta poner en
Perno Funcin
RD
WR
INTR
Va a 0 lgico cuando la conversin se ha completado y sigue siendo baja hasta que se inicie otra conversin.
i/p
CS
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
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:
L
B motor
a
00
Detn
gase
01
adelan
te
10
march
a atrs
11
Detn
gase
solamente.
El UART
La UART puede ajustarse a la paridad par, paridad impar o sin paridad haciendo clic en la paridad botn, ciclismo a travs de las tres
opciones: Sin paridad (por defecto), paridad impar y paridadpar .
Para obtener ms informacin sobre el puerto serie 8051 y en la adicin de un bit de paridad, haga clic en Gua 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 el Habilitado Motor botn que tiene el efecto de deshabilitar el motor (el
ttulo del botn cambia a Motor discapacitados y el motor se puede volver a activar haciendo clic en el botn de nuevo).
UART Transmisin de datos HEX
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
23, e7} en el Tx campo resultara en {56, 3a, 23, e7} seguido por 0DH se transmitan al 8051.
El teclado
Si Tecla de rebote est activada, como se muestra en la imagen opuesta, a continuacin, las teclas se recuperar
cuando se cierra (el teclado slo 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 slo se recuperar mientras un programa se est ejecutando.
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 en Estndar . Los otros dos tipos son Pulso y Radio .
Standard
Pulso
Radio
- 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.
- 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.
- en el modo de radio slo 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 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.
Ajustes guardados
Los siguientes ajustes se guardan durante el simulador apagar proceso:
Ajustes del original
Actualizar Frec.
Bitfield Direccin
ACC
Memoria de datos
ADC Activado
Sin Paridad
4800 Baud
Teclado Y Puerta
Discapacitado
Tipo de teclado
Estndar
Rebote Key
No rebote clave
Etiquetas de teclas
#, 0, *, 9, 8, 7, 6, 5, 4, 3, 2, 1
0, 1, 2, 3, 4, 5, 6, 7
Activado
Estos ajustes se guardan en dos archivos, edsim51diSettings.ser y edsim51diHardwareSettings.ser . Los archivos son (lo ms
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 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 es experimentado por 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 nuestra comentarios pgina.