Professional Documents
Culture Documents
Fijas Final Arqui
Fijas Final Arqui
.INCLUDE "m2560def.inc"
.ORG 0x00
/* Inclusiones */
#include <avr/io.h>
#include <stdint.h>
#include <util/delay.h>
/* Constantes y macros */
#define DDR_SERIAL_TX DDRE
#define PORT_SERIAL_TX PORTE
#define SERIAL_TX 1
/* Variables globales */
/* Declaración de funciones */
void Serial_Tx_Byte(char byte);
void Serial_Tx_String(char *str);
void Serial_Tx_Entero(int32_t num);
/* Función principal */
int main(void){
Serial_Tx_String(texto_01);
Serial_Tx_Entero((int32_t)num_01);
Serial_Tx_String("\n\r");
_delay_ms(2000);
Serial_Tx_String(texto_02);
Serial_Tx_Entero((int32_t)num_02);
Serial_Tx_String("\n\r");
_delay_ms(2000);
Serial_Tx_String(texto_03);
Serial_Tx_Entero((int32_t)num_03);
Serial_Tx_String("cm \n\r");
_delay_ms(2000);
}
return 0;
}
/* Definición de funciones */
void Serial_Tx_Byte(char byte){
int8_t bit_pos;
char signo_y_digitos[12];
uint8_t signo = 0;
int32_t digito;
int8_t indice = 11;
/* Transmitir el número */
Serial_Tx_String(&signo_y_digitos[indice]);
}
PROBLEMA 04 – ASSEMBLY
.INCLUDE "m2560def.inc"
.ORG 0
SUBR_1:
SUBR_2:
;Genera la señal cuadrada (bucle infinito)
SBI PORTF, 7 ; Forzar la señal a '1'
CALL DELAY_1KHz ; Esperar 0.01s
CBI PORTF, 7 ; Forzar la señal a '0'
CALL DELAY_1KHz ; Esperar 0.01s
LDS R19, PINK ; R19 = PINK
COM R19
SBRS R19, 6 ; Salta si RK7 es 1
JMP BUCLE ; Repetir el proceso
JMP SUBR_2 ; Repetir el proceso
SUBR_3: