Académique Documents
Professionnel Documents
Culture Documents
El primer ejemplo como no!!! la iluminacion de un led!!!jeje alguien alguna vez a visto
programa similar???jeje bueno fuera de bromas por alguno hay que empezar y este es
el nivel inferior jeje. El programa consiste en el encendido y apagado d eun led cada
0.5s por el pin RB0 del pueto B:
////////////////////////////////////////////////////////////////////////////////////
// VsZeNeR"05
// 6/Agosto/05
//
//Programa: Parpadeo de un led cada 0.5s
//Version: 0.0
//
//Dispositivo: PIC 16F648A Compilador: CCS vs3.227
//Entorno IDE: MPLAB IDE v7.20 Simulador: Proteus 6.7sp3
//
//Notas: Parpadeo de un led cada 0.5s por el pin RB0 del puerto B
//////////////////////////////////////////////////////////////////////////////////
///PROGRAMA
void main(void)
{
set_tris_b(0xFE); //portb como salida(RB0,las demas desactivadas)
disable_interrupts(GLOBAL); //todas las interrupciones desactivadas
do{
output_low(PIN_B0); //led off
delay_ms(500);
output_high(PIN_B0); //led on
delay_ms(500);
}while(TRUE); //bucle infinito
}
Seguimos en contacto!
En línea
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte
LordLafebre
Moderador Global
DsPIC30
Mensajes: 3529
o
Hola:
Que bien.... con ejemplos es como a mi parecer se aprende mas rapido.... yo tambien
estoy colgando ejemplos pero en el foro PBP y PROTON+, estaba queriendo aprender a
programar en C, ya tengo el compilador y ahora solo queda seguir uno a uno los
ejemplos que vayas colgando... y de ves en cuando o si no es muy seguido ire
haciendote preguntas de "NOVATO", puedo este mismo programa utilizarlo para un pic
16F628...?
En línea
http://microsymicros.nixiweb.com/
http://micros.mforos.com/
vszener
Moderador Local
PIC24H
Mensajes: 2390
////////////////////////////////////////////////////////////////////////////////////
// VsZeNeR"05
// 14/Agosto/05
//
//Programa: Parpadeo de un led cada 0.5s
//Version: 0.0 revision del 16F628a
//
//Dispositivo: PIC 16F628A Compilador: CCS vs3.227
//Entorno IDE: MPLAB IDE v7.20 Simulador: Proteus 6.7sp3
//
//Notas: Parpadeo de un led cada 0.5s por el pin RB0 del puerto B
//////////////////////////////////////////////////////////////////////////////////
///PROGRAMA
void main(void)
{
set_tris_b(0xFE); //portb como salida(RB0,las demas desactivadas)
disable_interrupts(GLOBAL); //todas las interrupciones desactivadas
do{
output_low(PIN_B0); //led off
delay_ms(500);
output_high(PIN_B0); //led on
delay_ms(500);
}while(TRUE); //bucle infinito
}
Decir que aqui esta el enlace a la pagina que microchip a dedicado para el dispositivo
16F628a:
http://www.microchip.com/stellent/idcplgidcplg?IdcService=SS_GET_PAGE&nodeId=13
35&dDocName=en010210
En línea
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
Suerte!!!
16f628a led on-off.rar (10.83 kB - descargado 838 veces.)
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
RE: Ejemplitos en C para 16F648A
« Respuesta #5 en: 14 de Agosto de 2005, 05:49:00 »
Aqui otro ejemplito mas de led"s, esta vez como encender tres led"s por el port b de
tres formas distintas...asi podreis elegir la que os guste mas jeje:
////////////////////////////////////////////////////////////////////////////////////
// VsZeNeR"05
// 6/Agosto/05
//
//Programa: Parpadeo de tres leds cada 0.5s
//Version: 0.1
//
//Dispositivo: PIC 16F648A Compilador: CCS vs3.227
//Entorno IDE: MPLAB IDE v7.20 Simulador: Proteus 6.7sp3
//
//Notas: Parpadeo de tres leds cada 0.5s de tres formas diferentes:
// RB0 -> con la funcion output_high()/output_low()
// RB1 -> definiendo el pin RB1
// RB2 -> con la funcion output_bit()
//////////////////////////////////////////////////////////////////////////////////
///PROGRAMA
void main(void)
{
set_tris_b(0xF8); //puerto b como salida
disable_interrupts(GLOBAL); //todas interrupciones desactivadas
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
En esta dire podeis descargaros los archivos: c, hex, dsn(proteus) del programa anterior
del encendido de tres led"s de tres formas diferentes
http://miarroba.com/foros/ver.php?foroid=348538&temaid=3484219
· Mi Blog: Aqueronte
LordLafebre
Moderador Global
DsPIC30
Mensajes: 3529
o
RE: Ejemplitos en C para 16F648A
« Respuesta #7 en: 14 de Agosto de 2005, 11:24:00 »
Hola:
http://microsymicros.nixiweb.com/
http://micros.mforos.com/
vszener
Moderador Local
PIC24H
Mensajes: 2390
////////////////////////////////////////////////////////////////////////////////////
// VsZeNeR"05
// 14/Agosto/05
//
// Programa: Parpadeo de cuatro leds cada 0.5s
// Version: 0.2
//
// Dispositivo: PIC 16F648A Compilador: CCS vs3.227
// Entorno IDE: MPLAB IDE v7.20 Simulador: Proteus 6.7sp3
//
// Notas: Parpadeo de cuatro leds cada 0.5s de cuatro formas diferentes:
// RB0 -> con la funcion output_high()/output_low()
// RB1 -> definiendo el pin RB1
// RB2 -> con la funcion output_bit()
// RB3 -> con la funcion bit_set()/bit_clear()
//////////////////////////////////////////////////////////////////////////////////
///PROGRAMA
void main(void)
{
set_tris_b(0x00); //puerto b como salida
disable_interrupts(GLOBAL); //todas interrupciones desactivadas
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
Aqui esta el enlace para descargaros el archivo en c, hex y el dsn(para proteus) del
programa anterior: parpadeo de cuatro led"s de cuatro formas diferentes
Suerte!!!
parpadeo4leds.rar (14.6 kB - descargado 607 veces.)
« Última modificación: 25 de Mayo de 2006, 10:03:13 por vszener »
En línea
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
////////////////////////////////////////////////////////////////////////////////////
// VsZeNeR"04
// 7/Agosto/05
//
// Programa: Coche Fantastico
// Version: 0.0
//
// Dispositivo: PIC 16F648A Compilador: CCS vs3.227
// Entorno IDE: MPLAB IDE v7.20 Simulador: Proteus 6.7sp3
//
// Notas: Barrido de led"s simulando la iluminacion del coche fantastico por el
// puerto A
//
// RA0 -> 1º Led
// RA1 -> 2º Led
// RA2 -> 3º Led
// RA3 -> 4º Led
//////////////////////////////////////////////////////////////////////////////////
///DECLARACIONES DE FUNCIONES
void derecha(void); //ilumina led"s derecha a izquierda
void izquierda(void); //ilumina led"s izquierda a derecha
///PROGRAMA
void main(void)
{
set_tris_a(0xF0); //porta como salida menos RA4(desactivado)
disable_interrupts(GLOBAL); //todas las interrupciones desactivadas
do{ //bucle...
derecha();
izquierda();
}while(TRUE); //...infinito
}
void derecha(void)
{
output_high(PIN_A0);
delay_ms(300);
output_low(PIN_A0);
output_high(PIN_A1);
delay_ms(300);
output_low(PIN_A1);
output_high(PIN_A2);
delay_ms(300);
output_low(PIN_A2);
output_high(PIN_A3);
delay_ms(300);
}
void izquierda(void)
{
output_low(PIN_A3);
output_high(PIN_A2);
delay_ms(300);
output_low(PIN_A2);
output_high(PIN_A1);
delay_ms(300);
output_low(PIN_A1);
}
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
De esta direccion podeis descargaros los ficheros c,hex y el dsn(proteus) del programa
anterios: coche fantastico I
· Mi Blog: Aqueronte
LordLafebre
Moderador Global
DsPIC30
Mensajes: 3529
o
Hola:
http://microsymicros.nixiweb.com/
http://micros.mforos.com/
vszener
Moderador Local
PIC24H
Mensajes: 2390
La instruccion #bit RB1=0x106.1 define el pin RB1 del portb, si vas al data sheet del
micro:
http://www.microchip.com/stellent/idcplgidcplg?IdcService=SS_GET_PAGE&nodeId=13
35&dDocName=en010212
y miras en el mapa de memoria del portb veras que se puede definir el portb como la
direccion 06h o la 106h, y veras que el pin RB1 es el bit 1 de dicho puerto, por lo tanto
para definir el pin RB1 primero decimos que puerto queremos definir, en este caso el
puerto b (ponemos 0x106) y despues definimos el pin seleccionado, en este caso el pin
RB1(ponemos un puntito para especificar el pin y su bit que le corresponde, en este
caso la instruccion quedaria asi: 0x106.1) y para poder manejarlo en el programa
definimos un bit con la instruccion en c #bit, y todo en total quedara #bit
RB1=0x106.1....asi se define el portb y concretamente un bit concreto(en este caso el
RB1), asi tendremos definido el pin RB1 del portb para poder manejarlo en nuestro
programa!, si me he explicado mal dimelo!!!!jeje
En línea
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
Bien lo prometido es deuda!!!jeje aqui pongo otra forma d hacer el colorido del coche
fantastico con led"s......las cosas con estos cacharros no s elimitan a una sola manera
sino a las maneras x-proporcionales de los que se paran a pensarlo jeje pos aqui esta:
////////////////////////////////////////////////////////////////////////////////////
// VsZeNeR"05
// 12/Agosto/05
//
// Programa: Coche Fantastico
// Version: 1.0
//
// Dispositivo: PIC 16F648A Compilador: CCS vs3.227
// Entorno IDE: MPLAB IDE v7.20 Simulador: Proteus 6.7sp3
//
// Notas: Barrido de led"s simulando la iluminacion del coche fantastico por el
// puerto B por medio de la instruccion de rotar.
//
// RB0 -> 1º Led
// RB1 -> 2º Led
// RB2 -> 3º Led
// RB3 -> 4º Led
//////////////////////////////////////////////////////////////////////////////////
///PROGRAMA
void main(void)
{
int led_on=0b0001; //led a iluminar
set_tris_b(0xf0); //portb como salida (algunas desactivadas)
disable_interrupts(GLOBAL); //todas las interrupciones desactivadas
do{ //bucle...
}while(TRUE); //...infinito
}