|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - Ingeniero
Páginas: [1]
1
« en: Sábado 8 de Marzo de 2008, 11:47 »
Hola
Tengo un peuqeño problema y no se porque, a ver si alguno da con la respuesta, xd
la cuestión es que yo tengo el sensor AD7416 que posee comunicación i2c, sabiendo que el sensor esta bien, el programa del micro tambíen esta bien, que pongo resistencias de pull up en el bus, la lectura de la temperatura me la hace mal dando datos muy dispares,
mi pregunta es si podria ser que necesite poner algun tiempo de retardo en la lectura del bus??
He detectado un error pero no se si ese es el motivo, puede ser que si pero necesito que alguin más entendido me de su opinion,
yo trabajo con un clock de 8Mhz y he configurado todo com si trabajara a esa velocidad, pero a la hora de programar el micro con el programa lo he programado como si trabajara a 7,3Mhz,
ese error puede influir en la comunicacion i2c????
gracias
2
« en: Martes 15 de Enero de 2008, 23:26 »
Hola
Quiero utilizar la comunicacion Rs232 para comunicarme con un programa en labview, y necesito enviar los datos en forma de caracteres, pero yo trabajo un integer en el micro, como puedo realizar dicha conversion para poder enviarla por la rs232 desde el micro al labview y viceversa como puedo transformar un caracter en un integer para poder trabajar en el micro.
gracias y saludos
porcierto utilizo el codevision
Tema solucionado, basta con utilizar lasfunciones atoi, puts, gets y alguna otra y ya esta
si no hay nada com odespejarse la cabeza para que vuelvas a ver el camino,xd
3
« en: Jueves 29 de Noviembre de 2007, 13:11 »
Hola
quiero crear un circuito con un micro y me lio con el clock.
hay 4 patillas, XTAL1, XTAL2, TOSC1,TOSC2 del micro atmega16, que me lian
yo quiero que el micro trabaje a 7.328 Mhz pero no se en que patillas debo poner el critasl, no entiendo muy bien ingles y por mas que miro el datasheet me lio mas, si alguien me puede echar una mano se lo agradeceria
4
« en: Viernes 5 de Octubre de 2007, 20:32 »
el problema que tengo es que la interrupcion la realiza "bien" ya que pone el flag de aviso a 1 pero no me salta a la rutina de interrupcion y por tanto no hace la interrupcion
5
« en: Viernes 5 de Octubre de 2007, 13:35 »
Hola
alguien sabe( o me puede indicar ) si el lcd lm016 y el LCD jm161 son dos lcd compatibles??
por mas que busco no encuentro informacion
saludos
6
« en: Sábado 29 de Septiembre de 2007, 15:51 »
Hola
Alguien sabe como puedo solucionar la perdida del control de programa,?, lo que me pasa es lo siguiente, se empieza a ejecutar bien, pero en una interrupcion, se me pierde el control del programa, es decir no vuelve a la direccion guardad en la pila sino a la guardada en el PCL.
saludos
7
« en: Jueves 27 de Septiembre de 2007, 12:12 »
Hola otra vez
lo que me pasa es lo siguiente, yo tengo un programa que a 2MHZ funciona bien, pero quiero que trabaje a 4MHZ, cuando lo pongo a simular en proteus a 4MHz no hace nada, no se ve nada de nada, solo corre pero no presenta nada de los mensajes que deberia presentar, debo poner alguna directiva en el programa que le indique que trabaja 4MH? ¿como la pongo?
gracias
8
« en: Miércoles 26 de Septiembre de 2007, 20:08 »
pues tengo un problema con el Mplab y es el siguiente,
el programa al compilarlo con el mplab, este se mete en una biblioteca que no deberia hacerlo, es decir si alguien utiliza las bibliotecas del libro microcontroladores pic16f84, concretamente las de retardos y las del bus i2c, pues bien yo cuando utilizo la del retardo (uan de ellas) se me mete directamnete a la del busi2c, y no se com solucionar eso ya que no hay ninguna llamada a busi2c, a alguien mas le a pasado??
9
« en: Jueves 20 de Septiembre de 2007, 21:32 »
necesito alguna idea de como hacer lo siguiente
yo tengo un boton que si no esta pulsado quiero que haga un interrupcion pero si esta pulsado quiero que haga otro interrupcion
¿alguien me podria dar alguna idea?
10
« en: Jueves 20 de Septiembre de 2007, 19:34 »
¿como se puede introducir un estimulo( cambiar una variable) cuadno estoy en un proceso de ejecutado?? yo cada vez que ejecuto y necesito cambiar un estado tengo que volver a compilar el programa para que haga ese efecto, hay alguan forma de hacerlo sin tener que compilarlo?
11
« en: Miércoles 19 de Septiembre de 2007, 14:58 »
tengo problemas con esta rutina de multiplicación y no se porque no funciona, los numeros los carga bien pero el producto no lo hace, la suma de las unidades tambien lo hace bien, alguien podria echarme un amano??
Arit_BCD_Operacion ;Realiza la operacion:(10 * Resultado Anterior + W) movfw Arit_Decenas movwf Arit_Multiplicando ;(Resultado Anterior) -->(Multiplicando) clrf Arit_Multiplicador ; Carga el multiplicador con 10. movlw .10 movwf Arit_Multiplicador
Arit_Multiplica_8Bit ; En principio el resultado es cero. clrf Arit_Producto ;obtengo un resultado de 16 bit (2 REG de 8bit) movlw .8 ; Carga el contador de 8 bits. movwf Arit_ContadorBits movf Arit_Multiplicando,W ; Carga el multiplicando. Arit_MultiplicaBit8 bcf STATUS,C rrf Arit_Multiplicador,1 ; Va a comprobar el siguiente bit del multiplicador. btfsc STATUS,C ; Si el bit del multiplicador es "1" addwf Arit_Producto,1 ; suma el resultado parcial anterior más el multiplicando. rrf Arit_Producto,1 ; Desplaza el resultado parcial un lugar hacia la ; derecha, introduciendo un "0" por la izquierda. decfsz Arit_ContadorBits,1 ; ¿Ha multiplicado los 8 bits? goto Arit_MultiplicaBit8 ; Repite la operación. movf Arit_Unidades,W addwf Arit_Producto,1 ; (10 * Resultado Anterior + W) return
es una rutina de cogida de la pagina de microchip
gracias
12
« en: Domingo 16 de Septiembre de 2007, 20:09 »
Bueno estoy intentano comprobar si el bus i2c me funciona bien y creo que no lo hace, estos son los datos que quiero enviar Dato EQU b'00000000' Dato2 EQU b'00000001' Dato3 EQU b'00001100'
pero cuadno los transpaso a unos displays de 7 segmentos a traves del i2c me dan caracteres diferentes a los que me deberian dar
subo el programa
13
« en: Domingo 16 de Septiembre de 2007, 19:42 »
Bueno, siguiendo con mi proyecto, despues de ver que funcionaba el lcd y el teclado, me toca meterme con las interrupciones yo quiero activar las interrupciones de desbordamiento del timer y de cambio del puerto RB para lo que utilizo movlw b'10101000' movwf INTCON despues en el servicio de interrupcion, miro quien me proboca esa interrupcion btfsc INTCON,RBIF call INTERRUPCION_TECLADO btfsc INTCON,T0IF call INTERRUPCION_TIMER lo que pasa es que solo se me activa la del timer continuamente, y esa solo quiero que se active cuando no este pulsado el boton de 'modo teclado' el timer debe actuar cada 2sg. no se como solucionarlo, he probado de todo pero nada, siempre que se activa las interrupciones es la misma, alguien me echa una mano?? subo el programa
14
« en: Jueves 13 de Septiembre de 2007, 20:59 »
quiero implementar el teclado en el puerto D del pic16f877, segun el datasheet, debo poner PSPMODE a cero, para poder configurar los pines d D como quiera,
deberia poner esto, pero si lo pongo me interfiere con el lcd y el boton
bsf STATUS,RP0 movlw 0x00 movwf TRISE movlw b'11110000' movwf PORTD bcf STATUS,RP0
subo el circuito y el programa
15
« en: Jueves 13 de Septiembre de 2007, 11:58 »
alguien me podria hechar un amanno par uqe me funcione el LCD y el teclado
dejo todo el programa pero sólo me quiero centar en hacer funcionar el teclado y el LCD
trabajo con un pic16f877
16
« en: Jueves 13 de Septiembre de 2007, 01:29 »
bueno os dejo un programa para ver si alguien le puede echar un vistazo, ya que a mi no me funciona, lo que quiero que haga es que encienda un lez conectada ala patilla D0 del micro siempre que el boton conectado a la ra3 este pulsado.
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC ; LIST P=16F877 ; INCLUDE <P16f877.INC> ORG 0 INICIO bsf STATUS,RP0 ;banco 1 bsf TRISA,3 ;pin 3 de A como entrada bcf TRISD,0 ;pin 0 de D como salida bcf STATUS,RP0 ; banco 0 goto Leer_Tecla Tecla movf PORTA,W ;copio lo de A en w movwf PORTD ;copio W en D Leer_Tecla btfsc PORTA, 3 ; si aprieto el boton ejecuto tecla goto Tecla goto Leer_Tecla ;bucle END
ya se que es facil pero por algo se empieza, xd
17
« en: Jueves 13 de Septiembre de 2007, 01:04 »
yo quiero simular un programa a 4MHZ pero en proteus para poder ver algo debo bajar la frecuencia del reloj a la mitad, como puede solucinar esto??
18
« en: Jueves 13 de Septiembre de 2007, 00:10 »
estoy simulando con proteus y algunas veces las patillas del micro (o cualquier otra) cuando lo simulo se quedan en gris, esto porque puede ser?
19
« en: Jueves 13 de Septiembre de 2007, 00:06 »
alguien me podria decir si el LCD lm016l y el jm161a utilizan el controlador de hitachi para su funcionamiento, porque si utilizan el mismo, un alibreria hecha para el lm16l valdria para el jm160a no??
20
« en: Miércoles 12 de Septiembre de 2007, 20:54 »
¿se pueden utilizar las librerias del libro "microcontroladores pic16f84 para programar un pic16f877??
21
« en: Jueves 19 de Abril de 2007, 20:51 »
Hola a tod@s
Necesito asentar mi cabeza un poco, xd por eso os hago unas preguntas y comentarios
.- no podrias poner algun programa completo ya hecho, es para empezar a tener una idea de como hacer un programa
.- tengo informacion de las rutinas para controlar un LCD, un teclado, i2c, rs232, pero no se como enlazarlo todo????
.- tengo un sensor de temperatura y no se como hacer, habilito un interrupcion cada x segundos para pedir el dato de conversion de la temperatura o lo hago en el programa principal???
.- tb necesito enviar una serie de datos al sensor, habia pensado en hacerlo con una de las teclas que al pulsarse enviara los datos al sensor a taves del i2c
.- com puedo juntar rutinas en ensamblador con rutinas en C??
Gracias de antemano
22
« en: Lunes 2 de Abril de 2007, 20:37 »
Hola de nuevo a tod@s
Quiero controlar un sensor de temperatura, un lcd, un teclado y dotarle de un acomunicacion RS-232, el problema que tengo es que no se cual PIC elejir,¿alguien me podria echar una mano?
Gracias por todo!!!
23
« en: Lunes 5 de Marzo de 2007, 21:16 »
Hola a tod@s,
Soy un estudiante de ingenieria electronica y tengo problemas con el software del proyecto.
Quiero controlar el sensor de temperatura AD7416, y cambiar una serie de parametros, para ello voy a utilizar un Atmega16, por un puerto le conecto el teclado, que lo utilizare para introducir los diferentes parametros, por otro puerto saldra el LCD. El sensor utiliza la comunicacion I2C por lo que utilizare las patillas de SDA y SCL
para compilar utilizo el codevision.
me surguen muchas dudas de como hacerlo, por eso agradeceria a alguien que me guiara el como poder terminar el proyecto.
yo he creado dos funciones de la comunicacion i2c,pero no se si estaran bien, y no se como comprobarlo.
uc--> unsigned char
uc i2c_getchar (uc dir) // leer dato y generar Nack { uc u; // variable auxiliar i2c_start(); //genera el start i2c_write /dir|1); //scribi la direccion +RD (supuestamente lo hace esta funcion de codevision) u= i2c_read(0); // lee el dato y genera el nack i2c_stop (); // genera el stop return u; // devuelve el valor }
void i2c_putchar (uc dir, uc, dato, uc reg) // escribir el dato { i2c_start(); //genera start i2c_write(dir&0xFE); //genera start i2c_write(reg); //add pointer i2c_write(dato);// escribir dato i2c_stop(); // gener el stop }
void main (void) { variable= i2c_getchar (dir); registro=0x00;//reg. temperatura i2c_putchar(dir,dato, registro) }
este es el programa que e hecho para poder leer los datos del sensor, si alguien podria echarle un vistazo se lo agardeceria.
tambien tengo problemas con el teclado o con el lcd que no me presenta nada en pantalla y no se si es porque no me lee el teclado o porque no me presenta el LCD.
voy a seguir trabajando en esto a ver si consiguo que me funcione
tb utilizo el proteus para simularlo, cosa que aveces consigo que funcione y otras veces no
Gracias de antemano
Un saludo
Páginas: [1]
|
|
|