Prácticas con microcontroladores
Prácticas con Microcontrolador PIC16F877A
Microcontroladores
Ing. Claudia Patricia Márquez Soto
Omar González Salazar
6to H
Electrónica
Guasave, Sinaloa a 6 de Mayo de 2010
Práctica 1.- Encendido de un LED y un motor
Código:
#include
#FUSES XT, NOWDT, NOPROTECT, HS
#usedelay(clock=20000000)
void main()
{
SET_TRIS_B(0);
WHILE(true)
{
output_b(0x01);
DELAY_MS(10000);
output_b(0x02);
DELAY_MS(10000);
}
}
Simulación:
[pic]
Protoboard:
[pic]
Conclusiones
En esta práctica solo se buscaba la correcta conexión de el microcontrolados en un protoboard o en una placa de cobre. Todo saliócorrectamente puesto que el circuito era bastante simple y solo de debía alimentar el PIC y conectar las salidas digitales del puerto B.
Práctica 2.- Desarrollo de un se maforo simple
Código:
#include
#FUSES XT, NOWDT, HS, NOPROTECT
#use delay(clock=20000000)
void main()
{
set_tris_b(0);
while(true)
{
output_b(0x41);delay_ms(100);
output_b(0x40);
delay_ms(20);
output_b(0x41);
delay_ms(20);
output_b(0x40);
delay_ms(20);
output_b(0x41);
delay_ms(20);
output_b(0x40);
delay_ms(20);
output_b(0x41);
delay_ms(20);
output_b(0x42);
delay_ms(50);output_b(0x14);
delay_ms(100);
output_b(0x04);
delay_ms(20);
output_b(0x14);
delay_ms(20);
output_b(0x04);
delay_ms(20);
output_b(0x14);
delay_ms(20);
output_b(0x04);
delay_ms(20);
output_b(0x14);
delay_ms(20);
output_b(0x24);
delay_ms(50);
}
}Simulación:
[pic]
Protoboard:
[pic]
Conclusiones:
La programación en esta práctica fue bastante sencilla, el único detalle era analizar cada estado de la salida del puerto B y realizar la tabla de verdades para poder llevar a cabo el proyecto, la conexión esta por demás sencilla y no tiene gran complejidad.
Práctica 3.- Secuencia de Luces con LEDs
Código:
#include#FUSES XT, NOWDT, HS, NOPROTECT
#use delay(clock=20000000)
void main()
{
set_tris_b(0x00);
set_tris_a(0xFF);
while(true) {
output_b(0x01); // incian un led de derecha a izq
delay_ms(20);
output_b(0x02);
delay_ms(20);
output_b(0x04);
delay_ms(20);
output_b(0x08);delay_ms(20);
output_b(0x10);
delay_ms(20);
output_b(0x20);
delay_ms(20);
output_b(0x40);
delay_ms(20);
output_b(0x80);
delay_ms(20); // terminan los les de derecha a izq
output_b(0x01); // inicia auto fantastico
delay_ms(20);
output_b(0x02);
delay_ms(20);output_b(0x04);
delay_ms(20);
output_b(0x08);
delay_ms(20);
output_b(0x10);
delay_ms(20);
output_b(0x20);
delay_ms(20);
output_b(0x40);
delay_ms(20);
output_b(0x80);
delay_ms(20);
output_b(0x40);
delay_ms(20);
output_b(0x20);
delay_ms(20);output_b(0x10);
delay_ms(20);
output_b(0x08);
delay_ms(20);
output_b(0x04);
delay_ms(20);
output_b(0x02);
delay_ms(20);
output_b(0x01);
delay_ms(20); //termina auto fantastico
output_b(0x80); // empiezan leds de izq a derecha
delay_ms(20);
output_b(0x40);
delay_ms(20);...
Regístrate para leer el documento completo.