YARDIM: bu yazılımda hata nerde
Sistemin çalışma Algoritması
Bir Numaralı Röleyi Açmak Için 1453 şifresi Tuşlanır. Bir Numaralı Röleyi Kapatmak Için 1076 şifresi Tuşlanır. Iki Numaralı Röleyi Açmak Için 1571 şifresi Tuşlanır. Iki Numaralı Röleyi Kapatmak Için 1929 şifresi Tuşlanır. Sistem Ilk Programlandığında Yukarıdaki şifre Değerleriyle çalışmaktadır. Siz Bu şifreleri Aşağıdaki şekilde Değiştirebilirsiniz. Bir Numaralı Rölenin Açma şifresini 1453#yeni Bir şifre Bir Numaralı Rölenin Kapama şifresini 1071#yeni Bir şifre Iki Numaralı Rölenin Açma şifresini 1571#yeni Bir şifre Iki Numaralı Röleninb Kapama şifresini 1929#yeni Bir şifre Yani Kısaca Eski şifreyi Girip Kare Tuşuna Bastığımızda Sistem Bizden Yeni şifreyi Bekler Yeni şifrenin Geçerli Süre Zarfında Girilmesiyle Sistemin şifresi Değişir. Birdahaki şifre Değiştirme Işlemi Enson Sizin Belirlemiş Olduğunuz şifrenin Sonuna # Simgesi Eklenerek Yapılır. örneğin 1453#6666 Girdiniz Ve 1453 Olan şifreyi 6666 Olarak Değiştirdiniz. Bir Daha şifre Değiştirmek Isterseniz 6666#yeni Bir şifre şeklinde Değiştirirsiniz. Sistemin şifreleriyle Ilgili Bir Unutma Problemi Yaşadığınızda 7676* Olarak Belirlenmiş Olan Bir Master şifre Vardır. Bu şifreyi Girmenizle Sistem De Yaptığınız Tüm Değişiklikler Sıfırlanarak Bizden Almış Olduğunuz Ilk Değerlere Döner. Buradan Hareketle Tekrar Istediğiniz Değişiklikleri Yapabilirsiniz. Sistemde Yapılan Tüm Işlemler Size Bir Sesli Uyarı Ile Bildirilir. örneğin 1 Numaralı Rölenin şifresini Tuşladık şifre Doğru Ise Röle çeker Ve Beep Sesi çıkar Eğer şifre Yanlış Ise Kalın Bir Beep Sesiyle Sizi Uyarır. şifre Değiştirme Menüsüne Gelindiğinde Bir Meleodi üretir Ve Yeni şifrenin Girilmesine Mütakiben şifre Değişme Işleminin Başarılı Olması Durumunda Onay Sesi üretir. Başarısız Olması Durumunda Kalın Bir Sesle Uyarı Verir. |
Cevap: YARDIM: bu yazılımda hata nerde
PORTA=0:PORTB=0
TRISB=%11111111 'PortB.0 giriş diğerleri çıkış yapıldı. TRISA=%00000000 'A portu tamamı çıkış yapıldı. '----------------------------------------------------------------- @ DEVICE pic16F628A 'işlemci 16F628 @ DEVICE pic16F628A WDT_OFF 'Watch Dog timer açık @ DEVICE pic16F628A PWRT_ON 'Power on timer açık @ DEVICE pic16F628A PROTECT_OFF 'Kod Protek kapalı @ DEVICE pic16F628A MCLR_OFF 'MCLR pini kullanılıyor. @ DEVICE pic16F628A INTRC_OSC_NOCLKOUT 'Dahili osilatör kullanılacak '----------------------------------------------------------------- CMCON=7 '16F628 de komparatör pinleri iptal hepsi giriş çıkış '----------------------------------------------------------------- SIFRE VAR WORD RAKAM var WORD TEMP VAR WORD BASKA VAR WORD ZAMAN VAR WORD SURE VAR word SAYI VAR BYTE DURUM VAR BYTE BIRLER VAR BYTE ONLAR VAR BYTE YUZLER VAR BYTE BINLER VAR BYTE CIK VAR BIT SYMBOL CIKIS1=PORTA.1 SYMBOL CIKIS2=PORTA.2 SYMBOL CIKIS3=PORTA.3 symbol CIKIS4=PORTA.4 SYMBOL CIKIS5=PORTA.5 SYMBOL ISD =PORTA.6 SYMBOL ROLE=PORTB.7 SYMBOL VALDAT=PORTB.0 SYMBOL BUZZER=PORTA.7 '-------------------------------------------------------------------------- DATA @ 01453 PAUSE 200 CLEAR read 0SAYI:PAUSE 10 IF SAYI=$FF THEN SIFRE=1453 GOSUB SIFREYAZ endIF READ 0BINLER READ 1YUZLER READ 2ONLAR READ 3BIRLER SIFRE=BINLER*1000+YUZLER*100+ONLAR*10+BIRLER '--------------------------------------ANA-------------------------------------- BASLA: PASWORD: RAKAM=0:GOSUB SIFREAL IF CIK=1 THEN BITIR IF RAKAM=7676 THEN SIFRE=1453 GOSUB SES2 GOSUB SES1 GOSUB SES2:gosub ses1 GOSUB SIFREYAZ GOTO ROLEKONTROL ENDIF IF RAKAM=SIFRE THEN GOSUB SES2:pause 50 GOSUB SES1:pause 50 GOSUB SES1:gosub ses1 GOTO ROLEKONTROL ENDIF ROLEKONTROL: GOSUB ALBILGI IF CIK=1 THEN BITIR IF SAYI=12 THEN ACMA '# IF SAYI=11 THEN KAPAT '* gosub ses2 GOTO BASLA ACMA: GOSUB ALBILGI IF CIk=1 THEN BITIR IF SAYI=0 THEN gosub ses3 GOSUB EXIT GOTO BASLA ENDIF DURUM=PORTA IF SAYI=1 THEN IF durum.1=0 THEN GOSUB SES1 PORTA=DURUM | %00000001 goto ROLEKONTROL ENDIF ENDIF IF SAYI=2 THEN IF durum.2=0 THEN GOSUB SES1:GOSUB SES1 PORTA=DURUM | %00000010 goto ROLEKONTROL ENDIF ENDIF IF SAYI=9 THEN '#9 GOSUB SIFREAL GOSUB SES1:gosub ses2 IF CIK=1 THEN BITIR IF RAKAM=SIFRE THEN GOSUB SES1:GOSUB SES1:GOSUB SES2 GOSUB SIFREAL IF CIK=1 THEN BITIR SIFRE=RAKAM GOSUB SES1:gosub ses2 gosub SIFREYAZ ENDIF ENDIF GOTO ROLEKONTROL KAPAT: GOSUB ALBILGI IF CIK=1 THEN BITIR durum=PORTA IF SAYI=0 THEN GOSUB SES3 PORTA=DURUM & %11000000 '*0 ENDIF IF SAYI=1 THEN IF durum.1=1 THEN GOSUB SES2 PORTA=DURUM & %11111110 goto ROLEKONTROL ENDIF ENDIF IF SAYI=2 THEN IF durum.2=1 THEN GOSUB SES2:GOSUB SES2 PORTA=DURUM & %11111101 goto ROLEKONTROL ENDIF ENDIF SIFREAL: GOSUB ALBILGI IF CIK=1 THEN RETURN RAKAM=SAYI*1000 GOSUB ALBILGI IF CIK=1 THEN RETURN RAKAM=RAKAM+SAYI*100 GOSUB ALBILGI IF CIK=1 THEN RETURN RAKAM=RAKAM+SAYI*10 GOSUB ALBILGI IF CIK=1 THEN RETURN RAKAM=RAKAM+SAYI RETURN ALBILGI: SURE=0:ZAMAN=0 WHILE VALDAT=0 SURE=SURE+1 PAUSEus 270 IF SURE=65500 THEN CIK=1:RETURN ENDIF WEND SAYIAL: SAYI=0 WHILE VALDAT=1 SAYI.0=PORTA.4 SAYI.1=PORTA.3 SAYI.2=PORTA.2 SAYI.3=PORTA.1 WEND IF SAYI=10 THEN SAYI=0 RETURN SIFREYAZ:TEMP=SIFRE BINLER=TEMP DIG 3 YUZLER=TEMP DIG 2 ONLAR =TEMP DIG 1 BIRLER=TEMP DIG 0 WRITE 0BINLER:PAUSE 10 WRITE 1YUZLER:PAUSE 10 WRITE 2ONLAR :PAUSE 10 WRITE 3BIRLER:PAUSE 10 RETURN SES1: SOUND BUZZER[11012]:pause 30:RETURN SES2: SOUND BUZZER[9512] :pause 30:RETURN SES3: SOUND BUZZER[8525] :Pause 30:RETURN BITIR: GOSUB EXIT:GOTO BASLA:RETURN EXIT : SURE=0 CIK=0 RAKAM=0 LOW ROLE LOW ISD gosub ses2 gosub ses2 GOSUB SES3 GOSUB SES3 RETURN End |
Cevap: YARDIM: bu yazılımda hata nerde
SELAMLAR
Bu yazılıma son halini verdiğimde algoritmanın şu şekilde olmasını planlıyorum. 1453 ilk açma şifresi 1numaralı röle için 1071 ilk kapama şifresi 1numaralı röle için 1453#yeni şifre 1numaralı röle için açma şifresi değişti 1071#yeni şifre 1numaralı röle için kapama şifresi değişti aynı işlemi 2numaralı röle içinde farklı şifrelerle yapmak istiyorum. Yardımcı olacak arkadaşlara teşekkürler. benim sadeleştirdiğim yazılım.(Bu haliyle çalışmıyor.) |
Bütün Zaman Ayarları WEZ +3.5 olarak düzenlenmiştir. şu Anki Saat: 09:43 PM . |