S

pic16f690 lcd sorunu

Başlatan secretagent, 21 Şubat 2012, 07:37:36

secretagent

sayın ete bey pic16f690 ile çalışıyorum sizin lcd uygulamalarınızı yapmak istedim fakat proteusta devreyi kuuroyurm ama lcd de hiç bi yazı çıkmıyor heraldeki picin configirasyon ayarlarını yapamıyorum  mesela pic16f690 tüm pinlerini digital yapmak için cm1con0=0,cm2con2=0 yukluyorum ama yinede digital olmuyor pinler yardımcı olabilirmisiniz

  DEFINE LCD_DREG PORTC
DEFINE LCD_DREG 4
DEFINE LCD_EREG PORTA
DEFINE LCD_EBIT 4
DEFINE LCD_RWREG PORTA
DEFINE LCD_RWBIT 3
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 2
DEFINE LCD_BITS 4
DEFINE LCD_LINES
cm1con0=0
cm2con0=0
ansel=0
anselh=0
TRISA=0
TRISC=0

LOW PORTA.3

PAUSE 200
LCDOUT $FE,1

LCDOUT $FE,$80,"MERHABA"

END

ete

#1
LCD yi işlemciye doğru bağladığından nasıl emin olacağım?
Comparatörleri iptal etmişsin ancak ADC pinlerini digital yapmamışsın.
ADCON0=0 komutunu ayrıca vermen gerekiyor.
Bunu verdikten sonra bütün pinler digital olacaktır.
LCD işlemciye doğru bağlanmış ise şimdi sistemin çalışması gerekir.

Ete

secretagent

ansel=0
anselh=0
cm1con0=0
cm2con0=0
cm2con1=0
pıe1=0
pıe2=0
pır1=0
pır2=0

BU REGİSTİRLARI SIFIRLAYINCA ÇALIŞTI....

secretagent

birşey daha sormak istiyorum şimdi ben RA3 bacağını direkt mclr olaarak kullanmam için ne yapmam gerekli datasheette bulamadım acaba default olarak MCLR ucu olarak mı ayarlı bu pin ?

ete

#4
Aksine bir komut vermez isen (@ DEVICE pic16F690, MCLR_OFF )  MCLR aktif olması gerekir.
Ancak sigorta ayarlarından iptal edersen RA3 pini digital olur.

Ansel registerini unutmuşum. Aslında tanımadığım bir işlemci. Data sheete baktım ama atlamışım.
Bence yalnızca ANSEL registerleri ve ADCON0 registeri ve CMCON registerleri sıfırlanınca digital hale gelir. Diğerleri gerekli değil.

Aslında bu iş için iyi bir kaynak mevcut. Bir işlemcinin hangi registerleri var, sigorta ayarları nelerden ibaret görmek için en güzel kaynak PBP klasörü içinde yer alan INC klasöründe M16xxx.INC dosyasıdır.
Bu dosya direk işlemci adı ilede verilebileceği gibi (mesela M16F628A.INC) benzer işlemcileri kapsamak amacı ile M16F6xx.INC şeklinde de verilmektedir. Direk işlemci adı yok ise anlayınki benzer işlemciler guruplanmıştır.
Ben 16F690 için bakmak istediğimde M16F6xx.INC olarak gördüm ve açtım. Gördümki her şey mevcut.
Bu dosyayı, MCS içinde de açabilirsiniz.

Ete

Ete

secretagent

peki datasheet de mclre için bi registır var 14 bitlik CONFIG diye bu registırın 5. bitini 1 yaparsan mclr olarak kullnaırsın 0 yaparsan digital olur diyor.fakat pbp bu komutu nasıl anlatmam gerek editore config=32 diyorum hata veriyor derleyici ?

secretagent

ewet inc. dosyası içine baktığımda hangi regıstırları kullanabılırım daha iyi anladım saolun önerdiğiniz için

ete

Config registerine direk ulaşılamıyor. Bahsi geçen biti verdiğim komut ayarlıyor;
@ DEVICE pic16F628, MCLR_OFF

ete

Powered by EzPortal