
Led ve display göstergeli hexadesimal binary sayıcı uygulamaları tüm devreler pic16f84a ile gerçekleştirilmiş isis simülasyon ve diğer kod mplab dosyaları vardır. Buton kontrollü Hex-adesimal Sayıcı 1-2-3-4-5-6-7-8-9-A-B-C-D-E-F arası sayım
ASM Yazılımı
;MICROCONTROLADORES PIC ;AUTOR : BRYAM HUAMANCHUMO BACA ;LABORATORIO # 01b : CONTEO ASCENDENTE HEXADECIMAL AL PRESIONAR EL PULSADOR list p=16F84 #includetemporal equ 0x20 org 00 goto main org 05 main bsf STATUS,RP0 ;Paso al banco 0 bcf STATUS,RP1 movlw b'01000' ;RA3 Entrada = '1' movwf TRISA clrf TRISB ;PORTB Salidas bcf STATUS,RP0 ;Regreso al Banco 0 clrf temporal ;Inicializo Cuenta clrf PORTB ;y Inicializo puerto infinito btfsc PORTA,3 ;si se presiona RA3 goto infinito espera ;espera btfss PORTA,3 ;Antirebote goto espera incf temporal,0 andlw 0x0F ;Me aseguro q no llegue ;a 15 = 0x0F = b'1111' movwf temporal movwf PORTB goto infinito END
Dip switch kontrollü display göstergeli hexdesimal sayıcı devresi
İçerik
on off kombinasyonlarına göre sayılar beliriyor
ASM Yazılımı
;MICROCONTROLADORES PIC
;AUTOR : BRYAM HUAMANCHUMO BACA
;LABORATORIO # 01d : VISUALIZA EL NÚMERO HEXADECIMAL AL CONMUTAR EL DIPSWITCH
List p=16F84A
INCLUDE
ORG 0 ; El programa comienza en la dirección 0
Inicio
bsf STATUS,RP0 ; Acceso al Banco 1
clrf PORTB ; Las líneas del Puerto B se configuran como salida
movlw b'00011111' ; Las 5 líneas del Puerto A se configuran como entrada
movwf PORTA
clrf TRISB ; Las líneas del Puerto B se configuran como salida
bcf STATUS,RP0 ; Acceso al Banco 0
Principal
movf PORTA,0
andlw b'00001111' ; Máscara para quedarse con el valor de las
; entradas correspondientes al nibble bajo
call Binario_a_7Segmentos ; Convierte código binario a a 7 segmentos del display
movwf PORTB ; Resultado se visualiza por el puerto de salida
goto Principal
;Subrutina "Binario_7segemntos" -----------------------------------------------------------
Binario_a_7Segmentos ; Tabla para display de 7 segmentos
addwf PCL,1
Tabla retlw 3Fh ; El código de 7 segmentos para el "0"
retlw 06h ; El código de 7 segmentos para el "1"
retlw 5Bh ; El código de 7 segmentos para el "2"
retlw 4Fh ; El código de 7 segmentos para el "3"
retlw 66h ; El código de 7 segmentos para el "4"
retlw 6Dh ; El código de 7 segmentos para el "5"
retlw 7Dh ; El código de 7 segmentos para el "6"
retlw 07h ; El código de 7 segmentos para el "7"
retlw 7Fh ; El código de 7 segmentos para el "8"
retlw 67h ; El código de 7 segmentos para el "9"
retlw 77h ; El código de 7 segmentos para el "A"
retlw 7Ch ; El código de 7 segmentos para el "B"
retlw 39h ; El código de 7 segmentos para el "C"
retlw 5Eh ; El código de 7 segmentos para el "D"
retlw 79h ; El código de 7 segmentos para el "E"
retlw 71h ; El código de 7 segmentos para el "F"
END ; Fin del programa
Otomatik hexadesimal sayıcı uygulaması
ASM Yazılımı
;MICROCONTROLADORES PIC
;AUTOR : BRYAM HUAMANCHUMO BACA
;LABORATORIO # 01c : CONTEO ASCENDENTE HEXADECIMAL ROTATIVO
;ZONA DE DATOS ...
List p=16F84A
INCLUDE
var1 EQU 0x0E
var2 EQU 0x0F
;ZONA DE CODIGOS ...
ORG 0 ; El programa comienza en la dirección 0
Inicio
bsf STATUS,RP0 ; Acceso al Banco 1
movlw b'00000111'
movwf OPTION_REG ; Prescalar de asignado al TMR0
clrf TRISB ; Las líneas del Puerto B se configuran como salida
bcf STATUS,RP0 ; Acceso al Banco 0
clrf var1
clrf var2
Principal
movf var1,0
call Binario_a_7Segmentos ; Convierte a 7 segmentos
movwf PORTB ; Resultado se visualiza por el puerto de salida
Salto incf var2,1
btfss var2,2
goto Timer0_us
clrf var2
incf var1,1
btfss var1,4
goto Principal
clrf var1
goto Principal
;Subrutina "Timer0_us"
Timer0_us
movlw 0x00 ; TMR0_Carga
movwf TMR0 ; carga el Timer 0
bcf INTCON,T0IF ; Resetea el flag de desbordamiento del TMR0
Timer0_Rebosamiento
btfss INTCON,T0IF ; Se ha producido desbordamiento
goto Timer0_Rebosamiento ; Todavía no Repite
goto Salto
;Subrutina "Letra_a_7segemntos" ----------------
Binario_a_7Segmentos ; Tabla para display de 7 segmentos
addwf PCL,1
Tabla retlw 3Fh ; El código de 7 segmentos para el "0"
retlw 06h ; El código de 7 segmentos para el "1"
retlw 5Bh ; El código de 7 segmentos para el "2"
retlw 4Fh ; El código de 7 segmentos para el "3"
retlw 66h ; El código de 7 segmentos para el "4"
retlw 6Dh ; El código de 7 segmentos para el "5"
retlw 7Dh ; El código de 7 segmentos para el "6"
retlw 07h ; El código de 7 segmentos para el "7"
retlw 7Fh ; El código de 7 segmentos para el "8"
retlw 67h ; El código de 7 segmentos para el "9"
retlw 77h ; El código de 7 segmentos para el "A"
retlw 7Ch ; El código de 7 segmentos para el "B"
retlw 39h ; El código de 7 segmentos para el "C"
retlw 5Eh ; El código de 7 segmentos para el "D"
retlw 79h ; El código de 7 segmentos para el "E"
retlw 71h ; El código de 7 segmentos para el "F"
END
0-A-255 Binary sayıcı led göstergeli
pic basic pro ile hazırlanmış

PBP Yazılımı
'MICROCONTROLADORES PIC
'AUTOR : BRYAM HUAMANCHUMO BACA
'LABORATORIO # 01d : CONTEO DE 0 A 255 EN BINARIO
X VAR BYTE
TRISB = 0 'Salida
Inicio:
For X = 0 TO 255
PORTB = X
Pause 200
Next X
GoTo Inicio
binary-hexadesimal-sayicilar-16f84-led-display ZIP Dosyası Şifre-Pass: 320volt.com



hocam önce emeğine sağlık benim sıkıntım şu benim böyle birşeye ama buton ile 0 dan 9 a kadar saydırıp 0-9 arası bir sayıda durdurmak istiyorum bu konuda bana yardımcı olurmusunuz.
Çözümüne yardımcı olursanız çok sevinirim. Saygılarımla
https://ibb.co/7pXM8Jw