Professional Documents
Culture Documents
Reporte practica 8
05/05/2019
González Zepeda Felix / Grupo de teoría 4
Hernández García Israel / Grupo de teoría 3
Equipo 5
Objetivo. Realización de programas a través de programación en C y empleo del puerto serie para visualización
y control.
Ejercicios
5.- Realizar las modificaciones necesarias al ejercicio 2 de la práctica tres para que ahora el comando que
selecciona la acción sea a través del puerto serie, usar retardos de ½ segundos, usando programación en C.
Laboratorio de microcomputadoras
Reporte practica 8
05/05/2019
González Zepeda Felix / Grupo de teoría 4
Hernández García Israel / Grupo de teoría 3
Equipo 5
Propuesta solución:
INICIO
Leer var1
Si
Var = 0
No output_b 0x00
Si
Var = 1
No output_b 0xff
Si
Var = 2
i<8
No
Si
output_b 0x80
Var = 3
output_b 0x01
No
Si
Var = 4
i<8
Si
output_b 0xff
Var = 5
output_b 0x00
No
Laboratorio de microcomputadoras
Reporte practica 8
05/05/2019
González Zepeda Felix / Grupo de teoría 4
Hernández García Israel / Grupo de teoría 3
Equipo 5
Solución:
void main(){
while(1){
var1 = getchar(); //Lee la variable que es escrita en la
//Hyperterminal y la guarda en var1
output_b(var1); //Manda var1 al puerto B
switch(var1){ / / Inicializamos el switch para entrar en cada uno de los casos
case '0': // Caso en el que los led están apagados
output_b(0x00); //Pone en bajo los bits del puerto B
break;
case '1': // Caso en el que los led están encendidos
output_b(0xff); //Pone en alto los bit del puerto B
break;
case '2': // Caso corrimiento del bit más significativo hacia la derecha
outb = 0x80; //Inicializa con el valor de "10000000"
for(i = 0; i<8; i++){
output_b(outb); //Manda outb al puerto B
delay_ms(500); //Retardo 1/2s
outb >>= 1;
}
break;
case '3': // Caso corrimiento del bit menos significativo hacia la izquierda
outb = 0x01; //Inicializa con el valor de "00000001"
for(i = 0; i<8; i++){
output_b(outb); //Manda outb al puerto B
delay_ms(500); //Retardo 1/2s
outb <<= 1;
}
break;
case '4': // Caso corrimiento del bit más significativo de derecha a izquierda
Análisis de resultados
Se pudo observar como mediante lenguaje C se pudo realizar un programa similar al de las primeras prácticas
que fueron en ensamblador, solo que esta vez se implementó un lenguaje con el que se está más familiarizado,
de modo que si se tiene idea de cómo implementar la estructura que deberá tener el programa se puede
aplicar tareas similares en dos lenguajes distintos.
Conclusiones:
Con base al objetivo se logró comprender de qué manera se puede utilizar el lenguaje C para implementar
tareas similares que con en el lenguaje ensamblador pero de manera más simple con esto me refiero a que
no es tan complicado de entender cómo funciona a diferencia del lenguaje ensamblador, solo hay que saber
de qué manera estructurar l programa que utilizaremos así como sus respectivas bibliotecas y así poder utilizar
los diferentes puertos.