Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

PIC ayarları.

Başlatan Melih1802, 16 Kasım 2016, 19:54:12

Melih1802

Yazdığım program kendi similasyonunda ( görsel değil ) çalışıyor. Programı derleyip Proteusa attığımda çalışmıyor.

Ayarları yaparken bir hata mı yapıyorum.


apsis

4Mhz kullanmışsın XT seç Power-on-Timer ı aç. Eğer PORTB giriş olarak kullanılıyor ise ve sen pull-down bağlantı yaptıysan ya da dışardan pull-up yaptıysan  PORTB PULL -UP ı kapat. Ama genelde proteusta config ayarları yapılmasa da çalışıyor.
"Makineye Beyin" MEKATRONİK

RaMu

Isis te MCU ya çift tıklayınca çıkan ayarlarda neler yaptın hocam,
birde isis şemada MCLR +5V a bağlı mı?
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Melih1802


apsis

Brown out detecti de kapat dene. Yazdığın kod ve şemayı da buraya koyarsan daha iyi bir şekilde yardımcı olabiliriz.
"Makineye Beyin" MEKATRONİK

Melih1802

#5
Kod ASM :) en altta şeması var.

Similasyon çalıştı ( söylediklerinizi yapınca ) fakat umduğum gibi değil. Yapmak istediğim RA.0 Butonuna basıldığında sayıcı bir artacak.
Similasyonda tüm seven segment ler aynı anda yanıp aynı rakamı gösteriyor. Sanırım ISIS sorunu olabilir.


PROCESSOR 16F628

	INCLUDE P16F628.INC

	RADIX DEC


	__IDLOCS H'0100'

	__CONFIG _CP_OFF & _PWRTE_OFF & _WDT_OFF & _BODEN_OFF & _HS_OSC & _LVP_OFF & _MCLRE_ON

; Diverses

ZERO	EQU Z	; ZERO-Flag
CARRY	 EQU C	; CARRY-Flag


; Variable

ZR1	= 32	; located in Bank 0
ZR1_FD	= 33	; located in Bank 0
S0	= 34	; located in Bank 0
ZR2	= 35	; located in Bank 0
ZR2_FD	= 36	; located in Bank 0
S1	= 37	; located in Bank 0
ZR3	= 38	; located in Bank 0
ZR3_FD	= 39	; located in Bank 0
MF1	= 40	; located in Bank 0
MF1_HI	= 41	; located in Bank 0
MF1_FD	= 42	; located in Bank 0
S2	= 43	; located in Bank 0
ZR4	= 44	; located in Bank 0
ZR4_FD	= 45	; located in Bank 0
TR1	= 46	; located in Bank 0
TR1_HI	= 47	; located in Bank 0
RAM	= 48	; located in Bank 0
SYS_WSAV	= 112	; located in Bank 0, 1, 2, 3
SYS_SSAV	= 113	; located in Bank 0, 1, 2, 3

	ERRORLEVEL -302	; disable warning (Bankswitching)
	ERRORLEVEL -306	; disable warning (Pageswitching)

;****************************************
;Programmanfang
;****************************************

	ORG 0

	CLRF STATUS	; switch to RAM-Bank 0
	GOTO SYS_INIT
	NOP
	NOP

;****************************************
;Interrupt-Adress
;****************************************

	MOVWF SYS_WSAV	; save register
	SWAPF STATUS,W
	CLRF STATUS	; bank 0
	MOVWF SYS_SSAV

	BCF INTCON,T0IF	; Interrupt quitieren

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	INCFSZ MF1,F
	GOTO SYS_INT_LABEL_0
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	INCF MF1_HI,F

SYS_INT_LABEL_0
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	INCFSZ TR1,F
	GOTO SYS_INT_LABEL_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	INCF TR1_HI,F

SYS_INT_LABEL_1

EXITINT

	SWAPF SYS_SSAV,W	; Register zurück
	MOVWF STATUS
	SWAPF SYS_WSAV,F
	SWAPF SYS_WSAV,W

	RETFIE


;****************************************
; Subroutines
;****************************************


;****************************************
;Initialisierung
;****************************************


SYS_INIT

	MOVLW B'00100000'
	MOVWF INTCON

; Set output before direction

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	MOVLW B'00000000'
	MOVWF PORTA

	MOVLW B'00000000'
	MOVWF PORTB

	MOVLW 15
	BSF STATUS,RP0	; Bank 1
	BCF STATUS,RP1	; Bank 1
	MOVWF OPTION_REG


; Richtung setzen

	MOVLW B'11111111'
	MOVWF TRISA

	MOVLW B'11110000'
	MOVWF TRISB

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	MOVLW 7	; Comparators off
	MOVWF CMCON
; init vars


; Clear RAM

	BCF STATUS,IRP
	MOVLW 32
	MOVWF FSR
CR1
	CLRF INDF
	INCF FSR,F
	BTFSS FSR,7
	GOTO CR1
	BSF FSR,5
CR2
	CLRF INDF
	INCF FSR,F
	MOVLW H'F0'
	SUBWF FSR,W
	BTFSS STATUS,ZERO
	GOTO CR2
	BSF STATUS,IRP
	MOVLW 32
	MOVWF FSR
CR3
	CLRF INDF
	INCF FSR,F
	MOVLW H'50'
	SUBWF FSR,W
	BTFSS STATUS,ZERO
	GOTO CR3


	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	CLRF TMR0
	BCF INTCON,T0IF
	BSF INTCON,GIE	; Interrupt freigeben

;**********************************
;******* Haupt-Programm ***********
;**********************************

MAIN

;***************************************************
; Zähler -> ZR1
;***************************************************

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,0	; Reset ?
	GOTO LABEL_ZR1_COUNT
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	CLRF ZR1
	GOTO LABEL_ZR1_SETOUT

LABEL_ZR1_COUNT

; Test auf positive Flanke

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSC ZR1_FD,0
	GOTO LABEL_ZR1_SETFD
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,2
	GOTO LABEL_ZR1_SETFD

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	INCF ZR1,F

LABEL_ZR1_SETOUT

; Output Q0

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR1,0
	GOTO LABEL_ZR1_SETOUT0
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S0,3
	GOTO LABEL_ZR1_SETOUT0_END
LABEL_ZR1_SETOUT0
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S0,3
LABEL_ZR1_SETOUT0_END

; Output Q1

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR1,1
	GOTO LABEL_ZR1_SETOUT1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S0,4
	GOTO LABEL_ZR1_SETOUT1_END
LABEL_ZR1_SETOUT1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S0,4
LABEL_ZR1_SETOUT1_END

; Output Q2

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR1,2
	GOTO LABEL_ZR1_SETOUT2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S0,5
	GOTO LABEL_ZR1_SETOUT2_END
LABEL_ZR1_SETOUT2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S0,5
LABEL_ZR1_SETOUT2_END

; Output Q3

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR1,3
	GOTO LABEL_ZR1_SETOUT3
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S0,6
	GOTO LABEL_ZR1_SETOUT3_END
LABEL_ZR1_SETOUT3
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S0,6
LABEL_ZR1_SETOUT3_END

LABEL_ZR1_SETFD

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,2
	GOTO LABEL_ZR1_SETFD2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF ZR1_FD,0
	GOTO LABEL_ZR1_END
LABEL_ZR1_SETFD2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF ZR1_FD,0
LABEL_ZR1_END

;***************************************************
; Zähler -> ZR2
;***************************************************

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,1	; Reset ?
	GOTO LABEL_ZR2_COUNT
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	CLRF ZR2
	GOTO LABEL_ZR2_SETOUT

LABEL_ZR2_COUNT

; Test auf positive Flanke

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSC ZR2_FD,0
	GOTO LABEL_ZR2_SETFD
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,0
	GOTO LABEL_ZR2_SETFD

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	INCF ZR2,F

LABEL_ZR2_SETOUT

; Output Q0

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR2,0
	GOTO LABEL_ZR2_SETOUT0
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S0,7
	GOTO LABEL_ZR2_SETOUT0_END
LABEL_ZR2_SETOUT0
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S0,7
LABEL_ZR2_SETOUT0_END

; Output Q1

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR2,1
	GOTO LABEL_ZR2_SETOUT1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S1,0
	GOTO LABEL_ZR2_SETOUT1_END
