Proton ile Dış Verilere göre grafik çizdirmek istiyorum

Başlatan tekniker_murat, 12 Ocak 2014, 18:51:43

tekniker_murat

Herkese selamun aleyküm değerli ustalarım ben pic18f452 gibi bir entegre kullanarak 64*128 ekrana dışardan gelecek olan verilere göre bir grafik çizdirmek istiyorum bu grafiği sizce nasıl oluşturabilirim ?

Yani ekranda x ve y ekseni oluşturacağım bu eksen üzerine mcp3204 gibi bir entegreden yada 18b20 gibi sıcaklık sensöründen gelen bilgilere göre grafik çizdirmeye çalışacağım sizce bu grafik işinin mantığı nasıl olması gerekir ?

Yani x zamanına göre y pozisyonunda olan değişimi grafik olarak göstermek için nasıl bir mantık kullanmam gerekiyor ?
[email]murat.yagci.1984@gmail.com[/email]

Mucit23

Zamanında protonla grafik çizdirmeye çalışmıştım.

ADC_Grafik

'****************************************************************
'*  Name    : Grafik.BAS                                        *
'*  Author  : Mucit23                                           *
'*  Notice  : Copyright (Mart2012)  Grafik çizme uygulaması     *
'*          : All Rights Reserved                               *
'*  Date    : 09.03.2012                                       *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
Device 18F452

Config_Start
   OSC = HS ; HS osc
   OSCS = OFF ; Disabled
   PWRT = On ; Enabled
   BOR = OFF ; Disabled
   WDT = OFF ; Disabled
   CCP2MUX = OFF ; Disable (RB3)
   STVR = OFF ; Disabled
   LVP = OFF ; Disabled
   Debug = OFF ; Disabled
Config_End

Xtal 20

TRISA=%00000001
TRISB=%00000000
TRISC=%00000000
TRISD=%00000000
TRISE=%00000000

PORTA=0:PORTB=0
PORTC=0:PORTD=0
    PORTE=0

PORTB.5=1                          'GLCD RESET=1
LCD_DTPort = PORTD                 'GLCD DATA PORTLARI PORTD'YE BAĞLI
LCD_RSPin = PORTB.0                'GLCD RS PİNİ PORTB.0 BAĞLI
LCD_ENPin = PORTB.2                'GLCD ENABLE PİNİ PORTB.2 BAĞLI
LCD_RWPin = PORTB.1                'GLCD RW PİNİ PORTB.1 BAĞLI
LCD_CS1Pin = PORTB.4               'GLCD CS1 PİNİ PORTB.4 BAĞLI
LCD_CS2Pin = PORTB.3               'GLCD CS2 PİNİ PORTB.3 BAĞLI
LCD_Type =  Samsung                'GLCD TİPİ GRAFİK KS0108 128*64B WİNSTAR

Declare Internal_Font = On
Declare Font_Addr = 0
Declare GLCD_STROBE_DELAY = 5 
;GLCD_EXTERNAL_PRINT = PPRINT

 Declare Adin_Res 10       ' 10-bit result required 
 Declare Adin_Tad FRC    ' RC OSC chosen 
 Declare Adin_Stime 10     ' Allow 50us sample time

ADCON0=%00000001
ADCON1=%11001110

Symbol GDONE=ADCON0.3

Dim HAM As Word
Dim ASC As Byte
Dim SYC As Byte
Dim SN  As Byte
Dim YPOS[128] As Byte
Dim X   As Byte

DelayMS 200
Cls

GoSub DOLDUR

BASLA:  
HAM = ADIn 0:If GDONE=1 Then BASLA
ASC=63-(HAM+1)/16;Gelen ADC değeri Tersleniyor
If ASC=255 Then ASC=0
GoSub KAYDIR
GoSub EKRAN          
GoTo BASLA

EKRAN:
  For X=0 To 127
    Line 0 , X , 63 , X , 0       ;EKRANI SİL
    Line 1 , X , YPOS[X] ,X, YPOS[X-1]  
  Next
  Line 1,127,ASC,127,YPOS[126]
Return

KAYDIR:
For X=0 To 126
  YPOS[X]=YPOS[X+1]
Next
YPOS[127]=ASC
Return

DOLDUR:
For X=0 To 127
  YPOS[X]=63
Next
Return

Include "FONT.inc"
End


Gerçekte daha hızlı çalışacaktır. Fikir verebilir

tekniker_murat

Emeğinize ve yüreğinize sağlık emeğiniz için de ayrıca teşekkür ederim....

Fakat bana konu hakkında aydınlatıcı daha detaylı bilgiler verebilme olasılığınız olursa daha çok işime yarar şöyle ki ben 64*128 ekranlar ile de hiç bir çalışmam olmadı bu ekranların çalışması hakkında da bilgiye ihtiyacım var xpos ypos falan bir çok projede karşıma çıkıyor ama detay olarak sağlıklı bir açıklama yok.

Biliyorum çok fazla oldum ama 1+1 bu da benim prensibim bir bilgi bir bilgi daha eder iki bilgi veren verdiği ile eksilmez ama o bilgiyi alan aldığı ile artar aldığını başkasına verir başkası da artar sonuçta bilgi paylaştıkça çoğalır...

Belirtmek istediğim çok önemli bir husus daha var ki beni çok üzüyor... Sitede sadece soru sorabiliyorum çünki sorulan sorulara cevap verebilecek kadar bilgi sahibi değilim bu yüzden de herkes haklarını helal etsin...
[email]murat.yagci.1984@gmail.com[/email]

Hattusa

s.a. arkadaşlar;
yeni konu açmadım kirlilik oluşturmamak adına, bir sorunum hakkında sizden fikir almak istiyorum.
1 mS aralıkta adc okutmam gerekiyor bu kısmı TMR0 interrupt ile yaptım ve istediğim zaman aralığında değer okunuyor ancak, devrede bulunan GLCD ye bu adc değeri sonucunu ve ekrana yazılması gereken yazıları devreye aldığımda olmuyor, bunu nasıl aşarım?
yada şöyle söyleyeyim, ön planda GLCD de bazı yazılar yazılırken 1 mS aralıkta ADC yi nasıl okutabilirim?
kesmenin içinde okunan ADC değeri stack taşmasına neden oluyor? bunları aşmanın bir yolu yokmu?
vardım ilim meclisine eyledim talep, meğer ilim en gerideymiş illa EDEP, illa EDEP <muhyiddin Arabi K.S.>

einstain

mucit23 çok teşekkür ederim bende böyle bir şey arıyordum. Emeğine sağlık.