XSiR.NeT | Temiz Internet » Digital Dünya & Elektrik & Elektronik » Elektrik & Elektronik » PIC İle LCD Uygulamaları
kayit ol

PIC İle LCD Uygulamaları

Digital Dünya & Elektrik & Elektronik forumlarındaki PIC İle LCD Uygulamaları konusunu görüntülemektesiniz. PIC İle LCD Uygulamaları Artık cep telefonlarıyla, dijital saatlerle ve göstergeli her türlü eşyayla hayatımızın bir parçası olan LCD (Lquid Crystal Display - Sıvı Kristal Gösterge) ekranları kullanarak birşeyler yapmak ...


Yeni Konu aç  Cevapla
 
LinkBack Konu Seçenekleri Modları Göster
Eski 22-02-2007, 15:41   #1 (permalink)
Atık Üye
cyBER_HaYLaZ - ait Avatar
Durum:Offline
Üyelik Tarihi: Sep 2006
Nerden: ÇANAKKALE/ GeLiBoLu
Mesajlar: 2.425
Takım: .:FENERBAHÇE:.
KanGrubu: 0Rh+
Eğitim: Üniversite köşelerinde sürünüyomuşum :D
Sevdiği Bölüm: Her telden çalarım abi :D
Burcunuz: Yay
Arkadaşları:16
Ettiği Teşekkür: 127
Aldığı Teşekkür 407
Xsir Gücü: 0
Xsir Puanı: 100
Xsir Grafiği: cyBER_HaYLaZ will become famous soon enoughcyBER_HaYLaZ will become famous soon enough
apply PIC İle LCD Uygulamaları



PIC İle LCD Uygulamaları
Artık cep telefonlarıyla, dijital saatlerle ve göstergeli her türlü eşyayla hayatımızın bir parçası olan LCD (Lquid Crystal Display - Sıvı Kristal Gösterge) ekranları kullanarak birşeyler yapmak istemez misiniz? Proteus ve PIC Basic ikilisiyle birçok uygulamayı kolayca yapabilirsiniz.

1-YAZI YAZMA


DEFINE OSC 4 ' PIC'in çalışma hızını 4 MHZ 'e ayarladık
DEFINE LCD_DREG PORTB ' Yazı bilgisini göndereceğimiz portu seçtik
DEFINE LCD_DBIT 4 ' Bilgi göndermek için başlangıç bitini seçtik
DEFINE LCD_RSREG PORTB ' LCD Register(Kayıt) Portunu seçtik
DEFINE LCD_RSBIT 0 ' LCD Register Bitini seçtik
DEFINE LCD_EREG PORTB ' Enable(Yazılma) Portunu seçtik
DEFINE LCD_EBIT 1 ' Enable bitni seçtik
DEFINE LCD_BITS 4 ' Kaç bitlik bir hattan bilgi transferi yapacağımızı yazdık.
DEFINE LCD_LINES 2 ' Kaç satırlık bir LCDmiz varsa yazdık
DEFINE LCD_COMMANDUS 2000 ' Kac mikrosaniyede bir komut gönderileceğini yazdık
DEFINE LCD_DATAUS 50 ' Kac mikrosaniyede bir yazı gönderileceğini yazdık
LCDOUT 254,1, " LCD KULLANMA"
LCDOUT 254,192," PROGRAM : 01"




Konu cyBER_HaYLaZ tarafından (22-02-2007 Saat 15:43 ) de değiştirilmiştir..
 
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Eski 22-02-2007, 15:41   #2 (permalink)
Atık Üye
cyBER_HaYLaZ - ait Avatar
Durum:Offline
Üyelik Tarihi: Sep 2006
Nerden: ÇANAKKALE/ GeLiBoLu
Mesajlar: 2.425
Takım: .:FENERBAHÇE:.
KanGrubu: 0Rh+
Eğitim: Üniversite köşelerinde sürünüyomuşum :D
Sevdiği Bölüm: Her telden çalarım abi :D
Burcunuz: Yay
Arkadaşları:16
Ettiği Teşekkür: 127
Aldığı Teşekkür 407
Xsir Gücü: 0
Xsir Puanı: 100
Xsir Grafiği: cyBER_HaYLaZ will become famous soon enoughcyBER_HaYLaZ will become famous soon enough
Tanımlı Ce: PIC İle LCD Uygulamaları