LABEL_ZR2_SETOUT1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S1,0
LABEL_ZR2_SETOUT1_END

; Output Q2

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR2,2
	GOTO LABEL_ZR2_SETOUT2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S1,1
	GOTO LABEL_ZR2_SETOUT2_END
LABEL_ZR2_SETOUT2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S1,1
LABEL_ZR2_SETOUT2_END

; Output Q3

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR2,3
	GOTO LABEL_ZR2_SETOUT3
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S1,2
	GOTO LABEL_ZR2_SETOUT3_END
LABEL_ZR2_SETOUT3
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S1,2
LABEL_ZR2_SETOUT3_END

LABEL_ZR2_SETFD

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,0
	GOTO LABEL_ZR2_SETFD2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF ZR2_FD,0
	GOTO LABEL_ZR2_END
LABEL_ZR2_SETFD2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF ZR2_FD,0
LABEL_ZR2_END

;***************************************************
; Zähler -> ZR3
;***************************************************

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,2	; Reset ?
	GOTO LABEL_ZR3_COUNT
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	CLRF ZR3
	GOTO LABEL_ZR3_SETOUT

LABEL_ZR3_COUNT

; Test auf positive Flanke

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSC ZR3_FD,0
	GOTO LABEL_ZR3_SETFD
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,1
	GOTO LABEL_ZR3_SETFD

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	INCF ZR3,F

LABEL_ZR3_SETOUT

; Output Q0

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR3,0
	GOTO LABEL_ZR3_SETOUT0
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S1,3
	GOTO LABEL_ZR3_SETOUT0_END
LABEL_ZR3_SETOUT0
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S1,3
LABEL_ZR3_SETOUT0_END

; Output Q1

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR3,1
	GOTO LABEL_ZR3_SETOUT1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S1,4
	GOTO LABEL_ZR3_SETOUT1_END
LABEL_ZR3_SETOUT1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S1,4
LABEL_ZR3_SETOUT1_END

; Output Q2

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR3,2
	GOTO LABEL_ZR3_SETOUT2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S1,5
	GOTO LABEL_ZR3_SETOUT2_END
LABEL_ZR3_SETOUT2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S1,5
LABEL_ZR3_SETOUT2_END

; Output Q3

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR3,3
	GOTO LABEL_ZR3_SETOUT3
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S1,6
	GOTO LABEL_ZR3_SETOUT3_END
LABEL_ZR3_SETOUT3
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S1,6
LABEL_ZR3_SETOUT3_END

LABEL_ZR3_SETFD

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,1
	GOTO LABEL_ZR3_SETFD2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF ZR3_FD,0
	GOTO LABEL_ZR3_END
LABEL_ZR3_SETFD2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF ZR3_FD,0
LABEL_ZR3_END

;***************************************************
; UND - Gatter -> LG1
;***************************************************

LABEL_LG1_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,4
	GOTO LABEL_LG1_FALSE
LABEL_LG1_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,6
	GOTO LABEL_LG1_FALSE

LABEL_LG1_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S0,0
	GOTO LABEL_LG1_ENDE
LABEL_LG1_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S0,0
LABEL_LG1_ENDE
;***************************************************
; UND - Gatter -> LG2
;***************************************************

LABEL_LG2_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,0
	GOTO LABEL_LG2_FALSE
LABEL_LG2_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,1
	GOTO LABEL_LG2_FALSE

LABEL_LG2_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S0,1
	GOTO LABEL_LG2_ENDE
LABEL_LG2_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S0,1
LABEL_LG2_ENDE
;***************************************************
; UND - Gatter -> LG3
;***************************************************

LABEL_LG3_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,4
	GOTO LABEL_LG3_FALSE
LABEL_LG3_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,6
	GOTO LABEL_LG3_FALSE

LABEL_LG3_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S0,2
	GOTO LABEL_LG3_ENDE
LABEL_LG3_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S0,2
LABEL_LG3_ENDE
;***************************************************
; UND - Gatter -> LG4
;***************************************************

LABEL_LG4_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,3
	GOTO LABEL_LG4_FALSE
