-
Posts
24 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por dmmartins
-
-
também estou interassado neste projeto
-
Obrigado aphawk, mas estou aguardando o retorno do vtrx, pois ele ja fez em asm um display, o que falta desenrrolar no meu projeto é a parte que mostras 12 digitos nas 12 matriz de led.
-
ola vtrx, gosto de assebly mesmo, tenho a placa uno, fiz algumas coisas em delphi7, mas gostaria de ver este tutorial em bascom, Não é curso, é meu hobby mesmo e quero terminar esse projeto, vou postar o codigo que falta para continuar o topico. A respeito do email era pra manter o contato. grato amigo.
<
;80x7 Display
; projeto dm_led
; iniciado em 23/10/2021
; desenvolvido por Dino Martins
list p=16F877A
list n=0
include <P16F877A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _LVP_OFF & _CPD_OFF & _DEBUG_OFF
ERRORLEVEL -302
#DEFINE bank0 bcf STATUS,RP0 ;volta para banco 0
#DEFINE bank1 bsf STATUS,RP0 ;seleciona banco 1
cblock 0x20
load
load2
flags
cycles
countnum
countai
countjq
countrz
countsp
rall1
temp1
temp2
ENDC
DCounter1 EQU 0X0C
#DEFINE bt_enter portd,0
#DEFINE bt_back portd,1
#DEFINE bt_space portd,2
#DEFINE bt_numero portd,3
#DEFINE bt_ai portd,4
#DEFINE bt_jq portd,5
#DEFINE bt_rz portd,6;*************************************
ORG 0x00 ;This sets up
GOTO INICIO
ORG 0X04
RETFIE
;***********************
tablent
ADDWF 02h,1
RETLW b'00000001' ; enter
RETLW b'00000001'
RETLW b'00000001'
RETLW b'00000001'
RETLW b'00000001'
RETLW b'00000000'
;***********************
Tablesp
ADDWF 02h,1 ;Add W to Program Counter
RETLW b'00000000' ; space
RETLW b'00000000'
RETLW b'00000000'
RETLW b'00000000'
RETLW b'00000000'
RETLW b'00000000';***********************
Tablenum ; numeros
ADDWF 02h,1 ;Add W to Program Counter
RETLW 3Eh ; ;0
RETLW 41h
RETLW 41h
RETLW 41h
RETLW 3Eh
RETLW b'00000000'
RETLW 00h ;1
RETLW 10h
RETLW 20h
RETLW 7Fh
RETLW 00h
RETLW b'00000000'
RETLW 27h ;2
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 31h
RETLW b'00000000'
RETLW 22h ;3
RETLW 41h
RETLW 49h
RETLW 49h
RETLW 36h
RETLW b'00000000'
RETLW 0Ch ;4
RETLW 14h
RETLW 24h
RETLW 7Fh
RETLW 04h
RETLW b'00000000'
RETLW 7Ah ;5
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 46h
RETLW b'00000000'
RETLW 3Eh ;6
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 26h
RETLW b'00000000'
RETLW 40h ;7
RETLW 47h
RETLW 48h
RETLW 50h
RETLW 60h
RETLW b'00000000'
RETLW 36h ;8
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 36h
RETLW b'00000000'
RETLW 32h ;9
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 3Eh
RETLW b'00000000'RETLW b'00001000' ; traço
RETLW b'00001000'
RETLW b'00001000'
RETLW b'00001000'
RETLW b'00001000'
RETLW b'00000000'RETLW b'00000000' ;parentese
RETLW b'00000000'
RETLW b'00111110'
RETLW b'01000001'
RETLW b'00000000'
RETLW b'00000000'RETLW b'00000000' ;parentese
RETLW b'01000001'
RETLW b'00111110'
RETLW b'00000000'
RETLW b'00000000'
RETLW b'00000000'RETLW b'00000000' ;barra
RETLW b'00000001'
RETLW b'00000100'
RETLW b'00010000'
RETLW b'01000000'
RETLW b'00000000'RETLW b'00000000' ;barra
RETLW b'01000000'
RETLW b'00010000'
RETLW b'00000100'
RETLW b'00000001'
RETLW b'00000000'RETLW b'00000000' ; exclamação
RETLW b'00000000'
RETLW b'01111101'
RETLW b'00000000'
RETLW b'00000000'
RETLW b'00000000';****************************************
Tableai
ADDWF 02h,1 ;Add W to Program Counter
RETLW b'00111111' ;A
RETLW b'01001000'
RETLW b'01001000'
RETLW b'01001000'
RETLW b'00111111'
RETLW b'00000000'RETLW b'01111111' ; B
RETLW b'01001001'
RETLW b'01001001'
RETLW b'01001001'
RETLW b'00110110'
RETLW b'00000000'RETLW b'00111110' ; C
RETLW b'01000001'
RETLW b'01000001'
RETLW b'01000001'
RETLW b'00100010'
RETLW b'00000000'RETLW b'01111111' ; D
RETLW b'01000001'
RETLW b'01000001'
RETLW b'01000001'
RETLW b'00111110'
RETLW b'00000000'RETLW 7Fh ;E
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 41h
RETLW b'00000000'RETLW b'01111111' ; F
RETLW b'01001000'
RETLW b'01001000'
RETLW b'01001000'
RETLW b'01000000'
RETLW b'00000000'RETLW b'00111110' ; G
RETLW b'01000001'
RETLW b'01000001'
RETLW b'01000101'
RETLW b'00100110'
RETLW b'00000000'RETLW b'01111111' ; H
RETLW b'00001000'
RETLW b'00001000'
RETLW b'00001000'
RETLW b'01111111'
RETLW b'00000000' ;RETLW b'00000000' ; I
RETLW b'01000001'
RETLW b'01111111'
RETLW b'01000001'
RETLW b'00000000'
RETLW b'00000000'
;*********************************
tablejq
ADDWF 02h,1 ; Add W to Program Counter
RETLW b'00000110' ; J
RETLW b'00000001'
RETLW b'00000001'
RETLW b'00000001'
RETLW b'01111110'
RETLW b'00000000'RETLW b'01111111' ; K
RETLW b'00001000'
RETLW b'00010100'
RETLW b'00100010'
RETLW b'00000001'
RETLW b'00000000'RETLW b'01111111' ;L
RETLW b'00000001'
RETLW b'00000001'
RETLW b'00000001'
RETLW b'00000001'
RETLW b'00000000'RETLW b'00111100' ;Ç
RETLW b'01000010'
RETLW b'01000011'
RETLW b'01000010'
RETLW b'00100100'
RETLW b'00000000'RETLW b'01111111'; M
RETLW b'00100000'
RETLW b'00011110'
RETLW b'00100000'
RETLW b'01111111'
RETLW b'00000000'RETLW b'01111111' ;N
RETLW b'00100000'
RETLW b'00011000'
RETLW b'00000100'
RETLW b'01111111'
RETLW b'00000000'RETLW 3Eh ;O
RETLW 41h
RETLW 41h
RETLW 41h
RETLW 3Eh
RETLW b'00000000'RETLW b'01111111'
RETLW b'01001000'
RETLW b'01001000'
RETLW b'01001000'
RETLW b'00110000'
RETLW b'00000000'RETLW b'00111110' ;Q
RETLW b'01000001'
RETLW b'01000101'
RETLW b'01000011'
RETLW b'00111111'
RETLW b'00000000'
;**************************************
tablerz
ADDWF 02h,1 ; Add W to Program Counter
RETLW b'01111111' ;R
RETLW b'01001000'
RETLW b'01001100'
RETLW b'01001010'
RETLW b'00110001'
RETLW b'00000000'RETLW 32h ;S
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 26h
RETLW b'00000000'RETLW 40h ;T
RETLW 40h
RETLW 7Fh
RETLW 40h
RETLW 40h
RETLW b'00000000'RETLW b'01111110' ;U
RETLW b'00000001'
RETLW b'00000001'
RETLW b'00000001'
RETLW b'01111110'
RETLW b'00000000'RETLW b'01111000' ;v
RETLW b'00000110'
RETLW b'00000001'
RETLW b'00000110'
RETLW b'01111000'
RETLW b'00000000'RETLW b'01111110' ; W
RETLW b'00000001'
RETLW b'00011111'
RETLW b'00000001'
RETLW b'01111110'
RETLW b'00000000'RETLW b'01000001' ; X
RETLW b'00100010'
RETLW b'00011100'
RETLW b'00100010'
RETLW b'01000001'
RETLW b'00000000'RETLW b'01100000' ;Y
RETLW b'00010000'
RETLW b'00001111'
RETLW b'00010000'
RETLW b'01100000'
RETLW b'00000000'RETLW b'01000011' ;Z
RETLW b'01000101'
RETLW b'01001001'
RETLW b'01010001'
RETLW b'01100001'
RETLW b'00000000'
;****************************************;*************************
GHOST
BCF PORTA,0
BSF PORTA,1
NOP
BCF PORTA,1
;************************
MOVF 2ch,0 ;01
CALL DelA
MOVF 2dh,0
CALL DelA
MOVF 2eh,0
CALL DelA
MOVF 2fh,0
CALL DelA
MOVF 30h,0
CALL DelA
MOVF 31h,0 ;02
CALL DelA
MOVF 32h,0
CALL DelA
MOVF 33h,0
CALL DelA
MOVF 34h,0
CALL DelA
MOVF 35h,0
CALL DelA
MOVF 36h,0
CALL DelAMOVF 37h,0 ;03
CALL DelA
MOVF 38h,0
CALL DelA
MOVF 39h,0
CALL DelA
MOVF 3ah,0
CALL DelA
MOVF 3bh,0
CALL DelA
MOVF 3ch,0
CALL DelA
MOVF 3dh,0
CALL DelAMOVF 3eh,0 ;04
CALL DelA
MOVF 3fh,0
CALL DelA
MOVF 40h,0
CALL DelA
MOVF 41h,0
CALL DelA
MOVF 42h,0
CALL DelA
MOVF 43h,0
CALL DelAMOVF 44h,0 ;05
CALL DelA
MOVF 45h,0
CALL DelA
MOVF 46h,0
CALL DelA
MOVF 47h,0
CALL DelA
MOVF 48h,0
CALL DelA
MOVF 49h,0
CALL DelA
return ;até fica regular
MOVF 4ah,0 ;06
CALL DelA
MOVF 4bh,0
CALL DelA
MOVF 4ch,0
CALL DelA
MOVF 4dh,0
CALL DelA
MOVF 4eh,0
CALL DelA
MOVF 4fh,0
CALL DelAMOVF 50h,0 ;07
CALL DelA
MOVF 51h,0
CALL DelA
MOVF 52h,0
CALL Dela
MOVF 53h,0
CALL Dela
MOVF 54h,0
CALL Dela
MOVF 55h,0
CALL Dela
MOVF 56h,0 ;08
CALL Dela
MOVF 57h,0
CALL Dela
MOVF 58h,0
CALL Dela
MOVF 59h,0
CALL Dela
MOVF 5ah,0
CALL Dela
MOVF 5bh,0
CALL Dela
MOVF 5ch,0 ;09
CALL DelA
MOVF 5dh,0
CALL DelA
MOVF 5eh,0
CALL DelA
MOVF 5fh,0
CALL DelA
MOVF 60h,0
CALL DelA
MOVF 61h,0
CALL DelA
MOVF 62h,0 ;10
CALL DelA
MOVF 63h,0
CALL DelA
MOVF 64h,0
CALL DelA
MOVF 65h,0
CALL DelA
MOVF 66h,0
CALL DelA
MOVF 67h,0
CALL DelAMOVF 68h,0 ;10
CALL DelA
MOVF 69h,0
CALL DelA
MOVF 6ah,0
CALL DelA
MOVF 6bh,0
CALL DelA
MOVF 6ch,0
CALL DelA
MOVF 6dh,0
CALL DelA
MOVF 6eh,0 ;10
CALL DelA
MOVF 6fh,0
CALL DelA
MOVF 70h,0
CALL DelA
MOVF 71h,0
CALL DelA
MOVF 72h,0
CALL DelA
MOVF 73h,0
CALL DelA
RETURN
;*****************************
DelA
MOVWF PORTB
MOVLW .16
MOVWF DCounter1
LOOP
DECFSZ DCounter1, 1
GOTO LOOP
BSF PORTA,0
BSF PORTA,1
BCF PORTA,1
RETURN
;*****************************
F_entra
MOVLW 06
MOVWF cycles ;5 cycles of Loading
MOVFW load ;11H
MOVWF fsr ;Move start of Ghost locations to FSR
FillGh2ent
MOVF 73h,0 ; 37H Move table pointer to W
CALL Tablent
MOVWF 00 ;(move into what FSR looks at)
INCF FSR,1 ;Increment the FSR to look at next file
INCF 73h,1
DECFSZ cycles ,1
GOTO FillGh2ent
RETURN
;*****************SPACE*********************
F_SPACE
MOVLW 06
MOVWF cycles ;5 cycles of Loading
MOVFW load ;11H
MOVWF fsr ;Move start of Ghost locations to FSR
FillGh2SP
MOVF countSP,0 ; 37H Move table pointer to W
CALL Tablesp
MOVWF 00 ;(move into what FSR looks at)
INCF FSR,1 ;Increment the FSR to look at next file
INCF countSP,1
DECFSZ cycles ,1
GOTO FillGh2SP
RETURN
;*********** NUMEROS **********************
F_numero
MOVLW 06
MOVWF cycles ;5 cycles of Loading
MOVFW load ;11H
MOVWF fsr ;Move start of Ghost locations to FSR
FillGh2numm
MOVF countnum,0 ;
CALL Tablenum ; numeros
MOVWF 00 ;(move into what FSR looks at)
INCF FSR,1 ;Increment the FSR to look at next file
INCF countnum,1
DECFSZ cycles ,1
GOTO FillGh2numm
RETURN
;*****************************
F_x ;back
MOVLW 07
MOVWF cycles ;5 cycles of Loading
MOVFW load2 ;11H
MOVWF fsr ;Move start of Ghost locations to FSR
FillGh12
CLRF INDF ;apagar o registrador INDF
DECF FSR,1 ;incrementar o ponteiro
DECFSZ cycles ,1
GOTO FillGh12
INCF FSR,1
RETURN
;*****************************
F_ai
MOVLW 06
MOVWF cycles ;5 cycles of Loading
MOVFW load ;11H
MOVWF fsr ;Move start of Ghost locations to FSR
FillGhlaii
MOVF countai,0 ; 37H Move table pointer to W
CALL Tableai
MOVWF 00 ;(move into what FSR looks at)
INCF FSR,1 ;Increment the FSR to look at next file
INCF countai,1
DECFSZ cycles ,1
GOTO FillGhlaii
RETURN
;**********************************
F_jq
MOVLW 06
MOVWF cycles ;5 cycles of Loading
MOVFW load ;11H
MOVWF fsr ;Move start of Ghost locations to FSR
FillGhljqq
MOVF countjq,0 ; 37H Move table pointer to W
CALL Tablejq
MOVWF 00 ;(move into what FSR looks at)
INCF FSR,1 ;Increment the FSR to look at next file
INCF countjq,1
DECFSZ cycles ,1
GOTO FillGhljqq
RETURN
;*****************************
F_rz
MOVLW 06
MOVWF cycles ;5 cycles of Loading
MOVFW load ;11H
MOVWF fsr ;Move start of Ghost locations to FSR
FillGhlrzz
MOVF countrz,0 ; 37H Move table pointer to W
CALL Tablerz
MOVWF 00 ;(move into what FSR looks at)
INCF FSR,1 ;Increment the FSR to look at next file
INCF countrz,1
DECFSZ cycles ,1
GOTO FillGhlrzz
RETURN;*****************************
MainMOVLW 00
MOVWF countnum
movlw 2cH
movwf load
call F_numero
Main1
bcf portd,0 ;enter
bcf portd,1 ;backspace
bcf portd,2 ;space
bcf portd,3 ;numero
bcf portd,4 ;ai
bcf portd,5 ;jq
bcf portd,6 ;rz
bcf portd,7 ;space
;********************************
Main2
CALL RESET1
CALL GHOSTbtfss bt_numero
goto numeros ;zero
btfss bt_ai
goto L_AI
btfss bt_jq
goto L_JQ
btfss bt_rz
goto L_RZ
btfss bt_space
goto space1
btfss bt_enter
goto entra
btfss bt_back
goto back
goto main1
;******flags**********
flags_1
bsf portd,0 ;enter
bsf portd,1 ;back
bsf porta,2 ;space
bsf portd,3 ;numero
bsf portd,4 ;ai
bsf portd,5 ;jq
bsf portd,6 ;rz
return
;********************
entra
btfsc portd,0
goto Main2
bsf portd,0
clrf countai
clrf countjq
clrf countrz
clrf countnum
clrf countsp
movf 73h,0
XORLW 36h
btfss 03,2
goto passent
goto main2
passent
clrf 73h
movf fsr,0
movwf load
call flags_1
call f_entra
clrf countnum
ent
btfsc portd,0 ; testa se 0
goto main1
goto ent
;**************
back ;volta
btfsc portd,1
goto Main2
bsf portd,1
clrf countai
clrf countjq
clrf countrz
clrf countnum
movf fsr,0
XORLW 2ch
btfss 03,2
goto pass
goto main2
pass
clrf load2
movf fsr,0
movwf load2
call flags_1
call F_x
movf fsr,0
movwf load
bk
btfsc portd,1 ; testa se 0
goto main2
goto bk
;****************
space1 ; espaço
btfsc portd,2
goto Main2
bsf portd,2
clrf countai
clrf countjq
clrf countrz
clrf countnum
clrf countsp
movf fsr ,0
XORLW 3eh ;fim da tabela
btfss 03,2
goto passpace
clrf countsp
goto main1
passpace
movf fsr,0
clrf load
movwf load
call flags_1
call F_space
nop
clrf countsp
movf fsr,0
clrf load
movwf load
call F_space
clrf countnum
spe
btfsc portd,2 ; testa se 0
goto main1
goto spe;**************
numeros
btfsc portd,3 ;pula se zero
goto Main2
bsf portd,3
movf countnum,0
XORLW 60h
BTFSS 03,2
goto fillnum ; faz o fill
goto passnum ; jump
fillnum
call flags_1 ; all flags bsf
call f_numero ;call fill
nu
btfss portd,3 ; testa se 0
goto nu
goto main1
passnum
clrf countnum
call flags_1
call f_numero
num
btfsc portd,3 ; testa se 0
goto main1
goto num;******* LETRAS *******
L_AI
btfsc portd,4 ;pula se zero
goto Main2
bsf portd,4
nop
clrf countjq
clrf countrz
clrf countnum
movf countai,0
XORLW 36H
BTFSS 03,2
goto fillai
goto passai
fillai
call flags_1 ;marca como press
call f_ai
na
btfsc portd,4 ; testa se 0
goto main1
goto napassai
call flags_1
clrf countai
call f_ai
nai
btfsc portd,4
goto main1
goto nai
;****************
L_JQ
btfsc portd,5 ;pula se zero
goto Main2
bsf portd,5
nop
clrf countai
clrf countrz
clrf countnum
movf countjq,0
XORLW 36h
BTFSS 03,2
goto filljq
goto passjq
filljq
call flags_1
call f_jq
nj
btfsc portd,5 ; testa se 0
goto main1
goto njpassjq
clrf countjq
call flags_1
call f_jq
njq
btfsc portd,5 ; testa se 0
goto main1
goto njq;**************
L_RZ
btfsc portd,6 ;pula se zero
goto Main2
bsf portd,6
nop
clrf countjq
clrf countai
clrf countnum
movf countrz,0
XORLW 36h
BTFSS 03,2
goto fillrz
goto passrz
fillrz
call flags_1
call f_rz
nr
btfsc portd,6 ; testa se 0
goto main1
goto nrpassrz
call flags_1
clrf countrz
call f_rz
nrz
btfsc portd,6 ; testa se 0
goto main1
goto nrz;**************
RESET1
MOVLW 107
MOVWF RALL1
BSF PORTA,0
RALL2
nop
nop
DECFSZ RALL1,1
GOTO CLK
RETURN
CLK BSF PORTA,1
BCF PORTA,1
GOTO RALL2
;***************************
INICIOBANK1
MOVLW b'11111100'
MOVWF TRISA ; SETA PORTA COMO ENTRADA
MOVLW b'00000000'
MOVWF TRISB ; SETA PORTB COMO SAIDA
MOVLW b'00001111'
MOVWF TRISC ; SETA PORTC COMO ENTRADA
MOVLW b'11111111'
MOVWF TRISD ; SETA PORTD COMO SAIDA/ENTRADA
MOVLW b'00000000'
MOVWF TRISE ; SETA PORTE COMO SAIDA
MOVLW b'10000001' ; ps0=1;prescale 1:4;psa= timer0;tose=subida;tocs=clockinternorbpu=0pullupativados
MOVWF OPTION_REG ; PULL UP DESABILITADOS E TMR0 1:256
MOVLW b'10000000' ;
MOVWF INTCON ;INTERRUPÇÃO TIMER0 HABILITADA
MOVLW b'00000110' ;00000110
MOVWF ADCON1
BANK0
MOVLW H'7'
MOVWF CMCON
;*************************************************
clrf load2
clrf load
clrf cycles
clrf countnum
clrf countsp
clrf countai
clrf countjq
clrf countrz
clrf rall1
clrf porta
clrf portb
clrf portc
clrf portd
clrf porte
clrf 73h ; ENTRA
goto main
END
>
o que eu quero é colocar de 12 a 24 caracters nesse display, 24 matrix 7x6 no total, mas quero começar com 12 x7 . não é scrolling. quero letras fixas. assembly
-
ntrx voce pode mandar seu email;
vtrx quis dezer.
-
o assunto é matriz de led 12x5 assembly. usar tabela alfanumerica e delay vesez coluna.
-
Pois é, mas alguém tem como me ajudar em asm , preciso acender 12 matriz 7x6
com 9 74hc164n e portb do pic877a
Acredito que seja problema na varredura,pois no pic 628 acontece o mesmoo,
e ele troca de banco altomaticamente . ou não.
-
desculpa a demora, tirei a parte dos butões pra ficar menor o cidigo
<
list p=16f877a
list n=0
include
__config _cp_off & _wdt_off & _boden_off & _pwrte_on & _xt_osc & _lvp_off & _cpd_off & _debug_off
errorlevel -302
#define bank0 bcf status,rp0 ;volta para banco 0
#define bank1 bsf status,rp0 ;seleciona banco 1
cblock 0x20
load
load2
flags
cycles
countnum
countai
countjq
countrz
countsp
rall1
endc
dcounter1 equ 0x0c
#define bt_enter portd,0
#define bt_back portd,1
#define bt_space portd,2
#define bt_numero portd,3
#define bt_ai portd,4
#define bt_jq portd,5
#define bt_rz portd,6;*************************************
org 0x00 ;this sets up the ports
goto inicio
org 0x04
retfie
;***********************
tablent
addwf 02h,1
retlw b'00000001' ; enter
retlw b'00000001'
retlw b'00000001'
retlw b'00000001'
retlw b'00000001'
retlw b'00000000'
;***********************
tablesp
addwf 02h,1 ;add w to program counter
retlw b'00000000' ; space
retlw b'00000000'
retlw b'00000000'
retlw b'00000000'
retlw b'00000000'
retlw b'00000000';***********************
tablenum ; numeros
addwf 02h,1 ;add w to program counter
retlw 3eh ; ;0
retlw 41h
retlw 41h
retlw 41h
retlw 3eh
retlw b'00000000'
retlw 00h ;1
retlw 10h
retlw 20h
retlw 7fh
retlw 00h
retlw b'00000000'
retlw 27h ;2
retlw 49h
retlw 49h
retlw 49h
retlw 31h
retlw b'00000000'
retlw 22h ;3
retlw 41h
retlw 49h
retlw 49h
retlw 36h
retlw b'00000000'
retlw 0ch ;4
retlw 14h
retlw 24h
retlw 7fh
retlw 04h
retlw b'00000000'
retlw 7ah ;5
retlw 49h
retlw 49h
retlw 49h
retlw 46h
retlw b'00000000'
retlw 3eh ;6
retlw 49h
retlw 49h
retlw 49h
retlw 26h
retlw b'00000000'
retlw 40h ;7
retlw 47h
retlw 48h
retlw 50h
retlw 60h
retlw b'00000000'
retlw 36h ;8
retlw 49h
retlw 49h
retlw 49h
retlw 36h
retlw b'00000000'
retlw 32h ;9
retlw 49h
retlw 49h
retlw 49h
retlw 3eh
retlw b'00000000'retlw b'00001000' ; traço
retlw b'00001000'
retlw b'00001000'
retlw b'00001000'
retlw b'00001000'
retlw b'00000000'retlw b'00000000' ;parentese
retlw b'00000000'
retlw b'00111110'
retlw b'01000001'
retlw b'00000000'
retlw b'00000000'retlw b'00000000' ;parentese
retlw b'01000001'
retlw b'00111110'
retlw b'00000000'
retlw b'00000000'
retlw b'00000000'retlw b'00000000' ;barra
retlw b'00000001'
retlw b'00000100'
retlw b'00010000'
retlw b'01000000'
retlw b'00000000'retlw b'00000000' ;barra
retlw b'01000000'
retlw b'00010000'
retlw b'00000100'
retlw b'00000001'
retlw b'00000000'retlw b'00000000' ; exclamação
retlw b'00000000'
retlw b'01111101'
retlw b'00000000'
retlw b'00000000'
retlw b'00000000';****************************************
tableai
addwf 02h,1 ;add w to program counter
retlw b'00111111' ;a
retlw b'01001000'
retlw b'01001000'
retlw b'01001000'
retlw b'00111111'
retlw b'00000000'retlw b'01111111' ; b
retlw b'01001001'
retlw b'01001001'
retlw b'01001001'
retlw b'00110110'
retlw b'00000000'retlw b'00111110' ; c
retlw b'01000001'
retlw b'01000001'
retlw b'01000001'
retlw b'00100010'
retlw b'00000000'retlw b'01111111' ; d
retlw b'01000001'
retlw b'01000001'
retlw b'01000001'
retlw b'00111110'
retlw b'00000000'retlw 7fh ;e
retlw 49h
retlw 49h
retlw 49h
retlw 41h
retlw b'00000000'retlw b'01111111' ; f
retlw b'01001000'
retlw b'01001000'
retlw b'01001000'
retlw b'01000000'
retlw b'00000000'retlw b'00111110' ; g
retlw b'01000001'
retlw b'01000001'
retlw b'01000101'
retlw b'00100110'
retlw b'00000000'
retlw b'01111111' ; h
retlw b'00001000'
retlw b'00001000'
retlw b'00001000'
retlw b'01111111'
retlw b'00000000' ;retlw b'00000000' ; i
retlw b'01000001'
retlw b'01111111'
retlw b'01000001'
retlw b'00000000'
retlw b'00000000'
;*********************************
tablejq
addwf 02h,1 ; add w to program counter
retlw b'00000110' ; j
retlw b'00000001'
retlw b'00000001'
retlw b'00000001'
retlw b'01111110'
retlw b'00000000'retlw b'01111111' ; k
retlw b'00001000'
retlw b'00010100'
retlw b'00100010'
retlw b'00000001'
retlw b'00000000'retlw b'01111111' ;l
retlw b'00000001'
retlw b'00000001'
retlw b'00000001'
retlw b'00000001'
retlw b'00000000'retlw b'00111100' ;ç
retlw b'01000010'
retlw b'01000011'
retlw b'01000010'
retlw b'00100100'
retlw b'00000000'retlw b'01111111'; m
retlw b'00100000'
retlw b'00011110'
retlw b'00100000'
retlw b'01111111'
retlw b'00000000'retlw b'01111111' ;n
retlw b'00100000'
retlw b'00011000'
retlw b'00000100'
retlw b'01111111'
retlw b'00000000'retlw 3eh ;o
retlw 41h
retlw 41h
retlw 41h
retlw 3eh
retlw b'00000000'retlw b'01111111'
retlw b'01001000'
retlw b'01001000'
retlw b'01001000'
retlw b'00110000'
retlw b'00000000'retlw b'00111110' ;q
retlw b'01000001'
retlw b'01000101'
retlw b'01000011'
retlw b'00111111'
retlw b'00000000'
;**************************************
tablerz
addwf 02h,1 ; add w to program counter
retlw b'01111111' ;r
retlw b'01001000'
retlw b'01001100'
retlw b'01001010'
retlw b'00110001'
retlw b'00000000'retlw 32h ;s
retlw 49h
retlw 49h
retlw 49h
retlw 26h
retlw b'00000000'retlw 40h ;t
retlw 40h
retlw 7fh
retlw 40h
retlw 40h
retlw b'00000000'retlw b'01111110' ;u
retlw b'00000001'
retlw b'00000001'
retlw b'00000001'
retlw b'01111110'
retlw b'00000000'retlw b'01111000' ;v
retlw b'00000110'
retlw b'00000001'
retlw b'00000110'
retlw b'01111000'
retlw b'00000000'retlw b'01111110' ; w
retlw b'00000001'
retlw b'00011111'
retlw b'00000001'
retlw b'01111110'
retlw b'00000000'retlw b'01000001' ; x
retlw b'00100010'
retlw b'00011100'
retlw b'00100010'
retlw b'01000001'
retlw b'00000000'retlw b'01100000' ;y
retlw b'00010000'
retlw b'00001111'
retlw b'00010000'
retlw b'01100000'
retlw b'00000000'retlw b'01000011' ;z
retlw b'01000101'
retlw b'01001001'
retlw b'01010001'
retlw b'01100001'
retlw b'00000000'
;****************************************
ghost ; auqi se usar taé 8 caractere fica bom
bcf porta,0
bsf porta,1
nop
bcf porta,1
;************************
movf 2ch,0
call dela
movf 2dh,0
call dela
movf 2eh,0
call dela
movf 2fh,0
call dela
movf 30h,0
call dela
movf 31h,0
call dela
movf 32h,0
call dela
movf 33h,0
call dela
movf 34h,0
call dela
movf 35h,0
call dela
movf 36h,0
call delamovf 37h,0
call dela
movf 38h,0
call dela
movf 39h,0
call dela
movf 3ah,0
call dela
movf 3bh,0
call dela
movf 3ch,0
call dela
movf 3dh,0
call delamovf 3eh,0
call dela
movf 3fh,0
call dela
movf 40h,0
call dela
movf 41h,0
call dela
movf 42h,0
call dela
movf 43h,0
call delamovf 44h,0
call dela
movf 45h,0
call dela
movf 46h,0
call dela
movf 47h,0
call dela
movf 48h,0
call dela
movf 49h,0
call dela
movf 4ah,0
call dela
movf 4bh,0
call dela
movf 4ch,0
call dela
movf 4dh,0
call dela
movf 4eh,0
call dela
movf 4fh,0
call dela
return
movf 50h,0
call dela
movf 51h,0
call dela
movf 52h,0
call dela
movf 53h,0
call dela
movf 54h,0
call dela
movf 55h,0
call delamovf 56h,0
call dela
movf 57h,0
call dela
movf 58h,0
call dela
movf 59h,0
call dela
movf 5ah,0
call dela
movf 5bh,0
call dela
movf 5ch,0
call dela
movf 5dh,0
call dela
movf 5eh,0
call dela
movf 5fh,0
call dela
movf 60h,0
call dela
movf 61h,0
call dela
movf 62h,0
call dela
movf 63h,0
call dela
movf 64h,0
call dela
movf 65h,0
call dela
movf 66h,0
call dela
movf 67h,0return
;************************
dela
movwf portb
movlw 0x30
movwf dcounter1
loop
decfsz dcounter1, 1
goto loop
bsf porta,0
bsf porta,1
bcf porta,1
return
;***************************
iniciobank1
movlw b'11111100'
movwf trisa ; seta porta como entrada
movlw b'00000000'
movwf trisb ; seta portb como saida
movlw b'00001111'
movwf trisc ; seta portc como entrada
movlw b'11111111'
movwf trisd ; seta portd como saida/entrada
movlw b'00000000'
movwf trise ; seta porte como saida
movlw b'10000001' ; ps0=1;prescale 1:4;psa= timer0;tose=subida;tocs=clockinternorbpu=0pullupativados
movwf option_reg ; pull up desabilitados e tmr0 1:256
movlw b'10000000' ;
movwf intcon ;interrupção timer0 habilitada
movlw b'00000110' ;00000110
movwf adcon1
bank0
movlw h'7'
movwf cmcon
;*************************************************
clrf load2
clrf load
clrf cycles
clrf countnum
clrf countsp
clrf countai
clrf countjq
clrf countrz
clrf rall1
clrf porta
clrf portb
clrf portc
clrf portd
clrf porte
clrf 73h ; entra
goto main
end
> -
ola galera, essa é a parte que mostra na matriz de led 7x 12, acontece que os digitos ficam piscando sem parar, mas se eu usar o return até seis digitos
fica bem melhor, queria usar 24 digitos, mas ta difícil.não sei se é problema de pilha ou delay errado.
-
GetData
movf LOW(CHANNEL01),w ; PWM 1
addwf FSR0L,F
movf HIGH(CHANNEL01),w
addwfc FSR0H,F
movff INDF0,CCPR1L
lfsr 0,RxBuffer
movf LOW(CHANNEL02),w ;PWM 2
addwf FSR0L,F
movf HIGH(CHANNEL02),w
addwfc FSR0H,F
movff INDF0,CCPR2L
lfsr 0,RxBuffer
movf LOW(CHANNEL03),w ;PWM 3
addwf FSR0L,F
movf HIGH(CHANNEL03),w
addwfc FSR0H,Fmovff INDF0,PWM03
lfsr 0,RxBuffe
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PWMs
clrf PWM00
movff TMR0L,TEMPO
movf TEMPO,W
CPFSEQ PWM00,W
bra OKGO
returnOKGO
;---------------------- porta de saida-------------------
clrf LEDAmovf TEMPO,W
CPFSLT PWM03,0
bsf LEDA,0movf LEDA,W
CPFSEQ LATA,W
movff LEDA,LATA; ;como colocar essa saída(Lata) em um bit do registrador 74hc595
-
-
ola, tenho um projeto pronto, dmx 6 canais, agora quero converter para 16 canais usando um 74hc595, alguém pode me dar uma dica. grato.;
-
Ola amigo, mudando os bits, tenho um projeto dmx de 6 canais, usando o pic f84a , quero converter para 16 canais usando dois registradores 74hc595 se possível em asm , a ideia é que cada pata do registrador receba um canal.. Grato.
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
comunicação pic16f com teclado ps2 ou usb em assembly
em Programação - iniciantes
Postado
Ola, preciso conectar um teclado ps2 a um pic 877a ou 628a com a linguagem asm.
tenho uma matriz de led 7x24 para escrever.
tenho um codigo mas ainda não funcionou. texto a ler ps2.txt