Haberler:

Türkiye'nin Elektronik ve Metal Dedektörlerini Buluşturan İlk Sitesi Teknoloji Ekibi'ne Hoş Geldiniz.

Ana Menü

16f877 lcd yardım

Başlatan biotec, 08 Şubat 2009, 21:36:53

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

biotec

Arkadaşlar herkese slm.. bir devre hazırlıyorum lcd ekranlı fakat takıldıgım bir nokta var yardımcı olabileceginizi düşündügüm için danışmak istedim..
16f877 ekranı sürüyorum Fakat 2.satırda şunu olsun istiyorum.. gelen analog veriyi dijital olarak okurken sayı olarak 5.00 volt degilde bu şekilde > kademeli olarak ilerlemesini istiyorum..yani giriş düşükken > bu şekilde yükselirken >>> gibi kadememeli olarak ilerlemesini istiyorum ama
bir türlü içinden çıkamadım bir çok örneklerden faydalandım ama olmadı..yardımcı olursanız çok sevinecem..herkese allah kolaylık versin.şimdiden telekkür ederim
Linkback: 16f877 lcd yardım

Uykusuz

#1
Merhaba

Ekrana göndereceğiniz max > sayısını belirledikten sonra ADC'nizden gelen değeri kontrol edip ADC nizde sıfır kalıncaya kadar arka arkaya her seferinde ADC değerinizi 1 eksiltip ekranda > gösterirsiniz. Bu işin mantığı budur. Anlamadığınız noktayı tam olarak yazarsanız daha ayrıntılı yardımcı oluruz.

Ayrıca burada örnek bir uygulama var belki fikir verir:
http://www.teknolojiekibi.com/yeni/index.php?topic=1370.0

Kolay gelsin

beyazkuvvet

#2


hangi dilde program yazdığını söylememişsin bende elimdeki picbasic programını paylaşayım dedim...programı yazan ete hocamıza çok teşekkürler...benim çok işime yaradı bu program...(aşağıda)

ayrıca bu yapacağın devre dedektör içinse grafik lcd kullanmanı tavsiye ederim...çok faydasını göreceksin emin ol...ben gayet güzel şeyler yaptım...

lcd'den görüntüler aşağıda:

[IMG]http://www.resim-yukle.gen.tr/images/cel2fh6jfllqdek1ch5j_thumb.jpg[/img]


[IMG]http://www.resim-yukle.gen.tr/images/et4cix4r3km9yog4mo4_thumb.jpg[/img]





bahsettiğim devrenin programı ve isis dosyaları...

[IMG]http://www.resim-yukle.gen.tr/images/idumej1k9u464f23tk5e_thumb.jpg[/img]


Alıntı YapDefine   LOADER_USED   1
Define LCD registers and bits
DEFINE  LCD_DREG        PORTD
DEFINE  LCD_DBIT        4
DEFINE  LCD_RSREG       PORTE
DEFINE  LCD_RSBIT       0
DEFINE  LCD_EREG        PORTE
DEFINE  LCD_EBIT        1

' Define ADCIN parameters
DEFINE  ADC_BITS        10        ' Set number of bits in result
DEFINE  ADC_CLOCK       3        ' Set clock source (3=rc)
DEFINE  ADC_SAMPLEUS    50       ' Set sampling time in uS

' Declare variables
adval        VAR WORD         ' Create adval to store result
fullbars   VAR   BYTE         ' Number of full bars at left of graph
barval      VAR   BYTE         ' Value passed to bargraph routine
partbar      VAR   BYTE         ' ASCII code for partial bar character
pad         VAR   BYTE         ' Number of spaces to pad to the right of graph


      TRISA = %11111111      ' Set PORTA to all input
        ADCON1 = %10000010      ' Set PORTA analog and right justify result
        ' PORTE remains digital to allow operation of the LCD
       
        Low PORTE.2            ' LCD R/W line low (W)
        Pause 500             ' Wait .5 second
       
' Load the custom characters to LCD CGRAM. The blank at $0 makes the graphing math work faster.
       
       LCDOut $FE,64,REP $0\8         ' Load blank character (ascii $0)
       LCDOut $0,REP $10\6,$0         ' Load | character (ascii $1)
       LCDOut $0,REP $14\6,$0         ' Load || character (ascii $2)
       LCDOut $0,REP $15\6,$0         ' Load ||| character (ascii $3)
      
       LCDOut $FE, 1               ' Clear the display


loop:    ADCIN 0, adval               ' Read channel 0 to adval (0-1023)

      adval = (adval */ 500)>>2      ' equates to: (adval * 500)/1024

        LCDOut $FE,2,"DC Volts= ",DEC (adval/100),".", DEC2 adval   ' Display the decimal value
       
        barval = (adval/9)+1         ' Scale 0-500 to 60 segment bargraph (1-56)
       
        GoSub bargraph               ' Update bargraph with new barval

        GoTo loop                   ' Do it forever


bargraph:

     fullbars = (barval MIN 60)/3      ' Calculate number of full bars (|||).
     
   ' partbar holds the ascii code for the partial bar character: $0=" ", $1="|", or $2="||"

     partbar = (barval MIN 60) // 3      ' Calculate ascii code for partial bar character      
     
     pad = 19 - fullbars               ' Number of spaces to fill display width.
     
   LCDOut $fe,$c0, REP $3\fullbars, partbar, REP " "\pad   ' Display the bar on second line
   
   Return


        End


dowloand link:

http://rapidshare.com/files/195879215/vbarx.rar.html

biotec

teşekkür ederim kardeşim


Paylaş whatsappPaylaş facebookPaylaş linkedinPaylaş twitterPaylaş myspacePaylaş redditPaylaş diggPaylaş stumblePaylaş technoratiPaylaş delicious