Picproje Elektronik Sitesi

DERLEYİCİLER => PIC Assembly => Konuyu başlatan: kaplan_65 - 09 Şubat 2007, 14:59:36

Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: kaplan_65 - 09 Şubat 2007, 14:59:36
SLM
Arkadaşlar ben daha önceden 16f84 kullanıyordum.16f628 i yeni yeni öğrenmeye başladım.
Fakat PORTA ile biraz sorunum var.
1)Çalıştığım kaynaklarda MCLR pininin sadece giriş olarak kullanılabileceği
belirtiliyor.Ben çıkış olarak denedim çalışıyor.MCLR i çıkış olarak kullanmam bir problem oluşturur mu?
2)RA6 çıkışı hep logic 0 seviyesinde duruyor.örneğin
aşağıdaki kodlarda (RB4 hariç) PORTA nın hepsi logic 1 olmalı.Ama RA6 hep sıfır.
Sizce bunun nedeni ne olabilir?  :?:

list p=16F628 ; işlemciyi belirle
include <p16f628.inc> ; başlık dosyasını yükle
__CONFIG _INTRC_OSC_NOCLKOUT &_WDT_OFF &_PWRTE_ON &_MCLRE_OFF &_BODEN_OFF &_LVP_OFF
BSF STATUS,5
CLRF TRISA
CLRF TRISB
BCF STATUS,5
MOVLW h'07'
MOVWF CMCON
BASLA
MOVLW b'11101111'
MOVWF PORTA
DON GOTO DON
END


Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: XX_CİHAN_XX - 09 Şubat 2007, 17:27:43
Porta,5 dışında butun pınlerı cıkıs olarak kullanabılırsın.Mplab ile simulasyon yaparak bunu test edebılırsın.Eger sadece asagıdakı yazılımı kullandıysan donanımsal bır sorunun var demektır.
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: dogada - 09 Şubat 2007, 18:34:38
Kaplan_65
clrf   TRISA yerine,
 movlw   0x20
 movwf   TRISA kullanırsan sorun kalmaz sanırım.
Başlık: Re: 16F628A ile ilgili bir kaç soru
Gönderen: aYe - 09 Şubat 2007, 19:01:24
Selam,

Alıntı yapılan: "kaplan_65"
1)Çalıştığım kaynaklarda MCLR pininin sadece giriş olarak kullanılabileceği
belirtiliyor.Ben çıkış olarak denedim çalışıyor.MCLR i çıkış olarak kullanmam bir problem oluşturur mu?
2)RA6 çıkışı hep logic 0 seviyesinde duruyor.örneğin
aşağıdaki kodlarda (RB4 hariç) PORTA nın hepsi logic 1 olmalı.Ama RA6 hep sıfır.

1)Gerçekten ilginç bir durum.

Datasheet bu pin'e sadece giriş demesine rağmen PORTA şematik gösteriminde sizin sonucunuzu doğrular bir yapı var.

Çalışıyorsa sorun yok, böyle kullanmaya devam.

2)RA6 aynı zamanda OSC2 ve CLKOUT olabiliyor.

Siz burayı IO olarak kullanmaya çalıştığınıza göre, kristal takmadınız yani internal RC osc kullanıyorsunuz.

Bu durumda geriye 1 tek şüpheli kalıyor CLKOUT...

Config ayarlarınızdan  INTRC I/O tipini seçmelisiniz, sanırım siz INTRC CLKOUT seçmişsiniz.


İyi çalışmalar.
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: Eagle_Tim - 09 Şubat 2007, 19:10:34
A portunu dijital giriş çıkış yapabilmek için

            BCF         STATUS,5
            CLRF        PORTA
            MOVLW     H'07'
            MOVWF     CMCON       önce yüklenip sonra giriş çıkış tanımlaması yapılıyor..
           
            BSF          STATUS,5
            MOVLW     H'XX'
            MOVWF     TRISA
            BCF          STATUS,5

ayrıca mcrle pini için durum şöyle görünüyor, aksini yapmanıza microchipin kabileti yok,nasıl çalışıyo bilemiyorum bence yanlış bişey yapıyorsunuz çıkış olarak kullanılamaz..
dirençle pullup yaptıysanız gördüğünüz değer direnç üzerinden geliyor olabilir.. mcrle ye bie led bağlayıp 1-0 yapmaya çalışın sonucu görelim..

