fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Problema con 16F628
 
Avisos
Vaciar todo

Problema con 16F628

4 Respuestas
2 Usuarios
0 Reactions
6,462 Visitas
juanolo
Respuestas: 124
Topic starter
(@juanolo)
Estimable Member
Registrado: hace 18 años

Hola amiguetes:

Pos la verdad no se lo que pasa pero esto no me rula...

os explico:

Estoy haciendo 2 modulos de RF con laipac 433MHZ y pic 16F628A programado en mikroBASIC Pro

El transmisor realiza una funcion tan sencilla como:

Cuando un bumper detecta = 1 este lo envia al pic por RA0, desde ahi el pic tiene que enviar un 1 mediante usart y RB2 hacia el modulo de laipac.

Tiene un LED en RB7 que desde que se le da alimentacion al pic tendría que estar encendido, pero solo se enciende cuando le doy al bumper

Otro led al USART como indicador que solo se enciende cuando le doy al bumper (funciona correctamente y es buena señal de que le envia 1 por RB2

Y un transistor BC548 con R de 1K en la base en RA1 para controlar un Zumbador. Que va de +5V al + del zumbador y del - al colector del transistor y del emisor a masa.

Cristal de 4Mhz con 2 C de 22p a patilla 15 y 16 del pic.

Pero me pasa lo siguiente en el modulo de TX que es el unico que estoy intentando hacer...

El bumper lo tengo de masa al comun y del Normalmente abierto a una resistencia de 10K y de ahi a +5V, el punto que utilizo para RA0 lo cojo entre el NA y la resistencia.

Pues nada tengo problemas con el MCLR porque: solo va a medias cuando pongo el MCLR a una resistencia de 10K y al mismo punto que saco RA0 desde el bumper. Si pongo MCLR con la resistencia de 10K y directo a +5V se me encienden todos los leds y no funciona. Y si no le pongo nada a MCLR no se me enciende y ningun led y no me funciona.

Para que funcione correctamente tendría que:

Siempre que tenga alimentación que se encienda el led verde de RB7

Cuando detecte el bumper:

Sonar intermitentemente el zumbador
Enviar un 1 por RB2 usart y encender su led

Aqui les pongo el código:
program codigotx
'PROGRAMA PARA TX

dim dato as byte 'DECLARAMOS EL DATO DE ENVIO DEL USART

main:
CMCON=7 'QUITAMOS LOS COMPARADORES

TRISA= %00000001 'PONEMOS RA0 COMO ENTRADA Y RA1,RA2 COMO SALIDA
TRISB= %00000010 'PONEMOS PARA TX RB2 COMO SALIDA Y RX RB1 COMO ENTRADA

PORTB.7=1 'ENCENDEMOS EL LED QUE INDICA EL FUNCIONAMIENTO DEL PIC
dato=0 'INICIALIZAMOS DATO A 0

UART1_Init(2400) 'INICIALIZAMOS EL PUERTO UART PARA TRANSMITIR

WHILE PORTA.0=1
PORTA.1=1
DELAY_MS(200)
PORTA.1=0
DELAY_MS(100)
PORTA.1=1
DELAY_MS(200)
PORTA.1=0
DELAY_MS(3000)
dato=1
UART1_Write(dato)
WEND

UART1_Write(dato)

end.

el circuito es el siguiente, falta una resistencia de 10k para MCLR

Responder
3 respuestas
fj_sanchez
Respuestas: 1083
(@fj_sanchez)
Ardero
Registrado: hace 18 años

No se si es que no te he entendido bien, pero tal y como está ahí si pulsas el bumper se resetearía el micro... Si añades otra resistencia entre el pin MCLR y el extremo del bumper creo que sería lo mismo.

Prueba a poner una resistencia de 10K desde MCLR a 5V. De todos modos no he mirado el código y puede haber algo mal, pero no controlo el MikroBasic...

¡Un saludo!

Responder
juanolo
Respuestas: 124
Topic starter
(@juanolo)
Estimable Member
Registrado: hace 18 años

Sabes que pasa que yo tb se que no tendria que ir asi pero si pongo el MCLR directo a +5 con una R de 10K no me funciona el circuito cosa extrañisima....

Responder
fj_sanchez
Respuestas: 1083
(@fj_sanchez)
Ardero
Registrado: hace 18 años

¿Tienes bien puestos los fuses?

Responder
Compartir: