Cualquier Flowcode expertos?

E

E-dise

Guest
Tengo una macro que hace una especie de número de bytes binarios converion como se explica a continuación.La rutina funciona pero tiene un montón de memoria.Estoy utilizando un PIC16F685Objeto de esta rutina es tomar un número de bytes entre el 16 y 240(11110000 y 00010000) y convertir el número binario de pantalla.Sólo tengo que mostrar el estado de cualquiera de la parte superior, 4 bits (0001 a 1111)También es necesario mostrar el cero en la presente solicitud.Esta rutina funciona pero masticar un montón de ROM que se debe a causa delos cálculos de punto flotante que uso.
La variable "bin" es mi número de convertidos (sin

el cero)Añadir cualquier cero en otro bloque SI anidada en función del númerorango.
Así que voy a añadir "0" o "00" o "000" y luego imprimir el "recipiente" de valor.Este es el tamaño de esta macro compila a 4119 palabras!Esta macro solo se hace con todo esto de memoria,

por lo que estoy buscandouna rutina para hacer esto teniendo tan poco espacio como sea posible

as I need about 600 bytes for the main program.Mi objetivo es de unos 3k
necesito como máximo
alrededor de 600 bytes para el programa principal.
Edificio CASM archivoInforme de uso de memoria===================Memoria RAM: 256 bytes, utilizada: 185 bytes (72,3%), libre: 71 octetos (27,7%),Montón de tamaño: 71 bytes, máx montón único alloc: 70 bytesROM disponible: 4096 palabras, utiliza: 4119 palabras (100,5%), libre: -23 palabras (0.-5%)

.Demasiado para caber en el código ROM, demasiado llena por: 23 lugares.Tengo el honor de adjuntar el código de esta macro WTH comentarios.Si alguien tiene una idea de cómo este código puede ser optimizado rutina u otro voy a ser muy feliz.No quiero ir a un chip más grande.

my strong point!

La programación no
es mi punto fuerte!

El pdf es mi diagrama de flujo de esta macro

Gracias
Lo sentimos, pero necesita acceso para ver este archivo adjunto

 
Creo que he encontrado un método mucho más simple que voy a intentar, pero todavía estoy abierto a sugerencias.

editar:

Parece que el punto flotante calc fue el problema.Conseguido que todo el programa, incluyendo la macro a 1540 bytes por que no utilice ninguna de punto flotante.
Viejo método utilizado la forma tradicional de div por 2 y por el resto de verificación.Ahora sólo resta utilizando int y las variables de tipo byte.

 
Hola amigo

Aquí es buen punto flotante Biblioteca de Matemáticas de flujo de código con ejemplo incluido

recuerdos
Fragancia
Lo sentimos, pero necesita acceso para ver este archivo adjunto

 
Fragancia, gracias.

Pero veo que este simple ejemplo de punto flotante que le dio aún cuando utiliza palabras compilado 2888.Esto explica por qué mi primer intento de utilizar en 5k

Edificio CASM archivo
Informe de uso de memoria
===================
Memoria RAM: 368 bytes, utilizados: 97 octetos (26,4%), libre: 271 bytes (73,6%),
Montón de tamaño: 271 bytes, solo montón máx alloc: 95 octetos(35.3%), free:5304 words (64.7%)

ROM disponible:
8.192 palabras, utiliza: 2888 palabras
(35,3%), libre: 5304 palabras (64,7%)

 
Aquí es más complecated ejemplo matemáticas de coma flotante con cadena

recuerdos
Fragancia
Lo sentimos, pero necesita acceso para ver este archivo adjunto

 
Estas rutinas son agradables, pero todos ellos consumen una gran cantidad de memoria del programa.Demasiado para un pequeño chip, como el 16F677 como quería utilizar.La cadena de flotadorEdificio CASM archivo
Informe de uso de memoria
===================
Memoria RAM: 368 bytes, utilizada: 126 bytes (34,3%), libre: 242 bytes (65,7%),
Montón de tamaño: 242 bytes, solo montón máx alloc: 95 octetos(53.8%), free:3788 words (46.2%)

ROM disponible:
8.192 palabras, utiliza: 4404 palabras
(53,8%), libre: 3788 palabras (46,2%)Flotador para cuerdasEdificio CASM archivo
Informe de uso de memoria
===================
Memoria RAM: 368 bytes, utilizada: 126 bytes (34,3%), libre: 242 bytes (65,7%),
Montón de tamaño: 242 bytes, solo montón máx alloc: 95 octetos(81.1%), free:778 words (18.9%)

ROM disponible: 4096 palabras, utilizadas: 3318 palabras
(81,1%), libre: 778 palabras (18,9%)

 
la verdad es que queria hacerle una consulta, trato de hacer un  termometro cn un pic 16f877a y flow code el sensor es un lm 35, pero el dato varia mucho,

vomo puedo solucionar este problema, pense que podia hacerlo con un  promedio de unas cuanta lecturas lo hice en flow funciona pero al llevarlo al proteus fala

adjunto archivo


espero me puedan ayudar

juan carlos
 

Attachments

  • sensor.zip
    241.5 KB · Views: 83

Welcome to EDABoard.com

Sponsor

Back
Top