1. Realizar un programa en CCS C Compiler para encender y apagar 8 LEDS
conectados al puerto B del PIC18F4550. Deben encenderse desde el pin RB0 hasta el pin RB7 con un retardo de 250 ms, entre cada uno de ellos. El proceso debe repetirse de manera indefinida. 2. Simular el funcionamiento del programa en el ISIS de Proteus y verificar que funciona correctamente. 3. Implementar el proyecto en un protoboard verificando su correcto funcionamiento.
Solución 1. Programa en CCS C.
#include <18f4550.h> //Librería para usar el PIC18F4550
#fuses XT,NOWDT,NOPROTECT,PUT, NOPBADEN //Configuración de fusibles. #use delay (clock=4000000) //Fosc=4MHz #BYTE port_b= 0xF81 //Identificador para el puerto b en la localidad 0xF81. void main(void) { //Función principal main set_tris_b(0x00); //Puerto B como salida disable_interrupts(GLOBAL); //Todas las interrupciones desactivadas while(TRUE) //Ciclo infinito { //Inicio del ciclo. port_b= 0b00000001; delay_ms(250); port_b= 0b00000010; delay_ms(250); port_b= 0b00000100; delay_ms(250); port_b= 0b00001000; delay_ms(250); port_b= 0b00010000; delay_ms(250);
Dr. Oscar L Pérez Castañeda Microcontroladores 1
port_b= 0b00100000; delay_ms(250); port_b= 0b01000000; delay_ms(250); port_b= 0b10000000; delay_ms(250); } //Fin del ciclo infinito. } //Fin del ciclo main.
2. Diagrama del circuito para la simulación del programa.