LABEL_LG4_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,7
	GOTO LABEL_LG4_FALSE

LABEL_LG4_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF PORTB,0
	GOTO LABEL_LG4_ENDE
LABEL_LG4_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF PORTB,0
LABEL_LG4_ENDE
;***************************************************
; UND - Gatter -> LG5
;***************************************************

LABEL_LG5_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,4
	GOTO LABEL_LG5_FALSE
LABEL_LG5_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,7
	GOTO LABEL_LG5_FALSE

LABEL_LG5_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF PORTB,1
	GOTO LABEL_LG5_ENDE
LABEL_LG5_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF PORTB,1
LABEL_LG5_ENDE
;***************************************************
; UND - Gatter -> LG6
;***************************************************

LABEL_LG6_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,5
	GOTO LABEL_LG6_FALSE
LABEL_LG6_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,7
	GOTO LABEL_LG6_FALSE

LABEL_LG6_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF PORTB,2
	GOTO LABEL_LG6_ENDE
LABEL_LG6_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF PORTB,2
LABEL_LG6_ENDE
;***************************************************
; UND - Gatter -> LG7
;***************************************************

LABEL_LG7_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,6
	GOTO LABEL_LG7_FALSE
LABEL_LG7_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,7
	GOTO LABEL_LG7_FALSE

LABEL_LG7_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF PORTB,3
	GOTO LABEL_LG7_ENDE
LABEL_LG7_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF PORTB,3
LABEL_LG7_ENDE
;***************************************************
; UND - Gatter -> LG8
;***************************************************

LABEL_LG8_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S0,7
	GOTO LABEL_LG8_FALSE
LABEL_LG8_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,0
	GOTO LABEL_LG8_FALSE

LABEL_LG8_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF PORTB,0
	GOTO LABEL_LG8_ENDE
LABEL_LG8_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF PORTB,0
LABEL_LG8_ENDE
;***************************************************
; UND - Gatter -> LG9
;***************************************************

LABEL_LG9_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,0
	GOTO LABEL_LG9_FALSE
LABEL_LG9_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,0
	GOTO LABEL_LG9_FALSE

LABEL_LG9_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF PORTB,1
	GOTO LABEL_LG9_ENDE
LABEL_LG9_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF PORTB,1
LABEL_LG9_ENDE
;***************************************************
; UND - Gatter -> LG10
;***************************************************

LABEL_LG10_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,1
	GOTO LABEL_LG10_FALSE
LABEL_LG10_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,0
	GOTO LABEL_LG10_FALSE

LABEL_LG10_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF PORTB,2
	GOTO LABEL_LG10_ENDE
LABEL_LG10_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF PORTB,2
LABEL_LG10_ENDE
;***************************************************
; UND - Gatter -> LG11
;***************************************************

LABEL_LG11_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,2
	GOTO LABEL_LG11_FALSE
LABEL_LG11_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,0
	GOTO LABEL_LG11_FALSE

LABEL_LG11_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF PORTB,3
	GOTO LABEL_LG11_ENDE
LABEL_LG11_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF PORTB,3
LABEL_LG11_ENDE
;***************************************************
; UND - Gatter -> LG12
;***************************************************

LABEL_LG12_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,3
	GOTO LABEL_LG12_FALSE
LABEL_LG12_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,1
	GOTO LABEL_LG12_FALSE

LABEL_LG12_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF PORTB,0
	GOTO LABEL_LG12_ENDE
LABEL_LG12_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF PORTB,0
LABEL_LG12_ENDE
;***************************************************
; UND - Gatter -> LG13
;***************************************************

LABEL_LG13_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,4
	GOTO LABEL_LG13_FALSE
LABEL_LG13_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,1
	GOTO LABEL_LG13_FALSE

LABEL_LG13_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF PORTB,1
	GOTO LABEL_LG13_ENDE
LABEL_LG13_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF PORTB,1
LABEL_LG13_ENDE
;***************************************************
; UND - Gatter -> LG14
;***************************************************

LABEL_LG14_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,5
	GOTO LABEL_LG14_FALSE
LABEL_LG14_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,1
	GOTO LABEL_LG14_FALSE