LCD UYGULAMASI - 2 : LCD EKRANDA DEĞER GÖSTERME

Bu uygulamada PIC 16F877'nin analog kanallarından bilgi okuyacağız ve bu bilgiyi voltaj bilgisine çevirip LDC ekranda göstereceğiz. Aşağıda bu programın kodunu bulabilirsiniz. Bir sonraki sayfada ise şemayı bulacaksınız.


DEFINE LCD_DREG PORTC
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 2
DEFINE LCD_LINES 2
DEFINE LCD_BITS 4
DEFINE ADC_BITS 8
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 50

TRISA = 255 ;PORTA'YI GIRIŞ OLARAK TANIMLADIK

ADCBILGI VAR BYTE
A VAR BYTE
B VAR BYTE
C VAR BYTE
D VAR WORD

ADCON1 = 0 ;ADCON1 REGISTERINI SIFIRLADIK(*DIPNOT 1)

ADC_OKU:

ADCIN 0, ADCBILGI ;A0 KANALINDAN ANALOG VERI OKUR,
;DIJITAL BILGIYI ADCBILGI DEGISKENINE ATAR
D=ADCBILGI*100/51 ;BILGI VOLTAJ CINSINDEN YAZILIR(*DIPNOT 2)

LCDOUT 254, 1 ;EKRANI TEMIZLE

A=D DIG 2 ;ADCBILGI DEGISKENININ SAGDAN 3. RAKAMINI A'YA
B=D DIG 1 ;ADCBILGI DEGISKENININ SAGDAN 2. RAKAMINI B'YE
C=D DIG 0 ;ADCBILGI DEGISKENININ SAGDAN 1. RAKAMINI C'YE ATADIK

LCDOUT #A, ".", #B, #C," V" ;EKRANA DEGERLERI YAZDIRDIK(*DIPNOT 3)

PAUSE 100
;100 MILISANIYE BEKLEYIP BASA DÖN
GOTO ADC_OKU



Proteus Simülasyonu

DIPNOT 1: Yukarıda verilen kod PIC 16F877 içindir. Bu PIC'te ADC ayarları yapmak üzere ayrılmış iki register bulunur. Bunlar ADCON0 ve ADCON1'dir. Burada yaptığımız ADC'de çevirim için gerekli zaman bilgisini yada interrupt(kesme) gibi özellikleri kullanmadık. Sadece 8 bitlik, bu kapasitede bir ADC yapmak için bu ayar yeterlidir. Yakında bu sitede ADC hakkında daha detaylı bilgilere ulaşabileceksiniz.
DIPNOT 2: ADCIN komutuyla ADCBILGI değişkeninin içine 0-255 arası bir değer atanmıştır. 8 bitlik bir analog-dijital çevirici 1/256 çözünürlüğe sahiptir. Örneğin değişim aralığımız 0-5 Volt olsun, 2.50 Volt için dijital değer 127, 1.25 Volt için 256/5*1.25 yani 64 olur. PIC Basic'te, bölme işleminden sonra virgülden sonraki sayılar doğrudan atılır.Yani floating point ya da yuvarlama olayı yoktur.Yaptığımız analog-dijital çeviricide virgülden sonraki rakam değerlerini kaybetmemek, hassasiyeti arttırmak için okunan dijital bilgi 100 değeri ile çarpılır ve daha sonra 5/256 ile çarpılmak yerine kolaylık olması için 51'e bölünür.
DIPNOT 3:Çıkan sayı üç basamaklıdır ve bu sayının rakamları DIG komutu ile alınarak ekrana yazılır. Değer göstermek için LCDOUT komutundan sonra önüne # işareti konarak değişken yazılır. Böylece değişkenin değeri ekrana yazılmış olur. Ayrıca tek satırda birden fazla şey yazmak için araya virgül konmalıdır.
 
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Eski 22-02-2007, 15:42   #3 (permalink)
Atık Üye
cyBER_HaYLaZ - ait Avatar
Durum:Offline
Üyelik Tarihi: Sep 2006
Nerden: ÇANAKKALE/ GeLiBoLu
Mesajlar: 2.425
Takım: .:FENERBAHÇE:.
KanGrubu: 0Rh+
Eğitim: Üniversite köşelerinde sürünüyomuşum :D
Sevdiği Bölüm: Her telden çalarım abi :D
Burcunuz: Yay
Arkadaşları:16
Ettiği Teşekkür: 127
Aldığı Teşekkür 407
Xsir Gücü: 0
Xsir Puanı: 100
Xsir Grafiği: cyBER_HaYLaZ will become famous soon enoughcyBER_HaYLaZ will become famous soon enough
Tanımlı Ce: PIC İle LCD Uygulamaları



