You are on page 1of 2

PRÁCTICA COMPUTADORES DIGITALES

FACULTAD DE INGENIERÍA ELÉCTRICA UNIVERSIDAD TECNOLÓGICA DE PANAMÁ NOTA: Todas las preguntas son referentes a los microcontroladores con núcleo MC68HC908 1. Diga que está mal en las siguientes instrucciones: a. mov $81,#$01 R. No es posible hacer un movimiento a inmediato bien por que el dato ya está expresado o por que el programa están en memoria Flash y no puede ser modificada durante la ejecución. b. adc $01BB R. La dirección extendida es página 1 y es una dirección inválida. c. sta #$21 R. No puede hacerse un movimiento a inmediato por las mismas razones que la primera. d. mov #$01, $FFFF R. No se puede mover de directo a una dirección de Flash porque esta no puede ser modificada además que este modo de direccionamiento no existe. 2. Por qué algunas instrucciones del microcontrolador requieren de dos bytes para la definición del código de operación, cuál es el byte que le indica al microcontrolador que la instrucción en cuestión es de dos bytes. R. Existen más de 256 instrucciones considerando los diferentes modos de direccionamiento, por lo tanto no es posible representar todas estas posibilidades solo con 8 bits. El byte que le indica al microcontrolador es 9E. 3. Por qué los registros de configuración se encuentran en memoria RAM, y por qué el Monitor se encentra en memoria ROM y no FLASH. R. Los registros de configuración se encuentran en memoria RAM porque requieren ser cambiados durante la ejecución del programa, y el monitor está en memoria ROM ya que el mismo debe ser de carácter permanente y no requiere modificaciones. 4. Escriba una sección de código para configurar el canal 8 del ADC para una conversión continua a la menor frecuencia posible, sin el uso de interrupciones. R. Para realizar la conversión a la menor frecuencia posible debe utilizarse el prescaler y el valor para la división entre 16 debe ser 1XX para los bits más significativos de la dirección 3E. Para la dirección 3D el dato debe ser X0101000. Deben verificar que estén las instrucciones necesarias para cargar los registros con estos valores. 5. Se requiere un programa para controlar un sistema de bombeo el cual utiliza una bomba (B1) la cual es energizada por un contactor que requiere que la salida correspondiente del microcontrolador esté en 1 lógico para activar la bomba y 0 lógico para apagarla. El tanque de reserva de 10000 galones es llenado por la bomba cuando el nivel cae por debajo de los 1000 galones y la bomba se apaga cuando el tanque llega a los 9500 galones. El nivel del tanque se mide por un sensor y un sistema de acondicionamiento que genera una salida lineal de 0 a 5V correspondiente a 0V para 0 galones y 5V para 10000 galones. a. Escriba el programa, mostrando los cálculos que sean necesarios.

comx c. lda $03.x f. comx c. asra (después de ejecutarse 2 veces) d. ldx . div j. adc $A1 b. asra (después de ejecutarse 2 veces) d. rol . ldx .x e. lda $03.x h. j. ldhx $80 Preguntas a. Directo Inherente Inherente Indexado con offset 8 bits Indexado Inherente Indexado Inherente Inherente Directo .x pulh rol .x e. h.6. Preguntas a. Para cada una de las siguientes preguntas considere los valores iniciales de los registros y memoria mostrados a continuación e indique como se afectan los registros A y X después de la ejecución de la instrucción. f. adc $A1 b. i. pulh g. g.x rts div ldhx $80 Reg A 00 8C E3 A2 8C 8C 8C 8C 00 8C Reg X 9B 64 9B 9B 90 9B 9B 9B 9B A3 Modo de Direccion. rts i. indique también el modo de direccionamiento utilizado: A=$8C X=$9B H=00 C=1 SP=00F8 Dirección Base $0000 $0008 $0010 $0018 $0080 $0088 $0090 $0098 $00A0 $00A8 $00F0 $00F8 $F000 0A 46 DD 45 1A AC 12 11 46 24 CB C3 A2 Contenido de memoria en Hexadecimal 33 22 45 68 B6 F4 13 49 87 56 45 43 F4 AD D3 75 80 51 EE AE 36 13 26 74 A3 E6 FC BC 67 89 23 4C 56 12 37 89 34 56 78 95 67 FD 44 77 90 86 D3 A2 70 46 12 A3 A2 D3 57 87 6D A2 1C B5 B5 3D E7 A3 22 16 A3 56 80 A3 1C 4C 34 A5 68 C4 2C 4B Reg A Reg X AA A3 16 67 13 03 A2 2A F5 70 A2 B6 67 Modo de Direccion.