TODOPIC
Simuladores, editores de PCB, etc => Simuladores de circuitos => Mensaje iniciado por: currillo69 en 09 de Junio de 2004, 18:04:00
-
Estoy intentando simular un circuito con un PIC16F876, ten
go los archivos .ASM y HEX, pero cuando voy por el paso:
Add/Remove Source Code files no puedo encontrar el archivo con la extensión cod de mi aplicación.
¿como lo genero...? si solo lo tengo con las extensiones ASM y HEX
...
PD: Ah por cierto el manual de proteus es bueno
-
Metiéndole solo el .hex al PIC ya simula.
-
Parto de la base de que cargo el archivo .hex que quiero simular, y que está en la misma carpeta que el .asm pero me da problemas al compilarlo todo antes de simular...
El error que me indica es que no puede abrir el archivo con la extensió .cod, creo que es por una mala configuración de los comipladores (mpasm, codddx...) ¿podeis facilitarme un prontuario a seguir, he probado con el que me facilitasteis pero nada algo hago mal....
-
Parto de la base de que cargo el archivo .hex que quiero simular, y que está en la misma carpeta que el .asm pero me da problemas al compilarlo todo antes de simular...
El error que me indica es que no puede abrir el archivo con la extensió .cod, creo que es por una mala configuración de los comipladores (mpasm, codddx...) ¿podeis facilitarme un prontuario a seguir, he probado con el que me facilitasteis pero nada algo hago mal....

-
Si antes de entrar en PROTEUS ya tienes el .hex, puedes ya simular, metiendo el .hex al PIC de la imagen. Para que al darle a simular no te compile tienes que ir a Add/Remove Source files y en Code Generation Tool elegir <NONE>.
Si quieres que compile debes darle el path correcto en Define Code Generation Tool y luego seleccionar el compilador y fichero fuente deseado en Add/Remove Source files.
Prueba y cuentas.
-
Todo perfecto.... era mi empezo por utilizar el Codddx.exe, pero sin utilizar ningun complilador, con solo cargar el .hex funciona...
gracias...

