Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
03 de Septiembre de 2010, 05:22:42
1 Hora
1 Día
1 Semana
1 Mes
Siempre
Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:
Búsqueda Avanzada
257111
Mensajes en
28437
Temas por
27916
Usuarios
Último usuario:
zororyuzaki
Buscar en TodoPIC
TODOPIC
Microcontroladores PIC
Primeros pasos - Iniciación a los microcontroladores
(Moderadores:
Veguepic
,
jfmateos2
)
Ayuda con el PIC16F7x...
0 Usuarios y 1 Visitante están viendo este tema.
« anterior
próximo »
Páginas:
[
1
]
Autor
Tema: Ayuda con el PIC16F7x... (Leído 428 veces)
agauss
PIC10
Desconectado
Mexico
Mensajes: 21
Ayuda con el PIC16F7x...
«
:
04 de Marzo de 2010, 06:28:09 »
Pasa lo siguiente, estoy tratando de simular el ADC del PIC16F77/74/76/73 en PROTEUS y sucede que al revisar el registro de resultado del PIC (ADRES) este varia segun el voltaje ingresado por un potenciometro lineal colocado sobre el canal analogico AN0, pero al tratar de leer este registro para tomar el dato y enviarlo por un puerto o bien procesar de alguna forma el dato, pues no sucede nada, es decir, no puedo leer este registro, la pregunta es: ¿sera un error del simulador?. He de señalar que el PIC16F77 no existe en version F en PROTEUS por lo cual tengo que usar la version C (PIC16C77) ¿sera por ahi el problema?
En fin espero que alguien pueda ayudarme con esto ya que no he dado con la solucion en el tiempo que he dedicado.
P.D. Se que otros modelos de PIC funcionan sin problema (877A, 2550, etc), pero yo tengo algunos de estos modelos (16F77) y megustaria dar con la solucion.
En línea
septiembre_negro
PIC18
Desconectado
Sexo:
Mexico
Mensajes: 293
Daría todo lo que se,por la mitad de lo que ignoro
Re: Ayuda con el PIC16F7x...
«
Respuesta #1 :
04 de Marzo de 2010, 07:59:49 »
En espera de que alguien te conteste si hay cambios de c a f (creo que si) por que no lo pruebas en una placa de prototipos.
En línea
agauss
PIC10
Desconectado
Mexico
Mensajes: 21
Re: Ayuda con el PIC16F7x...
«
Respuesta #2 :
05 de Marzo de 2010, 02:58:00 »
Gracias por responder...
Resulta que he trabajado fisicamente con este PIC y se que funciona perfectamente, solo que cuando quiero simular algun programa que involucra al ADC me topo con este problema. En fin, si alguien tiene algo le agradeceria compartir en el foro.
Saludos...
En línea
Chenao
PIC18
Desconectado
Sexo:
Colombia
Mensajes: 263
Re: Ayuda con el PIC16F7x...
«
Respuesta #3 :
08 de Marzo de 2010, 08:39:34 »
Saludos
Por que no pones el còdigo y el esquemàtico para empezar a descartar los posibles errores
En línea
Un saludo desde Pereira - Colombia
MLO__
Colaborador
DsPIC30
Desconectado
Sexo:
Colombia
Mensajes: 3324
MLO
Re: Ayuda con el PIC16F7x...
«
Respuesta #4 :
09 de Marzo de 2010, 12:41:27 »
Pues, que sepa, la diferencia es que los C se pueden programar una sola vez, mientras que los F pueden ser programados muchas veces.
En línea
El papel lo aguanta todo
agauss
PIC10
Desconectado
Mexico
Mensajes: 21
Re: Ayuda con el PIC16F7x...
«
Respuesta #5 :
11 de Marzo de 2010, 09:49:23 »
El codigo fuente es este...
title "PIC16F77, test.asm"
list p=16f77, f=inhx8m
#include <p16f77.inc>
__Config _XT & _WDT_OFF & _CP_OFF & _PWRTE_ON
STATUS equ 0x03
PORTA equ 0x05
PORTB equ 0x06
ADRES equ 0x1E
ADCON equ 0x1F
org 0x00
goto inicio
org 0x04
goto rsi
org 0x05
inicio: bsf STATUS,RP0
movlw 0x00
movwf ADCON
movwf 0x00
movwf PORTB
bcf STATUS,RP0
movlw 0x41
movwf ADCON
main: call T100ms
bsf ADCON,1
busy: btfss ADCON,1
goto busy
movf ADRES,0
movwf PORTB
goto main
T100ms: movlw 0x1F
movwf PDelT
DLoop: decfsz PDelT,1
goto DLoop
nop
nop
return
rsi: retfie
end
Espero sus comentarios, saludos....
En línea
agauss
PIC10
Desconectado
Mexico
Mensajes: 21
Re: Ayuda con el PIC16F7x...
«
Respuesta #6 :
11 de Marzo de 2010, 10:00:03 »
Simplemente coloco un potenciometro lineal sobre el canal analogico 0 del PIC, sobre el visualizador de registros del PROTEUS coloco los registros ADRES y PORTB. En el ADRES puedo ver que conforme vario el POT varia el dato en el ADRES, pero al tratar de mandar este dato al PORTB no pasa nada. Nuevamente señalo que uso el PIC16C77 ya que no se dispone de la version F en PROTEUS. Espero sus comentarios compañeros...
En línea
migsantiago
Moderador Global
DsPIC33
Desconectado
Sexo:
Mexico
Mensajes: 6836
Re: Ayuda con el PIC16F7x...
«
Respuesta #7 :
12 de Marzo de 2010, 11:28:23 »
Hola, ¿qué justificación le das a la conversión ADC? ¿Izquierda o derecha?
¿Configuraste el puerto B como salida? TRISB=0x00
En línea
Electro-Links -
Cómo insertar un objeto Flash SWF en una C# form
MigSantiago.com -
Tutorial de programación para Game Boy Advance
Sígueme en
Twitter
agauss
PIC10
Desconectado
Mexico
Mensajes: 21
Re: Ayuda con el PIC16F7x...
«
Respuesta #8 :
12 de Marzo de 2010, 08:06:17 »
El ADC de este micro es de solo 8 bits, por lo tanto no aplica lo de la justificacion izquierda/derecha. El puerto B esta configurado como salidas totalmente.
bsf STATUS,RP0
movlw 0x00
movwf ADCON
movlw 0x00 ; Configuro todo el puerto B
movwf PORTB ; como salidas.
bcf STATUS,RP0
Trato de evitar el uso de TRISB debido a un ¡WARNING! que se genera al compilar.
En línea
migsantiago
Moderador Global
DsPIC33
Desconectado
Sexo:
Mexico
Mensajes: 6836
Re: Ayuda con el PIC16F7x...
«
Respuesta #9 :
13 de Marzo de 2010, 11:43:46 »
Cita de: agauss en 12 de Marzo de 2010, 08:06:17
El ADC de este micro es de solo 8 bits, por lo tanto no aplica lo de la justificacion izquierda/derecha. El puerto B esta configurado como salidas totalmente.
bsf STATUS,RP0
movlw 0x00
movwf ADCON
movlw 0x00 ; Configuro todo el puerto B
movwf PORTB ; como salidas.
bcf STATUS,RP0
Trato de evitar el uso de TRISB debido a un ¡WARNING! que se genera al compilar.
Debes configurar el TRISB para las direcciones, no el PORTB.
Código:
movlw 0x00 ; Configuro todo el puerto B
movwf TRISB ; como salidas.
En línea
Electro-Links -
Cómo insertar un objeto Flash SWF en una C# form
MigSantiago.com -
Tutorial de programación para Game Boy Advance
Sígueme en
Twitter
agauss
PIC10
Desconectado
Mexico
Mensajes: 21
Re: Ayuda con el PIC16F7x...
«
Respuesta #10 :
13 de Marzo de 2010, 02:22:42 »
Escribir en el PORTB estando en el banco 1 es equivalente a escribir sobre el TRISB. Trata a probar con el codigo que puse y veras que es correcto. Cualquier simulacion con el PIC16F77 que he realizado en PROTEUS ha sido exitosa, el unico detalle que he encontrado es con el ADC.
Saludos...
En línea
migsantiago
Moderador Global
DsPIC33
Desconectado
Sexo:
Mexico
Mensajes: 6836
Re: Ayuda con el PIC16F7x...
«
Respuesta #11 :
13 de Marzo de 2010, 03:51:18 »
Sí es cierto, disculpa, estaba pensando en PIC18.
Talvez si adjuntas el archivo de proteus se pueda encontrar el problema. Yo no pude encontrar algo raro en el asm.
En línea
Electro-Links -
Cómo insertar un objeto Flash SWF en una C# form
MigSantiago.com -
Tutorial de programación para Game Boy Advance
Sígueme en
Twitter
agauss
PIC10
Desconectado
Mexico
Mensajes: 21
Re: Ayuda con el PIC16F7x...
«
Respuesta #12 :
15 de Marzo de 2010, 11:53:26 »
Ustedes disculparan mi torpeza caballeros pero no pude subir el esquematico al foro, a lo mas que logre es a ponerlo como un adjunto, apenas empiezo asi que... sorry.
En fin, espero que esta imagen sea util... saludos!!!
En línea
migsantiago
Moderador Global
DsPIC33
Desconectado
Sexo:
Mexico
Mensajes: 6836
Re: Ayuda con el PIC16F7x...
«
Respuesta #13 :
15 de Marzo de 2010, 11:56:45 »
Hola, puedes comprimir el archivo en un zip o rar y adjuntarlo.
Sobre la imagen que pones, no encontré problemas de conexión.
En línea
Electro-Links -
Cómo insertar un objeto Flash SWF en una C# form
MigSantiago.com -
Tutorial de programación para Game Boy Advance
Sígueme en
Twitter
agauss
PIC10
Desconectado
Mexico
Mensajes: 21
Re: Ayuda con el PIC16F7x...
«
Respuesta #14 :
16 de Marzo de 2010, 01:05:08 »
Antes que nada agradezco el interes y el seguimiento que ha dado a este tema migsantiago. Pues bien, he agregado los archivos necesarios para que verifiquen el problema al que me refiero. Sobre el visor de registros de PROTEUS coloco los registros ADRES, ADATO y PORTB, como podran ver el dato en ADRES (el cual si cambia) no se transfiere ni al registro de usuario (ADATO) ni al puerto.
Cabe mencionar que utilizo la version 7.6 de PROTEUS y el compilador MPASMwin v5.20. Espero sus valiosos comentarios, saludos!!!
En línea
migsantiago
Moderador Global
DsPIC33
Desconectado
Sexo:
Mexico
Mensajes: 6836
Re: Ayuda con el PIC16F7x...
«
Respuesta #15 :
16 de Marzo de 2010, 03:25:08 »
Hola, ya lo probé y encontré el problema pero no la solución.
Corriéndolo paso a paso el programa hace todo bien hasta aquí:
Código:
movf
ADRES,0
movwf
ADATO
movwf
PORTB
Cuando ADRES debe pasar a W el valor de W se pone a 0x00... no entiendo el porqué.
Debe ser un bug de proteus. Prueba con un protoboard y un juego de leds.
En línea
Electro-Links -
Cómo insertar un objeto Flash SWF en una C# form
MigSantiago.com -
Tutorial de programación para Game Boy Advance
Sígueme en
Twitter
agauss
PIC10
Desconectado
Mexico
Mensajes: 21
Re: Ayuda con el PIC16F7x...
«
Respuesta #16 :
19 de Marzo de 2010, 02:12:02 »
Hay alguna manera de corregir el error (en caso de que asi sea) accediendo a las librerias del PROTEUS?, es eso posible?
En línea
migsantiago
Moderador Global
DsPIC33
Desconectado
Sexo:
Mexico
Mensajes: 6836
Re: Ayuda con el PIC16F7x...
«
Respuesta #17 :
19 de Marzo de 2010, 12:43:46 »
He visto que son DLL las encargadas de simular cada PIC. Lo veo complicado.
En línea
Electro-Links -
Cómo insertar un objeto Flash SWF en una C# form
MigSantiago.com -
Tutorial de programación para Game Boy Advance
Sígueme en
Twitter
TODOPIC
En línea
Páginas:
[
1
]
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
Microcontroladores PIC
-----------------------------
=> Todo en microcontroladores PIC
=> Primeros pasos - Iniciación a los microcontroladores
=> Lenguaje C para microcontroladores PIC
=> Lenguaje Basic para microcontroladores PIC
=> Almacén del Assembler
=> - Niple -
=> dsPIC
=> Programadores
=> * PROYECTOS *
-----------------------------
Misceláneas - Interés General
-----------------------------
=> Compra / Venta
=> Empleo (Ofertas/Demandas) EN PRUEBAS
=> Uso y aplicaciones de los PIC / Curiosidades electrónicas
=> Off Topic
-----------------------------
Otros microcontroladores/dispositivos programables
-----------------------------
=> Arduino
=> ARM
=> ATMEL
=> Freescale
=> PAL - GAL - FPGA - ASIC
===> VHDL (Lenguaje para descripción y modelado de hardware)
=> Rabbit
=> Texas MPS430
=> ** PROYECTOS **
-----------------------------
Mecatrónica
-----------------------------
=> DMX512 - Diseños y Proyectos
=> Robótica
=> CNC - Control Numérico Computarizado
=> Domótica - X-10
=> PLC - Control Lógico Programable
-----------------------------
Simuladores, editores de PCB, etc
-----------------------------
=> Simuladores de circuitos
===> Proteus ISIS
===> Protel Sim
===> PSpice
=> Diseño de placas PCB
===> Ares
===> Eagle
===> Orcad
===> Altium/Protel
===> Tango
===> Otros....
=> Fabricación de placas PCB
=> Ejemplos para simular
-----------------------------
FORO TÉCNICO
-----------------------------
=> Foro Técnico
=> Telefonía, GPS y Microcontroladores
-----------------------------
Lenguajes de programación para PC
-----------------------------
=> Visual Basic
=> C, C#, C++
=> Delphi
Loading...