LCD UYGULAMASI - 3 : LCD İLE HESAP MAKİNESİ

Son LCD uygulaması olarak burada basit bir hesap makinesi (sadece dört işlem yapan) nasıl yapılır onu anlatacağım. Şemamız aşağıdaki gibi olacak. Kullanacağınız tuş takımı 4x4'lük herhangi bir tuş takımı olabilir. Bu uygulamada da tıpkı zamalayıcı programında olduğu gibi tuş takımını tarayacağız. Yalnız burada 12 değil de 16 tane tuş bulunuyor, yani 7 değil de 8 hattımız var. Bu hatlardan 4'ünü giriş 4'ünü çıkış yapıp değeri okuyacağız.




INCLUDE "MODEDEFS.BAS"

DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 6 ;BO? PORT KALMADI?I YÇYN OSYLATÖR BACAKLARINDAN
DEFINE LCD_EREG PORTA ;BYRYSYNY ÇIKI? YAPTIK (BKZ: DYPNOT1)
DEFINE LCD_EBIT 0
DEFINE LCD_BITS 4
DEFINE LCD_LINES 1 ;LCDMIZ 1 SATIRLIK
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

CMCON=7
VRCON=0
TRISA=222 ;PORTA GYRY? ÇIKI?LARINI AYARLADIK (BKZ: DYPNOT2)
TRISB=0

TEMP VAR BYTE
ISLEM VAR BYTE
DEGER VAR BYTE

DEGER1 VAR WORD
DEGER2 VAR WORD
DEGER3 VAR WORD
DEGER4 VAR WORD
DEGER5 VAR WORD

YENI VAR BIT ;ÇE?YTLY BAYRAKLAR (FLAG BITS)
IKINCI VAR BIT

CLEAR ;TÜM DE?Y?KENLERY SIFIRLADIK
DEGER=77 ;TU? TAKIMDA OLMAYAN BYR DE?ER VERDYK

;***************ANA DÖNGÜ*********************************************
ANA:
CALL TARA
CALL GOSTER
CALL DEGERLENDIR
GOTO ANA
;************************************************* ********************

GOSTER:

IF DEGER<10 && YENI=0 THEN LCDOUT #DEGER
IF DEGER<10 && YENI=1 THEN
LCDOUT 254,1 ;E?ER YENY BYR Y?LEME BA?LANDIYSA EKRANI SYLER
LCDOUT #DEGER
ENDIF

TEMP=DEGER ;BASILAN DE?ERY KAYBETMEMEK IÇIN BU I?LEMI YAPTIK

GERIBAS: ;TU? TAKIMINDAN ELYN ÇEKYLMESYNY KONTROL EDYYOR

CALL TARA
IF DEGER!=77 THEN GERIBAS

RETURN

DEGERLENDIR:

IF TEMP<10 && IKINCI=0 THEN CALL SAYIYAP
IF TEMP<10 && IKINCI=1 THEN CALL SAYIYAP2
IF TEMP>9 THEN CALL ISLEMYAP

RETURN

SAYIYAP:

DEGER1 = TEMP
DEGER2 = DEGER2*10 + DEGER1 ;SAYIYI ONDALIK DÜZENDE YAZAR

RETURN

SAYIYAP2:

DEGER3 = TEMP
DEGER4= DEGER4*10 + DEGER3

RETURN

ISLEMYAP:

IF TEMP=10 THEN ;TEMYZLE (CLEAR) DÜ?MESYNE BASILIRSA EKRANI TEMYZLER
CLEAR
LCDOUT 254, 1
ENDIF

IF TEMP=11 THEN ;E?YTTYRE BASILIRSA HESAPLAMA Y?LEMY YAPILIR
IF ISLEM=1 THEN DEGER5=DEGER2+DEGER4
IF ISLEM=2 THEN DEGER5=DEGER2-DEGER4
IF ISLEM=3 THEN DEGER5=DEGER2*DEGER4
IF ISLEM=4 THEN DEGER5=DEGER2/DEGER4
LCDOUT "=", #DEGER5
YENI=1
ENDIF

IF TEMP=12 THEN ;EKRANDA HANGY Y?LEMYN YAPILDI?I GÖZÜKÜR
ISLEM=1 ;Y?LEM DE?Y?KENYNE HANGY Y?LEM YAPILACA?I ATANIR
LCDOUT "+" ;IKINCI BAYRAGI 1 YAPILARAK 2. SAYIYA GEÇYLDY?Y
IKINCI=1 ;BELYRTYLYR
ENDIF
IF TEMP=13 THEN
ISLEM=2
LCDOUT "-"
IKINCI=1
ENDIF
IF TEMP=14 THEN
ISLEM=3
LCDOUT "x"
IKINCI=1
ENDIF
IF TEMP=15 THEN
ISLEM=4
LCDOUT "%"
IKINCI=1
ENDIF

RETURN

TARA: ;TU? TAKIMINI TARAR

DEGER = 77
HIGH PORTB.4
IF PORTA.1=1 THEN DEGER=7
IF PORTA.2=1 THEN DEGER=8
IF PORTA.3=1 THEN DEGER=9
IF PORTA.4=1 THEN DEGER=15
LOW PORTB.4
HIGH PORTB.5
IF PORTA.1=1 THEN DEGER=4
IF PORTA.2=1 THEN DEGER=5
IF PORTA.3=1 THEN DEGER=6
IF PORTA.4=1 THEN DEGER=14
LOW PORTB.5
HIGH PORTB.6
IF PORTA.1=1 THEN DEGER=1
IF PORTA.2=1 THEN DEGER=2
IF PORTA.3=1 THEN DEGER=3
IF PORTA.4=1 THEN DEGER=13
LOW PORTB.6
HIGH PORTB.7
IF PORTA.1=1 THEN DEGER=10
IF PORTA.2=1 THEN DEGER=0
IF PORTA.3=1 THEN DEGER=11
IF PORTA.4=1 THEN DEGER=12
LOW PORTB.7

RETURN
 
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Eski 05-03-2008, 20:38   #4 (permalink)
Yeni Üye
[$hoqoPrenS] - ait Avatar
Durum:Offline
Üyelik Tarihi: Mar 2008
Nerden: İstanbul
Mesajlar: 3
Takım: Galatasaray...
Eğitim: Lise
Burcunuz: Akrep
Arkadaşları:0
Ettiği Teşekkür: 0
Aldığı Teşekkür 0
Xsir Gücü: 0
Xsir Puanı: 1
Xsir Grafiği: [$hoqoPrenS] is an unknown quantity at this point
Tanımlı Ce: PIC İle LCD Uygulamaları



Ya arkadaşlar bi yıllık ödevim var yapamadım gitti yha bulamıyorum bi yardımcı olurmusu nuz:(
Konu : 8 BİTLİ LCD UYGULAMASI nolur yardımcı olun :( yapamazsam 0 alıcam.
bide devre leri veriyosunuzda bunun programı nasıl oluyo anlamıyorum biz okulda sadece devre kurmasını öğrendik programlamaya başlamadık.bilen birşi varsa anlatabilirmi ayrıntılı. ben lise 3 e gidiyorumda bizde hep devre kurma var. Yardım please.. :) he bu arada site süpermiş çok faydalı konular var...
 
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Eski 05-03-2008, 22:06   #5 (permalink)
Atık Üye
cyBER_HaYLaZ - ait Avatar
Durum:Offline
Üyelik Tarihi: Sep 2006
Nerden: ÇANAKKALE/ GeLiBoLu
Mesajlar: 2.425
Takım: .:FENERBAHÇE:.
KanGrubu: 0Rh+
Eğitim: Üniversite köşelerinde sürünüyomuşum :D
Sevdiği Bölüm: Her telden çalarım abi :D
Burcunuz: Yay
Arkadaşları:16
Ettiği Teşekkür: 127
Aldığı Teşekkür 407
Xsir Gücü: 0
Xsir Puanı: 100
Xsir Grafiği: cyBER_HaYLaZ will become famous soon enoughcyBER_HaYLaZ will become famous soon enough
Tanımlı Ce: PIC İle LCD Uygulamaları



Kardeşim Proteus ve PIC Basic gibi programlarla bu kodları yazabilirsin istediğin devreyi burda kodları yazarak yapabilirsin.Ayrıca googleda istediğini ararsan bir çok şey bulacaksın 8li olmaz 4lü bulursun bunuda tasarlayarak 8e çevirebilirsin.
 
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Eski 06-03-2008, 17:22   #6 (permalink)
Yeni Üye
[$hoqoPrenS] - ait Avatar
Durum:Offline
Üyelik Tarihi: Mar 2008
Nerden: İstanbul
Mesajlar: 3
Takım: Galatasaray...
Eğitim: Lise
Burcunuz: Akrep
Arkadaşları:0
Ettiği Teşekkür: 0
Aldığı Teşekkür 0
Xsir Gücü: 0
Xsir Puanı: 1
Xsir Grafiği: [$hoqoPrenS] is an unknown quantity at this point
Tanımlı Ce: PIC İle LCD Uygulamaları



hmm ok biraz daha araştırıyım ben bugün azcık kodlama öğrendik hoca öğretiyo.neyse ben az daha araştırıyım çok thanks..
 
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Eski 23-09-2008, 00:48   #7 (permalink)
Yeni Üye
tastan - ait Avatar
Durum:Offline
Üyelik Tarihi: Sep 2008
Mesajlar: 1
Eğitim: 15
Burcunuz: Koç
Arkadaşları:0
Ettiği Teşekkür: 0
Aldığı Teşekkür 0
Xsir Gücü: 0
Xsir Puanı: 1
Xsir Grafiği: tastan is an unknown quantity at this point
Tanımlı Ce: PIC İle LCD Uygulamaları



elıne saglık glcd ile örneklerin varsa iyi olur şimdiden sagol
 
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Cevapla

Bookmarks

Konu Seçenekleri
Modları Göster

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Gitmek istediğiniz forumu seçin

Okuduğunuz Konuya Benzer Konular
Konu Konuyu Açan Forum Cevaplar Son Mesaj
P800-P900-P910 uygulamaları HaYLaZ Karantina Odası 6 06-09-2008 14:12


Forum saati Türkiye saatine göredir. GMT +2. Şuan saat: 09:22 .
(Türkiye için GMT +2 seçilmelidir.)

Powered by: vBulletin Version 3.7.4
Copyright ©2000 - 2006, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Design by Htworks Licenced To XSiR.NeT | Temiz Internet