Sari la conținut
ELFORUM - Forumul electronistilor

BASCOM


yo9hnf

Postări Recomandate

Ce quartz folosesti? Banuiesc ca fusebitii sunt i-ai setat corect.

Ar trebui sa mearga. Mc-ul e ok?

Incearca de test sa transmiti ceva si pe seriala ca sa vedem ca programarea mc-ului e ok.

 

$regfile = "m16def.dat"$crystal = 8000000$baud = 9600$hwstack = 64$swstack = 64$framesize = 40Dim A As Word Do  For A = 1 To 10  Waitms 500  Print "Test A : " ; A  Next Loop
Link spre comentariu

la fusebiti nu am umblat deloc.Cu aplicati simple ma gindeam ca trebuie sa merga.Am incercat si am modificat locatia si in proteus este ok.Acest exemplu. $regfile= "m32def.dat" ' specify the use $crystal = 1000000 $baud = 19200$hwstack = 64 $regfile$swstack = 32$framesize = 64Config Graphlcd = 240 * 128 , Dataport = Portd , Controlport = Portb , Fs = 6 , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 5 , Mode = 6 Cursor OffClsLocate 1 , 7Lcd "Vasile Eugen"Wait 1EndAm mai avut un Atmega 8535 ratacit si l-am pus si am incercat codul: $regfile ="m8535.dat" ' specify the used micro$crystal = 11059200 ' used crystal frequency$hwstack = 32 ' default use 32 for the hardware stack$swstack = 10 ' default use 10 for the SW stack$framesize = 40 ' default use 40 for the frame space 'configure lcd screenConfig Graphlcd = 240 * 128 , Dataport = Portd , Controlport = Portb , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 6'-----------------------------------------------------------------------------------------------------------------------------------------Dim X As Byte , Y As ByteClsCursor OffWait 1Do Cls Locate 1 , 1 Lcd "Character Test display" Waitms 2LoopEndRamane sa vad si displeyurile,celelalte.Au fost testate pe la inceputul anului cu un atmega 32 smd si functionau.Dar acum numi daus seama unde gresesc.

Link spre comentariu

Ti-am scris mail si te-am adaugat si pe mess dar nu ai raspuns.Da, ma refer sa incerci codul de test pe care ti l-am scris mai sus si sa transmiti pe portul serial TX o informatie ca sa vezi daca programarea mc-ului este ok.Daca in "Terminal emulator" din Bascom primesti corect informatia, asta inseamna ca mc-ul este ok si programatorul scrie hexul corect in flash. In "Terminal emulator" setezi acelasi baudrate ca in soft si portul COM corespunzator. Daca folosesti un PC Desktop ar trebui sa ai normal COM 1. Daca folosesti un laptop si adaptor RS232-USB poti vedea in Device Manager ce port COM ti se aloca. Daca nu dispui de o placa de test cu interfata cu max232 pentru transmisia seriala, poti sa incerci sa scri alt cod de test si sa aprinzi intermitent un led la o sec. Ce quartz folosesti? Si cum ai setat fusebitii?

Link spre comentariu

Ce comanda trebuie folosita pentru a afisa pe un lcd 2*16 un caracer "custom" pe mai multe coloane fara sa dau locatie la fiecare in parte, tinand cont ca vreau sa afisez acelasi caracter sa zicem de 5 ori la rand...mai jos scriu un cod cam cum pot afisa, dar vreau o varianta mai simpla..

 

ClsLocate 1 , 1Lcd Chr(0)Locate 1 , 2Lcd Chr(0)Locate 1 , 3Lcd Chr(0)Locate 1 , 4Lcd Chr(0)Wait 1Cls
Link spre comentariu

Daca ocupa pozitii succesive pe lcd (asa cum e in exemplul tau), e suficient sa dai pozitia primului caracter. Lcd-ul incrementeaza automat pozitia (eventual activezi shiftul la initializare).

Link spre comentariu

