LCD data pinleri hakkında Pic basic

Başlatan yolcu27, 14 Nisan 2019, 22:36:19

yolcu27

Herkese merhabalar.

Pic basic de LCD data pinlerini tek tek ayarlamak için bir yöntem var mıdır?
Mesela
data 4   portb3
data 5   portb2
data 6   portb1
data 7   portb0

Normalde data pinleri portb ye bağlı
Pinler 4. Bitten başlıyor şeklinde çalışıyor
Fakat ben çizimi dikkat etmeden verdiğim sıraya göre cizmisim yeniden baskı yapmak istemiyorum bunun için.
Önerileriniz için teşekkür ederim

onurinci

normalde çözüm yok gibi idi...,fakat bir arkadaşımız kendi yöntemi ile rahatça pinler ile oynayabiliyordu,konu Flex Pin idi...

https://etepic.com/index.php/topic,3485.msg33021.html#msg33021

ete

Bu konuda iki çözüm var. Birincisi LCD data sheet'ini dikkatlice okuyup ASM de kullanır gibi LCD pinlerini kullanmak. Gerçekten zor bir iş. Zorluğu olaya kolaylıkla hakim olamamaktan kaynaklanıyor. Olduktan sonra iş kolaylaşır.

Diğer bir çözüm ise Rahemtli Darrel Taylor (DT) nin hazırlamış olduğu LCD_ANY_PIN sistemini kullanmak. Bu biraz daha kolay.
Önce onun örneklerinden birini buraya koyayım.
;----[ Change these to match your LCD ]--------------------------------------- 
LCD_DB4    VAR PORTA.0
LCD_DB5    VAR PORTB.3
LCD_DB6    VAR PORTB.7
LCD_DB7    VAR PORTC.1
LCD_RS     VAR PORTD.4
LCD_E      VAR PORTA.1
LCD_Lines  CON 2 ' # of Lines on LCD, 1 or 2 (Note: use 2 for 4 lines)
LCD_DATAUS CON 50 ' Data delay time in us
LCD_COMMANDUS CON 2000 ' Command delay time in us
INCLUDE "LCD_AnyPin.pbp" ; *** Include MUST be AFTER LCD Pin assignments ****

;----[ Your Main program starts here ]----------------------------------------
LoopCount VAR WORD
PAUSE 500 : LCDOUT $FE,1 : PAUSE 250 ; Initialize LCD (You may not need this,
                                     ; but some displays are picky)

Main:
    LCDOUT $FE,1 ; clear screen
    LCDOUT $FE,$87,"Hello,",$FE,$C8,"From DT!"

    FOR LoopCount = 0 TO 65535
        LCDOUT $FE,$80, IDEC LoopCount
        LCDOUT $FE,$C0, IHEX4 LoopCount
    NEXT LoopCount
GOTO Main


Programın en başında LCD pinlerini sanki değişken tanımlar gibi tanımlıyoruz.
Tanımlamaya D4 yani data -4 pininden başlıyoruz. Bu örnekte LCD_DB4    VAR PORTA.0 şeklindeki ifade ile D4 pini PORTA.0 pinine bağlanmış. Siz hangisine bağladınız ise oraya o pin adını yazmalısınız.
Diğer tanımlamalarıda örneğe uygun şekilde yapını.
Daha sonra işin motoru olan  ;
INCLUDE "LCD_AnyPin.pbp"
komut satırınıda programınıza örnekteki gibi ekleyin. Açıklamada LCD pin tanımlamalarından hemen sonra yer almalıdır diye eklemişler. Bu programıda ilişikte veriyorum. Onu kendi programınızla aynı klasöre yerleştirin yada PBP klasöründe yer alsın.

Dosya içinde bir başka program daha var. Bu VirtualPort.bas olup bu program da aynı yere yerleştirilecek olup LCD_ANypin isimli prohgram tarafından çağrılmaktadır.

Linkte bazı açıklamalar daha verilmiş ama gerekli mi emin değilim. Açıkçası denemedim bu sistemi.
Çok gerekirse link aşağıdaki gibidir.

http://dt.picbasic.co.uk/CODEX/LCDOnAnyPin

Ete

yolcu27

Herkese teşekkür ederim. Anypin ile olacak sanırım. Akşam halledeyim

Powered by EzPortal