Também avancei bastante no meu. Mudei para o PROTON+ (o Basic da empresa que faz o Proteus), um pouco mais complicado que o PicBasic Pro, mas gera códigos menores e possui muito mais recursos.
Mudei para o 16F648A, pois já estava com alguns aqui, e não tem como colocar tudo o que eu queria no 16F628 (mesmo trabalhando em assembly, acredito).
Alguns recursos do PICADOR versão 3.2:
- 3 botões (A, B e FNC)
- Provisão para sensor de trava, com LED de alerta (mas rotinas desabilitadas se sensor configurado como ausente)
- Movimento vai e vem inicial de "captura" (para evitar o salto e perda de referência na primeira divisao por posicao fisica nao coincidente com as primeiras fases energizadas)
- Modos CONFIGURAÇÃO, DIVISOR, JOG e CONTÍNUO
- Configuração: permite selecionar a resolução do conjunto (até 65 mil), a duração do passo (ou seja, velocidade, 10 a 1000 meios-passos por segundo), o número de passos para compensação de folga e a presença ou não do sensor de trava.Todos estes parâmetros são gravados na EEPROM.
- Divisor: permite a divisão de 1 até a resolução total do conjunto. Para movimentos anti-horários, vai e volta os passos adicionais de compensação de folga após os passos da divisão, garantindo que a posição seja sempre a mesma (sem-fim encostando sempre do mesmo lado do dente da engrenagem). Se o sensor da trava estiver presente, impede movimento com a trava acionada (e avisa com mensagem e LED), e após cada posicionamento de divisão exibe mensagem e acende um led para lembrar de travar o divisor. Alguns segundos após detectado o travamento do divisor, desenergiza o motor para evitar aquecimento. Se a trava for aberta, imediatamente reenergiza. Distribuição de erros na volta.
- Modo Jog: Movimenta nos 2 sentidos, conforme botão pressionado. Exibe a posição em graus com 2 casas decimais, e permite zeragem em qualquer ponto. Útil para pré-posicionamento e para trabalhar à mão livre.
- Modo Contínuo: Movimenta continuamente nos 2 sentidos, conforme botão pressionado. O outro botão interrompe o movimento. Útil para uso como mesa divisora