[/code](http://www.loadtr.com/resimupload/b1db1c760dd4231d579c4f4e8295a920_.jpg)
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: aYe - 09 Şubat 2007, 19:20:26
Aksini iddaa eden ben değilim zaten, microchip :D

(http://img254.imageshack.us/img254/1146/ra5ry0.jpg)
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: OG - 09 Şubat 2007, 19:39:38
Hocam o şema bendeki ile uyuşmuyor?

(http://img527.imageshack.us/img527/1428/02rj2.gif) (http://imageshack.us)

(http://img527.imageshack.us/img527/7464/01gj9.gif) (http://imageshack.us)
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: Eagle_Tim - 09 Şubat 2007, 19:43:57
Bana kalırsa siz o okları yanlış yorumlamışsınız gibi geliyor
onlar dışarı değil PIC e gidiyor olmasın ?

(http://www.loadtr.com/resimupload/e7a72d03cb53fbb24e82e14bba11a5e1_.jpg)

Çıkış Olabileceğini dair bir olasalık göremiyorum bu şematiktede, tüm olasılıklar giriş yönünde bir programlamak için bir  reset birde giriş olarak kullanmak için..
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: aYe - 09 Şubat 2007, 19:52:23
Hocam demekki arkadaşın elindeki chip bendeki datasheet'le uyumlu  ;)

Bence günah keçisi microchip  :D

Sayfa 30;


http://rapidshare.com/files/15705154/pic16f628.rar.html (http://rapidshare.com/files/15705154/pic16f628.rar.html)
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: aYe - 09 Şubat 2007, 19:54:10
İç yapının yarısını silersen olasılık göremezsin tabi  :D  :D  :D
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: Eagle_Tim - 09 Şubat 2007, 19:54:21
Pardon sizin resimle OG hocamın ki karışmış birinin resmini alıp öbürüne yorum yapmışım :D
onu yeni gördüm enteresan pdfte bir terslik olabilir..
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: mesmert - 09 Şubat 2007, 19:57:23
16f62x data sheet'te MCLR pini sadece input olabiliyor demiş
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: aYe - 09 Şubat 2007, 20:11:50
Şema gayet açık net, aynı datasheet içersinde tezat'a düşen ben değilim microchip, ki sonradan bu hatayı farkedip düzeltme yapmışlar ki OG hocamdaki datasheet bendekinden farklı.

Benzer hataları chip içersinde de yapıyorlarsa arkadaş'ta o pini IO olarak kullanmış olabilir.

Ayda bir chip yılda bir seri çıkaran firmanın da bu tür hatalar yapıyor olması çok makül.

Sonuç olarak konunun muhattabı microchip, benim ticari bir bağım yok arkadaşlarla...

(http://img249.imageshack.us/img249/2788/ra5bx4.jpg)
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: OG - 09 Şubat 2007, 20:18:11
Arkadaşlar datasheet leri güncelleyin, onlar hatalı.
http://ww1.microchip.com/downloads/en/DeviceDoc/40044E.pdf
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: Eagle_Tim - 09 Şubat 2007, 20:21:34
Yanlış üretim olaslığı pek makul gelmiyor zaten mcrle pinini çıkış olarak kullanabilme imkanı olsa bunu yaparlardı 8 pinli PIC +- çıkınca 2 gidiyor kalıyor 6 pin, osilatörü dahili yapabilmişler ama mcrle sadece giriş olabiliyor kaldı 5 pin I/O ve 1 sadece Input, demek ki bir problem var bu konuda yoksa bu 1 bit I/O önemli özelliklede DIP-8 lerde
yanlış üretimle dahi çıkış olabileceği inancında değilim ama şuna inanabilirim pdf yapılırken bir kısmı kopyala yapıştır yapmışlardır böyle bi durum oluşmuştur vs...


Aynı PDF de 628 in eepromuna okuma-yazma örnek asm kodlarını da yanlış vermişler
eğer bendeki gibi ise incelemenizi tavsiye ederim büyük ihtmalle 16f84 ün eepromuna yazmayı kopyala yapıştır yapmışlar...
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: kaplan_65 - 09 Şubat 2007, 21:06:21
Eagle_Tim demiş ki;
Alıntı Yap
A portunu dijital giriş çıkış yapabilmek için

BCF STATUS,5
CLRF PORTA
MOVLW H'07'
MOVWF CMCON önce yüklenip sonra giriş çıkış tanımlaması yapılıyor..

BSF STATUS,5
MOVLW H'XX'
MOVWF TRISA
BCF STATUS,5
ilk ben de böyle yaptım ama sonuç aynı.RA6 hep sıfır kalıyor.

aYe demiş ki;
Alıntı Yap
Config ayarlarınızdan INTRC I/O tipini seçmelisiniz, sanırım siz INTRC CLKOUT seçmişsiniz
Kodlara dikkat ederseniz  _INTRC_OSC_NOCLKOUT  diye belitmişim.

Arkadaşlar ben devreyi PROTEUSta simüle ettim. Donanımsal bir hata ya da üretim hatası söz konusu değil. Çünkü donanım olarak zaten dahili osilatörü seçtim ve ek olarak bir şey bağlamadım. Belki de proteusta sorun vardır.
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: aYe - 09 Şubat 2007, 21:40:29
Alıntı yapılan: "kaplan_65"
Kodlara dikkat ederseniz  _INTRC_OSC_NOCLKOUT  diye belitmişim.

Evet ama bazen config bilgilerini programmer donanımları doğru almayabiliyor, yada hiç almayabiliyor, manuel müdahele gerekebiliyor, eğer elinizde bir donanım olsaydı ve fiziksel ortamda bu hatayı yaşıyor olsaydınız kesinlikle sorun buydu.

Gerçi proteus olduğunu baştan yazsanız cevap dahi yazmazdım, arızalı oyuncakları sevmiyorum.

Sonuçta güzel birşeye vesile oldunuz, sayenizde mevcut durumumuzu gördük;

Çok dikkatsiz çalışıyoruz, okuduğumuz ya da duyduğumuz bir şeyi kural kabul edip irdelemiyoruz, bu da çoğu zaman hatalar yapmamıza neden oluyor.

Datasheet'in başında bu pin sadece input'tur ibaresini görünce port yapısını incelemeden bunu kural kabul ediyoruz.
Oysa Bülent Ersoy'da bayanım diyor ama port yapısını incelerseniz karşınıza neler neler çıkar :D

İyi çalışmalar arkadaşlar...
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: Eagle_Tim - 09 Şubat 2007, 22:04:37
proteus bukadar da kötü olamaz açıkcası diye küçük bir çizim yaptım.
buyurun çalıştırın a6 pini düzgün çalışıyor siz yanlış birşey yapıyorsunuz heralde donanımda. mcrle pinide dediğimiz gibi çalışıyor.
gerçi ben burada mcrlyi bire çektim ama önemli olan a6 pini. mcrle nin durumu zaten ortada çünki isiste konum değiştirmesi pek bir önem arz etmiyor..

http://www25.rapidupload.com/d.php?file=dl&filepath=14064
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: ipek - 09 Şubat 2007, 23:18:54
arkadaslar bu f628 hatim indirdim diyebilirim ama bu konu nasilda gozumden kacmis dikkatinize hayran kaldim tebrikler...
proteusa gelince degerli zamaninizi bosa harcamayin derim
bu benim fikrim tecrubelerle sabittir yoruma gerek yok .....

Ne Mutlu Turk'um Diyene....
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: kaplan_65 - 09 Şubat 2007, 23:28:49
Arkadaşlar problemi buldum :D .Şöyleki;
RA6 diye kullandığım pin sadece giriş yapılabiliyor.MCLR diye kullandığım pin de hem giriş hem çıkış olarak ayarlanabiliyor.Proteusta bu iki pin alt alta. Anlayacağınız şekil üzerine yanlış bilgi yazmışlar.Bu iki pini yer değiştirdiğimizde sorun ortadan kalkıyor.Proteus 6 professional kullanalar dikkatli olsunlar.Aynı hata 16f627a şeklinde de yapılmış.İlgilenen herkese teşekkür ederim :o
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: XX_CİHAN_XX - 09 Şubat 2007, 23:30:32
Evet arkadaşlar proteus a hiç yanaşmayın bu konuda en guvenılır kaynak mplab.mplabta porta ya 0xff gonderdıgınızde sımulasyonda porta nın pınlerıne baktıgımızda porta,5 hariç butun pınler duzgun calısıyor.
Kısacası A5 sadece giriş diğer pinler ise istediğiniz gibi kullanılabilir.....
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: aster - 09 Şubat 2007, 23:39:30
Hepinizi tebrik ederim, tam bir ekip çalışması oldu

Kim tutar sizi  :)
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: kurumahmut - 10 Şubat 2007, 13:35:22
Burdan iyi bir sonuç çıkmış.

Bir işlemci ile yeni bir projeye başlamadan önce işlemcinin resmi sitesinden dökümanlarımızın son halini indirmemiz gerekir. Acaba ERRATA sheet yayınlanmış mı diye bakılmalı.

Datasheetlerime baktım. Bende de eski versiyon datasheet varmış. Bu hatayı microchip 2002 yılında errata sheet olarak yayınlamış. Şu anda sitesinde PIC16F628 için 2005 yılında güncellenmiş hali var.

Bir de datasheetlerin adını kendimiz için değiştirken microhipin verdiği kod ismini de silmemek bu tür problemleri aşmada daha yardımcı olabilir.

Eagle_Tim dediği gibi EEPROM rutinlerinde de hata varmış.
PIC16F628 ERRATA sheet
http://ww1.microchip.com/downloads/en/DeviceDoc/80074c.pdf
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: dogada - 12 Şubat 2007, 13:08:08
Alıntı yapılan: "XX_CİHAN_XX"Evet arkadaşlar proteus a hiç yanaşmayın bu konuda en guvenılır kaynak mplab.mplabta porta ya 0xff gonderdıgınızde sımulasyonda porta nın pınlerıne baktıgımızda porta,5 hariç butun pınler duzgun calısıyor.
Kısacası A5 sadece giriş diğer pinler ise istediğiniz gibi kullanılabilir.....

Sorun şu  clrf   TRISA, Yani RA5 porttu çıkış olarak tanımlandığında RA6 porttunun durumu hatalı oluyor. Yani
clrf TRISA veya movlw 0x00 ; movwf TRISA komutları kullanırsak hata yapmış oluruz..
Daha önceden de bu hataya düşmüştüm.. Onun için adamlar uyarmışlar sadece giriş olarak tanımlamamızı istemişler.
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: XX_CİHAN_XX - 13 Şubat 2007, 09:37:50
Alıntı yapılan: "dogada"
Alıntı yapılan: "XX_CİHAN_XX"Evet arkadaşlar proteus a hiç yanaşmayın bu konuda en guvenılır kaynak mplab.mplabta porta ya 0xff gonderdıgınızde sımulasyonda porta nın pınlerıne baktıgımızda porta,5 hariç butun pınler duzgun calısıyor.
Kısacası A5 sadece giriş diğer pinler ise istediğiniz gibi kullanılabilir.....

Sorun şu  clrf   TRISA, Yani RA5 porttu çıkış olarak tanımlandığında RA6 porttunun durumu hatalı oluyor. Yani
clrf TRISA veya movlw 0x00 ; movwf TRISA komutları kullanırsak hata yapmış oluruz..
Daha önceden de bu hataya düşmüştüm.. Onun için adamlar uyarmışlar sadece giriş olarak tanımlamamızı istemişler.
Böyle birşeyi ilk defa senden duyuyorum.
Clrf trisa dediğimide ra6 neden hatalı çalışsın ki?
Ra6 zaten çıkış olarak tanımlanabilen bir uçtur ve ra5 ile hiç bir alakası yoktur.Porta yı kopmle cıkıs yaptıgımızda ra5 hariç tüm pinlerin çıkış olarak kullanılabildiğini mplab ın simulasyonundan izleyebilirsin....
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: conavar - 28 Mart 2007, 19:40:36
bugun yaptığım bir uygulamada birşeylerin yanlış olduğunu fark ettim...
RA6/OSC2/CLKOUT pini sürekli clock sinyali veriyordu...
çıkış olarak kullanıyordum ama olmuyor...
RA6 I/O pin değiL miydi ?? kafam biraz karıştı ama...
ayrıca yazılanları okuyorum ama pdf de MLRC I/O olarak kullanılacağı yazmıyor :D
neyse iyi oldu bu tür paylaşımlar cok güzeL oluyor :)
BiLgi Paylaştıkça çoğalır

Bir de bu internal OSC de dikkat edilecek bir husus var mı ??
su anda 4 MHZ kullanıyorum ve arada delay olarak led yakma ve sönme için 500ms kullanıyorum ama arkadaş 70 sn bekliyor 8O 1 ms çekince de gecikmeyi sanki 250 ms gibi çalışıyor...
bu Internal RC Osc yi set etme yada kalibrasyon gibi birşey var mı ?
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: tpaksu - 01 Ocak 2008, 23:19:22
bende bugün aynı şekilde bi sorunla karşılaştım

proteusta bi türlü a4 ve a5 pinine hükmedemiyorum ne yaptımsa olmadı :)

ancak CCS C'de NOMCLR INTRC_IO gibi fuse'lar sayesinde bu bacaklar giriş çıkış olarak kullanabiliyoruz diye biliyorum (A5 sadece giriş)

yalnız benim A4'tteki sorunu halletmem lazım. Programda yazmışsam, proteusta çalışmamışsa, sizin dediğinize göre devrede çalışma ihtimali var..

deneyelim görelim bakalım.

(Eğer çözüm bulan varsa uğraştırmayın beni :P)
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: XX_CİHAN_XX - 01 Ocak 2008, 23:54:51
Dediğin gibi a5 sadece giriştir.Ancak a4 çıkışta olabiliyor.A4 pinini çıkış olarak kullandığın zaman 4k7 gibi bir direnç ile vcc ye pull up yapman gerekir.Bu pini 4k7 ile +5v ye çekersen sorunun düzelecektir.
Başlık: 16F628A ile ilgili bir kaç soru
Gönderen: tpaksu - 02 Ocak 2008, 21:22:33
evet simülasyon yaparken denedim bugün teşekkür ederim. aslında daha önce de F628A kullandım ama insan unutuyor işte.. her picle işim olduğunda tekrardan help dosyasını açmadan programı yazamıyorum mesela :) bu bilgi burada kalıcı olsun ve ben her aradığımda bulabileyim o zaman..