Laboratorio De Microcomputadoras Practica 8
Enviado por juliosullivan • 20 de Abril de 2017 • Documentos de Investigación • 1.237 Palabras (5 Páginas) • 570 Visitas
[pic 1][pic 2]
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
FACULTAD DE INGENIERÍA
Laboratorio De Microcomputadoras
Practica 8
Sánchez González Julio
Fecha: 18 de abril de 2017
Desarrollo. Realizar los siguientes ejercicios.
1.- Escribir, comentar, compilar y ejecutar el siguiente programa usando el ambiente del
PIC C Compiler.
#include <16f877.h>
#fuses HS,NOPROTECT,
#use delay(clock=20000000)
#org 0x1F00, 0x1FFF void loader16F877(void) {}
void main(){
while(1){
output_b(0x01); //Configura puerto b como salida y enciende el primer bit de ahì
delay_ms(1000); //Llama a un retardo de 1 segundo
output_b(0x00); //Apaga el bit del puerto b
delay_ms(1000); //Llama a un retardo de 1 segundo
}//while
}//main
2.- Modificar el programa para que active y desactive todos los bits del puerto B.
#include <16f877.h>
#fuses HS,NOPROTECT, //Indica que se trabaja a alta frecuencia
#use delay(clock=20000000) //Frecuencia de oscilación de acuerdo al cristal ensamblado
#org 0x1F00, 0x1FFF void loader16F877(void) {}
void main(){
while(1){
output_b(0xff); //Configura el puerto B como salida y enciende todos los bits
delay_ms(500); //Llama a un retardo de 1/2 segundos
output_b(0x00); //Apaga todos los bits del puerto b
delay_ms(500); //Llama a un retardo de 1/2 segundos
}//while
}//main
3.- Escribir, comentar, compilar y ejecutar el siguiente programa usando el ambiente del
PIC C Compiler.
#include <16f877.h>
#fuses HS,NOPROTECT, //Indica que se trabaja a alta frecuencia
#use delay(clock=20000000) //Frecuencia de oscilación de acuerdo al cristal ensamblado
#org 0x1F00, 0x1FFF void loader16F877(void) {} //for the 8k 16F876/7
unsigned int var1;
void main(){
while(1){
var1=input_a(); //Lee entradas del puerto A y las asigna a var1
output_b(var1); //Manda como salida al puerto B la variable var1
}//while
}//main
4.- Escribir, comentar, compilar y ejecutar el siguiente programa usando el ambiente del
PIC C Compiler.
#include <16f877.h>
#fuses HS,NOPROTECT, //Indica que se trabaja a alta frecuencia
#use delay(clock=20000000) //Frecuencia de oscilación de acuerdo al cristal ensamblado
#use rs232(baud=38400, xmit=PIN_C6, rcv=PIN_C7) //xmit tx rcv rx crem, espen CONFIGURACION SERIAL*
#org 0x1F00, 0x1FFF void loader16F877(void) {} //for the 8k 16F876/7
void main(){
while(1){
output_b(0xff); //Enciende todos los bits del puerto B
printf(" Todos los bits encendidos \n\r"); //Manda a la terminal un mensaje
delay_ms(1000); //Retardo de 1 segundo
output_b(0x00); //Apaga todos los bits del puerto b
printf(" Todos los leds apagados \n\r"); //Manda a la terminal un mensaje
delay_ms(1000); //Retardo de 1 segundo
}//while
}//main
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.
[pic 3]
#include <16f877.h>
#fuses HS,NOPROTECT,
#use delay(clock=20000000)
#use rs232(baud=38400, xmit=PIN_C6, rcv=PIN_C7) //xmit tx rcv rx crem, espen CONFIGURACIÓN SERIAL*
#org 0x1F00, 0x1FFF void loader16F877(void) {} //for the 8k 16F876/7
void main(){
char var1;
int corr;
while(1){
printf("Indica la opción:\n");
var1 = getch();
putc(var1);
switch(var1){
case '0':
output_b(0x00);
delay_ms(500);
break;
case '1':
output_b(0xFF);
delay_ms(500);
break;
...