DEVICE=16F84A CONFIG XT_OSC,WDT_OFF,PWRTE_OFF,CP_OFF XTAL=4 SYMBOL DO=PORTA.4 SYMBOL CS=PORTB.2 SYMBOL CLK=PORTA.3 DIM VOLTAJ AS WORD DIM SAYI AS BYTE DIM RAKAM AS BYTE DIM BRAKAM AS BYTE DIM ORAKAM AS BYTE DIM YRAKAM AS BYTE DIM SAYAC AS BYTE DIM KONTROL AS BYTE KONTROL=1 SAYAC=0 OPTION_REG=%01010101 INTCON=%10100000 ON INTERRUPT GOTO KESME TRISA=%11110000 TRISB=%00000000 PORTB=0 PORTA=0 ANA_DONGU: CALL RAKAM_BULMA CALL SAYI_YAZMA GOTO ANA_DONGU DISABLE END SAYI_YAZMA: PORTA.0=0 PORTA.2=1 RAKAM=BRAKAM GOSUB RAKAMBUL PORTA.2=0 PORTA.1=1 RAKAM=ORAKAM GOSUB RAKAMBUL PORTA.1=0 PORTA.0=1 RAKAM=YRAKAM GOSUB RAKAMBUL RETURN RAKAMBUL: IF RAKAM=0 THEN GOSUB SIFIR IF RAKAM=1 THEN GOSUB BIR IF RAKAM=2 THEN GOSUB IKI IF RAKAM=3 THEN GOSUB UC IF RAKAM=4 THEN GOSUB DORT IF RAKAM=5 THEN GOSUB BES IF RAKAM=6 THEN GOSUB ALTI IF RAKAM=7 THEN GOSUB YEDI IF RAKAM=8 THEN GOSUB SEKIZ IF RAKAM=9 THEN GOSUB DOKUZ RETURN SIFIR: PORTB=%10111111 DELAYMS 5 RETURN BIR: PORTB=%00001101 DELAYMS 5 RETURN IKI: PORTB=%01110111 DELAYMS 5 RETURN UC: PORTB=%01101111 DELAYMS 5 RETURN DORT: PORTB=%11001101 DELAYMS 5 RETURN BES: PORTB=%11101110 DELAYMS 5 RETURN ALTI: PORTB=%11111110 DELAYMS 5 RETURN YEDI: PORTB=%00001111 DELAYMS 5 RETURN SEKIZ: PORTB=%11111111 DELAYMS 5 RETURN DOKUZ: PORTB=%11101111 DELAYMS 10 RETURN RAKAM_BULMA: SAYI=VOLTAJ BRAKAM=SAYI/10 'BIRLER BAS.NIN BULUNMASI BRAKAM=BRAKAM*10 BRAKAM=SAYI-BRAKAM ORAKAM=SAYI/100 'ONLAR BAS.NIN BULUNMASI ORAKAM=ORAKAM*100 ORAKAM=SAYI-ORAKAM ORAKAM=ORAKAM/10 YRAKAM=SAYI/100 'YUZLER BAS.NIN BULUNMASI RETURN CLOCK: DELAYMS 0.1 CLK=1 DELAYMS 0.1 CLK=0 RETURN KESME: SAYAC=SAYAC+1 IF SAYAC<60 THEN GOTO KESME_CIKIS SAYAC=0 DO=1 CS=0 CALL CLOCK CALL CLOCK VOLTAJ.7=DO DO=1 CALL CLOCK VOLTAJ.6=DO DO=1 CALL CLOCK VOLTAJ.5=DO DO=1 CALL CLOCK VOLTAJ.4=DO DO=1 CALL CLOCK VOLTAJ.3=DO DO=1 CALL CLOCK VOLTAJ.2=DO DO=1 CALL CLOCK VOLTAJ.1=DO DO=1 CALL CLOCK VOLTAJ.0=DO CS=1 KESME_CIKIS: INTCON.2=0 RESUME END