Página 1 de 1

PIC - Assembly - Fluxograma Condensado ao Extremo

MensagemEnviado: 15 Jun 2025 11:30
por MOR_AL
Pessoal!
Sou hobista e uso preferencialmente microcontroladores PIC por possuir muitos MC.
Há anos que uso fluxogramas para auxiliar na programação de microcontroladores.
Com isso notei que mesmo os fluxogramas, que condensam muitas instruções em uma figura, ainda podem ser compactados, para acrescentar mais blocos na mesma figura.
Passei a usar, com sucesso, uma forma de fazer fluxogramas mais condensados em menor espaço. 

Em tempo:
1 - Já havia feito uma condensação anterior, mas esta nova condensa ainda mais.
2 - Este método é muito útil para se escrever a linguagem Assembly. A relação bloco/instrução é quase que direta e imediata. Para linguagens de nível superior este método não seria útil.
3 - Meus firmwares possuem cerca de 1/3 de memórias de programa, que as escritas em linguagem C, são mais rápidos e o controle de tempos é superior, porém o trabalho para implementar é superior a um firmware escrito em C. 

Para tanto, parti das seguintes diretivas:

1 - Todo bloco terá a figura de retângulos. Poucos com as arestas adoçadas.
2 - Blocos contínuos não precisam de setas de ligação.
3 - Chamada às rotinas contém o nome em negrito.
4 - As rotinas contém o seu nome em retângulo preenchido de amarelo.
5 - Endereços de desvios emcontram-se nas setas que ligam os dois pontos.
6 - Endereços de desvios possuem uma ou duas letras, como abreviação da rotina, ou do programa, acrescido de um algarismo numérico de diferenciação. Isso evita repetição de endereços em outras rotinas.
7 - Quando a seta de ligação não puder ser traçada diretamente, atravessando os blocos, o endereço da fonte e do destino encontram-se em blocos retangulares e com as arestas adoçadas.
8 - Os blocos que envolvem questionamentos possuem saídas N (não), S (sim), 0 (zero), 1 (um), Ig0 (igual a zero) ou Dif0 (diferente de zero).

Seguem as imagens...

Fluxograma_Condensado.jpg


Segue um exemplo para microcontrolador PIC do fluxograma da rotina PreIdent (Preâmbulo Identificar) .....

Exemplo_PIC.jpg


MOR_AL

Re: PIC - Assembly - Fluxograma Condensado ao Extremo

MensagemEnviado: 17 Jun 2025 10:32
por eletroinf
Interessante!
Que software está usando pra desenhar os fluxos?
Eu achava assembly o máximo até aprender bem C. Equilíbrio entre utilização de recursos razoável e produtividade infinitamente maior.
Com C tu consegue focar mais nos projetos em si, e usar o recurso finito (tempo) pra desenvolver coisas mais complexas.

Eu gastei um bom tempo procurando software de fluxogramas, tem muitos, mas os simples e acessíveis (de graça) geralmente são ruins de inserir símbolos e não salvam imagem vetorial, que eu preciso frequentemente.
Quando preciso fazer flowchart eu acabei definindo o Inkscape como padrão (usando o plugin Latex para equações e símbolos).

Bons projetos!
Ricardo

Re: PIC - Assembly - Fluxograma Condensado ao Extremo

MensagemEnviado: 17 Jun 2025 18:03
por MOR_AL
eletroinf escreveu:Interessante!
Que software está usando pra desenhar os fluxos?
RFFLOW
Eu achava assembly o máximo até aprender bem C. Equilíbrio entre utilização de recursos razoável e produtividade infinitamente maior.
É, não me preocupo com produtividade. Meu foco é uso dos chips que eu tenho aqui. Estou usando o PIC12F675, neste caso, porque pensei que o firmware poderia caber. Tem apenas 1KB de mem. programa. Usei mais de 1/3 dela em Assebly. Talvez não caberia para C.
Com C tu consegue focar mais nos projetos em si, e usar o recurso finito (tempo) pra desenvolver coisas mais complexas.
Tem razão. Mas o C para mim é mais complicado. Já até usei para projetos diferentes de microcontroladores. Não gosto daquelas instruções compactas. Além disso, estudei Fortram na faculdade em 1972, que é muito parecida com o Basic. Me identifiquei tanto, que uso o Basic para projetos maiores com PIC e usei apenas em um projeto para Atmega.
Eu gastei um bom tempo procurando software de fluxogramas, tem muitos, mas os simples e acessíveis (de graça) geralmente são ruins de inserir símbolos e não salvam imagem vetorial, que eu preciso frequentemente.
Como você pode ver nas figuras, meu Flow contém apenas retângulo e com quinas adoçadas. Fica muito simples e condensado.
Quando preciso fazer flowchart eu acabei definindo o Inkscape como padrão (usando o plugin Latex para equações e símbolos).
Eu me acostumei com o RFFlow .
Bons projetos!
Igualmente.
Ricardo

MOR_AL