Ahora estoy probando varios montajes, entre un 16f876 con un display LCD 16x2 (8 bits de datos). Lo que ocurre es que lo porgramas creo que están bien... porque los simulo en el Mplab y estan OK. sin embargo en el Proteus no me aparece nada en el display. He comprobado tensiones....
La versión de Proteus es la 6.2 SP5
gracias de nuevooooo
-
¿Como haces para simular la LCD en MPLAB? je, je.
Déjame ver el código, pégalo aquí.
-
no me deja cargar los archivossss....
como lo hago???
perdona soy novato....
los cargo con examinar luego -> enviar pero me borra los archivos....
-
Con copiar y pegar ya saldría el código.
Si quieres que además te aparezca todo ordenado con tabulaciones y espacios, pulsas el botón de la almohadilla (#), que es uno de los botones que salen cuando vas a contestar un mensaje.
Pulsas la # aceptas todo y te aparecen dos codes en el mensaje, pués bien, situas el cursor en medio de los codes y pegas el código. Veras como al enviar el mensaje te aparece ordenado.
Un saludo
-
Ahi va eso....
;PROGRAMA PARA VISUALIZAR EN UN LCD 8 BIT´S DE DATOS Y 3 DE CONTRON CON UN 16F873
;
;
;
;
;
LIST P=16F873
RADIX HEX
INCLUDE "P16F873.inc"
Lcd_var equ 0x20
byte_l equ 0x22
byte_h equ 0x23
bcd_2 equ 0x24
bcd_1 equ 0x25
bcd_0 equ 0x24
contador equ 0x27
temporal equ 0x28
delay equ 0x29
org 0x00
goto inicio
org 0x04
goto inter
INCLUDE "lcd_cxx.inc"
;SE VISUALIZA POR EL LCD LOS CINCO DÍGITOS SITUADOS EN LAS VARIABLES BCD2-0
visualizar movlw 0x80
call LCD_REG
movlw 3
movwf contador
movlw bcd_0
movwf FSR
visu_loop swapf INDF,W
andlw 0x0f
iorlw 0x30
call LCD_DATO
movf INDF,W
andlw 0x0f
iorlw 0x30
call LCD_DATO
decf FSR,F
decfsz contador,f
goto visu_loop
return
;RUTINA DE CONVERSIÓN DE UN NÚMERO BINARIO DE 16 BITS A 5 DIGITOS BCD PARA EL LCD
bits16_bcd bcf STATUS,C
clrf contador
bsf contador,4
clrf bcd_0
clrf bcd_1
clrf bcd_2
loop_16 ;rlf DATOC_L,F
;rlf DATOC_H,F
rlf bcd_2,f
rlf bcd_1,f
rlf bcd_0,f
decfsz contador,f
goto ajuste
return
ajuste movlw bcd_2
movwf FSR
call ajuste_bcd
incf FSR,F
call ajuste_bcd
incf FSR,F
call ajuste_bcd
goto loop_16
ajuste_bcd movf INDF,W
addlw 0x03
movwf temporal
btfsc temporal,3
movwf INDF
movf INDF,W
addlw 0x30
movwf temporal
btfsc temporal,7
movwf INDF
return
;RUTINA DE TRATAMIENTO DE LA INTERRUPCIÓN
inter decfsz delay,f
goto no_250_ms
si_250_ms bcf T1CON,0
bcf STATUS,C
rlf TMR1L,F
rlf TMR1H,F
rlf TMR1L,F
rlf TMR1H,F
movf TMR1L,W
movwf byte_l
movf TMR1H,W
movwf byte_h
call bits16_bcd
call visualizar
no_250_ms movlw ~.195
movwf TMR0
movlw .5
movwf delay
bcf INTCON,2
clrf TMR1L
clrf TMR1H
bsf T1CON,0
retfie
;COMIENZO DEL PROGRAMA PRINCIPAL
inicio clrf PORTB
clrf PORTA
bsf STATUS,RP0
bcf STATUS,RP1
movlw b"00000110"
movwf ADCON1
clrf TRISB
clrf TRISA
movlw b"11111111"
movwf TRISC
movlw b"11000111"
movwf OPTION_REG
bcf STATUS,RP0
movlw b"00000010"
movwf T1CON
clrf TMR1L
clrf TMR1H
call UP_LCD
call LCD_INI
movlw b"00001100"
call LCD_REG
movlw ~.195
movwf TMR0
bsf T1CON,0
movlw .5
movwf delay
movlw b"10100000"
movwf INTCON
bucle clrwdt
goto bucle
end
-
Tengo la duda de que sea el proteus el que me esté fallando...
-
La rutina lcd_cxx.inc no funciona bien en PROTEUS, se queda enganchada testeando continuamente la línea de busy, y de ahí no pasa. Funciona perfectamente físicamente.
Un saludo
-
oK!!!!

-
Ya puse en el foro en el sector NIPLE la aplicacion que necesitas para eso.
Saludos
Estoy intentando simular un circuito con un PIC16F876, ten<img border="0" width="15" height="15" src="http://pics.miarroba.com/caretos/smile.gif">go los archivos .ASM y HEX, pero cuando voy por el paso:
Add/Remove Source Code files no puedo encontrar el archivo con la extensión cod de mi aplicación.
¿como lo genero...? si solo lo tengo con las extensiones ASM y HEX
...
PD: Ah por cierto el manual de proteus es bueno
-
Hola Kilo:
Creo que no tiene mucho sentido el colocar una nueva respuesta en un post que no ha tenido vida desde hace casi 6 años.
Es mas creo que ya existe la misma respuesta que indicas en otro lugar del foro. Se deberia utilizar mas el buscador.
Esto lo se pues cuando empezé con los pic y el foro haya por el año 2003, lo que indicas fue una de mis primeras luchas con proteus y que gracias a la persona que respondio Yoel(autor del pdf que as adjuntado), pude quitarme muchos de mis problemas.
Fermin