|
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.
Mensajes - Kain589
51
« en: Martes 3 de Enero de 2006, 01:24 »
Alguna otra sugerencia si necesito programar un 16F877A y no cuento con puerto paralelo o serial, solo USB.... porfa, que no sea empleando el 18F2550, que no lo encuentro en las tiendas locales. Se me ocurre que podrias pedir el pic18 a michochip en su seccion de samples, tendras que rellenar un formulario en ingles y decirles que es para un prototipo de algo y te lo mandan, aunque depende de donde vivas tendras mas o menos facilidades. De todas formas sigues con el proble de grabar el codigo en el 18F, existe un programador art2003 solo para la familia 18 que usa componentes basicos y lo puedes montar en una protoboard, este emple el puerto paraleo necesitaras de algun amigo que te lo grabe. Llego tarde a este tema pero espero poder ayudar.Si lo ves viable y a tiempo y necesitas informacion, ya sabes donde pedirla. P.D Alguien me puede recomendar algun programador ICSP que admita Dspic y que no sea el usb GTP lite
52
« en: Martes 3 de Enero de 2006, 01:10 »
Gracias por la bienvenida y por tu respuesta, en realidad yo queria establecer la comunicacion entre dos pics, la finalidad era simplemente didactica. Al final he desechado estas rutinas,ahora que ya lo he conseguido volvere a repasarlas, y he buscado en las notas de aplicacion de microchip encontrando ejemplos que he adaptado, acabo de probarlos y funcionan. Mañana seguramente los suba para quien le pueda interesar, no los subo ahora porque los tengo en otro pc que para mas inri tiene roto el usb
53
« en: Domingo 1 de Enero de 2006, 12:12 »
Hola sé que se trata de un tema bastante trillado, estoy empezando con los micros y ya he usado los distintos modulos y hecho problemas, asi que me propuesto empezar con la comunicacion entre dispositivos. he estado buscando por el foro y me encontre con unas rutinas, las he adaptado y cambiado algunas cosas para el 16f876, pero no me van; todo lo hecho creo que es necesario y que se debe a que falta algo, aunque puede que este mal. si alguien puede decirme que esta mal o si falta algo, muchas gracias y felicitarles por este gran foro tambien espero con el tiempo poder ayudar PROGRAMA : rx-rs232.asm ; Funcion : Escucha puerto serie rs232 y cuando recibe un dato salta la ; interrupcion y lo muestra en PortB. ; Serial port config: 9600 baudios,8 bits,paridad = none ; ; Programa para : PIC16F876 ; CPU Clock : 4 MHz Reloj instruccion : 1 MHz = 1 us ; WDT : Deshabilitado Tipo de reloj : XT ; Code Prot : OFF
LIST P = 16F876 ;Se indica el modo de procesador
INCLUDE <P16f876.inc> ;se incluye la definicion de los
;<<<<<<---------------------- VECTOR DE RESET ------------------------>>>>>>> ORG 00H ;Inicio en el Vector de Reset goto INICIO ;Va a la primera instruccion del ;programa
;<<<<<<------------------- VECTOR DE INTERRUPCION -------------------->>>>>>>
ORG 04H ;Vector de interrupcion
INTER btfss PIR1,RCIF ;¿Interrupcion por recepcion? goto VOLVER ;No. Falsa interrupcion bcf PIR1,RCIF ;Si. Reponer Flag movf RCREG,W ;Lectura dato recibido movwf PORTB ;Visualiza dato recibido
VOLVER retfie ;retorna de la interrupcion. ;<<<<<<----------------- INICIO PROGRAMA PRINCIPAL ------------------->>>>>>>
INICIO clrf PORTB ;Limpia salidas clrf PORTC
bsf RCSTA,SPEN ;se activa la USART bsf STATUS,RP0 ;Cambio al banco 1 ------------------ bcf STATUS,RP1 clrf TRISB ;Puerta B como salida clrf TRISB ;Puerta B como salida movlw 80H ;RC7/Rx entrada, movwf TRISC ;RC6/Tx salida y RC5 Salida.
movlw 04H ;Configuracion USART movwf TXSTA ;y activacion de transmision movlw .207 ;9600 baudios movwf SPBRG bsf PIE1,RCIE ;Habilitacion interrupcion RX bcf STATUS,RP0 ;Cambio al banco 0 ----------------- bsf RCSTA,SPEN ;se activa la USART movlw 90H ;Configuracion de la usart movwf RCSTA ;para recepcion continua movlw 0C0H ;Habilitacion para las movwf INTCON ;interrupciones generales BUCLE goto BUCLE ;espera aqui hasta que salte la int.
END PROGRAMA : tx-rs232.asm ; Funcion : Transmite 2 bytes por el puerto serie del pic en intervalos de ; 1 segundo. ; Serial port config: 9600 baudios,8 bits,paridad = none ; ; rograma para : PIC16F876 ; CPU Clock : 4 MHz Reloj instruccion : 1 MHz = 1 us ; WDT : Deshabilitado Tipo de reloj : XT ; Code Prot : OFF
LIST P=16F876 ;Se indica el modo de procesador
INCLUDE <P16f876.inc> ;se incluye la definicion de los ;registros internos CounterA EQU 20h CounterB EQU 21h CounterC EQU 22h
;<<<<<<---------------------- VECTOR DE RESET ------------------------>>>>>>> ORG 00H ;Inicio en el Vector de Reset goto INICIO ;Va a la primera instruccion del ;programa
;<<<<<<------------------- VECTOR DE INTERRUPCION -------------------->>>>>>>
ORG 04H ;Vector de interrupcion
;<<<<<<----------------- INICIO PROGRAMA PRINCIPAL ------------------->>>>>>> INICIO clrf PORTB ;Limpia salidas clrf PORTC
bsf RCSTA,SPEN ;se activa la USART bsf STATUS,RP0 ;Cambio al banco 1 ------------- bcf STATUS,RP1 clrf TRISB ;Puerta B como salida movlw 80H ;RC7/Rx entrada, movwf TRISC ;RC6/Tx salida.
movlw 24H ;Configuracion USART movwf TXSTA ;y activacion de transmision movlw .207 ;9600 baudios movwf SPBRG bcf STATUS,RP0 ;Cambio al banco 0 ------------- bsf RCSTA,SPEN ;se activa la USART
bsf STATUS,RP0 ;Cambio al banco 1 ------------- bcf STATUS,RP1 bsf TXSTA,TXEN ;Habilita la transmision bcf STATUS,RP0 ;Cambio al banco 0 ------------- bucle goto PDelay movlw 49H ;Envia el caracter, valor hex movwf TXREG ; del codigo ascii bsf STATUS,RP0 ;Cambio al banco 1 ------------- bcf STATUS,RP1 COMP_TX btfss TXSTA,TRMT ;comprueba si acabo de Tx. goto COMP_TX bcf STATUS,RP0 ;Cambio al banco 0 ------------- movlw .50 ;caracter ASCII en decimal movwf TXREG goto bucle
;<<<<<<----------------------- OTRAS RUTINAS ------------------------->>>>>>> ;PIC Time Delay = 1,0000020 s with Osc = 4 MHz PDelay movlw 6H movwf CounterC movlw 19H movwf CounterB movlw 0B2H movwf CounterA loop decfsz CounterA,1 goto loop decfsz CounterB,1 goto loop decfsz CounterC,1 goto loop return
END
|
|
|