Beruflich Dokumente
Kultur Dokumente
Anda, amigo, cámbialo por Depor, que me temo que ahora mismo los ánimos los
necesita más que el Betis.
De todas formas, podrías poner algo como: "musho Beti y Aupa Depor"
En línea
Mensajes: 1498
Mensajes: 17506
o
Mensajes: 1498
Weno, todo es ponerse jejeje, en el foro de modding que yo frecuento, hay un chaval
algo bruto que hizo lo siguien, sin multiplexar (que sera como consumir 2A) !!
P.D.: perdon por la publi, pero lo "interesante" es lo que hizo el "becerro" este ...
En línea
Mensajes: 248
MMMM... Algunos de uds ha visto por hay este chip??? TLC5904..... bueno este mismo
es capas de controlar hasta 16 salidas de leds permitiendonos ajustar el error de los
leds.... asi tambien es capas de variar la intensidad de los leds por medio de PWM
osea en pocas palabras con solo 4 de estos mas 3 pines de un micro podemos hacer
una matriz de 32 x 32 con la capacidad de generar hasta 4096 tonos de escalas de
grizes osea sin problemas podemos mostrar imagenes
bueno si quieren un poco mas de info en realidad vealla uds mismos en la hoja de datos
del mismo
http://www-s.ti.com/sc/ds/tlc5940.pdf
-==XooTRAooX==-
En línea
vszener
Moderador Local
PIC24H
Mensajes: 2390
////////////////////////////////////////////////////////////////////////////////////
// VsZeNeR"05
// 25/Agosto/05
//
// Programa: AUPA DEPO parpadeo
// Version: 0.0
//
// Dispositivo: PIC 16F648A Compilador: CCS vs3.227
// Entorno IDE: MPLAB IDE v7.20 Simulador: Proteus 6.7sp3
//
// Notas: Muestra el mensaje de AUPA DEPO por cuatro display"s de 7 segmentos
// multiplexados. El mensaje aparece cada 0,5s parpadeando primero la
// frase AUPA y luego la frase DEPO y suena un pitido al cambio de frase.
// Tener en cuenta que hay que poner la directiva NOLVP
// para que el pin B4 sea de salida.
// Se utiliza variables locales:
// * i -> indice 1º 7seg
// * j -> indice 2º 7seg
// * w -> indice 3º 7seg
// * z -> indice 4º 7seg
// * cont -> contador: cont=0 -> AUPA
// cont=1 -> DEPO
// * rep -> variable para visualizar mensaje
// * tab7seg[] -> vector donde se almacenan letras mensajes
// Conexiones:
// · RA0 -> Display 1º 7seg
// · RA1 -> Display 2º 7seg
// · RA2 -> Display 3º 7seg
// · RA3 -> Display 4º 7seg
// · RB0 -> a 7seg
// · RB1 -> b 7seg
// · RB2 -> c 7seg
// · RB3 -> d 7seg
// · RB4 -> e 7seg
// · RB5 -> f 7seg
// · RB6 -> g 7seg
// · RB7 -> Buzzer
//////////////////////////////////////////////////////////////////////////////////
///PROGRAMA
void main(void)
{
char rep,cont=0,i=0,j=1,w=2,z=0; //variables
int tab7seg[6]={0x77,0x3E,0x73,0x5E,0x79,0x3F}; //A U P D E O
do{ //bucle...
for(rep=0;rep<15;rep++){ //bucle visualizacion aupa/depo
output_a(0b1110);
output_b(tab7seg[ i ]); //1º 7seg on
delay_ms(10);
output_a(0b1101);
output_b(tab7seg[ j ]); //2º 7seg on
delay_ms(10);
output_a(0b1011);
output_b(tab7seg[ w ]); //3º 7seg on
delay_ms(10);
output_a(0b0111);
output_b(tab7seg[ z ]); //4º 7seg on
delay_ms(10);
}
cont=!cont; //cont=~cont
if(cont==1){ //muestra:
i=3; //D
j=4; //E P
z=5;} //O
else{ //muestra:
i=0; //A
j=1; //U P
z=0;} //A
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
Suerte!!!
aupa depo.rar (16.42 kB - descargado 319 veces.)
« Última modificación: 25 de Mayo de 2006, 10:26:18 por vszener »
En línea
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
////////////////////////////////////////////////////////////////////////////////////
// VsZeNeR"05
// 21/Agosto/05
//
// Programa: HOLA
// Version: 0.0
//
// Dispositivo: PIC 16F648A Compilador: CCS vs3.227
// Entorno IDE: MPLAB IDE v7.20 Simulador: Proteus 6.7sp3
//
// Notas: Muestra el mensaje de HOLA por cuatro display"s de 7 segmentos
// multiplexados. El mensaje se va rotando por los display"s hacia la
// izquierda. Tener en cuenta que hay que poner la directiva NOLVP
// para que el pin B4 sea de salida.
// Se utiliza variables locales:
// * i -> indice tabla 7seg para mostrar 1º 7seg
// * j -> indice tabla 7seg para mostrar 2º 7seg
// * z -> indice tabla 7seg para mostrar 3º 7seg
// * w -> indice tabla 7seg para mostrar 4º 7seg
// * flag -> variable que cuenta 0.5s
// * var -> ajuste fino para que desborde cada medio segundo.
// Utilizamos la funcion de interrupcion para actualizar indices de la
// tabla de 7seg para mostrar la palabra correspondiente en el respectivo
// 7seg, para ello el TMR0 se desborda cada 0.5s, para ello debe ser cargado
// con 61(equivale a un desbordamiento cada 50ms mas o menos), para obtener
// un desbordamiento de 0.5s utilizamos una variable(flag) que no entra en
// la actualizacion de indices hasta transcurrido 0.5s.
// Conexiones:
// · RA0 -> Display 1º 7seg
// · RA1 -> Display 2º 7seg
// · RA2 -> Display 3º 7seg
// · RA3 -> Display 4º 7seg
// · RB0 -> a 7seg
// · RB1 -> b 7seg
// · RB2 -> c 7seg
// · RB3 -> d 7seg
// · RB4 -> e 7seg
// · RB5 -> f 7seg
// · RB6 -> g 7seg
//////////////////////////////////////////////////////////////////////////////////
///PROGRAMA
void main(void)
{
int tab7seg[4]={0x76,0x3F,0x38,0x77}; //7seg H O L A
do{ //bucle...
output_low(PIN_A0); //activado...
output_high(PIN_A1);
output_high(PIN_A2);
output_high(PIN_A3);
output_b(tab7seg[ i ]); //...1º 7seg
delay_ms(10);
output_high(PIN_A0);
output_low(PIN_A1); //activado...
output_high(PIN_A2);
output_high(PIN_A3);
output_b(tab7seg[ j ]); //...2º 7seg
delay_ms(10);
output_high(PIN_A0);
output_high(PIN_A1);
output_low(PIN_A2); //activado...
output_high(PIN_A3);
output_b(tab7seg[ z ]); //...3º 7seg
delay_ms(10);
output_high(PIN_A0);
output_high(PIN_A1);
output_high(PIN_A2);
output_low(PIN_A3); //activado...
output_b(tab7seg[ w ]); //...4º 7seg
delay_ms(10);
}while(TRUE); //...infinito
}
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
De este enlace os podeis descargar los archivos necesarios del programa anterior:hola
Suerte!!!
hola_rot_7seg.rar (16.36 kB - descargado 455 veces.)
« Última modificación: 25 de Mayo de 2006, 10:27:53 por vszener »
En línea
· Mi Blog: Aqueronte
RaDoN
Moderadores
PIC24H
Mensajes: 1498
Mensajes: 2390
Jeje bueno trabajar con estos "cacharros" es un placer(hasta que se atraganta algun
que otro programita...jeje)..ummmm le han puesto una xincheta al post!!!!jeje bueno
asi esta mas visible para que este mas a mano los ejemplitos....bueno decir que
microchip acaba de lanzar la version del Mplab 7.21, lo digo porque ya los nuevos
ejemplos estaran integrados en el nuevo software(eso si recordando que el compilador
utilizado es el CCS), aqui la dire para descargarse la nueva version del Mplab 7.21:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dD
ocName=en019469&part=SW007002
PD: Es GRATISSS!!!!!jeje
En línea
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
////////////////////////////////////////////////////////////////////////////////////
// VsZeNeR"05
// 26/Agosto/05
//
// Programa: Cuadrado que recorre 4 display"s de 7seg de izuiqerda a derechas
// Version: 0.0
//
// Dispositivo: PIC 16F648A Compilador: CCS vs3.227
// Entorno IDE: MPLAB IDE v7.20 Simulador: Proteus 6.7sp3
//
// Notas: Simbolo recorre cuatro display"s de 7 segmentos de izquierda
// a derechas y viceversa.
// Tener en cuenta que hay que poner la directiva NOLVP
// para que el pin B4 sea de salida.
// Se utiliza variables locales:
// * i -> contador de display on
// * display_on[] -> vector con el display on
// Conexiones:
// · RA0 -> Display 1º 7seg
// · RA1 -> Display 2º 7seg
// · RA2 -> Display 3º 7seg
// · RA3 -> Display 4º 7seg
// · RB0 -> a 7seg
// · RB1 -> b 7seg
// · RB2 -> c 7seg
// · RB3 -> d 7seg
// · RB4 -> e 7seg
// · RB5 -> f 7seg
// · RB6 -> g 7seg
//////////////////////////////////////////////////////////////////////////////////
///PROGRAMA
void main(void)
{
char i=0; //contador de display on
int display_on[4]={0b1110,0b1101,0b1011,0b0111}; //tabla display on
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
Bien aqui el ejemplito numero 22!!!!jeje esta vez consiste en hacer un dado
electronico, se utilizada un display de 7seg en formato BCD(que ya conocemos) y un
pulsador(los cuales producen los molestos "rebotes" que pueden ser eliminados
mediante hardware o como este caso emdiante software pero esta vez no realizamos
una espera sino que lo eliminamos mediante un bucle), el programa llama a una funcion
definida en la libreria #include <STDLIB.H> la cual tiene la funcion srand() y rand() ,
esta ultima para generar numeros aleatorios, tener en cuenta que tenemos que definir
esta variable como sigue: #define RAND_MAX 10 para que solo contemos del 0 al 9:
////////////////////////////////////////////////////////////////////////////////////
// VsZeNeR"05
// 25/Agosto/05
//
// Programa: Dado digital
// Version: 0.0
//
// Dispositivo: PIC 16F648A Compilador: CCS vs3.227
// Entorno IDE: MPLAB IDE v7.20 Simulador: Proteus 6.7sp3
//
// Notas: Dado digital, que al presionar el boton conectado al pin A0 del porta
// genera un numero pseudo-aleatorio mediante la funcion rand() que se
// encuentra en la libreria STDLIB.H. El numero pseudo-aleatorio es elegido
// mediante la funcion rand() y segun los "rebotes" producidos por el boton.Tener
// en cuenta que hay que poner la directiva NOLVP para que el pin B4 sea de
// salida. Cuando agregamos un boton a nuestro circuito hay que tener en cuenta
// que este dispositivo genera "rebotes" que hay que ser eliminados para
// una correcta visualizacion en el display del digito seleccionado. Esta vez
// la eliminacion de "los rebotes" se ha realizado mediante software.
//
// Conexiones: A0 -> boton
// B0 -> a
// B1 -> b
// B2 -> c
// B3 -> d
// BCD:
// dcba NUM
// 0000 0
// 0001 1
// 0010 2
// 0011 3
// 0100 4
// 0101 5
// 0110 6
// 0111 7
// 1000 8
// 1001 9
//////////////////////////////////////////////////////////////////////////////////
///PROGRAMA
void main(void)
{
char num=0; //variable almacena numero aleatorio
Parece que fue ayer cuando encendiamos y apagabamos un led y ya vamos por el
programa numero 22!!!jeje hasta pronto!
En línea
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
Suerte!!!
dado.rar (18.33 kB - descargado 466 veces.)
« Última modificación: 25 de Mayo de 2006, 10:30:17 por vszener »
En línea
· Mi Blog: Aqueronte
vszener
Moderador Local
PIC24H
Mensajes: 2390
Ke tal!!!bien, decir que vamos a practicar con pantallas lcd por lo tanto me parece
bueno que tengamos referencias sobre la lcd a utilizar, la elegida es la Hitachi
44780(LM016L) para ello utilizaremos la libreria que viene incluida en el CCS llamada
lcd.c, esta libreria maneja nuestra lcd ya que se compone de 2x16 LCD Panel. La idea
es hacer funcionar estos "cacharros" y segun pasen los ejemplos poder modificar la
libreria para poder conectar nuestra lcd a nuestro pic de la forma que queramos okis??,
bien aqui van algunos enlaces sobre nuestra lcd a utilizar(decir que la libreria lcd.c es
compatible con otras pantallas lcd que cumplan 2x16 LCD Panel):
Data sheet del lcd Hitachi 44780(con info sobre ella):
http://www.x-robotics.com/rutinas.htm#LCD
Y aqui un enlace que CCS da sobre sus librerias, siempre es bueno tenerlo a mano ya
que asi sabremos sobre que material esta realizada la libreria lcd.c(teneis que buscar en
la tabla el nombre de lcd.c y a la derecha estara el data sheet en pdf del lcd patron de
dicha libreria que ha utilizado CCS para realizarla):
http://www.ccsinfo.com/data.shtml
PD: Comentar que el manejo a priori de las lcd"s son facil...pero a la hora de simularlas
o montaje real viene las complicaciones, normalmentee estas complicaciones son
debidas la mayoria de veces al conexionado mal de la lcd con nuestro pic, asi que si el
programa compila sin errores revisar bien el conexionado de la lcd con el pic.
Vamos al lio!!!