LABEL_LG14_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF PORTB,2
	GOTO LABEL_LG14_ENDE
LABEL_LG14_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF PORTB,2
LABEL_LG14_ENDE
;***************************************************
; UND - Gatter -> LG15
;***************************************************

LABEL_LG15_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S1,6
	GOTO LABEL_LG15_FALSE
LABEL_LG15_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,1
	GOTO LABEL_LG15_FALSE

LABEL_LG15_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF PORTB,3
	GOTO LABEL_LG15_ENDE
LABEL_LG15_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF PORTB,3
LABEL_LG15_ENDE
;***************************************************
; Mono-Flop -> MF1
;***************************************************

; Läuft der Impuls ?

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSC MF1_FD,1
	GOTO LABEL_MF1_CHKTIME

; Test auf positive Flanke

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSC MF1_FD,0
	GOTO LABEL_MF1_SETFD
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS PORTA,0
	GOTO LABEL_MF1_SETFD


LABEL_MF1_RESET

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	CLRF MF1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	CLRF MF1_HI
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF MF1_FD,1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S2,2

LABEL_MF1_CHKTIME

	MOVLW 0
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	SUBWF MF1_HI,W
	BTFSS STATUS,ZERO
	GOTO LABEL_MF1_CHECK
	MOVLW 78
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	SUBWF MF1,W
LABEL_MF1_CHECK
	BTFSS STATUS,CARRY
	GOTO LABEL_MF1_SETFD
LABEL_MF1_TO

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF MF1_FD,1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S2,2

LABEL_MF1_SETFD

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS PORTA,0
	GOTO LABEL_MF1_CLR
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF MF1_FD,0
	GOTO LABEL_MF1_ENDE
LABEL_MF1_CLR
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF MF1_FD,0

LABEL_MF1_ENDE

;***************************************************
; Zähler -> ZR4
;***************************************************

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,6	; Reset ?
	GOTO LABEL_ZR4_COUNT
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	CLRF ZR4
	GOTO LABEL_ZR4_SETOUT

LABEL_ZR4_COUNT

; Test auf positive Flanke

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSC ZR4_FD,0
	GOTO LABEL_ZR4_SETFD
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,7
	GOTO LABEL_ZR4_SETFD

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	INCF ZR4,F

LABEL_ZR4_SETOUT

; Output Q0

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR4,0
	GOTO LABEL_ZR4_SETOUT0
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S2,3
	GOTO LABEL_ZR4_SETOUT0_END
LABEL_ZR4_SETOUT0
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S2,3
LABEL_ZR4_SETOUT0_END

; Output Q1

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR4,1
	GOTO LABEL_ZR4_SETOUT1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S2,4
	GOTO LABEL_ZR4_SETOUT1_END
LABEL_ZR4_SETOUT1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S2,4
LABEL_ZR4_SETOUT1_END

; Output Q2

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS ZR4,2
	GOTO LABEL_ZR4_SETOUT2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S2,5
	GOTO LABEL_ZR4_SETOUT2_END
LABEL_ZR4_SETOUT2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S2,5
LABEL_ZR4_SETOUT2_END

LABEL_ZR4_SETFD

	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,7
	GOTO LABEL_ZR4_SETFD2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF ZR4_FD,0
	GOTO LABEL_ZR4_END
LABEL_ZR4_SETFD2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF ZR4_FD,0
LABEL_ZR4_END

;***************************************************
; UND - Gatter -> LG16
;***************************************************

LABEL_LG16_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSC S2,3
	GOTO LABEL_LG16_FALSE
LABEL_LG16_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSC S2,4
	GOTO LABEL_LG16_FALSE
LABEL_LG16_3
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSC S2,5
	GOTO LABEL_LG16_FALSE

LABEL_LG16_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S1,7
	GOTO LABEL_LG16_ENDE
LABEL_LG16_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S1,7
LABEL_LG16_ENDE
;***************************************************
; UND - Gatter -> LG17
;***************************************************

LABEL_LG17_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,3
	GOTO LABEL_LG17_FALSE
LABEL_LG17_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSC S2,4
	GOTO LABEL_LG17_FALSE

LABEL_LG17_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S2,0
	GOTO LABEL_LG17_ENDE
