MIKRO UPRAVLJAČI – LABORATORIJSKE VJEŽBE Vježba 4: Ispis na 7- segmentni LED displej Cilj vježbe: Savladavanje osnovnih programskih zadataka pomoću mikro upravljača Izgled i oznake segmenata 7-segmentnog displeja Shema spoja 7-segmentnog displeja Priključak na razvojnoj ploči: -1- MIKRO UPRAVLJAČI – LABORATORIJSKE VJEŽBE 7-segmentni LED displej služi za ispisivanje brojeva koji se moraju očitati iz veće udaljenosti. Na displeju se mogu ispisati i neka slova, na primjer A,E,P,U,L i druga koja nemaju kose crte na primjer N,M,KW,V koja se ne mogu ispisivati. Za konstantno ispisivanje jednoznamenkastih brojeva na jednom 7-segmentnom displeju potreban nam je jedan port mikroupravljača, a anodu displeja spojimo na +5V. Katode pojedinog segmenta preko otpornika povežemo sa odabranim portom mikroupravljača (μC). Svaki broj ima svoje binarno stanje na izlazu μC. Određivanje stanja izlaz μC za pojedine brojeve i neka slova: Segment A u binarnom ispisu je LSB (bit najmanjeg doprinosa) ,a DP ja MSB bit najvećeg doprinosa . Aktivan segment „0“ Broj 0 1 2 3 4 5 6 7 8 9 A C E F H J L P S U A 0 1 0 0 B 0 1 0 0 C 0 1 1 0 D 0 1 0 0 E 0 0 0 1 F 0 0 1 1 Binarni podatak na portu G 1 1 0 0 -2- DP 1 1 1 1 1 1 1 1 1 1 11000000 11001111 PORTB.0=A PORTB.1=B PORTB.2=C PORTB.3=D PORTB.4=E PORTB.5=F PORTB.6=G PORTB.7=DP MIKRO UPRAVLJAČI – LABORATORIJSKE VJEŽBE Zadatak 1 – izradite program za ispis brojeva od 0 do 9 na 7-segmentnom displeju tako da se u beskonačnoj petlji naizmjenično ispisuju brojevi, a svaki broj je ispisan 50ms. U Bascom Help potražite objašnjenje naredbe „Lookup „ i primijenite ju u izradi programa. Priključak S1 na razvojnoj ploči priključite na GND mikroupravljača. Bascom AVR kod: $regfile = "m8def.dat" $crystal = 8000000 $baud = 19200 $hwstack = 32 $swstack = 40 $framesize = 24 Zadatak 2 – izradite program kojim ćete ispisati PULA na 7-segmentnom displeju. Ukoliko želimo ispisati četveroznamenkasti broj na displeju pomoću mikro upravljača potrebna su nam četiri 7-segmentna displeja sa zajedničkom anodom, a katode se spajaju na port mikro upravljača. Kada bismo katode pojedinog displeja spojili na portove tada bi iskoristili sve porove mikroupravljača, a s druge strane mikroupravljač bi bio strujno preopterećen. Zbog navedenog katode od sva četiri displeja spajaju se paralelno na isti port mikro upravljača, što znači kada bi anode sva četiri displeja bile spojene na +5V, tada bi sva četiri displeja prikazivala isti broj. To dovodi do potrebe multipleksiranja. Ukoliko želimo ispisati primjerice broj PULA na displeju moramo to izvesti na sljedeći način: Podatkovni port je port na koji su spojene katode displeja, postavimo u takvo stanje da se na displeju ispisuje slovo P . Priključak S1 na koji je spojen emiter tranzistora koji upravlja prvim displejem dovedemo u stanje vođenja tako da ga spojimo na upravljački port na primjer PORTC.0 kojeg postavimo u stanje „0“ Takvo stanje zadržimo 1ms Nakon isteka vremena PORTC.0 dovedemo u stanje „1“ čime isključujemo prvi displej Podatkovni port postavimo u stanje gdje ispisuje slovo U Upravljački port drugog displeja na primjer PORTC.1 dovedemo u stanje „0“ stanje vođenja tranzistora Takvo stanje zadržimo 1ms Nastavljamo dalje s ispisom do kraja -3- MIKRO UPRAVLJAČI – LABORATORIJSKE VJEŽBE BascomAVR kod: $regfile = "m8def.dat" $crystal = 8000000 $baud = 19200 $hwstack = 32 $swstack = 40 $framesize = 24 -4- MIKRO UPRAVLJAČI – LABORATORIJSKE VJEŽBE Zadatak 3 – Izradite program koji će ispisivati brojeve od broja 0 do broja 9999 bunom brzinom na displej $regfile = "m8def.dat" $crystal = 8000000 $baud = 19200 $hwstack = 32 $swstack = 40 $framesize = 24 -5-
© Copyright 2024 Paperzz