Ai galera!! Como prometido vou colocar o passo-a-passo do relógio para que vocês montem um.
O funcionamento dele é o seguinte:
Quando a placa girá, em um determinado tempo ele ascende alguns dos 16 LEDs que estão nele. Vocês podem fazer qualquer imagem desde que comportem o número de postos para fazer a imagem. No meu caso eu coloquei um relógio de ponteiros e estou usando um relógio RTC HT1380. Vocês podem usar o DS1302 no lugar deste que eu usei.
Vejam o esquemário dele:
Este é o esquemário dele. Prestem bastante atenção na montagem. Eu usei uma placa ilhada para monta-lo e um motor de vidro elétrico de carro mas vocês podem usar outro motor. Lembrem-se de regular a montagem do motor pois, se não estiver na rotação correta não mostrará a imagem direito devendo usar um dimer ou outra coisa que possa regular a rotção do motor.
Preste bastante atenção na ponte foto-acopladorá abaixo:
Ele usa a interrupção externa para mostrar a imagem. A ponte foto-acopladora é composto de um LED infravermelho e um foto-diodo. O LED ficará aceso o tempo todo e quando passar alguma coisa interrompendo a iluminação do LED para o foto-diodo, ele cairá para 0 volts no pino de interrupção, desenhando a imagem, Quando isso não acontece, fica em 5 volts o tempo todo no pino de interrupção ou seja, ele funciona na borda do zero.
Segue as outras fotos para ajuda-los na montagem:
Aqui vocês podem ver a alimentação. Esse acima é o negativo da fonte GND.
Acima vocês podem ver os 12 volts. Notem o anel de latão que eu usei e também a fita isolante para isolar os 12 volts do negativo GND. Mas ai cada um segue a criatividade para fazer a alimentação.
Abaixo vocês irão ver o Microcontrolador AT89S52 da família 8051 que controla ele:
Abaixo segue o RTC(Real Timer Conter) Relógio de tempo real que pode ser tanto o HT1380 como o DS1302:
Prestem atenção neste cristal que vai com ele. É um cristal de 32768Hz para contagem do tempo de um segundo. Sem ele não irá funciona. PRESTEM ATENÇÃO NA FREQUÊNCIA.
E logo segue abaixo o registrador de deslocamento 74HC595:
Para acerta a hora veja os botões no esquema. Para ajuste da hora vocês irão aperta o botão próximo como está no esquema. Apertando uma vez este botão ele irá aparecer os segundos contando em binário BCD. Os segundos não tem como alterar a não ser zerá eles apertando o botão incrementa. Aperte novamente uma vez o botão próximo que ele irá mostrar os minutos também em binário BCD. Aperte o botão incrementa e irá ser ajustado os minutos. Aperte novamente o botão próximo e ele irá mostrar as horas para ajuste com o botão incrementa. Logo que depois ajustada a hora aperte novamente o botão próximo que ele irá apaga todos os LEDs ai é só ligar o motor com a velocidade ajustada e vocês verão se propeller clock funcionando. O texto vocês poderão muda-lo no código fonte que seguirá a baixo.
Qualquer dúvida mande mensagens pois estarei aqui para ajuda-los.
Muito breve eu irei fazer outros dois para a galera do Arduino e para a galera do PIC escrito todos os dois em C.
Ate-lá!!!!!!
Código:
$MOD52
$TITLE(PROPELLER CLOCK)
$PAGEWIDTH(132)
$DEBUG
$OBJECT
$NOPAGING
ORG 0000H ;INICIO DA MEMORIA DE PROGRAMA
LJMP INICIO ;PULA A AREA DO VETOR DE INTERRUPCAO
ORG 0003H ;INICIO DO VETOR DE INTERRUPCAO EXTERNA 0
LJMP INTEX0 ;
ORG 000BH ;INICIO DO VETOR DE TIMER/COUNTER 0
TIME0: RETI
ORG 0013H ;INICIO DO VETOR DE INTERRUPCAO EXTERNA 1
INTEX1: RETI ;
ORG 001BH ;INICIO DO VETOR DE TIMER/COUNTER 1
TIME1: RETI ;
ORG 0023H ;INICIO DO VETOR DE SERIAL
SERIAL: RETI
REST BIT P1.0
SAIDA BIT P1.1
SCLK BIT P1.2
DADOS BIT P1.3
CLOCK BIT P1.4
LATCH BIT P1.5
CONTA BIT P1.6
PROXIMO BIT P1.7
DIGI1 EQU 30H
DIGI2 EQU 31H
SEGU EQU 32H
SEGD EQU 33H
MINU EQU 34H
MIND EQU 35H
HORU EQU 36H
HORD EQU 37H
DIAU EQU 38H
DIAD EQU 39H
MESU EQU 3AH
MESD EQU 3BH
ANOU EQU 3CH
ANOD EQU 3DH
SEMANA EQU 3EH
SEGUNDOS EQU 3FH
MINUTOS EQU 40H
HORAS EQU 41H
BIT1 EQU 42H
BIT2 EQU 43H
BIT3 EQU 44H
BIT4 EQU 45H
DIGI3 EQU 46H
CONTAR EQU 47H
PONTEIROS EQU 48H
MUDAR1 EQU 49H
MUDAR2 EQU 4AH
PONTOS EQU 4BH
PONTOS1 EQU 4CH
ORG 0100H ;INICIO DA MEMORIA DE PROGRAMA
INICIO:
LCALL HABILITAHT1380
MOV IE,#81H
MOV TCON,#01H
GATO:
MOV R1,#08H
MOV A,#0FFH
MOV MUDAR1,#0FFH
MOV MUDAR2,#00H
LIMPA:
RLC A
MOV DADOS,C
CLR CLOCK
SETB CLOCK
DJNZ R1,LIMPA
MOV R1,#08H
MOV A,#0FFH
LIMPA1:
RLC A
MOV DADOS,C
CLR CLOCK
SETB CLOCK
DJNZ R1,LIMPA1
CLR LATCH
SETB LATCH
;GATO23:
; LCALL LEITURA_SEGUNDOS
MOV A,#81H
LCALL LEITURA
LCALL UNIDADE
MOV SEGU,DIGI1
MOV A,#81H
LCALL LEITURA
LCALL DEZENA
MOV SEGD,DIGI2
; MOV R1,#08H
; MOV A,SEGU
; ORL A,SEGD
; CPL A
;LIMP:
; RLC A
; MOV DADOS,C
; CLR CLOCK
; SETB CLOCK
; DJNZ R1,LIMP
; MOV R1,#08H
; MOV A,#0FFH
;LIMP1:
; RLC A
; MOV DADOS,C
; CLR CLOCK
; SETB CLOCK
; DJNZ R1,LIMP1
; CLR LATCH
; SETB LATCH
MOV A,#83H
LCALL LEITURA
LCALL UNIDADE
MOV MINUTOS,DIGI1
MOV MINU,DIGI1
MOV A,#83H
LCALL LEITURA
LCALL DEZENA
MOV MIND,DIGI2
MOV A,#85H
LCALL LEITURA
LCALL UNIDADE
MOV HORU,DIGI1
MOV A,#85H
LCALL LEITURA
LCALL DEZENA
MOV HORD,DIGI2
MOV A,#87H
LCALL LEITURA
LCALL UNIDADE
MOV DIAU,DIGI1
MOV A,#87H
LCALL LEITURA
LCALL DEZENA
MOV DIAD,DIGI2
MOV A,#89H
LCALL LEITURA
LCALL UNIDADE
MOV MESU,DIGI1
MOV A,#89H
LCALL LEITURA
LCALL DEZENA
MOV MESD,DIGI2
MOV A,#8EH
LCALL LEITURA
LCALL UNIDADE
MOV ANOU,DIGI1
MOV A,#8EH
LCALL LEITURA
LCALL DEZENA
MOV ANOD,DIGI2
MOV A,#8BH
LCALL LEITURA
LCALL UNIDADE
MOV SEMANA,DIGI1
LCALL ACERTA
LJMP GATO
LEITURA:
CLR SCLK
CLR REST
MOV R5,#07H
SETB REST
CLR SCLK
SAPOC:
RRC A
MOV SAIDA,C
SETB SCLK
CLR SCLK
DJNZ R5,SAPOC
SETB SAIDA
MOV A,#00H
MOV R5,#08H
SAPOD:
MOV C,SAIDA
RRC A
SETB SCLK
CLR SCLK
DJNZ R5,SAPOD
RR A
CLR ACC.7
MOV DIGI1,A
CLR SCLK
CLR REST
RET
UNIDADE:
MOV A,DIGI1
ANL A,#0FH
MOV DIGI1,A
RET
DEZENA:
MOV A,DIGI1
ANL A,#0F0H
SWAP A
MOV DIGI2,A
RET
LEITURA_SEGUNDOS:
MOV A,#81H
CLR SCLK
CLR REST
MOV R5,#07H
SETB REST
CLR SCLK
SAPOCS:
RRC A
MOV SAIDA,C
SETB SCLK
CLR SCLK
DJNZ R5,SAPOCS
SETB SAIDA
MOV A,#00H
MOV R5,#08H
SAPODS:
MOV C,SAIDA
RRC A
SETB SCLK
CLR SCLK
DJNZ R5,SAPODS
RR A
CLR ACC.7
MOV DIGI1,A
CLR SCLK
CLR REST
MOV SEGUNDOS,DIGI1
RET
LEITURA_MINUTOS:
MOV A,#83H
CLR SCLK
CLR REST
MOV R5,#07H
SETB REST
CLR SCLK
SAPOCM:
RRC A
MOV SAIDA,C
SETB SCLK
CLR SCLK
DJNZ R5,SAPOCM
SETB SAIDA
MOV A,#00H
MOV R5,#08H
SAPODM:
MOV C,SAIDA
RRC A
SETB SCLK
CLR SCLK
DJNZ R5,SAPODM
RR A
CLR ACC.7
MOV DIGI1,A
CLR SCLK
CLR REST
MOV MINUTOS,DIGI1
RET
LEITURA_HORAS:
MOV A,#85H
CLR SCLK
CLR REST
MOV R5,#07H
SETB REST
CLR SCLK
SAPOCH:
RRC A
MOV SAIDA,C
SETB SCLK
CLR SCLK
DJNZ R5,SAPOCH
SETB SAIDA
MOV A,#00H
MOV R5,#08H
SAPODH:
MOV C,SAIDA
RRC A
SETB SCLK
CLR SCLK
DJNZ R5,SAPODH
RR A
CLR ACC.7
MOV DIGI1,A
CLR SCLK
CLR REST
MOV HORAS,DIGI1
RET
DIGITAL:
MOV A,#81H
LCALL LEITURA
LCALL UNIDADE
MOV SEGU,DIGI1
MOV A,#81H
LCALL LEITURA
LCALL DEZENA
MOV SEGD,DIGI2
MOV A,#83H
LCALL LEITURA
LCALL UNIDADE
MOV MINUTOS,DIGI1
MOV MINU,DIGI1
MOV A,#83H
LCALL LEITURA
LCALL DEZENA
MOV MIND,DIGI2
MOV A,#85H
LCALL LEITURA
LCALL UNIDADE
MOV HORU,DIGI1
MOV A,#85H
LCALL LEITURA
LCALL DEZENA
MOV HORD,DIGI2
RET
ESCREVE:
CLR SCLK
CLR REST
MOV R5,#08H
SETB REST
CLR SCLK
SAPOC1:
RRC A
MOV SAIDA,C
SETB SCLK
CLR SCLK
DJNZ R5,SAPOC1
SETB SAIDA
MOV A,#00H
MOV A,DIGI3
MOV R5,#08H
SAPOD1:
RRC A
MOV SAIDA,C
SETB SCLK
CLR SCLK
DJNZ R5,SAPOD1
CLR SCLK
CLR REST
RET
HABILITAHT1380:
CLR REST ; Coloca o REST em '0' para garantir a
; transi\E7\E3o de '0' para '1' na primeira
; vez que enviar dados para o HT1380
CLR SCLK ; Inicializa o sinal de clock com '0'
SETB REST ; Habilita comunica\E7\E3o com HT1380
MOV A,#8EH ; Habilita escrita no HT1380
CALL ENVIAHT1380 ; Envia 8Eh para o HT1380
MOV A,#00H ; Zera o acumulador para enviar para o HT1380
CALL ENVIAHT1380 ; Envia 00h para o HT1380
CLR REST ; Desabilita comunica\E7\E3o com HT1380
SETB REST ; Habilita comunica\E7\E3o com HT1380
MOV A,#80H ; Ativa o oscilador do HT1380
CALL ENVIAHT1380 ; Envia 80h para o HT1380
MOV A,#00H ; Zera o acumulador para enviar para o HT1380
CALL ENVIAHT1380 ; Envia 00h para o HT1380
CLR REST ; Desabilita comunica\E7\E3o com HT1380
CALL ENVIARELOGIO
RET
ENVIAHT1380:
MOV R7,#08H ; Carrega para enviar 8 bits
ENVIAHT1380_1:
RRC A ; Transfere o bit menos significativo do
; acumulador para o carry
MOV SAIDA,C ; Transfere o carry para a linha de IO
; para enviar ao HT1380
SETB SCLK ; In\EDcio do pulso de clock
CLR SCLK ; Fim do pulso de clock
DJNZ R7,ENVIAHT1380_1 ;
; Enquanto n\E3o chegar a zero \E9 porque
; ainda tem bits a enviar
SETB SAIDA ; Coloca a linha de IO em '1' para
RET
ENVIARELOGIO:
CLR SCLK ; Para garantir que o sinal de clock
; esteja em '0' quando o HT1380 for
; selecionado
SETB REST ; Habilita comunica\E7\E3o com HT1380
MOV A,#01000010B ; Comando de escrita no modo burst
CALL ENVIAHT1380 ; Envia comando para o HT1380
MOV R0,#07H ; Para enviar 7 bytes para o HT1380
ENVIARELOGIO1: ; Loop para enviar 7 bytes
MOV A,#00H ; Carrega o acumulador com o que vai
; enviar
CALL ENVIAHT1380 ; Vai enviar para o HT1380
; buscar o pr\F3ximo byte a enviar
DJNZ R0,ENVIARELOGIO1 ; Fim do loop para enviar 7 bytes
MOV A,#80H ; Para prote\E7\E3o de escrita
CALL ENVIAHT1380 ; Envia a prote\E7\E3o de escrita
CLR REST ; Desabilita comunica\E7\E3o com HT1380
RET
DESCARGA:
MOV R0,#DIGI3
MOV R2,#06H
LOOP:
MOV A,@R0
MOV R1,#08H
LOOP_1:
RLC A
MOV DADOS,C
CLR CLOCK
SETB CLOCK
DJNZ R1,LOOP_1
INC R0
DJNZ R2,LOOP
CLR LATCH
SETB LATCH
RET
ACERTA:
JB PROXIMO,SALI
VERA:
MOV R1,#08H
MOV A,SEGUNDOS
CPL A
LIMP:
RLC A
MOV DADOS,C
CLR CLOCK
SETB CLOCK
DJNZ R1,LIMP
MOV R1,#08H
MOV A,#0FFH
LIMP1:
RLC A
MOV DADOS,C
CLR CLOCK
SETB CLOCK
DJNZ R1,LIMP1
CLR LATCH
SETB LATCH
MOV R6,#0FFH
LOOK:
LCALL DELAY
DJNZ R6,LOOK
SAL1:
JB CONTA,SAL2
JMP ZERO
SAL2:
JB PROXIMO,VERA
JMP ACERT_2
ZERO:
MOV A,#8EH
MOV DIGI3,#00H
LCALL ESCREVE
LCALL DELAY
MOV A,#80H
MOV DIGI3,#00H
LCALL ESCREVE
MOV A,#8EH
MOV DIGI3,#80H
LCALL ESCREVE
JMP VERA
SALI:
MOV R6,#0FFH
LOOK6:
LCALL DELAY
DJNZ R6,LOOK6
RET
ACERT_2:
MOV R1,#08H
MOV A,MINUTOS
CPL A
LIM:
RLC A
MOV DADOS,C
CLR CLOCK
SETB CLOCK
DJNZ R1,LIM
MOV R1,#08H
MOV A,#0FFH
LIM1:
RLC A
MOV DADOS,C
CLR CLOCK
SETB CLOCK
DJNZ R1,LIM1
CLR LATCH
SETB LATCH
MOV R6,#0FFH
LOOK1:
LCALL DELAY
DJNZ R6,LOOK1
JB CONTA,SAL3
JMP MINUT
SAL3:
JB PROXIMO,ACERT_2
SJMP ACERT_3
MINUT:
MOV A,#8EH
MOV DIGI3,#00H
LCALL ESCREVE
LCALL DELAY
INC BIT1
MOV A,#0F0H
ANL A,BIT1
SWAP A
MOV BIT3,A
MOV A,#0FH
ANL A,BIT1
CJNE A,#0AH,PUL
MOV BIT1,#00H
INC BIT3
MOV A,BIT3
SWAP A
XRL A,BIT1
MOV BIT1,A
MOV A,BIT3
CJNE A,#06H,PUL
MOV BIT1,#00H
PUL:
MOV A,#82H
MOV DIGI3,BIT1
LCALL ESCREVE
MOV R6,BIT1
MOV A,#8EH
MOV DIGI3,#80H
LCALL ESCREVE
LJMP ACERT_2
ACERT_3:
MOV R1,#08H
MOV A,HORAS
CPL A
LIN:
RLC A
MOV DADOS,C
CLR CLOCK
SETB CLOCK
DJNZ R1,LIN
MOV R1,#08H
MOV A,#0FFH
LIN1:
RLC A
MOV DADOS,C
CLR CLOCK
SETB CLOCK
DJNZ R1,LIN1
CLR LATCH
SETB LATCH
MOV R6,#0FFH
LOOK2:
LCALL DELAY
DJNZ R6,LOOK2
JB CONTA,SAL4
JMP HORI
SAL4:
JB PROXIMO,ACERT_3
LJMP SALI
HORI:
MOV A,#8EH
MOV DIGI3,#00H
LCALL ESCREVE
LCALL DELAY
INC BIT2
MOV A,#0F0H
ANL A,BIT2
SWAP A
MOV BIT3,A
MOV A,#0FH
ANL A,BIT2
CJNE A,#04H,PUL2
MOV A,BIT3
CJNE A,#02H,PUL2
MOV BIT2,#00H
JMP PUL1
PUL2:
CJNE A,#0AH,PUL1
MOV BIT2,#00H
INC BIT3
MOV A,BIT3
SWAP A
XRL A,BIT2
MOV BIT2,A
MOV A,BIT3
CJNE A,#03H,PUL1
MOV BIT2,#00H
PUL1:
MOV A,#84H
MOV DIGI3,BIT2
LCALL ESCREVE
MOV A,#8EH
MOV DIGI3,#80H
LCALL ESCREVE
LJMP ACERT_3
DELAY:
MOV R7,#03H
DELA:
MOV R3,#0DAH
DJNZ R3,$
DJNZ R7,DELA
LCALL LEITURA_SEGUNDOS
LCALL LEITURA_MINUTOS
LCALL LEITURA_HORAS
RET
DELAY1:
MOV R1,PONTOS1
MOV R7,#03H
DELA1:
MOV R3,#90H
DJNZ R3,$
DJNZ R7,DELA1
CJNE R1,#05H,SAPI
MOV PONTOS,#0FFH
SAPI:
CJNE R1,#00H,SAPI1
MOV PONTOS,#11011011B
MOV PONTOS1,0AH
SAPI1:
DJNZ R1,SAPI2
SAPI2:
MOV PONTOS1,R1
LCALL DIGITAL
RET
AMOSTRAGEM:
MOV R6,#00H
CACHO:
MOV DPTR,#RELOGIO_SHOW0
MOV A,R6
MOV A,R6
MOVC A,@A+DPTR
MOV PONTEIROS,A
LCALL MANDA
MOV A,#0FFH
LCALL MANDA
MOV R0,HORAS
LCALL PONTEIRO_HOR
MOV R0,MINUTOS
LCALL PONTEIRO_MIN
MOV R0,SEGUNDOS
LCALL PONTEIRO_SEG
CLR LATCH
SETB LATCH
INC R6
LCALL DELAY
CJNE R6,#60D,CACHO
MOV R0,MUDAR1
DJNZ R0,SAIND
MOV MUDAR2,#01H
MOV MUDAR1,#0FFH
SAIND:
MOV MUDAR1,R0
RET
AMOSTRAGEM1:
MOV R6,#00H
CACHO1:
MOV DPTR,#RELOGIO_SHOW1
MOV A,R6
MOV A,R6
MOVC A,@A+DPTR
MOV PONTEIROS,A
LCALL MANDA
MOV DPTR,#RELOGIO_SHOW0
MOV A,#0FFH
LCALL MANDA
MOV R0,HORAS
LCALL PONTEIRO_HOR
MOV R0,MINUTOS
LCALL PONTEIRO_MIN
MOV R0,SEGUNDOS
LCALL PONTEIRO_SEG
CLR LATCH
SETB LATCH
INC R6
LCALL DELAY
CJNE R6,#60D,CACHO1
MOV R0,MUDAR1
DJNZ R0,SAINA
MOV MUDAR2,#02H
MOV MUDAR1,#0FFH
SAINA:
MOV MUDAR1,R0
MOV PONTOS1,#0AH
RET
MANDA:
MOV R1,#08H
MAND:
RRC A
MOV DADOS,C
CLR CLOCK
SETB CLOCK
DJNZ R1,MAND
RET
PONTEIRO_SEG:
CJNE R6,#00H,PONT0
CJNE R0,#00H,SAIN1
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN1:
LJMP SAINDO
PONT0:
CJNE R6,#01H,PONT1
CJNE R0,#01H,SAIN1
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT1:
CJNE R6,#02H,PONT2
CJNE R0,#02H,SAIN1
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT2:
CJNE R6,#03H,PONT3
CJNE R0,#03H,SAIN1
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN2:
LJMP SAINDO
PONT3:
CJNE R6,#04H,PONT4
CJNE R0,#04H,SAIN2
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT4:
CJNE R6,#05H,PONT5
CJNE R0,#05H,SAIN2
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT5:
CJNE R6,#06H,PONT6
CJNE R0,#06H,SAIN2
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT6:
CJNE R6,#07H,PONT7
CJNE R0,#07H,SAIN3
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT7:
CJNE R6,#08H,PONT8
CJNE R0,#08H,SAIN3
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT8:
CJNE R6,#09H,PONT9
CJNE R0,#09H,SAIN3
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN3:
LJMP SAINDO
PONT9:
CJNE R6,#0AH,PONT10
CJNE R0,#10H,SAIN3
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT10:
CJNE R6,#0BH,PONT11
CJNE R0,#11H,SAIN3
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT11:
CJNE R6,#0CH,PONT12
CJNE R0,#12H,SAIN3
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT12:
CJNE R6,#0DH,PONT13
CJNE R0,#13H,SAIN3
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN4:
LJMP SAINDO
PONT13:
CJNE R6,#0EH,PONT14
CJNE R0,#14H,SAIN4
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT14:
CJNE R6,#0FH,PONT15
CJNE R0,#15H,SAIN4
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT15:
CJNE R6,#10H,PONT16
CJNE R0,#16H,SAIN4
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT16:
CJNE R6,#11H,PONT17
CJNE R0,#17H,SAIN5
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT17:
CJNE R6,#12H,PONT18
CJNE R0,#18H,SAIN5
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN5:
LJMP SAINDO
PONT18:
CJNE R6,#13H,PONT19
CJNE R0,#19H,SAIN5
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT19:
CJNE R6,#14H,PONT20
CJNE R0,#20H,SAIN5
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT20:
CJNE R6,#15H,PONT21
CJNE R0,#21H,SAIN5
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT21:
CJNE R6,#16H,PONT22
CJNE R0,#22H,SAIN5
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT22:
CJNE R6,#17H,PONT23
CJNE R0,#23H,SAIN6
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT23:
CJNE R6,#18H,PONT24
CJNE R0,#24H,SAIN6
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT24:
CJNE R6,#19H,PONT25
CJNE R0,#25H,SAIN6
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN6:
LJMP SAINDO
PONT25:
CJNE R6,#1AH,PONT26
CJNE R0,#26H,SAIN6
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT26:
CJNE R6,#1BH,PONT27
CJNE R0,#27H,SAIN6
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT27:
CJNE R6,#1CH,PONT28
CJNE R0,#28H,SAIN6
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT28:
CJNE R6,#1DH,PONT29
CJNE R0,#29H,SAIN7
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT29:
CJNE R6,#1EH,PONT30
CJNE R0,#30H,SAIN7
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT30:
CJNE R6,#1FH,PONT31
CJNE R0,#31H,SAIN7
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN7:
LJMP SAINDO
PONT31:
CJNE R6,#20H,PONT32
CJNE R0,#32H,SAIN7
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT32:
CJNE R6,#21H,PONT33
CJNE R0,#33H,SAIN7
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT33:
CJNE R6,#22H,PONT34
CJNE R0,#34H,SAIN7
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT34:
CJNE R6,#23H,PONT35
CJNE R0,#35H,SAIN7
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT35:
CJNE R6,#24H,PONT36
CJNE R0,#36H,SAIN8
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT36:
CJNE R6,#25H,PONT37
CJNE R0,#37H,SAIN8
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT37:
CJNE R6,#26H,PONT38
CJNE R0,#38H,SAIN8
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN8:
LJMP SAINDO
PONT38:
CJNE R6,#27H,PONT39
CJNE R0,#39H,SAIN8
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT39:
CJNE R6,#28H,PONT40
CJNE R0,#40H,SAIN8
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT40:
CJNE R6,#29H,PONT41
CJNE R0,#41H,SAIN8
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT41:
CJNE R6,#2AH,PONT42
CJNE R0,#42H,SAIN8
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT42:
CJNE R6,#2BH,PONT43
CJNE R0,#43H,SAIN9
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT43:
CJNE R6,#2CH,PONT44
CJNE R0,#44H,SAIN9
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT44:
CJNE R6,#2DH,PONT45
CJNE R0,#45H,SAIN9
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN9:
LJMP SAINDO
PONT45:
CJNE R6,#2EH,PONT46
CJNE R0,#46H,SAIN9
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT46:
CJNE R6,#2FH,PONT47
CJNE R0,#47H,SAIN9
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT47:
CJNE R6,#30H,PONT48
CJNE R0,#48H,SAIN9
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT48:
CJNE R6,#31H,PONT49
CJNE R0,#49H,SAIN9
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT49:
CJNE R6,#32H,PONT50
CJNE R0,#50H,SAIN10
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT50:
CJNE R6,#33H,PONT51
CJNE R0,#51H,SAIN10
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN10:
LJMP SAINDO
PONT51:
CJNE R6,#34H,PONT52
CJNE R0,#52H,SAIN10
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT52:
CJNE R6,#35H,PONT53
CJNE R0,#53H,SAIN10
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT53:
CJNE R6,#36H,PONT54
CJNE R0,#54H,SAIN10
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT54:
CJNE R6,#37H,PONT55
CJNE R0,#55H,SAIN10
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT55:
CJNE R6,#38H,PONT56
CJNE R0,#56H,SAIN11
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT56:
CJNE R6,#39H,PONT57
CJNE R0,#57H,SAIN11
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN11:
LJMP SAINDO
PONT57:
CJNE R6,#3AH,PONT58
CJNE R0,#58H,SAIN11
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT58:
CJNE R6,#3BH,SAINDO
CJNE R0,#59H,SAINDO
MOV A,PONTEIROS
XRL A,#03H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAINDO:
RET
PONTEIRO_MIN:
CJNE R6,#00H,PONT00
CJNE R0,#00H,SAIN01
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN01:
LJMP SAINDO0
PONT00:
CJNE R6,#01H,PONT01
CJNE R0,#01H,SAIN01
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT01:
CJNE R6,#02H,PONT02
CJNE R0,#02H,SAIN01
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT02:
CJNE R6,#03H,PONT03
CJNE R0,#03H,SAIN01
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN02:
LJMP SAINDO0
PONT03:
CJNE R6,#04H,PONT04
CJNE R0,#04H,SAIN02
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT04:
CJNE R6,#05H,PONT05
CJNE R0,#05H,SAIN02
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT05:
CJNE R6,#06H,PONT06
CJNE R0,#06H,SAIN02
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT06:
CJNE R6,#07H,PONT07
CJNE R0,#07H,SAIN03
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT07:
CJNE R6,#08H,PONT08
CJNE R0,#08H,SAIN03
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT08:
CJNE R6,#09H,PONT09
CJNE R0,#09H,SAIN03
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN03:
LJMP SAINDO0
PONT09:
CJNE R6,#0AH,PONT010
CJNE R0,#10H,SAIN03
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT010:
CJNE R6,#0BH,PONT011
CJNE R0,#11H,SAIN03
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT011:
CJNE R6,#0CH,PONT012
CJNE R0,#12H,SAIN03
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT012:
CJNE R6,#0DH,PONT013
CJNE R0,#13H,SAIN03
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN04:
LJMP SAINDO0
PONT013:
CJNE R6,#0EH,PONT014
CJNE R0,#14H,SAIN04
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT014:
CJNE R6,#0FH,PONT015
CJNE R0,#15H,SAIN04
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT015:
CJNE R6,#10H,PONT016
CJNE R0,#16H,SAIN04
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT016:
CJNE R6,#11H,PONT017
CJNE R0,#17H,SAIN05
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT017:
CJNE R6,#12H,PONT018
CJNE R0,#18H,SAIN05
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN05:
LJMP SAINDO0
PONT018:
CJNE R6,#13H,PONT019
CJNE R0,#19H,SAIN05
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT019:
CJNE R6,#14H,PONT020
CJNE R0,#20H,SAIN05
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT020:
CJNE R6,#15H,PONT021
CJNE R0,#21H,SAIN05
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT021:
CJNE R6,#16H,PONT022
CJNE R0,#22H,SAIN05
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT022:
CJNE R6,#17H,PONT023
CJNE R0,#23H,SAIN06
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT023:
CJNE R6,#18H,PONT024
CJNE R0,#24H,SAIN06
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT024:
CJNE R6,#19H,PONT025
CJNE R0,#25H,SAIN06
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN06:
LJMP SAINDO0
PONT025:
CJNE R6,#1AH,PONT026
CJNE R0,#26H,SAIN06
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT026:
CJNE R6,#1BH,PONT027
CJNE R0,#27H,SAIN06
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO
PONT027:
CJNE R6,#1CH,PONT028
CJNE R0,#28H,SAIN06
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT028:
CJNE R6,#1DH,PONT029
CJNE R0,#29H,SAIN07
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT029:
CJNE R6,#1EH,PONT030
CJNE R0,#30H,SAIN07
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT030:
CJNE R6,#1FH,PONT031
CJNE R0,#31H,SAIN07
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN07:
LJMP SAINDO0
PONT031:
CJNE R6,#20H,PONT032
CJNE R0,#32H,SAIN07
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT032:
CJNE R6,#21H,PONT033
CJNE R0,#33H,SAIN07
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT033:
CJNE R6,#22H,PONT034
CJNE R0,#34H,SAIN07
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT034:
CJNE R6,#23H,PONT035
CJNE R0,#35H,SAIN07
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT035:
CJNE R6,#24H,PONT036
CJNE R0,#36H,SAIN08
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT036:
CJNE R6,#25H,PONT037
CJNE R0,#37H,SAIN08
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT037:
CJNE R6,#26H,PONT038
CJNE R0,#38H,SAIN08
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN08:
LJMP SAINDO0
PONT038:
CJNE R6,#27H,PONT039
CJNE R0,#39H,SAIN08
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT039:
CJNE R6,#28H,PONT040
CJNE R0,#40H,SAIN08
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT040:
CJNE R6,#29H,PONT041
CJNE R0,#41H,SAIN08
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT041:
CJNE R6,#2AH,PONT042
CJNE R0,#42H,SAIN08
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT042:
CJNE R6,#2BH,PONT043
CJNE R0,#43H,SAIN09
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT043:
CJNE R6,#2CH,PONT044
CJNE R0,#44H,SAIN09
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT044:
CJNE R6,#2DH,PONT045
CJNE R0,#45H,SAIN09
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN09:
LJMP SAINDO0
PONT045:
CJNE R6,#2EH,PONT046
CJNE R0,#46H,SAIN09
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT046:
CJNE R6,#2FH,PONT047
CJNE R0,#47H,SAIN09
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT047:
CJNE R6,#30H,PONT048
CJNE R0,#48H,SAIN09
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT048:
CJNE R6,#31H,PONT049
CJNE R0,#49H,SAIN09
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT049:
CJNE R6,#32H,PONT050
CJNE R0,#50H,SAIN010
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT050:
CJNE R6,#33H,PONT051
CJNE R0,#51H,SAIN010
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN010:
LJMP SAINDO0
PONT051:
CJNE R6,#34H,PONT052
CJNE R0,#52H,SAIN010
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT052:
CJNE R6,#35H,PONT053
CJNE R0,#53H,SAIN010
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT053:
CJNE R6,#36H,PONT054
CJNE R0,#54H,SAIN010
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT054:
CJNE R6,#37H,PONT055
CJNE R0,#55H,SAIN010
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT055:
CJNE R6,#38H,PONT056
CJNE R0,#56H,SAIN011
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT056:
CJNE R6,#39H,PONT057
CJNE R0,#57H,SAIN011
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAIN011:
LJMP SAINDO0
PONT057:
CJNE R6,#3AH,PONT058
CJNE R0,#58H,SAIN011
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDO0
PONT058:
CJNE R6,#3BH,SAINDO0
CJNE R0,#59H,SAINDO0
MOV A,PONTEIROS
XRL A,#07H
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAINDO0:
RET
PONTEIRO_HOR:
CJNE R6,#00H,PONTH0 ;24
CJNE R0,#00H,VOLTALE
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
VOLTALE:
LJMP PONTH11
PONTH0:
CJNE R6,#05H,PONTH1 ;1
CJNE R0,#01H,VOLTALE1
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
VOLTALE1:
LJMP PONTH12
PONTH1:
CJNE R6,#0AH,PONTH2 ;2
CJNE R0,#02H,VOLTALE2
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
VOLTALE2:
LJMP PONTH13
PONTH2:
CJNE R6,#0FH,PONTH3 ;3
CJNE R0,#03H,VOLTALE3
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
VOLTALE3:
LJMP PONTH14
PONTH3:
CJNE R6,#20D,PONTH4 ;4
CJNE R0,#04H,VOLTALE4
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
VOLTALE4:
LJMP PONTH15
PONTH4:
CJNE R6,#25D,PONTH5 ;5
CJNE R0,#05H,VOLTALE5
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
VOLTALE5:
LJMP PONTH16
PONTH5:
CJNE R6,#30D,PONTH6 ;6
CJNE R0,#06H,VOLTALE6
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
VOLTALE6:
LJMP PONTH17
PONTH6:
CJNE R6,#35D,PONTH7 ;7
CJNE R0,#07H,VOLTALE7
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
VOLTALE7:
LJMP PONTH18
PONTH7:
CJNE R6,#40D,PONTH8 ;8
CJNE R0,#08H,VOLTALE8
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
VOLTALE8:
LJMP PONTH19
PONTH8:
CJNE R6,#45D,PONTH9 ;9
CJNE R0,#09H,VOLTALE9
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
VOLTALE9:
LJMP PONTH20
PONTH9:
CJNE R6,#50D,PONTH10 ;10
CJNE R0,#10H,VOLTALE10
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
VOLTALE10:
LJMP PONTH21
PONTH10:
CJNE R6,#55D,PONTH11 ;11
CJNE R0,#11H,VOLTALE11
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
VOLTALE11:
LJMP PONTH22
PONTH11:
CJNE R6,#00D,PONTH12 ;12
CJNE R0,#12H,SAINH3
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
PONTH12:
CJNE R6,#05D,PONTH13 ;13
CJNE R0,#13H,SAINH3
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAINH3:
LJMP SAINDOH
PONTH13:
CJNE R6,#0AH,PONTH14 ;14
CJNE R0,#14H,SAINH4
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
PONTH14:
CJNE R6,#0FH,PONTH15 ;15
CJNE R0,#15H,SAINH4
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
PONTH15:
CJNE R6,#20D,PONTH16 ;16
CJNE R0,#16H,SAINH4
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
PONTH16:
CJNE R6,#25D,PONTH17 ;17
CJNE R0,#17H,SAINH4
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAINH4:
LJMP SAINDOH
PONTH17:
CJNE R6,#30D,PONTH18 ;18
CJNE R0,#18H,SAINH4
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
PONTH18:
CJNE R6,#35D,PONTH19 ;19
CJNE R0,#19H,SAINH4
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
PONTH19:
CJNE R6,#40D,PONTH20 ;20
CJNE R0,#20H,SAINH4
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
PONTH20:
CJNE R6,#45D,PONTH21 ;21
CJNE R0,#21H,SAINDOH
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
PONTH21:
CJNE R6,#50D,PONTH22 ;22
CJNE R0,#22H,SAINDOH
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
LJMP SAINDOH
PONTH22:
CJNE R6,#55D,SAINDOH ;23
CJNE R0,#23H,SAINDOH
MOV A,PONTEIROS
XRL A,#01111111B
CPL A
LCALL MANDA
MOV A,#00000000B
LCALL MANDA
SAINDOH:
RET
CAI:
MOV A,R6
MOVC A,@A+DPTR
LCALL MANDA
INC R6
MOV A,#0FFH
LCALL MANDA
CLR LATCH
SETB LATCH
LCALL DELAY1
CJNE R6,#07H,CAI
RET
AMOSTRA_SEGU:
CJNE R0,#00H,VAI
MOV DPTR,#ZER
MOV R6,#00H
LCALL CAI
SJMP SEGUE
VAI:
CJNE R0,#01H,VAI1
MOV DPTR,#UM
MOV R6,#00H
LCALL CAI
SJMP SEGUE
VAI1:
CJNE R0,#02H,VAI2
MOV DPTR,#DOIS
MOV R6,#00H
LCALL CAI
SJMP SEGUE
VAI2:
CJNE R0,#03H,VAI3
MOV DPTR,#TRES
MOV R6,#00H
LCALL CAI
SJMP SEGUE
VAI3:
CJNE R0,#04H,VAI4
MOV DPTR,#QUATRO
MOV R6,#00H
LCALL CAI
SJMP SEGUE
VAI4:
CJNE R0,#05H,VAI5
MOV DPTR,#CINCO
MOV R6,#00H
LCALL CAI
SJMP SEGUE
VAI5:
CJNE R0,#06H,VAI6
MOV DPTR,#SEIS
MOV R6,#00H
LCALL CAI
SJMP SEGUE
VAI6:
CJNE R0,#07H,VAI7
MOV DPTR,#SETE
MOV R6,#00H
LCALL CAI
SJMP SEGUE
VAI7:
CJNE R0,#08H,VAI8
MOV DPTR,#OITO
MOV R6,#00H
LCALL CAI
SJMP SEGUE
VAI8:
CJNE R0,#09H,SEGUE
MOV DPTR,#NOVE
MOV R6,#00H
LCALL CAI
SEGUE:
RET
REGLOG:
MOV R6,#00H
MOV DPTR,#RELOGIO_DIGITAL
MOV R1,PONTOS1
REGLO:
MOV A,R6
MOVC A,@A+DPTR
LCALL MANDA
MOV A,#0FFH
LCALL MANDA
CLR LATCH
SETB LATCH
LCALL DELAY1
INC R6
CJNE R6,#0CH,REGLO
MOV R0,SEGU
LCALL AMOSTRA_SEGU
MOV R0,SEGD
LCALL AMOSTRA_SEGU
LCALL DELAY1
MOV A,PONTOS
LCALL MANDA
MOV A,#0FFH
LCALL MANDA
CLR LATCH
SETB LATCH
LCALL DELAY1
MOV A,#0FFH
LCALL MANDA
MOV A,#0FFH
LCALL MANDA
CLR LATCH
SETB LATCH
LCALL DELAY1
MOV R0,MINU
LCALL AMOSTRA_SEGU
MOV R0,MIND
LCALL AMOSTRA_SEGU
LCALL DELAY1
MOV A,PONTOS
LCALL MANDA
MOV A,#0FFH
LCALL MANDA
CLR LATCH
SETB LATCH
LCALL DELAY1
MOV A,#0FFH
LCALL MANDA
MOV A,#0FFH
LCALL MANDA
CLR LATCH
SETB LATCH
LCALL DELAY1
MOV R0,HORU
LCALL AMOSTRA_SEGU
MOV R0,HORD
LCALL AMOSTRA_SEGU
MOV R6,#00H
MOV DPTR,#RELOGIO_DIGITAL
REGLO1:
MOV A,R6
MOVC A,@A+DPTR
LCALL MANDA
MOV A,#0FFH
LCALL MANDA
CLR LATCH
SETB LATCH
LCALL DELAY1
INC R6
CJNE R6,#0BH,REGLO1
MOV R0,MUDAR1
DJNZ R0,SAIND1
MOV MUDAR2,#00H
MOV MUDAR1,#0FFH
SAIND1:
MOV MUDAR1,R0
RET
INTEX0:
PUSH PSW
PUSH ACC
SAINDO9:
MOV R0,MUDAR2
CJNE R0,#00H,TELA1
LCALL AMOSTRAGEM
SJMP SAINDO10
TELA1:
CJNE R0,#01H,TELA2
LCALL AMOSTRAGEM1
SJMP SAINDO10
TELA2:
CJNE R0,#02H,SAINDO9
LCALL REGLOG
SAINDO10:
POP ACC
POP PSW
RETI
RELOGIO_SHOW0:
DB 11111100B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111110B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111110B ;1
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B ;15 LINHAS
DB 11111100B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111110B ;2
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111110B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B ;30 LINHAS
DB 11111100B ;3
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111110B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111110B ;4
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B ;45 LINHAS
DB 11111100B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111110B ;5 (1)
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111110B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B ;60 LINHAS
RELOGIO_DIGITAL:
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B ;12 LINHAS
ZER:
DB 11111111B
DB 11000001B ;0
DB 10111110B
DB 10111110B
DB 11000001B
DB 11111111B
DB 11111111B
UM:
DB 11111111B
DB 11111110B
DB 10000000B ;1
DB 11011110B
DB 11011111B
DB 11111111B
DB 11111111B
DOIS:
DB 11111111B
DB 11001110B ;2
DB 10110110B
DB 10110110B
DB 11011000B
DB 11111111B
DB 11111111B
TRES:
DB 11111111B
DB 11001001B ;3
DB 10110110B
DB 10110110B
DB 11011101B
DB 11111111B
DB 11111111B
QUATRO:
DB 11111111B
DB 10000000B ;4
DB 11011011B
DB 11101011B
DB 11110011B
DB 11111111B
DB 11111111B
CINCO:
DB 11111111B
DB 10110001B ;5
DB 10101110B
DB 10101110B
DB 10001101B
DB 11111111B
DB 11111111B
SEIS:
DB 11111111B
DB 11011001B ;6
DB 10110110B
DB 10110110B
DB 11000001B
DB 11111111B
DB 11111111B
SETE:
DB 11111111B
DB 10011111B ;7
DB 10101111B
DB 10110000B
DB 10111111B
DB 11111111B
DB 11111111B
OITO:
DB 11111111B
DB 11001001B ;8
DB 10110110B
DB 10110110B
DB 11001001B
DB 11111111B
DB 11111111B
NOVE:
DB 11111111B
DB 11000001B ;9
DB 10110110B
DB 10110110B
DB 11001101B
DB 11111111B
DB 11111111B
RELOGIO_SHOW1:
DB 11111111B
DB 11111111B
DB 01100111B
DB 01101011B
DB 10011011B
DB 11111111B
DB 11111111B
DB 11111011B
DB 00000011B ;5 (1)
DB 11111011B
DB 11111111B
DB 11111111B
DB 00000101B
DB 11111111B
DB 11111111B
DB 00000111B
DB 11011011B
DB 00000111B
DB 11111111B
DB 11111111B
DB 00000111B ;60 LINHAS
DB 11110111B
DB 11011111B
DB 01111111B
DB 00000111B
DB 11111111B
DB 10000111B
DB 01111011B
DB 01111011B
DB 10000111B
DB 11111111B
DB 11111111B
DB 11111111B ;1
DB 11111111B
DB 11111111B ;15 LINHAS
DB 11111111B ;2
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B
DB 11111111B ;30 LINHAS
DB 11111111B ;3
DB 10000111B
DB 01111011B
DB 01111011B
DB 11111111B
DB 11111111B
DB 00000011B
DB 11101111B
DB 00000011B
DB 11111111B
DB 11111111B
DB 00000011B ;4
DB 11001011B
DB 01100111B
DB 11111111B
DB 11111111B
DB 00001011B
END
Comentar
Obrigada Christiano e Daniel!! Ajudaram muito!! :))
Você explicou tudo Daniel! Obrigado!!!
Olá.
Creio que a palavra chave entre a velocidade do motor (RPM) e o tempo de amostragem, se chama "sincronismo", que ocorre a cada passagem pelo sensor acoplado à interrupção externa !INT0.
A cada momento em que ocorre o sincronismo, ocorrerá o disparo das linhas(colunas) dos caracteres. Sendo este disparo efetuado em um tempo definido, sendo este tempo entre uma coluna e outra, quem realmente define qual será a "resolução" dos caracteres no propeller. Sendo assim, um tempo curto gera caracteres "curtos" ou "comprimidos", e um tempo longo gera caracteres "longos" ou "esticados".
Uma forma indireta de amostrar a velocidade do motor (RPM) seria efetuar a medida do período entre cada interrupção da interrupção externa. E esta medida sendo efetuada em cima de algum timer que exista no microcontrolador. Lembrando que a medida ideal é depois que o motor entra em regime e estabiliza sua velocidade.
Espero ter ajudado. T+. ^^
Não tem RPM. O segredo da coisa é o tempo de amostragem. Como você falou é por tentativa e erro. Se você for na função DELAY:, e modificar a contagem dos registradores no qual R3 é o contador e o R7 é o multiplicador. você poderá alterar o tempo de amostragem. Qualquer coisa etamos ai para ajudar.
Olá!!
Estou fazendo um propeller, gostaria de saber qual a referência que vocês usam de rpm's para o motor? Existe alguma relação ou é tentativa e erro? Estou procurando essa relação e não encontro, se puderem me ajudar... Agradeço desde já!!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)