Sari la conținut
ELFORUM - Forumul electronistilor

Test scriere LCD cu 16F628 in mikroBasic


Vizitator mike59

Postări Recomandate

Vizitator mike59

Sunt incepator in programarea microcontrolerelor si as avea nevoie de putin ajutor in ceea ce priveste programarea unui PIC 16F628. Am conectat acest microcontroler cu un LCD compatibil Hitachi HD44780. Am utilizat, mikrobasic ver. 7002 pentru a compila chiar exemplul dat in help-ul referitor la utilizarea bibliotecii LCD (4 bit interface). Am conectat microcontrolerul cum este specificat in acelasi help si anume DB4...DB7 la RB4...RB7, E la RB3, RS la RB2. Programat 16F628 cu urmatoarele instructiuni (ca in help)program Lcd_default_testdim text as char[20]main: TRISB = 0 ' PORTB is output Lcd_Init(PORTB) ' Initialize LCD on PORTB Lcd_Cmd(Lcd_CURSOR_OFF) ' Turn off cursor text = "mikroElektronika" Lcd_Out(1, 1, text) ' Print text at LCDend.Pentru PIC am selectat: XT_OSC, BODEN_off, CP_Off, Data_CP_Off, PWRTE_Off, WDT_Off, LVP_Off, MCLRE_Off fosc 4 MHZSi tot ce imi apare pe display, sunt cele 2 linii a cate 16 caractere activate... si atata tot.Pot sa stiu ce anume gresesc ? Ce este in neregula ?Va multumesc anticipat pentru ajutor.

Link spre comentariu
  • Răspunsuri 10
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Liviu M

    2

  • francezu

    2

  • A_L_E_X

    1

Top autori în acest subiect

Daca apar ambele linii inegrite este posibil sa fie contrastul dat la maxim. Monteaza un semireglabil de ~10kohmi; La pinul 3 al lcd-ului legi cursorul semireglabilului iar capetele acestuia le legi la masa si +5V.

Link spre comentariu
Vizitator mike59

Daca apar ambele linii inegrite este posibil sa fie contrastul dat la maxim. Monteaza un semireglabil de ~10kohmi; La pinul 3 al lcd-ului legi cursorul semireglabilului iar capetele acestuia le legi la masa si +5V.

Am incercat cu un pot, asa cum ai sugerat, acelasi lucru. Ceea ce este ciudat este ca montajul se comporta ca si cum PIC-ul nu ar avea nicio treaba.Oricum, multumesc pentru sugestie !
Link spre comentariu

Pentru PIC am selectat: XT_OSC, fosc 4 MHZ

Din program rezulta ca folosesti ceas extern cu quarz/rezonator de 4MHz. Asa ai si tu in circuitul fizic, da?
Link spre comentariu
Vizitator mike59

Pentru PIC am selectat: XT_OSC, fosc 4 MHZ

Din program rezulta ca folosesti ceas extern cu quarz/rezonator de 4MHz. Asa ai si tu in circuitul fizic, da?
Da, oscilatorul este cu quartz extern de 4 Mhz.
Link spre comentariu

Cum controlul unui LCD nu e chiar ce ami simpla aplicatie cu PIC (ce-i drept nici cea mai complicata); ca sa izolezi putin problema poate ar fi bine sa vezi intai ca PIC-ul lucreaza (de ex. uneori, desi toate par in regula, oscilatorul nu porneste si atunci nimic nu merge). Pentru asta eu as incerca sa folosesc o iesire libera ca sa fac un LED sa palpaie cu o frecvanta rezonabila pentru ochiul uman (peioada de 500 ms - 1 sec). Daca asta merge poti cauta bubele in codul pentru LCD sau in legaturile cu LCD-ul.

Link spre comentariu
Vizitator mike59

@Liviu M a fost mai rapid, acelasi lucru vroiam sa zic si eu. Gasesti tot in help exemple pentru licurici cu led.

O ideie foarte buna, multumesc ! Am sa incerc si revin...
Link spre comentariu
Vizitator mike59

@Liviu M a fost mai rapid, acelasi lucru vroiam sa zic si eu. Gasesti tot in help exemple pentru licurici cu led.

O ideie foarte buna, multumesc ! Am sa incerc si revin...
Deci, am adaugat pe portul B1, un licurici, care functioneaza bine mersi. Deci oscilatorul functioneaza. Trebuie sa spun ca la sugestia cuiva, am suspendat comparatoarele, adaugand in cod CMCON = 7 si intr-adevar, apar ceva semne firave, in sensul ca pe linia a doua, ultimul caracter (al 16-lea de pe linia a doua), la punerea alimentarii (+5v), in secventa, apar : o linie orizontala pe primul rand (cel de sus) al matricii caracterului activata, dupa care se activeaza toata matricea aferenta acestui caracter, iarasi aceasta upperline sa-i zic activata, dupa care tot caracterul se stinge si nu mai apare nimic. Vreo ideie despre ce se intampla ? Multumesc anticipat !
Link spre comentariu
Vizitator mike59

Este Ok ! Functioneaza ! Multumesc pentru ajutor ! Aveam un strap de la pinul 8 la masa. Asa ca si pentru alti doritori de a experimenta testele de LCD cu mikrobasic, functioneaza fara probleme cu 16F628. Mare atentie la conexiuni.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări