676 yı 877 ye çevirme

Başlatan ylmz, 19 Şubat 2013, 11:45:20

ylmz

Arkadaşlar merhaba
elimde bi program var 16f676 ile yapılmış
bunu 16f877 ye çevirmek ıstıyorum fakat kafam karıştı
bunu nasıl yapabılırım
veya 676 ıle aynı özellıkte olup pin sayısı çok olan bi işlemci tavsiyesi ?
Kodlar aşağıdaki gibidir

ana         var     word
yana        var     ana.byte1
hsay        var     byte 
reg         var     word
rs          var     byte
tetik       var     byte
IOCA        = %00000100           ; porta kesmeleri iptal
osccal      = %10000000         ; osilatör kalibrasyon
ansel       = %00000001         ; analog digital seçimi yapılır 1 giriş 0 digtal
cmcon       = %00000111         ; comparatör ayarları yapılır 
adcon1      = %00010000         ; adc frekan secimi yapılır   Fosc/4
adcon0      = %10000101         ; adc ayarları yapılır 
regt        = 0
sebt        = 0
reg         = 0 
seb         = 0
say         = 0
trisc       = %00000110
trisa       = %00000111
tetik       = 90
portc       = 0 
porta       = 0 
ana         = 0 
option_reg  = %00000000         ; 
intcon      = %10010000 
adcon0      = %10000001
pie1.3 = 0 
on interrupt goto kesme 
basla :
    portc.1 = 0
    rs = 0
    rs = 0 
    rs = 0
    rs = 0 
    goto basla


DIS 
 disable  
kesme:
    portc.1 = 1   
    intcon.7 = 0
    adcon0.1 = 1 
    pauseus 80
    ana  = adresl    
    yana = adresh 
    reg  = ana
    adcon0.1 = 1 
    pauseus 80
    ana  = adresl    
    yana = adresh 
    reg  = ana + reg 
    reg = reg / 2    
    if  reg > 750 then        
    if tetik < 105 then tetik =  tetik + 1
    endif 
    if  reg < 700  then 
    if tetik > 25  then tetik = tetik - 1 
    endif   
kesme1
    hsay = hsay + 1
    pauseus 80 
    if hsay > tetik  then 
    portc.0 = 1 
    pauseus 200 
    portc.0 = 0
    pauseus 50
    portc.0 = 1 
    pauseus 200 
    portc.0 = 0    
    hsay = 0 
    goto hanecik  
    endif
    goto kesme1 
    
    
hanecik 
    if option_reg=0 then 
    option_reg.6 = 1 
    else 
    option_reg.6 = 0 
    endif
    intcon.7 = 1  
    intcon.1 = 0
    portc.0  = 0
    resume
    end
Regülatör Dns Trafo | Regülatör | Redresör | Ups

ylmz

Anlaşılan uzun bi iş bir sürü kişi bakmış cevap yok :'(
Regülatör Dns Trafo | Regülatör | Redresör | Ups

mehmet

Çok zor bir iş olduğunu düşünmüyorum. Sadece ilgili
mcuların kataloglarını karşılaştırarak benzer
registerlerin nasıl kullanıldığını öğreneceksiniz. Böylece
yapmanız gereken değişiklikler de ortaya çıkacaktır.
Programınızda iki port kullanılmış. Aynı özellikleri taşıyan
pinleri bulup gerekli değişiklikleri yapabilirisiniz...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

ylmz

Abi olay ondan ibaret olsa gam yemiycem şu 676 varya o işlemci kadar uyuz bı işlemci yok
Regülatör Dns Trafo | Regülatör | Redresör | Ups

subram

çok detaylı incelemedim ama alttaki satırları silmen gerekiyor. 16f877 ile yazılmış bir program bul (ETE Hocanın Dersleri) ordan kopya çek :)

IOCA        = %00000100           ; porta kesmeleri iptal
osccal      = %10000000         ; osilatör kalibrasyon
ansel       = %00000001         ; analog digital seçimi yapılır 1 giriş 0 digtal
http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz

ylmz

Oturup sıfırdan yazdım  ;D çevirmekle olmuyordu 3 gün boşu boşuna vakit kaybettim  :'(
Regülatör Dns Trafo | Regülatör | Redresör | Ups