LABEL_LG17_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S2,0
LABEL_LG17_ENDE
;***************************************************
; UND - Gatter -> LG18
;***************************************************

LABEL_LG18_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSC S2,3
	GOTO LABEL_LG18_FALSE
LABEL_LG18_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,4
	GOTO LABEL_LG18_FALSE

LABEL_LG18_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S2,1
	GOTO LABEL_LG18_ENDE
LABEL_LG18_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S2,1
LABEL_LG18_ENDE
;***************************************************
; UND - Gatter -> LG19
;***************************************************

LABEL_LG19_1
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,3
	GOTO LABEL_LG19_FALSE
LABEL_LG19_2
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS S2,4
	GOTO LABEL_LG19_FALSE
LABEL_LG19_3
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSC S2,5
	GOTO LABEL_LG19_FALSE

LABEL_LG19_TRUE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BSF S2,6
	GOTO LABEL_LG19_ENDE
LABEL_LG19_FALSE
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BCF S2,6
LABEL_LG19_ENDE
;***************************************************
; Timer -> TR1
;***************************************************

	MOVLW 0	; Test auf >=
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	SUBWF TR1_HI,W	;F-W -> W
	BTFSS STATUS,ZERO
	GOTO LABEL_TR1_CHECK
	MOVLW 4
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	SUBWF TR1,W	;F-W -> W
LABEL_TR1_CHECK
	BTFSS STATUS,CARRY
	GOTO LABEL_TR1_ENDE

LABEL_TR1_RESET
	MOVLW 0	; Test auf >=
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	SUBWF TR1_HI,F	;F-W -> F
	MOVLW 4
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	SUBWF TR1,F	;F-W -> F
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSS STATUS,CARRY
	DECF TR1_HI,F

LABEL_TR1_SET	; toggel output
	BCF STATUS,RP0	; Bank 0
	BCF STATUS,RP1	; Bank 0
	BTFSC S2,7
	GOTO LABEL_TR1_CLR
	BSF S2,7
	GOTO LABEL_TR1_ENDE
LABEL_TR1_CLR
	BCF S2,7
LABEL_TR1_ENDE

;****************************************

	GOTO MAIN


	END





mehmet

123 gibi sabit bir sayı görülüyor mu?
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

RaMu

Isis te 7 segment taramasını düzgün görmek zor,
bilgisayar için çok işlem gücü gerektirir.
Ancak, MCU ya hex yerine .cof dosyasını yükleyip,
isis te pause tuşu ile simulasyonu başlatıp,
kodu breakpoint lerle adım adım çalıştırarak,
aşama aşama 7 segmentlerde nelerin görüneceği gözlemlenebilir,
gerçek devreyi kurma pekta zor olmaz,
en azından breadboarda devreyi kurun olsun bitsin bence.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Melih1802

Sayılar görünüyor fakat 123 olması gerekirken 111 görünüyor butonu basıp bir arttırınca 222 görünüyor,  sorunun ISIS kaynaklı olduğu bariz.

@RaMu öğrenmek adına bir çok deneme yapıyorum. Hal böyleyken devre kur kaldır zor ve mantıksız forumdan bir arkadaşımız deney kartı teklifinde bulundu oldukçada gelişkin bir kart.  Bu kart ile deneylerimi hızlı bir şekilde gerçekleştirebilirim.

fahri-

Tarama hızını düşürerek taramayı ağır çekimde görebilirsiniz. Program doğru çalışıyor mu anlarsınız. Mesela tarama hızını 1 hz yapın.

mehmet

Bir de ikinci displaya sayıyı göndermeden once
birinci displayın ortak ucun kapatmak lazım.
Bunun kontrolü sizde mi bilemiyorum? Sarkma,
gölge yapıyor olabilir diye düşünüyorum...

Bir de ortak uçların dürümünü farklı bir porttan
deneyebilirsiniz...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

OG

#11
Hocam asm ile başlamışsın, iyidir ama vakti az olanı da çabuk bıktırır.

