A

alvar26

Usuario (Colombia)

Primer post: 29 ene 2010Último post: 30 oct 2011
2
Posts
29
Puntos totales
0
Comentarios
R
reparar bateria laptop
Ciencia EducacionporAnónimo10/30/2011

Hace un tiempo se me descargo totalmente una bateria de mi portatil y trate de arreglarla con la ayuda de un foro compre las pilas o celdas que trae internas y las canbie, pero vaya sorpresa cuando encendi el pc ya no la reconocia .A raiz de esto me puse a investigar y descubri que las baterias de los pc nuebos traen una memoria interna con la info de la bateria y el control de carga. Y ahora que???????????????la solucion:se debe alimentar la tarjeta de la bateria con una fuente de 7.5VDC respatando la polaridad, antes de quitar las pilas y hasta colocarlas en su lugar nuebamente....Se carga al 100% y vuala.............SE RECUERDA QUE SI LA TARJETA QUEDA SIN ALIMENTACION UN INSTANTE LA MEMORIA SE BORRARA Y LA BATERIA QUEDARA INSERVIBLE Las pilas son de ref: SE US18650GR Nominal Capacity 2200mAh Nominal Voltage 3.78Vy se consiguen en internet o en una tienda de componentes electronicos.

19
0
M
Multiplexar con PIC 16f877a display 7SEG
TaringaporAnónimo1/29/2010