Ce comanda trebuie folosita pentru a afisa pe un lcd 2*16 un caracer "custom" pe mai multe coloane fara sa dau locatie la fiecare in parte, tinand cont ca vreau sa afisez acelasi caracter sa zicem de 5 ori la rand...mai jos scriu un cod cam cum pot afisa, dar vreau o varianta mai simpla..

ClsLocate 1 , 1Lcd Chr(0)Locate 1 , 2Lcd Chr(0)Locate 1 , 3Lcd Chr(0)Locate 1 , 4Lcd Chr(0)Wait 1Cls
uite ceva foarte simplu :For I = 1 to 4Locate 1,ILcd Chr(0)Next I
Link spre comentariu

Salutare am scris acest cod: $crystal = 4000000$regfile = "m32def.dat" $crystal = 8000000Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8Cursor OffClsLocate 1 , 7Lcd "Vasile Eugen"Locate 3 , 8Lcd "1.2.3"Locate 5 , 9Lcd "4.5.6."Wait 1Endam setat si pus quart extern de 8mhzdar nu imi da caracterele asa cum le dau. De exemplu inloc de 1.2.3 imi repeta 112233 si in loc de 4.5.6. imi da 8 puncte.De la display sa fie problema?

Link spre comentariu

Salutare am scris acest cod:$crystal = 4000000$regfile = "m32def.dat"$crystal = 8000000Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8Cursor OffClsLocate 1 , 7Lcd "Vasile Eugen"Locate 3 , 8Lcd "1.2.3"Locate 5 , 9Lcd "4.5.6."Wait 1Endam setat si pus quart extern de 8mhzdar nu imi da caracterele asa cum le dau. De exemplu inloc de 1.2.3 imi repeta 112233 si in loc de 4.5.6. imi da 8 puncte.De la display sa fie problema?

Trecand peste faptul ca poate e o greseala ca sunt declarate 2 frecvente de quartz, ma gandesc ca nu ai un LCD compatibil cu rutinele LCD din Bascom .In primul rand trebuie sa stii numele controlerului .In Help-ul de Bascom iti da niste informatii dar nu complet.http://avrhelp.mcselec.com/index.html?c ... aphlcd.htmNu e problema de quartz aici mai mult ca sigur ci trebuie sa cauti datasheetul LCD ului si sa scrii tu rutinele de folosire a lui .
Link spre comentariu

Salutare am scris acest cod:$crystal = 4000000$regfile = "m32def.dat"$crystal = 8000000Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8Cursor OffClsLocate 1 , 7Lcd "Vasile Eugen"Locate 3 , 8Lcd "1.2.3"Locate 5 , 9Lcd "4.5.6."Wait 1Endam setat si pus quart extern de 8mhzdar nu imi da caracterele asa cum le dau. De exemplu inloc de 1.2.3 imi repeta 112233 si in loc de 4.5.6. imi da 8 puncte.De la display sa fie problema?

Trecand peste faptul ca poate e o greseala ca sunt declarate 2 frecvente de quartz, ma gandesc ca nu ai un LCD compatibil cu rutinele LCD din Bascom .In primul rand trebuie sa stii numele controlerului .In Help-ul de Bascom iti da niste informatii dar nu complet.http://avrhelp.mcselec.com/index.html?c ... aphlcd.htmNu e problema de quartz aici mai mult ca sigur ci trebuie sa cauti datasheetul LCD ului si sa scrii tu rutinele de folosire a lui .
Am trecut asa dar cind foloseam foloseam doar unul,iar cel nefolosit il puneam in virgula.Este un display model PG240128A-PC unul cu care am facut probe mai mult.Am mai testat cu coduri si imi da literile taiate.De pe aici m-am documentat:http://www.powertipusa.com/pdf/pg240128a.pdfhttp://www.turbokeu.com/mycomputer/glcd/glcd.pdfhttp://www.mikrocontroller.net/topic/8236ceva mai concret nu am gasit.
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