Kodlar ve hex altta ve tümü dosya olarak ekte, isis dahil (4511'e gerek yok)

Device 16F628A

    Config BOREN_OFF, CP_ON, DATA_CP_OFF, PWRTE_ON, WDT_ON, LVP_OFF, MCLRE_OFF, INTRC_OSC_NOCLKOUT
    Declare Xtal 4 
    
    All_Digital = TRUE

    PORTA = 0
    PORTB = 0    
    TRISA=%00010000
    TRISB=%10000000
    PORTA = 0
    PORTB = 0
    
    CMCON=7

    OPTION_REG=%00001111
    INTCON=0

    
    Dim sayim_deger As Word 
    Dim disp_no As Byte 
    Dim SEGMENT As Byte
    Dim basili_buton As Byte
    Dim basili_sure As Word
    Dim basili_sure_max As Word
    
    Dim karartma As Bit
    
    Dim buton_UP As PORTB.7 
    Dim buton_DOWN As PORTA.4

''''''''' 
    basili_buton = 0
    karartma = 1            ''' lüzumsuz displeyler yanmasın 
    basili_sure_max = 70    ''' 70ms basılı ise basılı kabul etsin, buton titreşim  
    
    sayim_deger=0

 
BASLA: 
    
    For disp_no = 0 To 3
    
        ''' Önceden basılmış buton yoksa
        If basili_buton = 0 Then
            ''' Yine basılı olan yoksa
            If buton_UP = 1 Then
                If buton_DOWN = 1 Then
                    basili_sure = 0
                    GoTo goster
                EndIf
            EndIf
            
            ''' iki buton birden basılmışsa, kabul edilmez
            If buton_UP = 0 Then
                If buton_DOWN = 0 Then
                    basili_sure = 0
                    GoTo goster
                EndIf
            EndIf
            
            '''' ilk basılan UP butonu
            If buton_UP = 0 Then
                basili_buton.0 = 1              ''' UP buton işaretçisi
                basili_sure = basili_sure + 1
                GoTo goster
            EndIf 
            
            '''' ilk basılan DOWN butonu
            If buton_DOWN = 0 Then
                basili_buton.1 = 1              ''' DOWN buton işaretçisi
                basili_sure = basili_sure + 1
                GoTo goster
            EndIf            

            ''' önceden basılı olan bırakılmış
            basili_buton = 0
            basili_sure = 0
            GoTo goster            
            
        Else                    '''' ÖNCEDEN basılı buton varsa
            ''' iki buton birden basılamaz
            If buton_UP = 0 Then
                If buton_DOWN = 0 Then
                    basili_buton = 0        ''' işaretçiyi sil
                    basili_sure = 0
                    GoTo goster
                EndIf
            EndIf
            
            If basili_buton.0 = 1 Then      '''onceden basılı olan UP ise
                If buton_DOWN = 0 Then      ''' bırakılmadan down basıldı ise            
                    basili_buton = 0        ''' işaretçiyi sil                    
                    basili_sure = 0 
                    GoTo goster
                EndIf
                
                If buton_UP = 0 Then        ''' aynı buton  basılmaya devam ediyorsa
                    basili_sure = basili_sure + 1
                    If basili_sure > basili_sure_max Then
                        basili_sure = 0
                        sayim_deger = sayim_deger + 1
                        If sayim_deger > 9999 Then sayim_deger = 9999
                    EndIf
                    GoTo goster
                EndIf
                
                ''' önceden basılı olan bırakılmış
                basili_buton = 0
                basili_sure = 0
                GoTo goster
            EndIf

            
            If basili_buton.1 = 1 Then      '''onceden basılı olan DOWN ise
                If buton_UP = 0 Then      ''' bırakılmadan up basıldı ise            
                    basili_buton = 0        ''' işaretçiyi sil                    
                    basili_sure = 0 
                    GoTo goster
                EndIf
                
                If buton_DOWN = 0 Then        ''' aynı buton  basılmaya devam ediyorsa
                    basili_sure = basili_sure + 1
                    If basili_sure > basili_sure_max Then
                        basili_sure = 0
                        If sayim_deger > 0 Then
                            sayim_deger = sayim_deger - 1
                        Else
                            sayim_deger = 0
                        EndIf
                    EndIf
                    GoTo goster
                EndIf
                
                ''' önceden basılı olan bırakılmış
                basili_buton = 0
                basili_sure = 0
                GoTo goster
            EndIf

            ''' basılı olan yok
            basili_buton = 0
            basili_sure = 0
            GoTo goster            

        EndIf 
    
goster:   
    SEGMENT = Dig sayim_deger, disp_no          ''' sıradaki digitin degerini al
    
    '''' KARARTMA VARSA
    If karartma = 1 Then
        If sayim_deger < 10 Then
            If disp_no > 0 Then SEGMENT = 10    ''' BORTB 0 değeri alıp yakmasın
        EndIf
        
        If sayim_deger < 100 Then
            If disp_no > 1 Then SEGMENT = 10    ''' BORTB 0 değeri alıp yakmasın
        EndIf
        
        If sayim_deger < 1000 Then
            If disp_no > 2 Then SEGMENT = 10    ''' BORTB 0 değeri alıp yakmasın
        EndIf
    EndIf
    '''''''''''''''''''''''    
    
    PORTA = 0   
    PORTB = LookUp SEGMENT, [63,6,91,79,102,109,125,7,127,111,0] 
    PORTA = LookUp disp_no, [1,2,4,8]
    
    DelayMS 1
    Clrwdt
    
    Next  
GoTo BASLA


:100000000000000000005028A301A200FF30A2075A
:10001000031CA307031C4C280330A100DF3012206F
:100020000628A101E83EA000A109FC30031C1B2802
:10003000A00703181828A0070000A10F18282018EF
:100040002128A01C2528000025280800013EA70023
:100050000A30A200A3013020A70B2B282408080097
:10006000A501A4011030A600210DA40DA50D2208A4
:10007000A4022308031C230FA50203184628220804
:10008000A40723080318230FA5070310A00DA10D33
:10009000A60B3428200808008313831203130800DA
:1000A000830107309F00850186011030831685008B
:1000B0008030860083128501860107309F000F3053
:1000C000831681008B018312AC013114B0014630DC
:1000D000AF00A901A801AA0104302A0203185E2971
:1000E000AC08031D9428861F7A28051E7A28AE01C5
:1000F000AD010229861B8128051A8128AE01AD01B8
:100100000229861B88282C14AD0A0319AE0A02297D
:10011000051A8F28AC14AD0A0319AE0A0229AC01E6
:10012000AE01AD0102290229861B9C28051A9C28D4
:10013000AC01AE01AD0102292C1CCF28051AA42860
:10014000AC01AE01AD010229861BCB28AD0A031913
:10015000AE0A2E083002031CB328031DCA282D083E
:100160002F020318CA2883120313AE01AD01A80A97
:100170000319A90A27302902031CCA28031DC42811
:1001800010302802031CCA28273083120313A90049
:100190000F30A8000229AC01AE01AD010229AC1C50
:1001A000FE28861BD728AC01AE01AD010229051A35
:1001B000FA28AD0A0319AE0A2E083002031CE628FD
:1001C000031DF9282D082F020318F92883120313A1
:1001D000AE01AD01A808031DF028A9080319F728EE
:1001E00083120313A803280A0319A903F928A901F4
:1001F000A8010229AC01AE01AD010229AC01AE019A
:10020000AD0102292908A1002808A0002A082620FB
:10021000AB00311C3129A908031D17290A30280217
:1002200003181729AA08031917290A30AB00A908CF
:10023000031D2429643028020318242902302A02CD
:10024000031C24290A30AB0003302902E8300319CB
:1002500028020318312903302A02031C31290A30ED
:10026000AB0085012B080A3C031C48293921860074
:10027000482901308A002B0882073F3406345B345A
:100280004F3466346D347D3407347F346F3400343A
:100290002A08033C031C57294F21850057290130A8
:1002A0008A002A08820701340234043408340130F9
:1002B000042064000130AA07031C6C286B285F2906
:02400E00141F7D
:00000001FF
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Melih1802

ASM bilmiyorum,  kullandığım program PARSIC görsel programlama ardından ASM çıktısı veriyor,  program istenince mecburen ASM verdim.

Tarama hızını düşürmek iyi fikir.  Deneyeceğim.