Hola taringueros, este es mi primer post espero que les sea de interes ******************************************************************************************** Hace poco tiempo que cacharreo con estos microcontroladores, y buscando ejemplos para multiplexar en asembler no consegui mucha informacion, bueno improvisemos me dije y este fue el resultado. Utilice el PIC 16f877a, tres display de siete segmentos de katodo comun. La idea es utilizar el canal analogo AN0 para leer una señal de voltage proporcionada con algun sensor, luego convertir el dato de binario puro a BCD y finalmente convertirlo a codigo display 7seg para sacarlo por el puerto B controlando el encendido de los display con el puerto C. Para comenzar el programa se define los controles de los display y tambien la entrada analoga unos registros de trabajo a travez de la directriz CBLOK /ENDC y se hace una macros para controlar el cambio de bancos como se ve enseguida. #define DISPLAY1 PORTC, 2 #define DISPLAY2 PORTC, 3 #define DISPLAY3 PORTC, 4 #define MEDIDA PORTA, 0 ;************************************************************************************** ;************************************************************************************** CBLOCK 20H UNI ;Usados para manejar los datos a mostrar en los display DEC CEN tiempo1 ;Usados para temporizar tiempo2 DATO1 DATO2 DATO3 mayor BUFFER ADDR MEN BUFFER1 ENDC ;********************************************************************************************* ;*******************************MACROS DE CONTROL DE BANCOS*********************************** BANK0 MACRO BCF STATUS,RP0 BCF STATUS,RP1 ENDM BANK1 MACRO BSF STATUS,RP0 BCF STATUS,RP1 ENDM BANK2 MACRO BCF STATUS,RP0 BSF STATUS,RP1 ENDM BANK3 MACRO BSF STATUS,RP0 BSF STATUS,RP1 ENDM Seguido de esto se configuran los puertos, puerto A como entradas AN0 canal analogo, puertos B,C,D como salidas y se enciende el conversor A/D. BANK1 MOVLW b'11001110' MOVWF ADCON1 movlw b'00011111' ;Configura puerto A movwf TRISA clrf TRISB ;Puerto B completo como salidas clrf TRISC ;Puerto C completo como salidas clrf TRISD BANK0 ;Pasa a página 0 movlw b'01000001' ;Enciende y configura el convertidor A/D movwf ADCON0 Bueno el inicio se limpian los registros UNI,DEC,CEN, se inicia el muestreo y espera que termine la convercion una vez termina se lee el resultado en el registro ADRESL y se guarda el dato en el registro BUFFER para luego trabajar con el en las subrutinas INICIO CLRF UNI CLRF DEC CLRF CEN CICLO BSF ADCON0,GO_DONE ;Inicia la conversión A/D BTFSC ADCON0,GO_DONE ;Espera que termine de convertir goto $ -1 BANK1 ;Pasa a página 1 (para acceder a los ocho bits bajos del resultado) MOVFW ADRESL ;Resultado de conversión -> W BANK0 ;Pasa a página 0 MOVWF BUFFER BANK0 ;Pasa a página 0 CALL BIN8_BCD3 CALL VISUALIZA GOTO INICIO Esta es la subrutina que convierte el dato de binario a BCD, esta la encontre en interne pero le hice una pequeña modificacion al final para obtener cada dato para cada display, inicialmente la subrutina entrega el codigo de la siguiente manera en niblee de mayor peso en DATO1 y los otros dos en DATO2. Ej: para 123, en DATO1 tendriamos '0000 0001' y en DATO2 '0010 0011' , lo que hice es pasar Dato1 a CEN y pasar el niblee alto de dato2 a DEC y el bajo a UNI BIN8_BCD3 clrf DATO1 clrf DATO2 BCD_HIGH movlw .100 subwf BUFFER,f btfss STATUS,C goto SUMA_100 incf DATO1,f goto BCD_HIGH SUMA_100 movlw .100 addwf BUFFER,f movlw 0x0F movwf DATO2 BCD_LOW movlw .10 subwf BUFFER,f btfss STATUS,C goto SUMA_10 incf DATO2 movlw 0x0F iorwf DATO2 goto BCD_LOW SUMA_10 movlw .10 addwf BUFFER,f movlw 0xF0 andwf DATO2,f movf BUFFER,w iorwf DATO2,f movFW DATO1 MOVWF CEN MOVLW b'00001111' ANDWF DATO2,W MOVWF UNI SWAPF DATO2,W ANDLW b'00001111' MOVWF DEC RETURN El codigo en BCD se encontrara guardado en tres registros llamados CEN,DEN,UNI, los cuales al enviarlos atravez de la sigiente tabla son convertidos en codigo para los display TABLA ADDWF PCL,F retlw 0X3F ;genera el 0 retlw 0X06 ;genera el 1 retlw 0X5B ;genera el 2 retlw 0X04 ;genera el 3 retlw 0X66 ;genera el 4 retlw 0X6D ;genera el 5 retlw 0X7D ;genera el 6 retlw 0X07 ;genera el 7 retlw 0X7F ;genera el 8 retlw 0X6F ;genera el 9 Esta es la subrutina encargada de visualizar el dato en los display,toma el dato de CEN lo carga en la tabla y lo envia al puertoB enciende display1 o pouertoC,2 durante 1ms y repite la accion para los demas datos. VISUALIZA MOVFW CEN CALL TABLA MOVWF PORTB BSF DISPLAY1 CALL DELAY300 BCF DISPLAY1 MOVFW DEC CALL TABLA MOVWF PORTB BSF DISPLAY2 CALL DELAY300 BCF DISPLAY2 MOVFW UNI CALL TABLA MOVWF PORTB BSF DISPLAY3 CALL DELAY300 BCF DISPLAY3 RETURN Esta es la subrutina de retardos la encontre en internet en la cual se carga el valor deseado de ms en W i listo DELAY300 MOVLW d'1' DEMORA MOVLW tiempo2 ;Demora tantos milisegundos como valor en w TOP2 MOVLW d'110' MOVLW tiempo1 TOP1 NOP NOP NOP NOP NOP NOP DECFSZ tiempo1, 1 GOTO TOP1 DECFSZ tiempo2, 1 GOTO TOP2 RETURN A continuacion unas imagenes en proteus la simulacion se ejecuto con proteus, se deben hacer pequeños ajustes dependiendo de la resolucion del sensor a utiluzar ya sea por hardware o por software. espero sea de su utilidad y agrado Porfa Comentar, para mejorar!!!!!

10
0
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.