carácteres más para la exhibición de mensajes

S

sarus

Guest
<img src="http://www.edaboard.com/images/smiles/icon_neutral.gif" alt="Neutral" border="0" />

¿Hay alguna hop para añadir más carácter (menos de 32) a este programa:
http://www.elektronikce.com/Download/pic0504.asm
su página principal es: http://elektronikce.com/7_16.html
thank u

 
hola,

i aumento de las líneas de (retlw B'0xxxxxxx ') las líneas de
pero en determinado número de líneas que se detuvo y repitió de init.

Después de buscar sobre esto, encontré que el problema de esa línea

ADDWF PCL, 1

y creo que la solución en estos términos:

Código:Una advertencia por la Asamblea programadores PICHay un punto sutil, que usted debe tener en cuenta cuando se escribe

su programa de montaje para el chip PIC. El contador de programa es

un niño de 13 bits entero sin signo, pero la mayoría de los comandos que el cambio

el valor del contador de programa proporcionar menos de 13 bits.

El LLAMADO comandos y GOTO sólo proporcionan 11 bits, y cualquier otra operación

como ADDWF aplicado a PCL sólo proporciona 8 bits. El resto

de los 13 bits se obtienen de la PCLATH registro, que es

Inicialmente 0. Por lo tanto, CALL y GOTO funcionará sólo en

2K el primero de la memoria y el PCL ADDWF, la línea F que usamos

para aplicar las tablas de búsqueda sólo funciona en las primeras 256 palabras de

memoria, a menos que explícitamente PCLATH al valor adecuado.

Dado que su programa no es probable que supere el límite de 2K palabra,

sólo debe preocuparse por la situación en la que el PCL ADDWF, la línea F

de una tabla de búsqueda es empujado más allá de la dirección 100h. Si usted

agregar código a proto.asm y de repente encuentran que el programa deja de

de trabajo completo, puede ser debido a que han impulsado el ADDWF PCL, f

línea utilizado en el motor de rutina a un lugar más allá de los 255 bytes

límite.Para comprobar si el problema, busque en el archivo. Lst que el ensamblador

produce y revisar cada línea de la forma ADDWF PCL o ADDWF PCL, f

y verificar su dirección (el primer número de la línea, está en

hexadecimal). Si ese número es mayor que 0FFh, el programa de

contador se establece en alguna dirección al comienzo de la

programa, en lugar de unas pocas palabras más en el código en el que desea

que vaya. Para solucionar el problema, inserte las líneasMOVLW 1

MOVWF PCLATHen algún lugar justo antes de estar listo para ejecutar ADDWF PCL. Usted

También quiero escribir las líneas deMOVLW 0

MOVWF PCLATHen el principio del bucle principal para que ADDWF PCL instrucciones

en los primeros 255 palabras de memoria funcionará correctamente.Si el código se vuelve tan grande que usted encuentra una instrucción ADDWF PCL

en una dirección entre 200h y 2FFh, utilizará MOVLW 2 en lugar

de MOVLW 1, y así sucesivamente. Del mismo modo, si su programa debe estar tan

grande que una llamada o instrucción GOTO o reside en un lugar

con una dirección más allá de 7FFh o salta a una ubicación más allá de 7FFh,

usted tendrá que insertarN MOVLW

MOVWF PCLATHdonde n es el resultado de la división entera de la dirección de destino

por 256. (Drop, los 2 últimos dígitos hexadecimales de la dirección que se

salto o llama para obtener n.) De nuevo, asegúrese de que es PCLATH

debidamente establecida en el valor justo antes de cada llamada y GOTO y

ADDWF PCL. (Usted no tiene que preocuparse por las instrucciones CALL y GOTO

a pesar de que PCLATH se está creando para manejar ADDWF instrucciones PCL si

el programa es menos de 2048 instrucciones de largo.)Tenga en cuenta también que cuando ADDWF PCL ejecuta, si el número de W y

PCL añadir a un número que es mayor que 255, el bit de acarreo se

tirado y el contador de programa saltará hacia atrás en lugar

de los delanteros. Esta es la razón por la tabla de búsqueda de todo no debe

a horcajadas de una dirección que es divisible por 256.

 

Welcome to EDABoard.com

Sponsor

Back
Top