OBJETIVO
Entender las operaciones bit a bit (AND y OR) y las conversiones entre sistemas binario, octal,
decimal y hexadecimal.
Probar estos conceptos adquiriendo los datos en el puerto B y el puerto D, mostrando sus
equivalentes en los sistemas antes mencionados y aplicándoles operadores bit a bit.
MATERIAL
• Microcontrolador PIC 18F4550
• 2 Interruptores DIP de 8 conexiones (Dip switch)
• 16 resistencias de 1 KΩ
CÓDIGO CORRESPONDIENTE AL PROGRAMA
#include "pch.h"
#include <iostream>
#include"Comunicacion.h"
#include<stdio.h>
#include<stdlib.h>
using namespace::std;
int main()
{
int r,puertoB,puertoD;
cout << "Programa que lee los datos del puerto B y D y hace operaciones a nivel bit” \t";
recibirpaquete(PORTB_INPUT, &puertoB);
recibirpaquete(PORTD_INPUT, &puertoD);
printf("El valor del puerto B es %d \n", puertoB);
printf("El valor del puerto D es %d \n", puertoD);
printf("El valor del puerto B es %o en sistema octal \n", puertoB);
printf("El valor del puerto D es %o en sistema octal \n", puertoD);
printf("El valor del puerto B es %x en sistema hexadecimal \n", puertoB);
printf("El valor del puerto D es %x en sistema hexadecimal\n", puertoD);
r = puertoB | puertoD;
printf("La operación OR entre ambos números en decimal es %d\n", r);
r = puertoB&puertoD;
printf("La operación AND entre ambos números en decimal es %d\n", r);
r= (puertoB<<1);
printf("El corrimiento de un bit a la izquierda de puerto B es%d\n", r);
r = (puertoB >> 1);
printf("El corrimiento de un bit a la izquierda de puerto B es%d\n", r);
printf("\n");
system("pause");
return 0;
}