16F886 SMD PROGRAMLAMADA HATA

Başlatan DEDİM, 08 Mart 2013, 01:38:51

DEDİM

selamın aleyküm;

söyle bir sıkıntı ile karsı karsıyayım.16f886 smd pici usburn pic programlayıcının ıcsp slotundan taktıgımda pici tanıyor.pice programı atıyorum ama neden se gercekte devrem calısmıyor.


Declare  SHOW_SYSTEM_VARIABLES = OFF   ' Do not show internal compiler's variables in Proteus VSM
Declare  FSR_CONTEXT_SAVE = OFF   ' Disable the auto CONTEXT saving and restoring of the FSR
Declare  Reminders = OFF    ' Disable reminders, if necessary
Declare  Warnings = OFF   ' Disable warnings, if necessary
Declare  Optimiser_Level 0    ' Program optimisation level
Declare  Bootloader = OFF  ' Disable internal loader
                                                                   
;-------------------------- Common settings ------------------------------------
                                                                   

Device =16F886
Xtal 20
;----------- LCD --------------------------                                                               
Declare  LCD_Type ALPHA   ; LCD type - alphanumeric
Declare  LCD_DTPin  PORTB.4   ; LCD data port
Declare  LCD_ENPin  PORTB.3   ; E line
Declare  LCD_RSPin  PORTB.2   ; RS line
Declare  LCD_Interface 4   ; Word length of the tyre of data
Declare  LCD_CommandUs  1000   ; Delay before a command parcel
Declare  LCD_Lines   2   ; LCD lines number


bu satırların dısında bir işlem yapmam gerekıyormu
bilemedimde
arkadaslar bir yardım eli uzatan olursa sevinirim.

nuriozdas

#1
 kodlar bana yabancı geldi ama benim bildiğim 886 maksimum 8 mhz ...
tanımlamalardan başka birşey yok.. forumu araştırın kelinize merhem bulursunuz proton lcd yada picbasic lcd olarak aratın..

OG

O satırlar yanlızca tanımlamalar. Esas program yok.

LCD yazmak için
Print At 1,1, "MERHABA ARKADAS "   ''' 1. satır 1. haneden başlar
Print At 2,1, "NASIL GIDIYOR   "     ''' 2. satır 1. haneden başlar

gibi komutları incele.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Maxim

programın diziliş kuralı var

en üste
Device =16F886
Xtal 20

hemen altına config tanımları

onun altına tris-giriş çıkış ayarları

onun altına değişkenler vs

sonra lcd tanımlamaları

sonra programın kendisi yani
loop:
print at 1,1,"naber"
goto loop



Maxim

olmadıysa buradan devam edelim


;-------------------------------------------------------------------------------
;**** Added by Fuse Configurator ****
; Use the Fuse Configurator plug-in to change these settings

Device = 16F886
Xtal=20
Config1 FOSC_HS, WDTE_OFF, PWRTE_ON, MCLRE_OFF, CP_OFF, CPD_OFF, BOREN_ON, IESO_OFF, FCMEN_OFF, LVP_OFF, DEBUG_OFF
Config2 BOR4V_BOR21V, WRT_OFF

;**** End of Fuse Configurator Settings ****
;-------------------------------------------------------------------------------

DEDİM

usta hangi versiyon oldugunu nasıl anlıycam.neresine bakma gerekıyor.bana bu derleyiciyi proteus_19 ustam göndermıstı zamanında

DEDİM

USTA
söyle bir azdım ama hata varmı yokmu
16f886 da ekrana bir sey gelmiyor yada ben yapamadım


Device =16F886
Xtal 4

Declare  LCD_Type ALPHA   ; LCD type - alphanumeric
Declare  LCD_DTPin  PORTB.4   ; LCD data port
Declare  LCD_ENPin  PORTB.3   ; E line
Declare  LCD_RSPin  PORTB.2   ; RS line
Declare  LCD_Interface 4   ; Word length of the tyre of data
Declare  LCD_CommandUs  1000   ; Delay before a command parcel
Declare  LCD_Lines   2   ; LCD lines number


loop:
Print At 1,1,"naber"
GoTo loop

Maxim

