por MOR_AL » 15 Jan 2010 15:56
Washburn.
Quando o meu programa em assembler ficava grande, eu colocava um monte de "Pontos de Verificação".
Estes "Pontos de Verificação" são códigos que o programa envia para mim, quando ele passava por determinados endereços.
Se no meu circuito não havia LCD, eu introduzia uma saída com buzzer. Cada vez que o programa passava por um destes pontos, o buzzer era programado para enviar um código de um byte.
Por exemplo: Se entrou na rotina R1, então o código era 00000001, se entrou, ou saiu da rotina R20, então o código era 20 em binário.
O código binário era o seguinte:
Primeiro o bit mais significativo, até o menos significativo.
Se o bit era '0', então o buzzer durava 300ms, se '1', durava 900ms. Entre os bits, havia um período sem buzzer de 300ms. O byte ficava sendo repetido. Entre bytes havia um período de silêncio de 900ms.
Eu colocava um outro pino (de entrada) para o código parar de repetir e o programa ir adiante.
Normalmente eu não usava o pino de entrada. Apenas introduzia um bip, quando o programa passasse por um ponto que eu estava em dúvida. Quando este ponto fosse alcançado, eu alterava o programa. O bip tocaria no ponto seguinte.
Se o meu circuito possuia um LCD, então eu colocava o caractere que representava a passagem do programa por um ponto. Assim conseguia acompanhar o programa.
Claro que há outros métodos, este era simples e eficiente.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain