LCD

Rasprava o el. shemama, pitanja i diskusije. Ako ti treba neka shema, ovdje pitaj.

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
User avatar
izidor
Pocetnik na forumu
Pocetnik na forumu
Posts: 34
Joined: 26-04-2009, 12:54

LCD

Post by izidor »

Namjeravam napraviti sklop s 3 gumba, pritiskom na svaki gumb na LCD-u (HD 44780) će se pokazati drugi tekst. Našao sam dosta primjera na internetu o tome kako da LCD ispiše tekst, ali ne kako spojiti LCD i PIC.
Ako bi mi netko mogao pomoći bio bih zahvalan.
Što se tiće sheme:
R1,R2 - 820 Oma
X - 4 MHz
C1,C2 - 22 pF
PIC 16F84
HD 44780

RB0,RB1 i RB2 će biti definirani kao INPUT portovi.


Hvala unaprijed!
Attachments
PICtoLCD.PNG
PICtoLCD.PNG (8.91 KiB) Viewed 1116 times
bora_73
Penjem se :)
Penjem se :)
Posts: 92
Joined: 28-11-2008, 02:18

Re: LCD

Post by bora_73 »

imaš savršen odgovor u Peđinom skraćenom kursu
User avatar
sindja1204
Odlično uznapredovao
Odlično uznapredovao
Posts: 792
Joined: 03-05-2009, 11:57
Location: Beograd

Re: LCD

Post by sindja1204 »

http://www.elektronika.ba/forum/uploadz ... _i_pic.JPG" onclick="window.open(this.href);return false;


DEFINE LCD_BITS 4 'bira se da li lcd radi u 4 bitnom ili 8 bitnom modu
DEFINE LCD_DREG PORTB 'bira se port na koji su zakaceni data biti(d4-d7)
DEFINE LCD_DBIT 0 'pocetni bit data porta. 0 ili 4. ako je postavljen na 0 onda se d4 spaja na rb0,d5-rb1, d6-rb2, d7-rb3,
a ako je postavljen na 4 d4 se spaja na rb4 itd..
DEFINE LCD_RSREG PORTB 'port na koji je zakacena linija RS
DEFINE LCD_RSBIT 4 'bit porta na kome je zakacena linija RS. u ovom slucaju je zakacena na RB4
DEFINE LCD_EREG PORTB 'port na kome je zakacena E linija displeja
DEFINE LCD_EBIT 3 'bit porta na kome je zakacena E linija.
DEFINE LCD_RWREG PORTE 'podesavanje sa RW liniju. mada ovo se ne ubacuje jer se RW vezuje na masu. i time je odabran upis podataka u displej.
DEFINE LCD_RWBIT 2 'RW bit
DEFINE LCD_LINES 2 'broj linija displeja. 1,2,4

Code: Select all

	       DEFINE  LCD_DREG    PORTD  'I/O port na kome se nalazi LCD
	       DEFINE  LCD_DBIT    4       
	       DEFINE  LCD_RSREG   PORTD
	       DEFINE  LCD_RSBIT   2	  'Register select pin
	       DEFINE  LCD_EREG    PORTD
	       DEFINE  LCD_EBIT    3	  'Enable pin
	       DEFINE  LCD_BITS    4	  '4-bitni data bus 
	       DEFINE  LCD_LINES   2 	  'LCD ima dva reda karaktera

           B0 Var byte   'Promenljiva koju koristi BUTTON
           Symbol T1 = PORTA.2 'Taster T1
           Symbol T2 = PORTA.1 'Taster T2 
           Symbol T3 = PORTA.0 'Taster T3
 
           Lcdout $fe, 1,   " BUTTON" 'Ispisi SVOJ TEKST
	       Lcdout $fe, $C0, "  program " 'Ispisi SVOJ TEKST
	       Pause 2000
                
           ADCON1=$00
Pocetak:
           B0 = 0
           button T1,0,255,0,B0,1,Tekst1  
           
           B0 = 0
           button T2,0,255,0,B0,1,Tekst2
           
           B0 = 0
           button T3,0,255,0,B0,1,Tekst3
           
           Goto pocetak

'--------Podprogram za prikaz prvog teksta-------           
Tekst1:
	       Lcdout $fe, $C0, "TEKST A"          ' UPISI TEKST
	       Pause 2000
           Return

'--------Podprogram za prikaz drugog teksta-------           
Tekst2:
	       Lcdout $fe, $C0, "TEKST B"           'UPISTI TEKST
	       Pause 2000
           Return

'--------Podprogram za prikaz treceg teksta-------           
Tekst3:
	       Lcdout $fe, $C0, "TEKST C"            'UPISTI TEKST
	       Pause 2000
           Return
                          
           End
Kod je pisan za pic 16F877A. Ako koristis drugi pic promeni portove u DEFINE LCD_OUT ...... i izbaci naredu ADCON1=$00 posto za pic 16f84a nije potrebna, a ako koristis 16f628a ubaci naredbu CMCON=7 i u svakom slucaju procitaj pedjin kurs.
User avatar
izidor
Pocetnik na forumu
Pocetnik na forumu
Posts: 34
Joined: 26-04-2009, 12:54

Re: LCD

Post by izidor »

Našao sam taj dio u kursu, hvala obojici! ispričavam se zbog beskorisnog topica
Post Reply