#7
gercek kurdugunuz fiziksel devrenin semasini burada paylasmaniz lazim.
yoksa bu isin sonu yok :)
boşuna vakit kaybederiz
belkide çok basit bir hata var

mesela ben 5 numaralı lcd ayağını gnd ye verdinizmi bilmiyorum
3 numaralı ayağa 10k trimpot taktınızmı bilmiyorum


Bazı yardımcı olan arkadaşlar bu şekildeki diyalogları daha çok seviyor
onu yaptınmı? hımm
bunu yaptınmı ?
şunu tak
bunu tak
onu sök
programa şunu ekle
config ayarların nasıl?
aradan 7 gün geçer, sen programı koysana bi

devam..
başkaları gelir, beslemeye 100nf koydunmu
7805 in çıkışında 100uf varmı ?
şemayı koyarmısın ? şema gelir
ama arada 2 hafta geçmiştir

DEDİM

ustam sema 16f876 ya göre yapıldı.devrede sıkıntı yok.876 ilr yapılan calısıyor ama bne bunu smd olarak 886 ya çizdim.ama calıstıramıyorum.sizin söylediginiz gibi  led yakıp söndürme işlemını bile yapmıyor pic bozukmu dedim degiştirdim ama o da aynısı 4 adet ten biriside mi  çalışmadı evet calısmadı.oldu da bitti masaallah dememek için sema gönderemıyorum.mail adresinize sema ve yazılımın tamamını göndersem bakabilirmisiniz

DEDİM

tabi bunun için mail adresinizi rica etsem alabilirmiyim.

Maxim

dosyanı direk bana yollama
buraya koymalısın

dropbox gibi bir paylaşım sitesi işini çözer
önce dosyalarını zip le tek dosya haline getir

DEDİM

Device = 16F886
Xtal 8
OSCCON=%01111000 '8MHZ
'OSCCON=%01110101
@ CONFIG_REQ
@__CONFIG _CONFIG1, XT_OSC & WDT_OFF & PWRTE_ON & MCLRE_OFF & CP_OFF & CPD_OFF &  IESO_OFF & FCMEN_OFF & LVP_OFF & DEBUG_OFF
@__CONFIG _CONFIG2, WRT_OFF


bu ayarları yapınca devrem calıstı.yardımda bulunanlar adına tek tek tesekkür ederim

ete

16F886 da dahili Osc vardır ve yazdıklarının bir kısmı ona işaret ediyor. Diğer taraftan 886 harici kristal ilede çalışabilir ve yazdıklarının bir kısmı ona işaret ediyor.
Örnek vermek gerekirse Xtal 8 yazmışsın devrende 8 Mhz lik kristal takılımıdır ? Yoksa 4 Mhz mi takılı.
Config ayarında Xt_osc terimini kullanmışsın bu 4 mhz e işaret ediyor.
Osccon registerine değer vermişsin bu dahili osc ye ait bir komutdur. Karman çorman olmuş anlayacağın.
16f876 ile 16f886 arasında belirgin farklar vardır. Birincisi 876 A serisi ise comparatörü vardır. 886 de direk komparatör vardır. 876 dahili osc ile çalışmaz 886 çalışır. Analog pin seçimi ve kullanımı her ikisinde farklıdır. Bunları düzeltmeden o program komplike ise  yine düzgün çalışmaz. Basit bir kaç satır ise ve analog portları kullanmıyor ise çalışabilir.
Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

DEDİM

Device = 16F886
Xtal 20

@ CONFIG_REQ
@__CONFIG _CONFIG1, HS_OSC & WDT_OFF & PWRTE_OFF & MCLRE_OFF & CP_OFF & CPD_OFF &  IESO_OFF & FCMEN_OFF & LVP_OFF & DEBUG_OFF
@__CONFIG _CONFIG2, WRT_OFF


ETE ustam bu sekilde yazınca calıstırabildim.diger yazdıklarım da hatalar cıkıyordu.ama bu sekilde kullanınca  devremi  çalıştırabildim.en azından deneme asamasını gectim sayıyorum sizin sayenızde iş şimdi menülerde devreme butonlar baglı bakalım bu sefer nasıl bir iş cıkacak.bilmece gibi  yazıyorum çiziyorum biliyorum.