pcbway

acil 16f84 kod yardım

Başlatan deryha, 30 Temmuz 2011, 12:43:39

deryha

arkadaslar kod yazmada yenıyım o yuzden basıt bır kod hazırladım mantık su farklı pinler 1 oldugu zaman led farklı surelerde yanıcak fakat bır turlu ısısde sımule edemedım hataları bulup duzeltırsenız sevınırım bıde sızden sema rıca edıorm belkı baglantıda hatam olmustur :(
KOD:
\'****************************************************************
\'*  Name    : UNTITLED.BAS                                      *
\'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
\'*  Notice  : Copyright (c) 2011 [select VIEW...EDITOR OPTIONS] *
\'*          : All Rights Reserved                               *
\'*  Date    : 29.07.2011                                        *
\'*  Version : 1.0                                               *
\'*  Notes   :                                                   *
\'*          :                                                   *
\'****************************************************************
 INPUT PORTB.7
 INPUT PORTB.6
 INPUT PORTB.5
 INPUT PORTB.4
 INPUT PORTB.3
 INPUT PORTB.2
 INPUT PORTB.1
 OUTPUT PORTA.3

KONTROL:
 \'SEVİYE1
 if PORTB.7= 1 then
     high PORTA.3
     PAUSE 500
     LOW PORTA.3
     PAUSE 1000   
     ENDIF
     GOTO KONTROL
\'SEVİYE2     
 IF PORTB.6= 1 THEN
    high PORTA.3
    PAUSE 750
    lOW PORTA.3
    PAUSE 1000
    ENDIF
    GOTO KONTROL
\'SEVİYE3
 IF PORTB.5= 1 THEN
    HIGH PORTA.3
    PAUSE 1000
    LOW PORTA.3
    PAUSE 1000
    ENDIF
    GOTO KONTROL
\'SEVİYE4
 IF PORTB.4= 1 THEN
    HIGH PORTA.3
    PAUSE 1000
    LOW PORTA.3
    PAUSE 750
    ENDIF
    GOTO KONTROL
   
\'SEVİYE5
 IF PORTB.3= 1 THEN
    HIGH PORTA.3
    PAUSE 750
    LOW PORTA.3
    PAUSE 500
    ENDIF
    GOTO KONTROL
   
\'SEVİYE6
 IF PORTB.2= 1 THEN
    HIGH PORTA.3
    PAUSE 600
    LOW PORTA.3
    PAUSE 400
    ENDIF
    GOTO KONTROL
   
\'SEVİYE7
 IF PORTB.1= 1 THEN
    HIGH PORTA.3
    PAUSE 350
    LOW PORTA.3
    PAUSE 250
    ENDIF
    GOTO KONTROL
     
     END
             

turkvba

30 Temmuz 2011, 14:16:34 #1 Son düzenlenme: 30 Temmuz 2011, 14:18:50 turkvba
konunun başına acil yazmana gerek yok.
devreyi 1 gün sonra kursan hiçbirşey olmaz. gören de binlerce satırdan oluşan kod yazdın sanacak.
ayrıca forum kurallarına uy. ikinci bir başlık açıp link verip , linkteki konuya yardım yazmak çok yanlış.
-------------------------------

INPUT PORTB.7
 INPUT PORTB.6
 INPUT PORTB.5
 INPUT PORTB.4
 INPUT PORTB.3
 INPUT PORTB.2
 INPUT PORTB.1
 OUTPUT PORTA.3

bunlara gerek yok.
----------------------
bizden şema rica etme. şemayı ekle. hatanı yazalım.



yazici67

GOTO KONTROL komutlarını ENDIF den sonra değil önce koymalısın.Programın Seviye1\'i kontrol ediyor direkt olarak başa dönüyor.Oysaki sana lazım olan Seviye1 \"DOĞRU\" ise başa dönmek.Değilse devam etmek.
Tüm GOTO KONTROL komutlarını IF-ENDIF blokları içine yazmalısın.
Ayrıca @turkvba \' nın da dediği gibi şemayı sen ekle biz düzeltelim.

deryha

goto kontrol  komutu onceye aldm gene olmadı kodun son hali ve şema:
INPUT PORTB.7
 INPUT PORTB.6
 INPUT PORTB.5
 INPUT PORTB.4
 INPUT PORTB.3
 INPUT PORTB.2
 INPUT PORTB.1
 OUTPUT PORTA.3

KONTROL:
 \'SEVİYE1
 if PORTB.7= 1 then
     high PORTA.3
     PAUSE 500
     LOW PORTA.3
     PAUSE 1000   
     goto KONTROL
     ENDIF
     
\'SEVİYE2     
 IF PORTB.6= 1 THEN
    high PORTA.3
    PAUSE 750
    lOW PORTA.3
    PAUSE 1000
    GOTO KONTROL
    ENDIF
   
\'SEVİYE3
 IF PORTB.5= 1 THEN
    HIGH PORTA.3
    PAUSE 1000
    LOW PORTA.3
    PAUSE 1000
      GOTO KONTROL
      ENDIF
\'SEVİYE4
 IF PORTB.4= 1 THEN
    HIGH PORTA.3
    PAUSE 1000
    LOW PORTA.3
    PAUSE 750
    GOTO KONTROL
    ENDIF
   
   
\'SEVİYE5
 IF PORTB.3= 1 THEN
    HIGH PORTA.3
    PAUSE 750
    LOW PORTA.3
    PAUSE 500 
    GOTO KONTROL
    ENDIF
   
   
\'SEVİYE6
 IF PORTB.2= 1 THEN
    HIGH PORTA.3
    PAUSE 600
    LOW PORTA.3
    PAUSE 400
   GOTO KONTROL
    ENDIF
   
\'SEVİYE7
 IF PORTB.1= 1 THEN
    HIGH PORTA.3
    PAUSE 350
    LOW PORTA.3
    PAUSE 250
    GOTO KONTROL
    ENDIF
   
     
     END
             

yazici67

Simülasyon esnasında ISIS hata mı veriyor yoksa devrede bir değişiklik mi olmuyor?
Bir de END den önce de bir GOTO KONTROL ekleyin.
Bir de şemada ki anahtarları pinlere bağlamamışsınız boşta duruyorlar.(  ??? ??? )

deryha

cıddımısınız ben onları ole koyunca baglandıklarını sanıyordum hemen kontrol edıcem

deryha

beyler cok saolun tıkır tıkır calısıo adı ısıs bosta bırakıomus o swıtchlerı >:(

yazici67

Bağlamassan boşta bırakır tabii  ;D ;D